Bind the complete personality catalog to stable AOS skill IDs #44

Closed
opened 2026-07-23 06:22:10 +00:00 by coilyco-ops · 3 comments
Member

Parent

#10

Decision source

#21 and agentic-os#602 define the sixteen canonical personality names. Commit 2679800 records the approved role compatibility matrix.

Problem

The embedded roles now name all sixteen personalities, but the global catalog binds only curious, grounded, and meticulous. The resolver therefore rejects thirteen approved role-personality choices as undefined before it can look for their AOS skills.

What to build

  • Declare all sixteen personality names in the embedded person source.
  • Bind each name to the stable skill id personality-<name>.
  • Preserve the three existing colors exactly. Leave the other colors absent until Kai completes #21.
  • Add load-time cross-reference validation so every personality named by a role has a declared catalog binding.
  • Keep every seat unchanged and personality-neutral.

Scope boundary

Do not author AOS skill prose, add a provider source declaration, choose colors, change compatibility choices, alter seats, or touch Ward. External skill bodies may remain visibly pending through the existing roster behavior.

Acceptance criteria

  • Every approved role-personality choice reaches source selection instead of failing as an undefined personality.
  • Every catalog entry maps deterministically to personality-<name>.
  • The loader rejects a role reference with no catalog binding.
  • Tests use generic fixtures or derive references from the owning KDL. Tests do not copy the canonical catalog or matrix.
  • Relevant contract documentation distinguishes catalog bindings from externally supplied skill bodies.
  • ward exec test passes.
  • The commit closes this issue and lands on canonical main.
## Parent #10 ## Decision source #21 and agentic-os#602 define the sixteen canonical personality names. Commit `2679800` records the approved role compatibility matrix. ## Problem The embedded roles now name all sixteen personalities, but the global catalog binds only curious, grounded, and meticulous. The resolver therefore rejects thirteen approved role-personality choices as undefined before it can look for their AOS skills. ## What to build * Declare all sixteen personality names in the embedded person source. * Bind each name to the stable skill id `personality-<name>`. * Preserve the three existing colors exactly. Leave the other colors absent until Kai completes #21. * Add load-time cross-reference validation so every personality named by a role has a declared catalog binding. * Keep every seat unchanged and personality-neutral. ## Scope boundary Do not author AOS skill prose, add a provider source declaration, choose colors, change compatibility choices, alter seats, or touch Ward. External skill bodies may remain visibly pending through the existing roster behavior. ## Acceptance criteria * Every approved role-personality choice reaches source selection instead of failing as an undefined personality. * Every catalog entry maps deterministically to `personality-<name>`. * The loader rejects a role reference with no catalog binding. * Tests use generic fixtures or derive references from the owning KDL. Tests do not copy the canonical catalog or matrix. * Relevant contract documentation distinguishes catalog bindings from externally supplied skill bodies. * `ward exec test` passes. * The commit closes this issue and lands on canonical main.
Author
Member

The live issue body now has normal Markdown line breaks. This was a tracker-format correction only. The frozen dispatch requirements and scope remain unchanged.

The live issue body now has normal Markdown line breaks. This was a tracker-format correction only. The frozen dispatch requirements and scope remain unchanged.
Author
Member

WARDED_WORKFLOW: done

details

In-container review gate: skipped; temporary Ward default pending brokered QA.
workflow: merge-remote-main; review summary: skipped (temporary Ward default pending brokered QA)
Felt: clean, narrow catalog-to-resolver slice.
Confidence: high.
Surprises: remote main advanced once; merged and revalidated.
Follow-ups: AOS can supply the pending external skill bodies.

WARDED_WORKFLOW: done ✅ <details><summary>details</summary> In-container review gate: skipped; temporary Ward default pending brokered QA. workflow: merge-remote-main; review summary: skipped (temporary Ward default pending brokered QA) Felt: clean, narrow catalog-to-resolver slice. Confidence: high. Surprises: remote main advanced once; merged and revalidated. Follow-ups: AOS can supply the pending external skill bodies. </details>
Author
Member

WARDED_WORKFLOW: reservation-released

release details

Run finished with WARDED_WORKFLOW: done ✅.

ward container reap released container engineer-codex-agent-compose-44 (--harness codex): the terminal outcome supersedes the reservation, so a later redispatch no longer needs --override-reservation.

— Codex, via ward agent

<!-- ward-agent-reservation-released --> WARDED_WORKFLOW: reservation-released <details><summary>release details</summary> Run finished with `WARDED_WORKFLOW: done ✅`. `ward container reap` released container `engineer-codex-agent-compose-44` (`--harness codex`): the terminal outcome supersedes the reservation, so a later redispatch no longer needs `--override-reservation`. </details> <!-- ward-agent-signature --> — Codex, via `ward agent`
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#44
No description provided.