Skip to content

feat: agent registry + skills.toml, fail-closed at boot - #6

Merged
lgalabru merged 1 commit into
mainfrom
feat/registry-skills
Aug 1, 2026
Merged

feat: agent registry + skills.toml, fail-closed at boot#6
lgalabru merged 1 commit into
mainfrom
feat/registry-skills

Conversation

@lgalabru

@lgalabru lgalabru commented Aug 1, 2026

Copy link
Copy Markdown
Member

Implements GUIDELINES.md §3–§4 (PR #4): the agent registry and skills configuration, loaded fail-closed at scarced boot. Stacked on #3 — retarget to main after it merges.

What

  • studio-registry crate — one loader for three in-repo artifacts:
    • agents/<name>.persona.md — Buzz's persona format verbatim (buzz-persona crate, same block/buzz@22be8bb35 pin); strict frontmatter, filename must match persona name
    • roster.toml — studio economics keyed by persona name (npub structurally validated via studio_types::validate_npub, skill tags, optional day rate); personas ↔ roster must be in bijection
    • skills.toml — pinned skill sources; revs must be full 40-hex commits (never a branch); persona slugs, [defaults] and [overrides] must all resolve
  • Fail-closed boot: scarced refuses to start on any parse or cross-reference error; every error names the file and the fix. New config key registry_dir (default .).
  • First registry entry: agents/ruben.persona.md + roster/skills files, with a drift test (tests/registry_drift.rs) so a commit that breaks the repo's own registry fails CI instead of the next deploy.

Verified

  • just ci green — 140 tests (18 new: persona/roster/skills fixtures, bijection, unpinned-rev rejection, actionable-error asserts, repo drift test)
  • Live boot: agent registry loaded agents=ruben skills=2; from an empty dir the startup error names skills.toml and cites GUIDELINES §4

🤖 Generated with Claude Code


Supersedes #5 (auto-closed when its base branch feat/m3-buzz-loop was deleted after the #3 squash-merge; GitHub refuses to reopen or retarget it). Same content: archy reviewed and approved the tree at a556805 — this head (5af1fe4) is that commit rebased onto main (da6981d), just ci green locally at 140 tests.

agents/<name>.persona.md (Buzz persona format via buzz-persona, strict
frontmatter), roster.toml (studio economics keyed by persona name, npubs
structurally validated), skills.toml (pinned 40-hex revs only; persona
slugs, defaults and overrides must resolve). scarced refuses to start on
any parse or cross-reference error; ruben is the first registry entry.
Adds a drift test so a commit that breaks the repo's own registry fails
in CI, not at the next deploy. GUIDELINES.md §3–§4.
@lgalabru
lgalabru force-pushed the feat/registry-skills branch from a94c71e to 5af1fe4 Compare August 1, 2026 20:57
@lgalabru
lgalabru merged commit 15da8c2 into main Aug 1, 2026
2 checks passed
@lgalabru
lgalabru deleted the feat/registry-skills branch August 1, 2026 21:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant