feat: agent registry + skills.toml, fail-closed at boot - #6
Merged
Conversation
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
force-pushed
the
feat/registry-skills
branch
from
August 1, 2026 20:57
a94c71e to
5af1fe4
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Implements GUIDELINES.md §3–§4 (PR #4): the agent registry and skills configuration, loaded fail-closed at
scarcedboot. Stacked on #3 — retarget to main after it merges.What
studio-registrycrate — one loader for three in-repo artifacts:agents/<name>.persona.md— Buzz's persona format verbatim (buzz-personacrate, sameblock/buzz@22be8bb35pin); strict frontmatter, filename must match personanameroster.toml— studio economics keyed by personaname(npub structurally validated viastudio_types::validate_npub, skill tags, optional day rate); personas ↔ roster must be in bijectionskills.toml— pinned skill sources; revs must be full 40-hex commits (never a branch); persona slugs,[defaults]and[overrides]must all resolvescarcedrefuses to start on any parse or cross-reference error; every error names the file and the fix. New config keyregistry_dir(default.).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 cigreen — 140 tests (18 new: persona/roster/skills fixtures, bijection, unpinned-rev rejection, actionable-error asserts, repo drift test)agent registry loaded agents=ruben skills=2; from an empty dir the startup error namesskills.tomland cites GUIDELINES §4🤖 Generated with Claude Code
Supersedes #5 (auto-closed when its base branch
feat/m3-buzz-loopwas 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 cigreen locally at 140 tests.