thevoidforge-methodology 23.7.0 → 23.7.1

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.
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: Silver Surfer
3
- description: Herald pre-scan dispatch — reads codebase context and selects optimal agent roster via Haiku
4
- model: haiku
3
+ description: Herald pre-scan dispatch — reads codebase and all agent definitions, selects optimal roster for the current command
4
+ model: sonnet
5
5
  tools:
6
6
  - Read
7
7
  - Grep
@@ -14,28 +14,53 @@ tags: [dispatch, herald, roster-selection, pre-scan]
14
14
 
15
15
  **"All that you know is at an end."**
16
16
 
17
- You are the Silver Surfer, Herald of Galactus. You scout ahead — reading the codebase, the command, and the user's intent — then summon the right agents for the mission. You don't fight; you select who fights. Your cosmic speed means you complete your scan in under 2 seconds for less than a fraction of a cent.
17
+ You are the Silver Surfer, Herald of Galactus. You scout ahead — reading the codebase, the command, and the user's intent — then return the list of agents who should be deployed for this mission.
18
18
 
19
- You are the bridge between the user's command and the full agent roster. Without you, every command deploys the same generic team. With you, every command gets a team tailored to the codebase.
19
+ **You are launched as a sub-agent at the start of every major command.** This is not optional. The orchestrating agent (Opus) launches you, waits for your roster, then deploys those agents. You are the first agent called, every time.
20
20
 
21
- ## How You Work
21
+ ## Your Task
22
22
 
23
- 1. Read the codebase file tree (top 80 files)
24
- 2. Read the PRD frontmatter (if exists)
25
- 3. Read the git diff summary (if uncommitted changes)
26
- 4. Read all 264 agent descriptions from the registry
27
- 5. Select every agent whose expertise is relevant to this codebase + this command
28
- 6. Output a JSON roster: `{ "roster": [...], "reasoning": "...", "estimatedAgents": N }`
23
+ You receive a prompt containing:
24
+ - The **command name** (e.g., `/review`, `/qa`, `/architect`)
25
+ - The **user's arguments** and `--focus` bias (if any)
26
+ - The **codebase context** (the orchestrator provides this)
27
+
28
+ You must:
29
+
30
+ 1. **Read all agent definitions:** `ls .claude/agents/*.md` to get the full list, then read the `description` and `tags` fields from each agent's YAML frontmatter. Use Grep to extract these efficiently — don't read each file fully.
31
+ 2. **Assess the codebase:** What kind of project is this? (web app, API, game, CLI, financial, etc.) What domains are relevant? (security, UX, database, deploy, AI, etc.)
32
+ 3. **Select agents** whose description or tags match the codebase domains AND the command type. Be aggressive — over-include rather than under-include.
33
+ 4. **Return a structured response** listing the selected agent names, one per line, with a brief reasoning.
34
+
35
+ ## Output Format
36
+
37
+ ```
38
+ ROSTER:
39
+ - Picard (architecture lead — always included)
40
+ - Worf (security implications — project has auth)
41
+ - Dockson (financial — project has billing modules)
42
+ - Kim (API design — project has REST endpoints)
43
+ ...
44
+
45
+ REASONING: [One sentence explaining the selection logic]
46
+ TOTAL: [count]
47
+ ```
29
48
 
30
49
  ## Operating Rules
31
50
 
32
- - **Over-include, never under-include.** A false positive costs one sub-agent launch. A false negative costs a missed finding that requires another user prompt.
51
+ - **Over-include, never under-include.** A false positive costs one sub-agent launch. A false negative costs a missed finding that requires another user prompt to catch.
33
52
  - **Bias toward the user's `--focus` topic** but don't exclude unrelated agents — cross-domain insights are the whole point.
34
53
  - **Never remove the command's lead agents.** You add specialists; leads are non-negotiable.
35
- - **If you can't run (no API key, timeout, error), return empty roster.** The command falls back to its hardcoded manifest. You are additive, never blocking.
54
+ - **Read the agent tags first** the 40 tagged agents have `tags: [...]` in their YAML. These are the most cross-domain relevant. Start there, then scan descriptions of untagged agents.
55
+ - **Be fast.** You're the first agent called. Don't read source files, don't analyze code quality — just read file names and agent descriptions to make the selection.
56
+
57
+ ## Operational Learnings
58
+
59
+ - **Hardcoded counts go stale.** Never cite a specific agent count in your output — say "all agents" or reference AGENT_CLASSIFICATION.md. (v23.7.0 lesson: 30+ files needed updating when one agent was added.)
60
+ - **The command's hardcoded manifest is the floor, not the ceiling.** Your job is to add specialists the command didn't think to include. If the command already lists Kenobi for security, you don't need to add Kenobi — but you should add Worf, Tuvok, Ahsoka if the codebase warrants it.
36
61
 
37
62
  ## Required Context
38
63
 
39
- - CLI entry: `npx thevoidforge herald --command /<name> --focus "<topic>" --json`
40
- - Library: `packages/voidforge/wizard/lib/herald.ts`
41
- - Registry: `packages/voidforge/wizard/lib/agent-registry.ts`
64
+ - Agent definitions: `.claude/agents/*.md`
65
+ - Agent classification: `docs/AGENT_CLASSIFICATION.md`
66
+ - This agent is launched via `subagent_type: Silver Surfer` from every major command's Step 0.
@@ -17,16 +17,15 @@ Opus scans `git diff --stat` and matches changed files against the `description`
17
17
 
18
18
  ## Silver Surfer Pre-Scan (ADR-048)
19
19
 
20
- Before agent deployment, the Silver Surfer selects the optimal roster:
20
+ **MANDATORY.** Before deploying any domain agents, launch **Silver Surfer** `subagent_type: Silver Surfer` as a sub-agent. The Surfer reads all agent definitions, assesses the codebase, and returns the optimal roster for this command. This is not optional — skipping the Surfer means the command uses a generic team instead of one tailored to the codebase.
21
21
 
22
- Run: `npx thevoidforge herald --command /ai --json`
23
- (Add `--focus "<topic>"` if the user provided `--focus`)
22
+ **Prompt the Surfer with:** "Command: /ai. User args: <user's arguments>. Focus: <focus if provided, otherwise 'none'>. Select the optimal agent roster."
24
23
 
25
- Parse the JSON output. The `roster` array contains agent IDs to deploy alongside this command's lead agents. If the command fails or returns an empty roster, use the hardcoded manifest below.
24
+ **Merge the Surfer's roster** with this command's hardcoded lead agents below. Leads are non-negotiable; the Surfer adds specialists.
26
25
 
27
- **`--focus "topic"`** biases the Surfer toward agents matching the topic.
28
- **`--light`** skips the Surfer uses only hardcoded core roster.
29
- **`--solo`** skips Surfer and all sub-agents lead only.
26
+ **`--focus "topic"`** pass to the Surfer as the focus bias.
27
+ **`--light`** skip the Surfer, use only hardcoded roster below.
28
+ **`--solo`** skip Surfer and all sub-agents, lead only.
30
29
 
31
30
  ## Phase 0 — AI Surface Map (`subagent_type: Seldon`)
32
31
 
@@ -12,16 +12,15 @@ Opus scans `git diff --stat` and matches changed files against the `description`
12
12
 
13
13
  ## Silver Surfer Pre-Scan (ADR-048)
14
14
 
15
- Before agent deployment, the Silver Surfer selects the optimal roster:
15
+ **MANDATORY.** Before deploying any domain agents, launch **Silver Surfer** `subagent_type: Silver Surfer` as a sub-agent. The Surfer reads all agent definitions, assesses the codebase, and returns the optimal roster for this command. This is not optional — skipping the Surfer means the command uses a generic team instead of one tailored to the codebase.
16
16
 
17
- Run: `npx thevoidforge herald --command /architect --json`
18
- (Add `--focus "<topic>"` if the user provided `--focus`)
17
+ **Prompt the Surfer with:** "Command: /architect. User args: <user's arguments>. Focus: <focus if provided, otherwise 'none'>. Select the optimal agent roster."
19
18
 
20
- Parse the JSON output. The `roster` array contains agent IDs to deploy alongside this command's lead agents. If the command fails or returns an empty roster, use the hardcoded manifest below.
19
+ **Merge the Surfer's roster** with this command's hardcoded lead agents below. Leads are non-negotiable; the Surfer adds specialists.
21
20
 
22
- **`--focus "topic"`** biases the Surfer toward agents matching the topic.
23
- **`--light`** skips the Surfer uses only hardcoded core roster.
24
- **`--solo`** skips Surfer and all sub-agents lead only.
21
+ **`--focus "topic"`** pass to the Surfer as the focus bias.
22
+ **`--light`** skip the Surfer, use only hardcoded roster below.
23
+ **`--solo`** skip Surfer and all sub-agents, lead only.
25
24
 
26
25
  ## Context Setup
27
26
  1. Read `/logs/build-state.md` — understand current project state
@@ -15,16 +15,15 @@ Opus scans `git diff --stat` and matches changed files against the `description`
15
15
 
16
16
  ## Silver Surfer Pre-Scan (ADR-048)
17
17
 
18
- Before agent deployment, the Silver Surfer selects the optimal roster:
18
+ **MANDATORY.** Before deploying any domain agents, launch **Silver Surfer** `subagent_type: Silver Surfer` as a sub-agent. The Surfer reads all agent definitions, assesses the codebase, and returns the optimal roster for this command. This is not optional — skipping the Surfer means the command uses a generic team instead of one tailored to the codebase.
19
19
 
20
- Run: `npx thevoidforge herald --command /assemble --json`
21
- (Add `--focus "<topic>"` if the user provided `--focus`)
20
+ **Prompt the Surfer with:** "Command: /assemble. User args: <user's arguments>. Focus: <focus if provided, otherwise 'none'>. Select the optimal agent roster."
22
21
 
23
- Parse the JSON output. The `roster` array contains agent IDs to deploy alongside this command's lead agents. If the command fails or returns an empty roster, use the hardcoded manifest below.
22
+ **Merge the Surfer's roster** with this command's hardcoded lead agents below. Leads are non-negotiable; the Surfer adds specialists.
24
23
 
25
- **`--focus "topic"`** biases the Surfer toward agents matching the topic.
26
- **`--light`** skips the Surfer uses only hardcoded core roster.
27
- **`--solo`** skips Surfer and all sub-agents lead only.
24
+ **`--focus "topic"`** pass to the Surfer as the focus bias.
25
+ **`--light`** skip the Surfer, use only hardcoded roster below.
26
+ **`--solo`** skip Surfer and all sub-agents, lead only.
28
27
 
29
28
  ## Agent Deployment Manifest — The Full Initiative
30
29
 
@@ -4,16 +4,15 @@ Evaluate an existing codebase before a rebuild, migration, or VoidForge onboardi
4
4
 
5
5
  ## Silver Surfer Pre-Scan (ADR-048)
6
6
 
7
- Before agent deployment, the Silver Surfer selects the optimal roster:
7
+ **MANDATORY.** Before deploying any domain agents, launch **Silver Surfer** `subagent_type: Silver Surfer` as a sub-agent. The Surfer reads all agent definitions, assesses the codebase, and returns the optimal roster for this command. This is not optional — skipping the Surfer means the command uses a generic team instead of one tailored to the codebase.
8
8
 
9
- Run: `npx thevoidforge herald --command /assess --json`
10
- (Add `--focus "<topic>"` if the user provided `--focus`)
9
+ **Prompt the Surfer with:** "Command: /assess. User args: <user's arguments>. Focus: <focus if provided, otherwise 'none'>. Select the optimal agent roster."
11
10
 
12
- Parse the JSON output. The `roster` array contains agent IDs to deploy alongside this command's lead agents. If the command fails or returns an empty roster, use the hardcoded manifest below.
11
+ **Merge the Surfer's roster** with this command's hardcoded lead agents below. Leads are non-negotiable; the Surfer adds specialists.
13
12
 
14
- **`--focus "topic"`** biases the Surfer toward agents matching the topic.
15
- **`--light`** skips the Surfer uses only hardcoded core roster.
16
- **`--solo`** skips Surfer and all sub-agents lead only.
13
+ **`--focus "topic"`** pass to the Surfer as the focus bias.
14
+ **`--light`** skip the Surfer, use only hardcoded roster below.
15
+ **`--solo`** skip Surfer and all sub-agents, lead only.
17
16
 
18
17
  ## Context Setup
19
18
  1. Read `/logs/build-state.md` if it exists — understand current project state
@@ -12,16 +12,15 @@ Opus scans `git diff --stat` and matches changed files against the `description`
12
12
 
13
13
  ## Silver Surfer Pre-Scan (ADR-048)
14
14
 
15
- Before agent deployment, the Silver Surfer selects the optimal roster:
15
+ **MANDATORY.** Before deploying any domain agents, launch **Silver Surfer** `subagent_type: Silver Surfer` as a sub-agent. The Surfer reads all agent definitions, assesses the codebase, and returns the optimal roster for this command. This is not optional — skipping the Surfer means the command uses a generic team instead of one tailored to the codebase.
16
16
 
17
- Run: `npx thevoidforge herald --command /build --json`
18
- (Add `--focus "<topic>"` if the user provided `--focus`)
17
+ **Prompt the Surfer with:** "Command: /build. User args: <user's arguments>. Focus: <focus if provided, otherwise 'none'>. Select the optimal agent roster."
19
18
 
20
- Parse the JSON output. The `roster` array contains agent IDs to deploy alongside this command's lead agents. If the command fails or returns an empty roster, use the hardcoded manifest below.
19
+ **Merge the Surfer's roster** with this command's hardcoded lead agents below. Leads are non-negotiable; the Surfer adds specialists.
21
20
 
22
- **`--focus "topic"`** biases the Surfer toward agents matching the topic.
23
- **`--light`** skips the Surfer uses only hardcoded core roster.
24
- **`--solo`** skips Surfer and all sub-agents lead only.
21
+ **`--focus "topic"`** pass to the Surfer as the focus bias.
22
+ **`--light`** skip the Surfer, use only hardcoded roster below.
23
+ **`--solo`** skip Surfer and all sub-agents, lead only.
25
24
 
26
25
  ## Context Setup
27
26
  1. Read `/logs/build-state.md` — if it exists, resume from current phase
@@ -55,16 +55,15 @@ Opus scans `git diff --stat` and matches changed files against the `description`
55
55
 
56
56
  ## Silver Surfer Pre-Scan (ADR-048)
57
57
 
58
- Before agent deployment, the Silver Surfer selects the optimal roster:
58
+ **MANDATORY.** Before deploying any domain agents, launch **Silver Surfer** `subagent_type: Silver Surfer` as a sub-agent. The Surfer reads all agent definitions, assesses the codebase, and returns the optimal roster for this command. This is not optional — skipping the Surfer means the command uses a generic team instead of one tailored to the codebase.
59
59
 
60
- Run: `npx thevoidforge herald --command /campaign --json`
61
- (Add `--focus "<topic>"` if the user provided `--focus`)
60
+ **Prompt the Surfer with:** "Command: /campaign. User args: <user's arguments>. Focus: <focus if provided, otherwise 'none'>. Select the optimal agent roster."
62
61
 
63
- Parse the JSON output. The `roster` array contains agent IDs to deploy alongside this command's lead agents. If the command fails or returns an empty roster, use the hardcoded manifest below.
62
+ **Merge the Surfer's roster** with this command's hardcoded lead agents below. Leads are non-negotiable; the Surfer adds specialists.
64
63
 
65
- **`--focus "topic"`** biases the Surfer toward agents matching the topic.
66
- **`--light`** skips the Surfer uses only hardcoded core roster.
67
- **`--solo`** skips Surfer and all sub-agents lead only.
64
+ **`--focus "topic"`** pass to the Surfer as the focus bias.
65
+ **`--light`** skip the Surfer, use only hardcoded roster below.
66
+ **`--solo`** skip Surfer and all sub-agents, lead only.
68
67
 
69
68
  ## Execution Mode (default)
70
69
 
@@ -6,16 +6,15 @@ Read `/docs/methods/DEVOPS_ENGINEER.md` for operating rules (see "Deploy Automat
6
6
 
7
7
  ## Silver Surfer Pre-Scan (ADR-048)
8
8
 
9
- Before agent deployment, the Silver Surfer selects the optimal roster:
9
+ **MANDATORY.** Before deploying any domain agents, launch **Silver Surfer** `subagent_type: Silver Surfer` as a sub-agent. The Surfer reads all agent definitions, assesses the codebase, and returns the optimal roster for this command. This is not optional — skipping the Surfer means the command uses a generic team instead of one tailored to the codebase.
10
10
 
11
- Run: `npx thevoidforge herald --command /deploy --json`
12
- (Add `--focus "<topic>"` if the user provided `--focus`)
11
+ **Prompt the Surfer with:** "Command: /deploy. User args: <user's arguments>. Focus: <focus if provided, otherwise 'none'>. Select the optimal agent roster."
13
12
 
14
- Parse the JSON output. The `roster` array contains agent IDs to deploy alongside this command's lead agents. If the command fails or returns an empty roster, use the hardcoded manifest below.
13
+ **Merge the Surfer's roster** with this command's hardcoded lead agents below. Leads are non-negotiable; the Surfer adds specialists.
15
14
 
16
- **`--focus "topic"`** biases the Surfer toward agents matching the topic.
17
- **`--light`** skips the Surfer uses only hardcoded core roster.
18
- **`--solo`** skips Surfer and all sub-agents lead only.
15
+ **`--focus "topic"`** pass to the Surfer as the focus bias.
16
+ **`--light`** skip the Surfer, use only hardcoded roster below.
17
+ **`--solo`** skip Surfer and all sub-agents, lead only.
19
18
 
20
19
  ## Context Setup
21
20
  1. Read PRD frontmatter for `deploy:` target (vps, vercel, railway, docker, static, cloudflare)
@@ -13,16 +13,15 @@ Opus scans `git diff --stat` and matches changed files against the `description`
13
13
 
14
14
  ## Silver Surfer Pre-Scan (ADR-048)
15
15
 
16
- Before agent deployment, the Silver Surfer selects the optimal roster:
16
+ **MANDATORY.** Before deploying any domain agents, launch **Silver Surfer** `subagent_type: Silver Surfer` as a sub-agent. The Surfer reads all agent definitions, assesses the codebase, and returns the optimal roster for this command. This is not optional — skipping the Surfer means the command uses a generic team instead of one tailored to the codebase.
17
17
 
18
- Run: `npx thevoidforge herald --command /devops --json`
19
- (Add `--focus "<topic>"` if the user provided `--focus`)
18
+ **Prompt the Surfer with:** "Command: /devops. User args: <user's arguments>. Focus: <focus if provided, otherwise 'none'>. Select the optimal agent roster."
20
19
 
21
- Parse the JSON output. The `roster` array contains agent IDs to deploy alongside this command's lead agents. If the command fails or returns an empty roster, use the hardcoded manifest below.
20
+ **Merge the Surfer's roster** with this command's hardcoded lead agents below. Leads are non-negotiable; the Surfer adds specialists.
22
21
 
23
- **`--focus "topic"`** biases the Surfer toward agents matching the topic.
24
- **`--light`** skips the Surfer uses only hardcoded core roster.
25
- **`--solo`** skips Surfer and all sub-agents lead only.
22
+ **`--focus "topic"`** pass to the Surfer as the focus bias.
23
+ **`--light`** skip the Surfer, use only hardcoded roster below.
24
+ **`--solo`** skip Surfer and all sub-agents, lead only.
26
25
 
27
26
  ## Agent Deployment Manifest
28
27
 
@@ -17,16 +17,15 @@ Opus scans `git diff --stat` and matches changed files against the `description`
17
17
 
18
18
  ## Silver Surfer Pre-Scan (ADR-048)
19
19
 
20
- Before agent deployment, the Silver Surfer selects the optimal roster:
20
+ **MANDATORY.** Before deploying any domain agents, launch **Silver Surfer** `subagent_type: Silver Surfer` as a sub-agent. The Surfer reads all agent definitions, assesses the codebase, and returns the optimal roster for this command. This is not optional — skipping the Surfer means the command uses a generic team instead of one tailored to the codebase.
21
21
 
22
- Run: `npx thevoidforge herald --command /gauntlet --json`
23
- (Add `--focus "<topic>"` if the user provided `--focus`)
22
+ **Prompt the Surfer with:** "Command: /gauntlet. User args: <user's arguments>. Focus: <focus if provided, otherwise 'none'>. Select the optimal agent roster."
24
23
 
25
- Parse the JSON output. The `roster` array contains agent IDs to deploy alongside this command's lead agents. If the command fails or returns an empty roster, use the hardcoded manifest below.
24
+ **Merge the Surfer's roster** with this command's hardcoded lead agents below. Leads are non-negotiable; the Surfer adds specialists.
26
25
 
27
- **`--focus "topic"`** biases the Surfer toward agents matching the topic.
28
- **`--light`** skips the Surfer uses only hardcoded core roster.
29
- **`--solo`** skips Surfer and all sub-agents lead only.
26
+ **`--focus "topic"`** pass to the Surfer as the focus bias.
27
+ **`--light`** skip the Surfer, use only hardcoded roster below.
28
+ **`--solo`** skip Surfer and all sub-agents, lead only.
30
29
 
31
30
  ## Round 1 — Discovery (parallel)
32
31
 
@@ -12,16 +12,15 @@ Opus scans `git diff --stat` and matches changed files against the `description`
12
12
 
13
13
  ## Silver Surfer Pre-Scan (ADR-048)
14
14
 
15
- Before agent deployment, the Silver Surfer selects the optimal roster:
15
+ **MANDATORY.** Before deploying any domain agents, launch **Silver Surfer** `subagent_type: Silver Surfer` as a sub-agent. The Surfer reads all agent definitions, assesses the codebase, and returns the optimal roster for this command. This is not optional — skipping the Surfer means the command uses a generic team instead of one tailored to the codebase.
16
16
 
17
- Run: `npx thevoidforge herald --command /qa --json`
18
- (Add `--focus "<topic>"` if the user provided `--focus`)
17
+ **Prompt the Surfer with:** "Command: /qa. User args: <user's arguments>. Focus: <focus if provided, otherwise 'none'>. Select the optimal agent roster."
19
18
 
20
- Parse the JSON output. The `roster` array contains agent IDs to deploy alongside this command's lead agents. If the command fails or returns an empty roster, use the hardcoded manifest below.
19
+ **Merge the Surfer's roster** with this command's hardcoded lead agents below. Leads are non-negotiable; the Surfer adds specialists.
21
20
 
22
- **`--focus "topic"`** biases the Surfer toward agents matching the topic.
23
- **`--light`** skips the Surfer uses only hardcoded core roster.
24
- **`--solo`** skips Surfer and all sub-agents lead only.
21
+ **`--focus "topic"`** pass to the Surfer as the focus bias.
22
+ **`--light`** skip the Surfer, use only hardcoded roster below.
23
+ **`--solo`** skip Surfer and all sub-agents, lead only.
25
24
 
26
25
  ## Context Setup
27
26
  1. Read `/logs/build-state.md` — understand current project state
@@ -10,16 +10,15 @@ Opus scans `git diff --stat` and matches changed files against the `description`
10
10
 
11
11
  ## Silver Surfer Pre-Scan (ADR-048)
12
12
 
13
- Before agent deployment, the Silver Surfer selects the optimal roster:
13
+ **MANDATORY.** Before deploying any domain agents, launch **Silver Surfer** `subagent_type: Silver Surfer` as a sub-agent. The Surfer reads all agent definitions, assesses the codebase, and returns the optimal roster for this command. This is not optional — skipping the Surfer means the command uses a generic team instead of one tailored to the codebase.
14
14
 
15
- Run: `npx thevoidforge herald --command /review --json`
16
- (Add `--focus "<topic>"` if the user provided `--focus`)
15
+ **Prompt the Surfer with:** "Command: /review. User args: <user's arguments>. Focus: <focus if provided, otherwise 'none'>. Select the optimal agent roster."
17
16
 
18
- Parse the JSON output. The `roster` array contains agent IDs to deploy alongside this command's lead agents. If the command fails or returns an empty roster, use the hardcoded manifest below.
17
+ **Merge the Surfer's roster** with this command's hardcoded lead agents below. Leads are non-negotiable; the Surfer adds specialists.
19
18
 
20
- **`--focus "topic"`** biases the Surfer toward agents matching the topic.
21
- **`--light`** skips the Surfer uses only hardcoded core roster.
22
- **`--solo`** skips Surfer and all sub-agents lead only.
19
+ **`--focus "topic"`** pass to the Surfer as the focus bias.
20
+ **`--light`** skip the Surfer, use only hardcoded roster below.
21
+ **`--solo`** skip Surfer and all sub-agents, lead only.
23
22
 
24
23
  ## Context Setup
25
24
  1. Read `/logs/build-state.md` — understand current project state
@@ -10,16 +10,15 @@ Opus scans `git diff --stat` and matches changed files against the `description`
10
10
 
11
11
  ## Silver Surfer Pre-Scan (ADR-048)
12
12
 
13
- Before agent deployment, the Silver Surfer selects the optimal roster:
13
+ **MANDATORY.** Before deploying any domain agents, launch **Silver Surfer** `subagent_type: Silver Surfer` as a sub-agent. The Surfer reads all agent definitions, assesses the codebase, and returns the optimal roster for this command. This is not optional — skipping the Surfer means the command uses a generic team instead of one tailored to the codebase.
14
14
 
15
- Run: `npx thevoidforge herald --command /security --json`
16
- (Add `--focus "<topic>"` if the user provided `--focus`)
15
+ **Prompt the Surfer with:** "Command: /security. User args: <user's arguments>. Focus: <focus if provided, otherwise 'none'>. Select the optimal agent roster."
17
16
 
18
- Parse the JSON output. The `roster` array contains agent IDs to deploy alongside this command's lead agents. If the command fails or returns an empty roster, use the hardcoded manifest below.
17
+ **Merge the Surfer's roster** with this command's hardcoded lead agents below. Leads are non-negotiable; the Surfer adds specialists.
19
18
 
20
- **`--focus "topic"`** biases the Surfer toward agents matching the topic.
21
- **`--light`** skips the Surfer uses only hardcoded core roster.
22
- **`--solo`** skips Surfer and all sub-agents lead only.
19
+ **`--focus "topic"`** pass to the Surfer as the focus bias.
20
+ **`--light`** skip the Surfer, use only hardcoded roster below.
21
+ **`--solo`** skip Surfer and all sub-agents, lead only.
23
22
 
24
23
  ## Context Setup
25
24
  1. Read `/logs/build-state.md` — understand current project state
@@ -15,16 +15,15 @@ Opus scans `git diff --stat` and matches changed files against the `description`
15
15
 
16
16
  ## Silver Surfer Pre-Scan (ADR-048)
17
17
 
18
- Before agent deployment, the Silver Surfer selects the optimal roster:
18
+ **MANDATORY.** Before deploying any domain agents, launch **Silver Surfer** `subagent_type: Silver Surfer` as a sub-agent. The Surfer reads all agent definitions, assesses the codebase, and returns the optimal roster for this command. This is not optional — skipping the Surfer means the command uses a generic team instead of one tailored to the codebase.
19
19
 
20
- Run: `npx thevoidforge herald --command /test --json`
21
- (Add `--focus "<topic>"` if the user provided `--focus`)
20
+ **Prompt the Surfer with:** "Command: /test. User args: <user's arguments>. Focus: <focus if provided, otherwise 'none'>. Select the optimal agent roster."
22
21
 
23
- Parse the JSON output. The `roster` array contains agent IDs to deploy alongside this command's lead agents. If the command fails or returns an empty roster, use the hardcoded manifest below.
22
+ **Merge the Surfer's roster** with this command's hardcoded lead agents below. Leads are non-negotiable; the Surfer adds specialists.
24
23
 
25
- **`--focus "topic"`** biases the Surfer toward agents matching the topic.
26
- **`--light`** skips the Surfer uses only hardcoded core roster.
27
- **`--solo`** skips Surfer and all sub-agents lead only.
24
+ **`--focus "topic"`** pass to the Surfer as the focus bias.
25
+ **`--light`** skip the Surfer, use only hardcoded roster below.
26
+ **`--solo`** skip Surfer and all sub-agents, lead only.
28
27
 
29
28
  ## Step 0 — Orient
30
29
  **Oracle** `subagent_type: Oracle` orients:
@@ -10,16 +10,15 @@ Opus scans `git diff --stat` and matches changed files against the `description`
10
10
 
11
11
  ## Silver Surfer Pre-Scan (ADR-048)
12
12
 
13
- Before agent deployment, the Silver Surfer selects the optimal roster:
13
+ **MANDATORY.** Before deploying any domain agents, launch **Silver Surfer** `subagent_type: Silver Surfer` as a sub-agent. The Surfer reads all agent definitions, assesses the codebase, and returns the optimal roster for this command. This is not optional — skipping the Surfer means the command uses a generic team instead of one tailored to the codebase.
14
14
 
15
- Run: `npx thevoidforge herald --command /ux --json`
16
- (Add `--focus "<topic>"` if the user provided `--focus`)
15
+ **Prompt the Surfer with:** "Command: /ux. User args: <user's arguments>. Focus: <focus if provided, otherwise 'none'>. Select the optimal agent roster."
17
16
 
18
- Parse the JSON output. The `roster` array contains agent IDs to deploy alongside this command's lead agents. If the command fails or returns an empty roster, use the hardcoded manifest below.
17
+ **Merge the Surfer's roster** with this command's hardcoded lead agents below. Leads are non-negotiable; the Surfer adds specialists.
19
18
 
20
- **`--focus "topic"`** biases the Surfer toward agents matching the topic.
21
- **`--light`** skips the Surfer uses only hardcoded core roster.
22
- **`--solo`** skips Surfer and all sub-agents lead only.
19
+ **`--focus "topic"`** pass to the Surfer as the focus bias.
20
+ **`--light`** skip the Surfer, use only hardcoded roster below.
21
+ **`--solo`** skip Surfer and all sub-agents, lead only.
23
22
 
24
23
  ## Context Setup
25
24
  1. Read `/logs/build-state.md` — understand current project state
package/CHANGELOG.md CHANGED
@@ -6,6 +6,14 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/), and this
6
6
 
7
7
  ---
8
8
 
9
+ ## [23.7.1] - 2026-04-12
10
+
11
+ ### Changed
12
+ - **Silver Surfer launches as a real Agent sub-process** — no longer shells out to CLI. Commands use `subagent_type: Silver Surfer` which reads agent definitions inline, returns a roster, and has its own operational learnings that improve over time. This is mandatory on every major command — not optional, not skippable.
13
+ - Silver Surfer agent upgraded from Haiku to Sonnet tier (needs to read and reason about agent descriptions, not just classify)
14
+
15
+ ---
16
+
9
17
  ## [23.7.0] - 2026-04-12
10
18
 
11
19
  ### The Decount — Dynamic Agent References
package/VERSION.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Version
2
2
 
3
- **Current:** 23.7.0
3
+ **Current:** 23.7.1
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.7.1 | 2026-04-12 | Silver Surfer launches as real Agent sub-process (subagent_type: Silver Surfer), not CLI shell-out. Mandatory on every command. |
17
18
  | 23.7.0 | 2026-04-12 | The Decount — eliminate hardcoded agent counts from 30+ files. Single source of truth: AGENT_CLASSIFICATION.md. |
18
19
  | 23.6.1 | 2026-04-12 | Gauntlet fix: 30+ stale "263 agents" → 264 across commands, methods, docs |
19
20
  | 23.6.0 | 2026-04-12 | The Silver Surfer — Herald invocation bridge, CLI subcommand, agent #264, end-to-end dispatch pipeline. ADR-048. Campaign 38. |
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "thevoidforge-methodology",
3
- "version": "23.7.0",
3
+ "version": "23.7.1",
4
4
  "description": "VoidForge methodology — agents, commands, methods, patterns.",
5
5
  "license": "MIT",
6
6
  "files": [