Add profile-owned role copy contracts #124

Closed
opened 2026-07-29 04:39:43 +00:00 by coilyco-ops · 1 comment
Member

Outcome

Let a person-profile role declare structured product vocabulary that downstream
consumers can inspect and enforce.

Parent: #114
Run contract: #115

Schema

copy-contract scope="tool-response" {
    forbid "upload" prefer="add"
    forbid "download" prefer="save"
    forbid "asset" prefer="video"
}

Contract

  • The selected person profile owns role-specific vocabulary.
  • Agent-compose validates normalized forbidden terms, nonempty preferred
    replacements, duplicate terms, and supported scopes.
  • Agent-compose projects the contract into role metadata, evaluation packs,
    the next person snapshot, catalogue output, and human-readable indexes.
  • A profile-owned evaluation rubric may test the projected contract.
  • Agent-compose does not rewrite consumer output, run an MCP, or claim runtime
    enforcement. The consuming tool owns enforcement.

Dependencies

  • #111 supplies the final person-profile layout.
  • #110 supplies authored asset ownership and loading.

Acceptance

  • A generic fixture declares and projects one tool-response copy contract.
  • Missing, malformed, duplicate, and conflicting declarations fail before
    rendering.
  • Generated artifacts record the contract's logical source and digest.
  • Documentation separates projection from downstream enforcement.
  • ward exec test and ward exec smoke pass.
  • The implementation lands on canonical main and closes this issue.
## Outcome Let a person-profile role declare structured product vocabulary that downstream consumers can inspect and enforce. Parent: #114 Run contract: #115 ## Schema ```kdl copy-contract scope="tool-response" { forbid "upload" prefer="add" forbid "download" prefer="save" forbid "asset" prefer="video" } ``` ## Contract * The selected person profile owns role-specific vocabulary. * Agent-compose validates normalized forbidden terms, nonempty preferred replacements, duplicate terms, and supported scopes. * Agent-compose projects the contract into role metadata, evaluation packs, the next person snapshot, catalogue output, and human-readable indexes. * A profile-owned evaluation rubric may test the projected contract. * Agent-compose does not rewrite consumer output, run an MCP, or claim runtime enforcement. The consuming tool owns enforcement. ## Dependencies * #111 supplies the final person-profile layout. * #110 supplies authored asset ownership and loading. ## Acceptance * A generic fixture declares and projects one tool-response copy contract. * Missing, malformed, duplicate, and conflicting declarations fail before rendering. * Generated artifacts record the contract's logical source and digest. * Documentation separates projection from downstream enforcement. * `ward exec test` and `ward exec smoke` pass. * The implementation lands on canonical `main` and closes this issue.
Author
Member

Landed on canonical main through daa9996, completing the copy-contract slice begun by earlier commits. Profile-owned tool-response contracts validate normalized forbidden terms, replacements, duplicates, supported scopes, and conflicting declarations. Each contract now carries a stable logical source ID and SHA-256 digest through role metadata, evaluation packs, snapshots, catalogues, indexes, and bundle logical content. Documentation keeps projection separate from downstream enforcement. ward exec test and ward exec smoke passed.

Landed on canonical main through daa9996, completing the copy-contract slice begun by earlier commits. Profile-owned tool-response contracts validate normalized forbidden terms, replacements, duplicates, supported scopes, and conflicting declarations. Each contract now carries a stable logical source ID and SHA-256 digest through role metadata, evaluation packs, snapshots, catalogues, indexes, and bundle logical content. Documentation keeps projection separate from downstream enforcement. ward exec test and ward exec smoke passed.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
coilyco-flight-deck/agent-compose#124
No description provided.