Evolution — dated learnings, as diffs
A ROLE.md shows what a role is today. The history shows what
went wrong badly enough that someone wrote a rule into it. That is the difference
between a template gallery and a memory site, and it is the reason this page exists
even though role definitions do not change often — of 17 Explorer roles, the busiest are
QA and Librarian at 6 commits each, then Dev and Conductor at 5. Roles are stable, and
the rare edits are therefore high-signal.
The timeline
- 11 Feb 2026"Add ROLE.md identity documents for all 10 agent roles" — eleven files land: appsec, architect, cartographer, conductor, dev, devops, historian, journalist, librarian, qa (+1). Genesis, despite the message saying ten.
- 12–13 Feb 2026advocate, grc, sherpa, then ambassador, dpo — the roster grew by need, not design. 13 Feb also carries the first real exercise: "Execute full team activation for incident handling series (5 phases)."
- 10 Mar 2026Role review folders
refactored from
26-MM-DDtoMM/DD— convention debt, paid. - 16 Mar 2026Designer added — the nineteenth role, five weeks late.
- 18 Mar 2026"Librarian catalogues its own operating guidance (meta-recursion)" — the role that indexes everything indexes itself.
- 30 Mar 2026Learning 1, below.
- 8 Apr 2026Learning 2, below.
- 1 May 2026Reality document refactored from a monolith into a 13-domain fractal tree — knowledge structure following the same fractal rule as the code.
- 25 May 2026Code scan, app.json injection documented, ROLE.md link fix — routine maintenance; roles now stable.
Learning 1 — roles did not know where to talk (30 March 2026)
The symptom, visible in the commit message itself: a "dangling comms/03/ folder" — comms directories existing that no role referenced.
The fix: read/write directory tables added to Conductor, Dev and QA, plus QA's eight-step session-start sequence. The added lines, verbatim from the diff:
+ | team/comms/ | Cross-team communication — changelogs, QA briefs, inter-team briefs, plans | + | team/comms/QA_START_HERE.md | Read first every session — what changed, what to test | + | team/comms/changelog/ | Read changelogs to classify test failures (good vs bad) | + 6. Write a changelog entry in team/comms/changelog/MM/DD/ documenting the fix and expected test impact + 7. If the fix affects UI behaviour, write a QA brief in team/comms/qa/briefs/MM/DD/ with updated test cases
This is the single most reusable lesson in the corpus for anyone standing up a multi-role team, which is why it leads this page.
Learning 2 — a new capability arrived without its prohibition (8 April 2026)
The context: roles gained sgit (the vault CLI) for cross-team
handovers. The risk: vault keys and access tokens are exactly the sort of thing an
agent will helpfully commit.
The fix, added to Dev, QA and Librarian, and to .claude/CLAUDE.md
in the same commit:
+ - No access tokens, vault keys, share tokens, or API keys are committed to Git — these are secrets + - sgit (PyPI: sgit-ai): Create vaults for cross-team briefing delivery… + NEVER commit vault keys, share tokens, or access tokens to Git.
Note the placement: the prohibition sits inside the tool's own row in the Tools and Access table, next to the capability it constrains — not in a distant security section a role might not read.
This connects directly to pki.sgit.ai's key discipline (write keys never published) — the role file is where that discipline reaches the agent that would otherwise breach it.
Learning 3 — the format regressed (Feb → Mar 2026)
Not a single commit but a drift, and the estate has not noticed it: the newer table-format Identity blocks state Central Claims descriptively, while the older bullet-format ones state them as falsifiable failure conditions. The migration improved the markup and lost the property that made the field valuable.
Publishing this on the site — a self-criticism of the estate's own reference material — is exactly the credibility the network's other sites are built on. The drift, quantified →
How this page stays alive
This is not a one-time archaeology. Every future change to a ROLE.md
should produce a dated entry answering three questions: what broke, what rule was
added, and which roles received it. Three lines. The rule is that a role edit
without such an entry is incomplete — because the edited file records the answer but
destroys the question, and the question is what an agent needs in order to know whether
the rule still applies.
Only three learnings were recovered. This archaeology found three
high-signal changes across seven months, out of 4,335 commits searched. A deeper pass
over team/comms/ and .issues/ would likely surface more, and
the changelog tree (changelog/03/ through changelog/08/) is
unexamined — G6.