Add the Ergasterion: Hickey, Fowler, Parnas architecture workshop

Pre-implementation architecture inspection for one proposed design at a
time, distinct from the Court's rulebook-level governance (which already
carries its own "Academy" self-identity in court.agent.md) and from
al-review's post-hoc diff review. Wired into al-complexity's HIGH-tier
route as the actual human architecture sign-off.

- Hickey: what does this model, and what's complected?
- Fowler: does this pay for itself, or borrow against the next change?
- Parnas: is what's likely to change hidden behind a stable interface?
  (proactive counterpart to Titus Winters' Hyrum's Law check in al-review)
This commit is contained in:
Michael Dieringer 2026-08-03 11:41:30 +02:00
parent 2c48df2431
commit c1132c4006
8 changed files with 506 additions and 8 deletions

View file

@ -92,6 +92,10 @@ old HTTP-encoding pitfalls do not exist here).
| lincoln.agent.md | `{AGENTS_BASE}/lincoln.agent.md` |
| aurelius.agent.md | `{AGENTS_BASE}/aurelius.agent.md` |
| munger.agent.md | `{AGENTS_BASE}/munger.agent.md` |
| ergasterion.agent.md | `{AGENTS_BASE}/ergasterion.agent.md` |
| hickey.agent.md | `{AGENTS_BASE}/hickey.agent.md` |
| fowler.agent.md | `{AGENTS_BASE}/fowler.agent.md` |
| parnas.agent.md | `{AGENTS_BASE}/parnas.agent.md` |
| edison.agent.md | `{AGENTS_BASE}/edison.agent.md` |
| ferencz.agent.md | `{AGENTS_BASE}/ferencz.agent.md` |
| roemer.agent.md | `{AGENTS_BASE}/roemer.agent.md` |
@ -104,10 +108,10 @@ old HTTP-encoding pitfalls do not exist here).
CLAUDE.md is generated dynamically — not fetched as a static template because
it contains project-specific paths.
**v24 — machine vs. repo split:** of the 22 agent files above, only
**v24 — machine vs. repo split:** of the 26 agent files above, only
`bcquality.agent.md` (the marker this whole mechanism gates on) and
`feynman.agent.md` (support sessions have no `~/.claude/` to read from) are
still written into a repo's `.github/.agents/`. The remaining 20 — including
still written into a repo's `.github/.agents/`. The remaining 24 — including
`florence.agent.md`, which goes to `~/.claude/agents/florence.md` as a real
Claude Code subagent rather than `~/.claude/curabis-agents/` — are deployed
ONCE PER MACHINE by `sync-bcquality-knowledge.ps1` to `~/.claude/curabis-agents/`

View file

@ -116,6 +116,17 @@ These are invoked only when needed - not at session start:
truly necessary? Prunes what no longer serves. Asks: "Is this rule still alive?"
- `~/.claude/curabis-agents/munger.agent.md` - Third judge. Applies inversion and mental models.
Finds what the others missed. Asks: "What are we getting wrong — and why?"
- `~/.claude/curabis-agents/ergasterion.agent.md` - the architecture workshop: Hickey, Fowler,
and Parnas inspect one proposed design before it's built — not the rulebook (that's the
Court) and not the diff after the fact (that's al-review). This IS the human architecture
sign-off al-complexity's HIGH route requires; also invocable on demand for any design.
- `~/.claude/curabis-agents/hickey.agent.md` - First voice. Names what the design actually
models and what's been complected. Asks: "What does this actually model?"
- `~/.claude/curabis-agents/fowler.agent.md` - Second voice. Prices what this change costs
or saves later. Asks: "Does this pay for itself, or does it borrow against the next change?"
- `~/.claude/curabis-agents/parnas.agent.md` - Third voice. Checks whether what's likely to
change is hidden behind a stable interface. Asks: "Is what's going to change hidden behind
what won't?"
- `~/.claude/curabis-agents/algo-settings.agent.md` - AL-Go pipeline settings advisor. Consult when
discussing or changing AL-Go CI/CD settings (`AL-Go-Settings.json`).
- `~/.claude/curabis-agents/edison.agent.md` - BCQuality eval runner. Measures whether a merged

View file

@ -131,9 +131,9 @@ $curabisAgentsDest = Join-Path $env:USERPROFILE '.claude\curabis-agents'
New-Item -ItemType Directory -Force $curabisAgentsDest | Out-Null
$rosterFromAgentsDir = @(
'aurelius', 'carlin', 'columbo', 'court', 'edison', 'ferencz',
'francis', 'immanuel', 'lincoln', 'm365', 'munger', 'roemer',
'smiley', 'weber'
'aurelius', 'carlin', 'columbo', 'court', 'edison', 'ergasterion',
'ferencz', 'fowler', 'francis', 'hickey', 'immanuel', 'lincoln', 'm365',
'munger', 'parnas', 'roemer', 'smiley', 'weber'
) | ForEach-Object { Join-Path $clone "custom\agents\$_.agent.md" }
$rosterFromSetupTemplates = @(

View file

@ -129,9 +129,13 @@ MEDIUM
- Short spec -> TDD (tests FIRST, then code) -> bcquality.agent.md review.
HIGH
- Architecture clarify first (CURABIS-ARCH-010) -> spec -> TDD -> bcquality.agent.md review,
with al-triage.agent.md on standby. Flag for explicit human architecture sign-off before
implementation starts.
- If the requirement itself is still ambiguous, Columbo resolves that first
(CURABIS-ARCH-010) — this is not the Ergasterion's job. Then convene the
Ergasterion (`ergasterion.agent.md` — Hickey, Fowler, Parnas) on the proposed
design -> spec -> TDD -> bcquality.agent.md review, with al-triage.agent.md
on standby. The Ergasterion's ruling (PROCEED / PROCEED WITH CHANGES /
RECONSIDER), plus Michael's decision on it, IS the human architecture
sign-off — not a step a developer can wave off by saying "looks fine to me."
## Action - advisory protocol