feat(core): migrationAttestation as structural precondition on ConstraintEnvelope#178
feat(core): migrationAttestation as structural precondition on ConstraintEnvelope#178
Conversation
…ess thresholds, assumption ledger, and simulator validation (39 tests)
… T0/T1 autonomy and local buffer replay (50 tests)
…apability delegation, handoff receipts, and quorum rules (37 tests)
…raintEnvelope Adds ConstraintEnvelopeMigrationAttestation interface (SBR-002-compatible shape) and an optional migrationAttestation field on ConstraintEnvelope. When the field is present, validateConstraintEnvelope requires continuityVerified === true and all four shape fields (schema, attestationUri, agentWallet, issuedAt) to be non-empty strings. Otherwise the envelope is invalid and scope is not granted. This makes entity_continuity a structural precondition for actuator scope rather than an advisory signal — envelope validation is the activation gate. Aligns with the aeoess/agent-governance-vocabulary canonical two- implementation sequencing: PDR + continuity-analyzer provide the two independent implementations; SBR-002 remains the embodied-AI-specific reference schema underneath. Validation applies regardless of envelope version (legacy or CL-1.0) — the field is forward-compatible and its presence always demands the full shape with continuityVerified === true. Tests: 8 new cases covering valid shape, each invalid-shape branch, legacy-envelope compatibility, and optional-field behavior. All 61 core tests pass. Refs: aeoess/agent-governance-vocabulary#8
…tural match (shipped in sint-protocol PR #178) (#45) Illya shipped migrationAttestation as a structural precondition on ConstraintEnvelope at sint-ai/sint-protocol#178: when present, the envelope validates only if continuityVerified === true with all four shape fields populated. This makes entity_continuity a scope-grant gate at the execution boundary, not an advisory signal. Changes: - Moved entity_continuity from proposed_signal_type_alignment to signal_types - Match: structural (PR #178 implements the vocabulary.yaml entity_continuity contract at a composition point APS can rely on) - Field: constraintEnvelope.migrationAttestation with sint_definition citing SBR-002 alignment, 5 validation rules, 8 test cases - Notes cite the mutation_boundary descriptor from pending vocab PR #43, reinforcing the cross-spec convergence on the execution-boundary framing - consent_provenance stays in proposed_signal_type_alignment, upgraded to partial with composition note pointing at policy_bundle.consent_chain + APS delegation chain - Updated last_reviewed to 2026-04-23 and added refresh note Validator: 0 errors on sint.yaml (only pre-existing _test-invalid.yaml errors remain).
|
Illya, shipped the crosswalk follow-up you flagged in the Follow-ups section of this PR. aeoess/agent-governance-vocabulary#45 merged, promoting
Not touched in this PR but worth flagging: descriptor-extension work from the seven new descriptors you referenced in the #178 Follow-ups is still open. Some of those overlap with what nutstrut proposed in vocab PR #43 ( Reference: aeoess/agent-governance-vocabulary#45 |
…tural match (shipped in sint-protocol PR #178) (aeoess#45) Illya shipped migrationAttestation as a structural precondition on ConstraintEnvelope at sint-ai/sint-protocol#178: when present, the envelope validates only if continuityVerified === true with all four shape fields populated. This makes entity_continuity a scope-grant gate at the execution boundary, not an advisory signal. Changes: - Moved entity_continuity from proposed_signal_type_alignment to signal_types - Match: structural (PR #178 implements the vocabulary.yaml entity_continuity contract at a composition point APS can rely on) - Field: constraintEnvelope.migrationAttestation with sint_definition citing SBR-002 alignment, 5 validation rules, 8 test cases - Notes cite the mutation_boundary descriptor from pending vocab PR aeoess#43, reinforcing the cross-spec convergence on the execution-boundary framing - consent_provenance stays in proposed_signal_type_alignment, upgraded to partial with composition note pointing at policy_bundle.consent_chain + APS delegation chain - Updated last_reviewed to 2026-04-23 and added refresh note Validator: 0 errors on sint.yaml (only pre-existing _test-invalid.yaml errors remain).
Summary
Follow-through on the commitment made in aeoess/agent-governance-vocabulary#8 — adds
migrationAttestationas a structural precondition onConstraintEnvelope. When present, the envelope only validates ifcontinuityVerified === truewith all four shape fields populated. This makes entity_continuity a scope-grant gate rather than an advisory signal.Why this shape
validateConstraintEnvelopesurface without introducing a new "activation gate" concept — invalid envelope = no scope grant, which is functionally equivalent.Changes
packages/core/src/types/protocol.ts— newConstraintEnvelopeMigrationAttestationinterface; optionalmigrationAttestationfield added toConstraintEnvelopepackages/core/src/constraint-language.ts— 5 validation rules on the migration-attestation blockpackages/core/__tests__/constraint-language.test.ts— 8 new test casesTest plan
pnpm --filter @sint/core run typecheck— passespnpm --filter @sint/core test— 61 passed (previously 53)bridge-a2ausesConstraintEnvelope— additive-only change, no breaking surface. Running downstream tests recommended before merge.Follow-ups (not in this PR)
aeoess/agent-governance-vocabulary/crosswalk/sint.yamladdsentity_continuity(no_mapping+ composition note pointing at this field) andconsent_provenance(close_match+ gap note). Separate PR against that repo.docs/specs/sint-protocol-v1.0.mdshould document the new field in a v1.1 section (coordinated with the v1.0 → v1.1 promotion from #168 canonical-signing clarifications).Refs
aeoess/agent-governance-vocabulary#8— drove this