Define the v0.1 input, policy, and bundle contracts #2

Closed
opened 2026-07-16 08:00:18 +00:00 by coilyco-ops · 2 comments
Member

Parent

#1

What to build

Define the public contracts that let agent-compose embed Kai's person policy while remaining independent of reusable AOS content and Ward authority. Specify resolved runtime inputs, agent-compose-owned KDL policy, repo identity declarations, the immutable bundle tree, its versioned manifest, and the structured decision trace produced during resolution. The contracts must support concrete Claude, Codex, Goose, and Qwen examples without embedding harness-specific policy into Ward.

Acceptance criteria

  • A flat architecture doc defines every input fact and its owner.
  • The KDL ownership boundary separates engine schema, embedded public-safe person policy, reusable AOS content, and private overlays.
  • The composition model treats role, personality, model, harness, reasoning effort, permissions, and task acceptance as separate dimensions.
  • The schema supports one built-in personal source without requiring a generic provider or trait-slider framework.
  • The bundle manifest defines versioning, paths, provenance, source digests, and delivery metadata.
  • A decision-trace schema records facts, candidates, rules, outcomes, reasons, and normalized provenance as resolution happens.
  • Deterministic decision evidence is separated from volatile runtime telemetry such as timings and cache paths.
  • A stored trace can explain a bundle after composition without reopening every source.
  • The contract excludes credentials, mutable harness state, and Ward permission policy.
  • Public fixtures exercise native-skill and compiled-context profiles.
  • A contract review records decisions needed by both the Ward and AOS integrations.
  • README, AGENTS, and FEATURES remain accurate after the decision.

Blocked by

None - can start immediately.

Execution type

HITL - the input and output contracts need architecture review before implementation hardens them.

## Parent #1 ## What to build Define the public contracts that let agent-compose embed Kai's person policy while remaining independent of reusable AOS content and Ward authority. Specify resolved runtime inputs, agent-compose-owned KDL policy, repo identity declarations, the immutable bundle tree, its versioned manifest, and the structured decision trace produced during resolution. The contracts must support concrete Claude, Codex, Goose, and Qwen examples without embedding harness-specific policy into Ward. ## Acceptance criteria - [ ] A flat architecture doc defines every input fact and its owner. - [ ] The KDL ownership boundary separates engine schema, embedded public-safe person policy, reusable AOS content, and private overlays. - [ ] The composition model treats role, personality, model, harness, reasoning effort, permissions, and task acceptance as separate dimensions. - [ ] The schema supports one built-in personal source without requiring a generic provider or trait-slider framework. - [ ] The bundle manifest defines versioning, paths, provenance, source digests, and delivery metadata. - [ ] A decision-trace schema records facts, candidates, rules, outcomes, reasons, and normalized provenance as resolution happens. - [ ] Deterministic decision evidence is separated from volatile runtime telemetry such as timings and cache paths. - [ ] A stored trace can explain a bundle after composition without reopening every source. - [ ] The contract excludes credentials, mutable harness state, and Ward permission policy. - [ ] Public fixtures exercise native-skill and compiled-context profiles. - [ ] A contract review records decisions needed by both the Ward and AOS integrations. - [ ] README, AGENTS, and FEATURES remain accurate after the decision. ## Blocked by None - can start immediately. ## Execution type HITL - the input and output contracts need architecture review before implementation hardens them.
Author
Member

Shared claim foundation landed\n\ncli-guard#237 landed on canonical main in commit 781edc9.\n\nThe new pkg/agentclaim contract gives agent-compose and Ward a policy-free common structure without making either consumer foundational to the other:\n\n* context and authority roles occupy explicit separate domains\n* role names remain opaque and no roster lives in cli-guard\n* agent, model, model class, harness, and reasoning effort remain independent facts\n* context-only, authority-only, and composed claims all validate\n* KDL parsing fails closed and the Go types expose stable JSON fields\n* personalities, privacy scopes, source selection, guardfiles, permissions, credentials, and task acceptance remain outside the shared package\n\nAgent-compose #2 can now embed the shared Claim inside its larger composition request and bundle manifest. Ward can adopt the authority side later without blocking agent-compose contract work. No Ward source changed in this slice.

### Shared claim foundation landed\n\ncli-guard#237 landed on canonical main in commit 781edc9.\n\nThe new pkg/agentclaim contract gives agent-compose and Ward a policy-free common structure without making either consumer foundational to the other:\n\n* context and authority roles occupy explicit separate domains\n* role names remain opaque and no roster lives in cli-guard\n* agent, model, model class, harness, and reasoning effort remain independent facts\n* context-only, authority-only, and composed claims all validate\n* KDL parsing fails closed and the Go types expose stable JSON fields\n* personalities, privacy scopes, source selection, guardfiles, permissions, credentials, and task acceptance remain outside the shared package\n\nAgent-compose #2 can now embed the shared Claim inside its larger composition request and bundle manifest. Ward can adopt the authority side later without blocking agent-compose contract work. No Ward source changed in this slice.
Author
Member

Closing as complete, as amended by the #13 review (applied in 5f9b5f4).

Criteria satisfied as written:

  • Flat architecture doc defines every input and its owner (docs/architecture.md: role, personality, density, delivery, source locators - the caller supplies all of them).
  • KDL ownership boundary separates engine schema, embedded person policy, AOS content, and private overlays.
  • One built-in personal source, no provider interface or trait-slider framework.
  • Deterministic decision evidence separated from runtime telemetry; the stored trace explains a bundle without reopening sources.
  • Contract excludes credentials, mutable harness state, and Ward permission policy.
  • Public fixtures exercise native-skill and compiled-context profiles.
  • Contract review (docs/contract-review.md) records the Ward and AOS integration decisions - now as the review of record, not proposed gates.
  • README and AGENTS updated; FEATURES untouched since no executable capability shipped.

Criteria amended by the review rather than met as written:

  • Repo identity declarations: removed. Repositories are not an agent-compose concept.
  • Versioned manifest with provenance and source digests: removed. The manifest names role, personality, density, sources, and delivery entry points - no versions, no digests.
  • 'Role, personality, model, harness, reasoning effort... as separate dimensions': superseded by something stronger - model, harness, and reasoning effort no longer appear in the contract at all. Density is the one harness-adjacent input.
  • Concrete Claude/Codex/Goose/Qwen examples: replaced by the delivery x density fixture matrix, since agent-compose is not allowed to know which harness or model sits behind a request.
  • Decision-trace schema with facts/candidates/rules: simplified to a plain ordered decision list with outcomes and human-readable reasons.

Note on the cli-guard comment above: pkg/agentclaim remains available to Ward for its authority side, but per the review agent-compose no longer embeds the shared claim - the compose request carries only a plain role name.

The HITL gate this issue asked for was the architecture review, which Kai performed in #13.

Closed by Claude Code working the issue queue.

Closing as complete, as amended by the #13 review (applied in 5f9b5f4). Criteria satisfied as written: - Flat architecture doc defines every input and its owner (docs/architecture.md: role, personality, density, delivery, source locators - the caller supplies all of them). - KDL ownership boundary separates engine schema, embedded person policy, AOS content, and private overlays. - One built-in personal source, no provider interface or trait-slider framework. - Deterministic decision evidence separated from runtime telemetry; the stored trace explains a bundle without reopening sources. - Contract excludes credentials, mutable harness state, and Ward permission policy. - Public fixtures exercise native-skill and compiled-context profiles. - Contract review (docs/contract-review.md) records the Ward and AOS integration decisions - now as the review of record, not proposed gates. - README and AGENTS updated; FEATURES untouched since no executable capability shipped. Criteria amended by the review rather than met as written: - Repo identity declarations: removed. Repositories are not an agent-compose concept. - Versioned manifest with provenance and source digests: removed. The manifest names role, personality, density, sources, and delivery entry points - no versions, no digests. - 'Role, personality, model, harness, reasoning effort... as separate dimensions': superseded by something stronger - model, harness, and reasoning effort no longer appear in the contract at all. Density is the one harness-adjacent input. - Concrete Claude/Codex/Goose/Qwen examples: replaced by the delivery x density fixture matrix, since agent-compose is not allowed to know which harness or model sits behind a request. - Decision-trace schema with facts/candidates/rules: simplified to a plain ordered decision list with outcomes and human-readable reasons. Note on the cli-guard comment above: pkg/agentclaim remains available to Ward for its authority side, but per the review agent-compose no longer embeds the shared claim - the compose request carries only a plain role name. The HITL gate this issue asked for was the architecture review, which Kai performed in #13. Closed by Claude Code working the issue queue.
Sign in to join this conversation.
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#2
No description provided.