thevoidforge-methodology 23.4.1 → 23.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/agents/ahsoka-access-control.md +1 -0
- package/.claude/agents/banner-database.md +1 -0
- package/.claude/agents/barton-smoke-test.md +1 -0
- package/.claude/agents/bayta-evals.md +1 -0
- package/.claude/agents/bilbo-microcopy.md +1 -0
- package/.claude/agents/bulma-engineering.md +1 -0
- package/.claude/agents/constantine-cursed-code.md +1 -0
- package/.claude/agents/data-tech-debt.md +1 -0
- package/.claude/agents/deathstroke-adversarial.md +1 -0
- package/.claude/agents/dockson-treasury.md +1 -0
- package/.claude/agents/eowyn-delight.md +1 -0
- package/.claude/agents/fury-initiative.md +1 -0
- package/.claude/agents/gaal-prompt-arch.md +1 -0
- package/.claude/agents/kelsier-growth.md +1 -0
- package/.claude/agents/kim-api-design.md +1 -0
- package/.claude/agents/kusanagi-devops.md +1 -0
- package/.claude/agents/la-forge-reliability.md +1 -0
- package/.claude/agents/leia-secrets.md +1 -0
- package/.claude/agents/levi-deploy.md +1 -0
- package/.claude/agents/nightwing-regression.md +1 -0
- package/.claude/agents/padme-data-protection.md +1 -0
- package/.claude/agents/picard-architecture.md +1 -0
- package/.claude/agents/romanoff-integrations.md +1 -0
- package/.claude/agents/salvor-model-selection.md +1 -0
- package/.claude/agents/samwise-accessibility.md +1 -0
- package/.claude/agents/scotty-infrastructure.md +1 -0
- package/.claude/agents/seldon-ai.md +1 -0
- package/.claude/agents/senku-provisioning.md +1 -0
- package/.claude/agents/sisko-campaign.md +1 -0
- package/.claude/agents/spike-routing.md +1 -0
- package/.claude/agents/spock-schema.md +1 -0
- package/.claude/agents/stark-backend.md +1 -0
- package/.claude/agents/steris-budget.md +1 -0
- package/.claude/agents/strange-service-arch.md +1 -0
- package/.claude/agents/thor-queues.md +1 -0
- package/.claude/agents/troi-prd-compliance.md +1 -0
- package/.claude/agents/tuvok-deep-current.md +1 -0
- package/.claude/agents/vin-analytics.md +1 -0
- package/.claude/agents/windu-input-validation.md +1 -0
- package/.claude/agents/worf-security-arch.md +1 -0
- package/.claude/commands/ai.md +16 -0
- package/.claude/commands/architect.md +16 -0
- package/.claude/commands/assemble.md +18 -0
- package/.claude/commands/assess.md +18 -0
- package/.claude/commands/build.md +16 -0
- package/.claude/commands/campaign.md +16 -0
- package/.claude/commands/deploy.md +16 -0
- package/.claude/commands/devops.md +18 -0
- package/.claude/commands/gauntlet.md +16 -0
- package/.claude/commands/qa.md +18 -0
- package/.claude/commands/review.md +18 -0
- package/.claude/commands/security.md +18 -0
- package/.claude/commands/test.md +18 -0
- package/.claude/commands/ux.md +18 -0
- package/CHANGELOG.md +17 -0
- package/CLAUDE.md +1 -0
- package/VERSION.md +2 -1
- package/package.json +1 -1
package/.claude/commands/ai.md
CHANGED
|
@@ -15,6 +15,21 @@ Opus scans `git diff --stat` and matches changed files against the `description`
|
|
|
15
15
|
|
|
16
16
|
**Dispatch control:** `--light` skips dynamic dispatch (core only). `--solo` runs lead agent only.
|
|
17
17
|
|
|
18
|
+
## Herald Pre-Scan (ADR-047)
|
|
19
|
+
|
|
20
|
+
Before agent deployment, run the Herald to select the optimal roster:
|
|
21
|
+
|
|
22
|
+
1. Call `gatherHeraldContext('/ai', '$ARGUMENTS', '<focus-if-provided>')` to collect codebase context
|
|
23
|
+
2. Call `loadAgentRegistry()` to get all 263 agent definitions
|
|
24
|
+
3. Call `runHerald(context, registry)` to get the optimal roster
|
|
25
|
+
4. Merge Herald's roster with this command's hardcoded lead agents (Herald adds, never removes leads)
|
|
26
|
+
5. Deploy the merged roster per the command's normal parallel/sequential protocol
|
|
27
|
+
|
|
28
|
+
**`--focus "topic"`** biases the Herald toward agents matching the topic. Examples: `--focus "security"`, `--focus "financial accuracy"`, `--focus "mobile UX"`.
|
|
29
|
+
|
|
30
|
+
**`--light`** skips the Herald entirely — uses only the command's hardcoded core roster.
|
|
31
|
+
**`--solo`** skips both Herald and all sub-agents — lead agent only.
|
|
32
|
+
|
|
18
33
|
## Phase 0 — AI Surface Map (`subagent_type: seldon-ai`)
|
|
19
34
|
|
|
20
35
|
Reconnaissance — find all AI integration points:
|
|
@@ -54,6 +69,7 @@ Fix all Critical and High findings. Use the standard finding format with confide
|
|
|
54
69
|
**The Mule** `subagent_type: mule-adversarial-ai` + **Wanda Seldon** `subagent_type: wanda-seldon-validation` re-probe all remediated areas. Wanda validates structured outputs. The Mule attempts adversarial bypass of fixes.
|
|
55
70
|
|
|
56
71
|
## Arguments
|
|
72
|
+
- `--focus "topic"` → Bias Herald toward topic (natural-language, additive)
|
|
57
73
|
- No arguments → full 5-phase audit of all AI components
|
|
58
74
|
- `--prompts` → Focus on prompt engineering only (Gaal Dornick deep dive)
|
|
59
75
|
- `--tools` → Focus on tool-use schemas only (Hober Mallow solo)
|
|
@@ -10,6 +10,21 @@ Opus scans `git diff --stat` and matches changed files against the `description`
|
|
|
10
10
|
|
|
11
11
|
**Promoted agent:** **Riker** `subagent_type: riker-review` runs on every ADR written — challenges trade-offs.
|
|
12
12
|
|
|
13
|
+
## Herald Pre-Scan (ADR-047)
|
|
14
|
+
|
|
15
|
+
Before agent deployment, run the Herald to select the optimal roster:
|
|
16
|
+
|
|
17
|
+
1. Call `gatherHeraldContext('/architect', '$ARGUMENTS', '<focus-if-provided>')` to collect codebase context
|
|
18
|
+
2. Call `loadAgentRegistry()` to get all 263 agent definitions
|
|
19
|
+
3. Call `runHerald(context, registry)` to get the optimal roster
|
|
20
|
+
4. Merge Herald's roster with this command's hardcoded lead agents (Herald adds, never removes leads)
|
|
21
|
+
5. Deploy the merged roster per the command's normal parallel/sequential protocol
|
|
22
|
+
|
|
23
|
+
**`--focus "topic"`** biases the Herald toward agents matching the topic. Examples: `--focus "security"`, `--focus "financial accuracy"`, `--focus "mobile UX"`.
|
|
24
|
+
|
|
25
|
+
**`--light`** skips the Herald entirely — uses only the command's hardcoded core roster.
|
|
26
|
+
**`--solo`** skips both Herald and all sub-agents — lead agent only.
|
|
27
|
+
|
|
13
28
|
## Context Setup
|
|
14
29
|
1. Read `/logs/build-state.md` — understand current project state
|
|
15
30
|
2. Read `/docs/methods/SYSTEMS_ARCHITECT.md`
|
|
@@ -89,6 +104,7 @@ For specific conflicts:
|
|
|
89
104
|
|
|
90
105
|
## Arguments
|
|
91
106
|
- `--plan [description]` → Planning mode: analyze and recommend without executing. Present findings and proposed changes for review.
|
|
107
|
+
- `--focus "topic"` → Bias Herald toward topic (natural-language, additive)
|
|
92
108
|
- `--muster` → *(retired — accepted as no-op per ADR-043. Full roster is now the default. Use `--light` to reduce.)*
|
|
93
109
|
|
|
94
110
|
## Handoffs
|
|
@@ -13,6 +13,21 @@ Opus scans `git diff --stat` and matches changed files against the `description`
|
|
|
13
13
|
|
|
14
14
|
**Dispatch control:** `--light` skips dynamic dispatch (core only). `--solo` runs lead agent only.
|
|
15
15
|
|
|
16
|
+
## Herald Pre-Scan (ADR-047)
|
|
17
|
+
|
|
18
|
+
Before agent deployment, run the Herald to select the optimal roster:
|
|
19
|
+
|
|
20
|
+
1. Call `gatherHeraldContext('/assemble', '$ARGUMENTS', '<focus-if-provided>')` to collect codebase context
|
|
21
|
+
2. Call `loadAgentRegistry()` to get all 263 agent definitions
|
|
22
|
+
3. Call `runHerald(context, registry)` to get the optimal roster
|
|
23
|
+
4. Merge Herald's roster with this command's hardcoded lead agents (Herald adds, never removes leads)
|
|
24
|
+
5. Deploy the merged roster per the command's normal parallel/sequential protocol
|
|
25
|
+
|
|
26
|
+
**`--focus "topic"`** biases the Herald toward agents matching the topic. Examples: `--focus "security"`, `--focus "financial accuracy"`, `--focus "mobile UX"`.
|
|
27
|
+
|
|
28
|
+
**`--light`** skips the Herald entirely — uses only the command's hardcoded core roster.
|
|
29
|
+
**`--solo`** skips both Herald and all sub-agents — lead agent only.
|
|
30
|
+
|
|
16
31
|
## Agent Deployment Manifest — The Full Initiative
|
|
17
32
|
|
|
18
33
|
When `/assemble` invokes each sub-command, it deploys the FULL roster for that command — not just the lead. The leads below are coordinators; they bring their complete teams.
|
|
@@ -205,6 +220,9 @@ After the summary, Wong extracts learnings for future builds:
|
|
|
205
220
|
- `--solo` — Lead agent only per phase, no sub-agents.
|
|
206
221
|
- `--blitz` — **Retired (no-op).** Default is now autonomous.
|
|
207
222
|
|
|
223
|
+
## Arguments
|
|
224
|
+
- `--focus "topic"` → Bias Herald toward topic (natural-language, additive)
|
|
225
|
+
|
|
208
226
|
## Handoffs
|
|
209
227
|
- If any phase is blocked by an issue outside its domain, log to `/logs/handoffs.md` and continue to the next phase
|
|
210
228
|
- At completion, note any outstanding handoffs for the user
|
|
@@ -2,6 +2,21 @@
|
|
|
2
2
|
|
|
3
3
|
Evaluate an existing codebase before a rebuild, migration, or VoidForge onboarding. Chains architecture review, assessment-mode Gauntlet, and PRD gap analysis into a unified "State of the Codebase" report.
|
|
4
4
|
|
|
5
|
+
## Herald Pre-Scan (ADR-047)
|
|
6
|
+
|
|
7
|
+
Before agent deployment, run the Herald to select the optimal roster:
|
|
8
|
+
|
|
9
|
+
1. Call `gatherHeraldContext('/assess', '$ARGUMENTS', '<focus-if-provided>')` to collect codebase context
|
|
10
|
+
2. Call `loadAgentRegistry()` to get all 263 agent definitions
|
|
11
|
+
3. Call `runHerald(context, registry)` to get the optimal roster
|
|
12
|
+
4. Merge Herald's roster with this command's hardcoded lead agents (Herald adds, never removes leads)
|
|
13
|
+
5. Deploy the merged roster per the command's normal parallel/sequential protocol
|
|
14
|
+
|
|
15
|
+
**`--focus "topic"`** biases the Herald toward agents matching the topic. Examples: `--focus "security"`, `--focus "financial accuracy"`, `--focus "mobile UX"`.
|
|
16
|
+
|
|
17
|
+
**`--light`** skips the Herald entirely — uses only the command's hardcoded core roster.
|
|
18
|
+
**`--solo`** skips both Herald and all sub-agents — lead agent only.
|
|
19
|
+
|
|
5
20
|
## Context Setup
|
|
6
21
|
1. Read `/logs/build-state.md` if it exists — understand current project state
|
|
7
22
|
2. Read `/docs/methods/SYSTEMS_ARCHITECT.md`
|
|
@@ -61,6 +76,9 @@ Produce a unified report in `/logs/assessment.md`:
|
|
|
61
76
|
### Step 5 — Debrief (optional)
|
|
62
77
|
If findings are methodology-relevant (patterns that VoidForge should catch but doesn't), offer: "Want Bashir to file a field report?"
|
|
63
78
|
|
|
79
|
+
## Arguments
|
|
80
|
+
- `--focus "topic"` → Bias Herald toward topic (natural-language, additive)
|
|
81
|
+
|
|
64
82
|
## When to Use
|
|
65
83
|
- Before onboarding an existing codebase to VoidForge
|
|
66
84
|
- Before a major version rebuild (v2 → v3)
|
|
@@ -10,6 +10,21 @@ Opus scans `git diff --stat` and matches changed files against the `description`
|
|
|
10
10
|
- **Troi** `subagent_type: troi-prd-compliance` runs after every build mission completion — catches PRD drift before it compounds.
|
|
11
11
|
- **Riker** `subagent_type: riker-review` runs whenever an ADR is written during the build — prevents rubber-stamped decisions.
|
|
12
12
|
|
|
13
|
+
## Herald Pre-Scan (ADR-047)
|
|
14
|
+
|
|
15
|
+
Before agent deployment, run the Herald to select the optimal roster:
|
|
16
|
+
|
|
17
|
+
1. Call `gatherHeraldContext('/build', '$ARGUMENTS', '<focus-if-provided>')` to collect codebase context
|
|
18
|
+
2. Call `loadAgentRegistry()` to get all 263 agent definitions
|
|
19
|
+
3. Call `runHerald(context, registry)` to get the optimal roster
|
|
20
|
+
4. Merge Herald's roster with this command's hardcoded lead agents (Herald adds, never removes leads)
|
|
21
|
+
5. Deploy the merged roster per the command's normal parallel/sequential protocol
|
|
22
|
+
|
|
23
|
+
**`--focus "topic"`** biases the Herald toward agents matching the topic. Examples: `--focus "security"`, `--focus "financial accuracy"`, `--focus "mobile UX"`.
|
|
24
|
+
|
|
25
|
+
**`--light`** skips the Herald entirely — uses only the command's hardcoded core roster.
|
|
26
|
+
**`--solo`** skips both Herald and all sub-agents — lead agent only.
|
|
27
|
+
|
|
13
28
|
## Context Setup
|
|
14
29
|
1. Read `/logs/build-state.md` — if it exists, resume from current phase
|
|
15
30
|
2. If no build state exists, this is a fresh build — start from Phase 0
|
|
@@ -116,6 +131,7 @@ After build and before launch, log which patterns were used: pattern name, frame
|
|
|
116
131
|
3. Update `/logs/build-state.md` to "LAUNCHED"
|
|
117
132
|
|
|
118
133
|
## Flags
|
|
134
|
+
- `--focus "topic"` — Bias Herald toward topic (natural-language, additive)
|
|
119
135
|
- `--resume` — Resume from last completed phase in build-state.md.
|
|
120
136
|
- `--blitz` — *(retired — accepted as no-op per ADR-043. Autonomous execution is now the default. Use `--interactive` to pause between phases.)*
|
|
121
137
|
- `--muster` — *(retired — accepted as no-op per ADR-043. Full roster is now the default. Use `--light` to reduce.)*
|
|
@@ -53,6 +53,21 @@ Opus scans `git diff --stat` and matches changed files against the `description`
|
|
|
53
53
|
|
|
54
54
|
**Dispatch control:** `--light` skips dynamic dispatch (core only). `--solo` runs lead agent only.
|
|
55
55
|
|
|
56
|
+
## Herald Pre-Scan (ADR-047)
|
|
57
|
+
|
|
58
|
+
Before agent deployment, run the Herald to select the optimal roster:
|
|
59
|
+
|
|
60
|
+
1. Call `gatherHeraldContext('/campaign', '$ARGUMENTS', '<focus-if-provided>')` to collect codebase context
|
|
61
|
+
2. Call `loadAgentRegistry()` to get all 263 agent definitions
|
|
62
|
+
3. Call `runHerald(context, registry)` to get the optimal roster
|
|
63
|
+
4. Merge Herald's roster with this command's hardcoded lead agents (Herald adds, never removes leads)
|
|
64
|
+
5. Deploy the merged roster per the command's normal parallel/sequential protocol
|
|
65
|
+
|
|
66
|
+
**`--focus "topic"`** biases the Herald toward agents matching the topic. Examples: `--focus "security"`, `--focus "financial accuracy"`, `--focus "mobile UX"`.
|
|
67
|
+
|
|
68
|
+
**`--light`** skips the Herald entirely — uses only the command's hardcoded core roster.
|
|
69
|
+
**`--solo`** skips both Herald and all sub-agents — lead agent only.
|
|
70
|
+
|
|
56
71
|
## Execution Mode (default)
|
|
57
72
|
|
|
58
73
|
## Step 0 — Kira's Operational Reconnaissance (`subagent_type: kira-pragmatic`)
|
|
@@ -204,6 +219,7 @@ Default is autonomous + full agent roster. Flags opt OUT of quality, not into it
|
|
|
204
219
|
- `--light` → standard agents only, skip cross-domain spot-checks and muster roster
|
|
205
220
|
- `--interactive` → pause for human confirmation between missions (old default behavior)
|
|
206
221
|
- `--solo` → lead agent only, no sub-agents (quick checks)
|
|
222
|
+
- `--focus "topic"` → Bias Herald toward topic (natural-language, additive)
|
|
207
223
|
- `--autonomous` → supervised autonomy: same as default PLUS `git tag` before each mission, critical-finding rollback, 5-mission human checkpoints. Safer for 10+ mission campaigns. See CAMPAIGN.md "Autonomous Mode" for full guardrails.
|
|
208
224
|
- `--continuous` → after Victory, auto-start the next roadmap version within the same major (v9.3→v9.4, stops before v10.0). Add `--major` to cross major boundaries and never stop cooking.
|
|
209
225
|
- `--mission "Name"` → jump to a specific PRD section
|
|
@@ -4,6 +4,21 @@
|
|
|
4
4
|
|
|
5
5
|
Read `/docs/methods/DEVOPS_ENGINEER.md` for operating rules (see "Deploy Automation" section).
|
|
6
6
|
|
|
7
|
+
## Herald Pre-Scan (ADR-047)
|
|
8
|
+
|
|
9
|
+
Before agent deployment, run the Herald to select the optimal roster:
|
|
10
|
+
|
|
11
|
+
1. Call `gatherHeraldContext('/deploy', '$ARGUMENTS', '<focus-if-provided>')` to collect codebase context
|
|
12
|
+
2. Call `loadAgentRegistry()` to get all 263 agent definitions
|
|
13
|
+
3. Call `runHerald(context, registry)` to get the optimal roster
|
|
14
|
+
4. Merge Herald's roster with this command's hardcoded lead agents (Herald adds, never removes leads)
|
|
15
|
+
5. Deploy the merged roster per the command's normal parallel/sequential protocol
|
|
16
|
+
|
|
17
|
+
**`--focus "topic"`** biases the Herald toward agents matching the topic. Examples: `--focus "security"`, `--focus "financial accuracy"`, `--focus "mobile UX"`.
|
|
18
|
+
|
|
19
|
+
**`--light`** skips the Herald entirely — uses only the command's hardcoded core roster.
|
|
20
|
+
**`--solo`** skips both Herald and all sub-agents — lead agent only.
|
|
21
|
+
|
|
7
22
|
## Context Setup
|
|
8
23
|
1. Read PRD frontmatter for `deploy:` target (vps, vercel, railway, docker, static, cloudflare)
|
|
9
24
|
2. Read `/logs/deploy-state.md` — if exists, check last deploy status
|
|
@@ -89,6 +104,7 @@ Update `/logs/deploy-state.md` with deploy results.
|
|
|
89
104
|
- `--rollback` → rollback to previous deploy
|
|
90
105
|
- `--status` → show current deploy state without deploying
|
|
91
106
|
- `--dry-run` → show what would be deployed without executing
|
|
107
|
+
- `--focus "topic"` → Bias Herald toward topic (natural-language, additive)
|
|
92
108
|
|
|
93
109
|
## Safety Rails
|
|
94
110
|
- Never deploy with uncommitted changes
|
|
@@ -11,6 +11,21 @@ Opus scans `git diff --stat` and matches changed files against the `description`
|
|
|
11
11
|
|
|
12
12
|
**Dispatch control:** `--light` skips dynamic dispatch (core only). `--solo` runs lead agent only.
|
|
13
13
|
|
|
14
|
+
## Herald Pre-Scan (ADR-047)
|
|
15
|
+
|
|
16
|
+
Before agent deployment, run the Herald to select the optimal roster:
|
|
17
|
+
|
|
18
|
+
1. Call `gatherHeraldContext('/devops', '$ARGUMENTS', '<focus-if-provided>')` to collect codebase context
|
|
19
|
+
2. Call `loadAgentRegistry()` to get all 263 agent definitions
|
|
20
|
+
3. Call `runHerald(context, registry)` to get the optimal roster
|
|
21
|
+
4. Merge Herald's roster with this command's hardcoded lead agents (Herald adds, never removes leads)
|
|
22
|
+
5. Deploy the merged roster per the command's normal parallel/sequential protocol
|
|
23
|
+
|
|
24
|
+
**`--focus "topic"`** biases the Herald toward agents matching the topic. Examples: `--focus "security"`, `--focus "financial accuracy"`, `--focus "mobile UX"`.
|
|
25
|
+
|
|
26
|
+
**`--light`** skips the Herald entirely — uses only the command's hardcoded core roster.
|
|
27
|
+
**`--solo`** skips both Herald and all sub-agents — lead agent only.
|
|
28
|
+
|
|
14
29
|
## Agent Deployment Manifest
|
|
15
30
|
|
|
16
31
|
**Lead:** Kusanagi (`subagent_type: kusanagi-devops`)
|
|
@@ -142,6 +157,9 @@ If any smoke test fails, halt the deploy and run `/scripts/rollback.sh` before i
|
|
|
142
157
|
6. Cron jobs documented
|
|
143
158
|
7. Monitoring configured
|
|
144
159
|
|
|
160
|
+
## Arguments
|
|
161
|
+
- `--focus "topic"` → Bias Herald toward topic (natural-language, additive)
|
|
162
|
+
|
|
145
163
|
## Handoffs
|
|
146
164
|
- Code bugs found during deploy → Batman, log to `/logs/handoffs.md`
|
|
147
165
|
- Security config review → Kenobi, log to `/logs/handoffs.md`
|
|
@@ -15,6 +15,21 @@ Opus scans `git diff --stat` and matches changed files against the `description`
|
|
|
15
15
|
|
|
16
16
|
**Dispatch control:** `--light` skips dynamic dispatch (core only). `--solo` runs lead agent only.
|
|
17
17
|
|
|
18
|
+
## Herald Pre-Scan (ADR-047)
|
|
19
|
+
|
|
20
|
+
Before agent deployment, run the Herald to select the optimal roster:
|
|
21
|
+
|
|
22
|
+
1. Call `gatherHeraldContext('/gauntlet', '$ARGUMENTS', '<focus-if-provided>')` to collect codebase context
|
|
23
|
+
2. Call `loadAgentRegistry()` to get all 263 agent definitions
|
|
24
|
+
3. Call `runHerald(context, registry)` to get the optimal roster
|
|
25
|
+
4. Merge Herald's roster with this command's hardcoded lead agents (Herald adds, never removes leads)
|
|
26
|
+
5. Deploy the merged roster per the command's normal parallel/sequential protocol
|
|
27
|
+
|
|
28
|
+
**`--focus "topic"`** biases the Herald toward agents matching the topic. Examples: `--focus "security"`, `--focus "financial accuracy"`, `--focus "mobile UX"`.
|
|
29
|
+
|
|
30
|
+
**`--light`** skips the Herald entirely — uses only the command's hardcoded core roster.
|
|
31
|
+
**`--solo`** skips both Herald and all sub-agents — lead agent only.
|
|
32
|
+
|
|
18
33
|
## Round 1 — Discovery (parallel)
|
|
19
34
|
|
|
20
35
|
**Thanos:** "Before I test, I must understand."
|
|
@@ -127,6 +142,7 @@ Default is now maximum intensity (was `--infinity`). Flags opt out.
|
|
|
127
142
|
- `--security-only` → 4 rounds of security only (Kenobi marathon)
|
|
128
143
|
- `--ux-only` → 4 rounds of UX only (Galadriel marathon)
|
|
129
144
|
- `--qa-only` → 4 rounds of QA only (Batman marathon)
|
|
145
|
+
- `--focus "topic"` → Bias Herald toward topic (natural-language, additive)
|
|
130
146
|
- `--resume` → resume from last completed round (reads gauntlet state from logs)
|
|
131
147
|
- `--ux-extra` → Extra Éowyn enchantment emphasis across all rounds. Galadriel's team proposes micro-animations, copy improvements, and delight moments beyond standard usability/a11y.
|
|
132
148
|
- `--assess` → **Pre-build assessment.** Rounds 1-2 only (Discovery + First Strike), no fix batches. Produces assessment report grouped by root cause.
|
package/.claude/commands/qa.md
CHANGED
|
@@ -10,6 +10,21 @@ Opus scans `git diff --stat` and matches changed files against the `description`
|
|
|
10
10
|
|
|
11
11
|
**Promoted agent:** **Constantine** `subagent_type: constantine-cursed-code` runs on every `/qa` final pass — finds code that works by accident.
|
|
12
12
|
|
|
13
|
+
## Herald Pre-Scan (ADR-047)
|
|
14
|
+
|
|
15
|
+
Before agent deployment, run the Herald to select the optimal roster:
|
|
16
|
+
|
|
17
|
+
1. Call `gatherHeraldContext('/qa', '$ARGUMENTS', '<focus-if-provided>')` to collect codebase context
|
|
18
|
+
2. Call `loadAgentRegistry()` to get all 263 agent definitions
|
|
19
|
+
3. Call `runHerald(context, registry)` to get the optimal roster
|
|
20
|
+
4. Merge Herald's roster with this command's hardcoded lead agents (Herald adds, never removes leads)
|
|
21
|
+
5. Deploy the merged roster per the command's normal parallel/sequential protocol
|
|
22
|
+
|
|
23
|
+
**`--focus "topic"`** biases the Herald toward agents matching the topic. Examples: `--focus "security"`, `--focus "financial accuracy"`, `--focus "mobile UX"`.
|
|
24
|
+
|
|
25
|
+
**`--light`** skips the Herald entirely — uses only the command's hardcoded core roster.
|
|
26
|
+
**`--solo`** skips both Herald and all sub-agents — lead agent only.
|
|
27
|
+
|
|
13
28
|
## Context Setup
|
|
14
29
|
1. Read `/logs/build-state.md` — understand current project state
|
|
15
30
|
2. Read `/docs/methods/QA_ENGINEER.md`
|
|
@@ -106,6 +121,9 @@ Store in `/docs/qa-prompt.md` under "Regression Checklist" section.
|
|
|
106
121
|
3. Updated `/docs/qa-prompt.md` with regression checklist
|
|
107
122
|
4. Release note summary in phase log
|
|
108
123
|
|
|
124
|
+
## Arguments
|
|
125
|
+
- `--focus "topic"` → Bias Herald toward topic (natural-language, additive)
|
|
126
|
+
|
|
109
127
|
## Handoffs
|
|
110
128
|
- Security findings → Kenobi (`/security`)
|
|
111
129
|
- Architecture issues → Picard (`/architect`)
|
|
@@ -8,6 +8,21 @@ Opus scans `git diff --stat` and matches changed files against the `description`
|
|
|
8
8
|
|
|
9
9
|
**Dispatch control:** `--light` skips dynamic dispatch (core only). `--solo` runs lead agent only.
|
|
10
10
|
|
|
11
|
+
## Herald Pre-Scan (ADR-047)
|
|
12
|
+
|
|
13
|
+
Before agent deployment, run the Herald to select the optimal roster:
|
|
14
|
+
|
|
15
|
+
1. Call `gatherHeraldContext('/review', '$ARGUMENTS', '<focus-if-provided>')` to collect codebase context
|
|
16
|
+
2. Call `loadAgentRegistry()` to get all 263 agent definitions
|
|
17
|
+
3. Call `runHerald(context, registry)` to get the optimal roster
|
|
18
|
+
4. Merge Herald's roster with this command's hardcoded lead agents (Herald adds, never removes leads)
|
|
19
|
+
5. Deploy the merged roster per the command's normal parallel/sequential protocol
|
|
20
|
+
|
|
21
|
+
**`--focus "topic"`** biases the Herald toward agents matching the topic. Examples: `--focus "security"`, `--focus "financial accuracy"`, `--focus "mobile UX"`.
|
|
22
|
+
|
|
23
|
+
**`--light`** skips the Herald entirely — uses only the command's hardcoded core roster.
|
|
24
|
+
**`--solo`** skips both Herald and all sub-agents — lead agent only.
|
|
25
|
+
|
|
11
26
|
## Context Setup
|
|
12
27
|
1. Read `/logs/build-state.md` — understand current project state
|
|
13
28
|
2. Read the relevant pattern files from `/docs/patterns/` for the code being reviewed
|
|
@@ -111,6 +126,9 @@ If new issues found, fix and re-verify.
|
|
|
111
126
|
2. Code fixes for Must Fix and Should Fix items
|
|
112
127
|
3. Remaining suggestions for user decision
|
|
113
128
|
|
|
129
|
+
## Arguments
|
|
130
|
+
- `--focus "topic"` → Bias Herald toward topic (natural-language, additive)
|
|
131
|
+
|
|
114
132
|
## Handoffs
|
|
115
133
|
- Security findings → Kenobi (`/security`)
|
|
116
134
|
- UX/a11y findings → Galadriel (`/ux`)
|
|
@@ -8,6 +8,21 @@ Opus scans `git diff --stat` and matches changed files against the `description`
|
|
|
8
8
|
|
|
9
9
|
**Dispatch control:** `--light` skips dynamic dispatch (core only). `--solo` runs lead agent only.
|
|
10
10
|
|
|
11
|
+
## Herald Pre-Scan (ADR-047)
|
|
12
|
+
|
|
13
|
+
Before agent deployment, run the Herald to select the optimal roster:
|
|
14
|
+
|
|
15
|
+
1. Call `gatherHeraldContext('/security', '$ARGUMENTS', '<focus-if-provided>')` to collect codebase context
|
|
16
|
+
2. Call `loadAgentRegistry()` to get all 263 agent definitions
|
|
17
|
+
3. Call `runHerald(context, registry)` to get the optimal roster
|
|
18
|
+
4. Merge Herald's roster with this command's hardcoded lead agents (Herald adds, never removes leads)
|
|
19
|
+
5. Deploy the merged roster per the command's normal parallel/sequential protocol
|
|
20
|
+
|
|
21
|
+
**`--focus "topic"`** biases the Herald toward agents matching the topic. Examples: `--focus "security"`, `--focus "financial accuracy"`, `--focus "mobile UX"`.
|
|
22
|
+
|
|
23
|
+
**`--light`** skips the Herald entirely — uses only the command's hardcoded core roster.
|
|
24
|
+
**`--solo`** skips both Herald and all sub-agents — lead agent only.
|
|
25
|
+
|
|
11
26
|
## Context Setup
|
|
12
27
|
1. Read `/logs/build-state.md` — understand current project state
|
|
13
28
|
2. Read `/docs/methods/SECURITY_AUDITOR.md`
|
|
@@ -68,6 +83,9 @@ If any agent finds new issues, fix and re-verify until clean.
|
|
|
68
83
|
3. Remediation code fixes
|
|
69
84
|
4. INCIDENT_RESPONSE.md — if none exists, create template
|
|
70
85
|
|
|
86
|
+
## Arguments
|
|
87
|
+
- `--focus "topic"` → Bias Herald toward topic (natural-language, additive)
|
|
88
|
+
|
|
71
89
|
## Handoffs
|
|
72
90
|
- Backend refactoring needed → Stark, log to `/logs/handoffs.md`
|
|
73
91
|
- UI changes needed → Galadriel, log to `/logs/handoffs.md`
|
package/.claude/commands/test.md
CHANGED
|
@@ -13,6 +13,21 @@ Opus scans `git diff --stat` and matches changed files against the `description`
|
|
|
13
13
|
|
|
14
14
|
**Dispatch control:** `--light` skips dynamic dispatch (core only). `--solo` runs lead agent only.
|
|
15
15
|
|
|
16
|
+
## Herald Pre-Scan (ADR-047)
|
|
17
|
+
|
|
18
|
+
Before agent deployment, run the Herald to select the optimal roster:
|
|
19
|
+
|
|
20
|
+
1. Call `gatherHeraldContext('/test', '$ARGUMENTS', '<focus-if-provided>')` to collect codebase context
|
|
21
|
+
2. Call `loadAgentRegistry()` to get all 263 agent definitions
|
|
22
|
+
3. Call `runHerald(context, registry)` to get the optimal roster
|
|
23
|
+
4. Merge Herald's roster with this command's hardcoded lead agents (Herald adds, never removes leads)
|
|
24
|
+
5. Deploy the merged roster per the command's normal parallel/sequential protocol
|
|
25
|
+
|
|
26
|
+
**`--focus "topic"`** biases the Herald toward agents matching the topic. Examples: `--focus "security"`, `--focus "financial accuracy"`, `--focus "mobile UX"`.
|
|
27
|
+
|
|
28
|
+
**`--light`** skips the Herald entirely — uses only the command's hardcoded core roster.
|
|
29
|
+
**`--solo`** skips both Herald and all sub-agents — lead agent only.
|
|
30
|
+
|
|
16
31
|
## Step 0 — Orient
|
|
17
32
|
**Oracle** `subagent_type: oracle-static-analysis` orients:
|
|
18
33
|
1. Detect: test framework, test runner, test directory structure, existing coverage
|
|
@@ -95,6 +110,9 @@ These can use mocked databases but MUST cross module boundaries — the test sho
|
|
|
95
110
|
3. Updated coverage map in phase log
|
|
96
111
|
4. List of remaining gaps (backlog)
|
|
97
112
|
|
|
113
|
+
## Arguments
|
|
114
|
+
- `--focus "topic"` → Bias Herald toward topic (natural-language, additive)
|
|
115
|
+
|
|
98
116
|
## Handoffs
|
|
99
117
|
- Security test gaps → Kenobi (`/security`)
|
|
100
118
|
- UI test gaps → Galadriel (`/ux`)
|
package/.claude/commands/ux.md
CHANGED
|
@@ -8,6 +8,21 @@ Opus scans `git diff --stat` and matches changed files against the `description`
|
|
|
8
8
|
|
|
9
9
|
**Dispatch control:** `--light` skips dynamic dispatch (core only). `--solo` runs lead agent only.
|
|
10
10
|
|
|
11
|
+
## Herald Pre-Scan (ADR-047)
|
|
12
|
+
|
|
13
|
+
Before agent deployment, run the Herald to select the optimal roster:
|
|
14
|
+
|
|
15
|
+
1. Call `gatherHeraldContext('/ux', '$ARGUMENTS', '<focus-if-provided>')` to collect codebase context
|
|
16
|
+
2. Call `loadAgentRegistry()` to get all 263 agent definitions
|
|
17
|
+
3. Call `runHerald(context, registry)` to get the optimal roster
|
|
18
|
+
4. Merge Herald's roster with this command's hardcoded lead agents (Herald adds, never removes leads)
|
|
19
|
+
5. Deploy the merged roster per the command's normal parallel/sequential protocol
|
|
20
|
+
|
|
21
|
+
**`--focus "topic"`** biases the Herald toward agents matching the topic. Examples: `--focus "security"`, `--focus "financial accuracy"`, `--focus "mobile UX"`.
|
|
22
|
+
|
|
23
|
+
**`--light`** skips the Herald entirely — uses only the command's hardcoded core roster.
|
|
24
|
+
**`--solo`** skips both Herald and all sub-agents — lead agent only.
|
|
25
|
+
|
|
11
26
|
## Context Setup
|
|
12
27
|
1. Read `/logs/build-state.md` — understand current project state
|
|
13
28
|
2. Read `/docs/methods/PRODUCT_DESIGN_FRONTEND.md`
|
|
@@ -112,6 +127,9 @@ Add UX-specific items to the regression checklist in `/docs/qa-prompt.md`:
|
|
|
112
127
|
3. Code fixes
|
|
113
128
|
4. "Next improvements" backlog in phase log
|
|
114
129
|
|
|
130
|
+
## Arguments
|
|
131
|
+
- `--focus "topic"` → Bias Herald toward topic (natural-language, additive)
|
|
132
|
+
|
|
115
133
|
## Handoffs
|
|
116
134
|
- Backend issues → Stark, log to `/logs/handoffs.md`
|
|
117
135
|
- Security issues → Kenobi, log to `/logs/handoffs.md`
|
package/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,23 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/), and this
|
|
|
6
6
|
|
|
7
7
|
---
|
|
8
8
|
|
|
9
|
+
## [23.5.0] - 2026-04-12
|
|
10
|
+
|
|
11
|
+
### The Herald (ADR-047, Campaign 37)
|
|
12
|
+
|
|
13
|
+
### Added
|
|
14
|
+
- **Herald dispatch engine** (`herald.ts`): Haiku pre-scan selects optimal agent roster from 263 agents based on codebase content, command type, and user intent. Runs before every major command in <2 seconds for ~$0.001.
|
|
15
|
+
- **Agent registry loader** (`agent-registry.ts`): Reads and caches all 263 agent definitions with YAML frontmatter parsing (name, description, model, tools, tags).
|
|
16
|
+
- **`--focus "topic"` flag**: Natural-language bias for Herald selection. Available on all 14 Herald-enabled commands. Added to CLAUDE.md Tier 1 flag taxonomy.
|
|
17
|
+
- **Tag enrichment**: 40 cross-domain agents tagged for faster Herald matching (security-adjacent, architecture, QA, financial, UX, DevOps, AI, backend, orchestration).
|
|
18
|
+
- **48 new tests**: Herald engine (26 tests covering roster parsing, graceful degradation, focus bias) + agent registry (22 tests covering YAML parsing, caching, summary formatting).
|
|
19
|
+
|
|
20
|
+
### Changed
|
|
21
|
+
- All 14 major commands (`/review`, `/qa`, `/security`, `/ux`, `/architect`, `/build`, `/assemble`, `/gauntlet`, `/campaign`, `/test`, `/devops`, `/deploy`, `/ai`, `/assess`) now include Herald Pre-Scan step before agent deployment.
|
|
22
|
+
- Dynamic dispatch evolved: file-based matching (ADR-044) supplemented by codebase-aware intelligent selection (ADR-047).
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
9
26
|
## [23.4.1] - 2026-04-12
|
|
10
27
|
|
|
11
28
|
### Security
|
package/CLAUDE.md
CHANGED
|
@@ -136,6 +136,7 @@ Flags are standardized across commands. Same flag name = same meaning everywhere
|
|
|
136
136
|
| `--fast` | Reduced review passes (skip last 2 rounds/phases), still comprehensive | `/campaign`, `/assemble`, `/gauntlet` |
|
|
137
137
|
| `--dry-run` | Show what would happen without doing it | `/deploy`, `/debrief`, `/treasury`, `/grow`, `/git` |
|
|
138
138
|
| `--status` | Show current state | `/cultivation`, `/treasury`, `/deploy`, `/portfolio`, `/dangerroom`, `/thumper` |
|
|
139
|
+
| `--focus "topic"` | Bias Herald agent selection toward topic | All Herald-enabled commands |
|
|
139
140
|
|
|
140
141
|
### Tier 2 — Scope Flags
|
|
141
142
|
|
package/VERSION.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Version
|
|
2
2
|
|
|
3
|
-
**Current:** 23.
|
|
3
|
+
**Current:** 23.5.0
|
|
4
4
|
|
|
5
5
|
## Versioning Scheme
|
|
6
6
|
|
|
@@ -14,6 +14,7 @@ This project uses [Semantic Versioning](https://semver.org/):
|
|
|
14
14
|
|
|
15
15
|
| Version | Date | Summary |
|
|
16
16
|
|---------|------|---------|
|
|
17
|
+
| 23.5.0 | 2026-04-12 | The Herald — intelligent agent dispatch: Haiku pre-scan, agent registry, 40 tags, --focus flag, 14 commands wired. ADR-047. Campaign 37. |
|
|
17
18
|
| 23.4.1 | 2026-04-12 | Gauntlet security fix — XSS escaping in blueprint banner, ROADMAP staleness, lobby a11y |
|
|
18
19
|
| 23.4.0 | 2026-04-12 | The Remediation — wizard UI audit: 3 critical API fixes, 4 WCAG a11y fixes, retired --blitz cleanup, content accuracy, 7 UX improvements. -2,400 lines legacy code. ADR-046. Campaign 36. |
|
|
19
20
|
| 23.3.1 | 2026-04-12 | Wizard UI fix — "Files to be created" list matched actual init output |
|