@chrono-meta/fh-gate 1.1.0 → 1.2.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.
Files changed (69) hide show
  1. package/.claude/agents/challenger.md +169 -0
  2. package/AGENTS.md +160 -0
  3. package/CATALOG.md +256 -0
  4. package/CHEATSHEET.md +367 -0
  5. package/CLAUDE.md +331 -0
  6. package/CONTRIBUTING.md +198 -0
  7. package/LICENSE +21 -0
  8. package/README.md +60 -7
  9. package/bin/fh-goal.js +9 -0
  10. package/bin/fh-run.js +9 -0
  11. package/docs/banner.png +0 -0
  12. package/docs/codex-compat.md +123 -0
  13. package/docs/pillars.svg +70 -0
  14. package/knowledge/shared/harness-core/fh_integration_contract.md +45 -28
  15. package/package.json +31 -6
  16. package/plugins/fh-commons/README.md +37 -0
  17. package/plugins/fh-commons/agents/quench-challenger.md +373 -0
  18. package/plugins/fh-commons/skills/convergence-loop/SKILL.md +155 -0
  19. package/plugins/fh-commons/skills/deliberation/SKILL.md +288 -0
  20. package/plugins/fh-commons/skills/mcp-circuit-breaker/SKILL.md +196 -0
  21. package/plugins/fh-commons/skills/token-budget-gate/SKILL.md +175 -0
  22. package/plugins/fh-meta/agents/fact-checker.md +121 -0
  23. package/plugins/fh-meta/agents/hub-persona-auditor.md +109 -0
  24. package/plugins/fh-meta/agents/persona-innovator.md +195 -0
  25. package/plugins/fh-meta/skills/agent-composer/SKILL.md +461 -0
  26. package/plugins/fh-meta/skills/agent-composer/SKILL_detail.md +464 -0
  27. package/plugins/fh-meta/skills/apex-review/SKILL.md +185 -0
  28. package/plugins/fh-meta/skills/asset-placement-gate/SKILL.md +135 -0
  29. package/plugins/fh-meta/skills/contention-layer/SKILL.md +127 -0
  30. package/plugins/fh-meta/skills/context-bridge-dispatch/SKILL.md +30 -0
  31. package/plugins/fh-meta/skills/context-bridge-dispatch/SKILL_detail.md +144 -0
  32. package/plugins/fh-meta/skills/context-doctor/SKILL.md +341 -0
  33. package/plugins/fh-meta/skills/cross-ecosystem-synergy-detection/SKILL.md +202 -0
  34. package/plugins/fh-meta/skills/deep-clarify/SKILL.md +144 -0
  35. package/plugins/fh-meta/skills/edit-manifest/SKILL.md +210 -0
  36. package/plugins/fh-meta/skills/field-harvest/SKILL.md +384 -0
  37. package/plugins/fh-meta/skills/frontier-digest/SKILL.md +272 -0
  38. package/plugins/fh-meta/skills/goal-quench/SKILL.md +509 -0
  39. package/plugins/fh-meta/skills/harness-doctor/SKILL.md +277 -0
  40. package/plugins/fh-meta/skills/harness-doctor/SKILL_detail.md +484 -0
  41. package/plugins/fh-meta/skills/harvest-loop/SKILL.md +231 -0
  42. package/plugins/fh-meta/skills/harvest-loop/SKILL_detail.md +201 -0
  43. package/plugins/fh-meta/skills/hub-cc-pr-reviewer/SKILL.md +129 -0
  44. package/plugins/fh-meta/skills/hub-cc-pr-reviewer/SKILL_detail.md +158 -0
  45. package/plugins/fh-meta/skills/install-doctor/SKILL.md +207 -0
  46. package/plugins/fh-meta/skills/install-wizard/SKILL.md +613 -0
  47. package/plugins/fh-meta/skills/marketplace-gate/SKILL.md +193 -0
  48. package/plugins/fh-meta/skills/memory-hygiene/SKILL.md +143 -0
  49. package/plugins/fh-meta/skills/meta-prompt-builder/SKILL.md +167 -0
  50. package/plugins/fh-meta/skills/meta-prompt-builder/SKILL_detail.md +37 -0
  51. package/plugins/fh-meta/skills/pipeline-conductor/SKILL.md +430 -0
  52. package/plugins/fh-meta/skills/plugin-recommender/SKILL.md +221 -0
  53. package/plugins/fh-meta/skills/plugin-recommender/SKILL_detail.md +220 -0
  54. package/plugins/fh-meta/skills/prompt-regression/SKILL.md +178 -0
  55. package/plugins/fh-meta/skills/public-surface-audit/SKILL.md +224 -0
  56. package/plugins/fh-meta/skills/return-path-gate/SKILL.md +257 -0
  57. package/plugins/fh-meta/skills/self-marketing-lint/SKILL.md +129 -0
  58. package/plugins/fh-meta/skills/sim-conductor/SKILL.md +364 -0
  59. package/plugins/fh-meta/skills/sim-conductor/SKILL_detail.md +337 -0
  60. package/plugins/fh-meta/skills/skill-splitter/SKILL.md +126 -0
  61. package/plugins/fh-meta/skills/skill-splitter/SKILL_detail.md +185 -0
  62. package/plugins/fh-meta/skills/source-grounding-audit/SKILL.md +230 -0
  63. package/plugins/fh-meta/skills/source-grounding-audit/SKILL_detail.md +182 -0
  64. package/plugins/fh-meta/skills/steel-quench/SKILL.md +226 -0
  65. package/plugins/fh-meta/skills/steel-quench/SKILL_detail.md +453 -0
  66. package/plugins/fh-meta/skills/verify-bidirectional/SKILL.md +238 -0
  67. package/scripts/fh-gate.sh +175 -40
  68. package/scripts/fh-goal.sh +182 -0
  69. package/scripts/fh-run.sh +269 -0
@@ -0,0 +1,135 @@
1
+ ---
2
+ name: asset-placement-gate
3
+ description: Routes a proposed skill, plugin, or agent to its correct home — forge-harness (FH) meta-skill, project-local agent, or drop — by applying a 4-criteria meta-skill bar followed by a project-local value test.
4
+ user-invocable: true
5
+ allowed-tools: ["Read", "Grep", "Glob"]
6
+ model: sonnet
7
+ ---
8
+
9
+ # asset-placement-gate
10
+
11
+ Routes new skills, agents, and plugins to the correct location when proposed.
12
+
13
+ ## Triggers
14
+ - "Should I make this an FH skill?"
15
+ - "Where should I put this agent?"
16
+ - When a new FH asset creation is proposed
17
+ - `/asset-placement-gate {asset name or description}`
18
+
19
+ ### Natural Language Triggers (example user phrases)
20
+
21
+ When unsure where to place a new asset or skill:
22
+
23
+ | Example phrase | Intent |
24
+ |---|---|
25
+ | "Should I put this in a separate file?" | Asset necessity + placement decision |
26
+ | "Can this pattern be shared across projects?" | FH cross-project value assessment |
27
+ | "Is this only for our project, or can others use it too?" | cross-project vs local routing |
28
+ | "What if I turn this into a skill and use it across projects?" | FH 4-criteria trigger |
29
+ | "Where should I put this agent if I want to share it?" | Placement routing needed |
30
+ | "Should I extract this to a separate file, or leave it?" | Asset necessity + placement decision |
31
+ | "I'd like to manage this as a shared resource" | Cross-project shared management review |
32
+ | "Decide whether this stays local or is available to other teams too" | cross-project vs local routing |
33
+ | "I don't know where to save this" | Placement routing needed |
34
+ | "Should this become a shared asset?" | FH 4-criteria trigger |
35
+
36
+ ### Execution Order (summary)
37
+
38
+ 1. Request full file path from user (or accept natural language description)
39
+ 2. Load asset content via `Read` (if path provided)
40
+ 3. Evaluate Step 1 4-criteria in order (LLM makes the judgment directly)
41
+ 4. ① + ④ both pass + at least one of ②③ passes → output **"FH suitable"**
42
+ Otherwise, proceed to Step 2 local assessment → if fails, output **"Project-local agent or no asset needed"**
43
+
44
+ ---
45
+
46
+ ## Step 0. Parse Input + Fetch Asset
47
+
48
+ Immediately after trigger, acquire asset content in the following order.
49
+
50
+ 1. **Path provided** (contains `.md` or starts with `/`): Read the file.
51
+ - If read fails: "File not found. Please verify the path or provide a direct description." — then stop.
52
+ 2. **Description provided** (natural language): Check whether all 3 fields can be identified:
53
+ - **Purpose**: What this asset does (1 line)
54
+ - **Trigger**: In what situation is it invoked?
55
+ - **Expected callers**: Which project / which users will use it?
56
+
57
+ All 3 identifiable → use as asset description.
58
+ Any 1 unclear → stop with this question:
59
+ > **The asset description is insufficient. Please provide:**
60
+ > 1. Purpose of this asset (one line)
61
+ > 2. In what situation is it invoked?
62
+ > 3. Which project/users will primarily use it?
63
+ 3. **No input**: Stop with the question below.
64
+ > **Which asset should I evaluate?**
65
+ > Enter a file path (e.g., `.claude/agents/jira-create.md`) or a description.
66
+
67
+ After acquiring the asset content, **Claude directly** applies Step 1 4-criteria (no external calls).
68
+
69
+ ## Done When
70
+
71
+ ```
72
+ All steps 0–3 completed
73
+ + Step 3 routing result output (location: FH meta-skill / local agent / drop)
74
+ + Next action specified (write SKILL.md / create .claude/agents/ / none)
75
+ ```
76
+
77
+ ---
78
+
79
+ ## Step 1. FH Meta-Skill 4-Criteria Evaluation
80
+
81
+ | # | Criterion | Evaluation Question |
82
+ |:-:|---|---|
83
+ | ① | Cross-project value | Is this asset equally useful in other projects without depending on a specific project? |
84
+ | ② | Orchestration / judgment layer | Is it just a list of MCP/Bash calls, or a judgment layer that synthesizes multiple signals? |
85
+ | ③ | Not replaceable by built-ins | Can this be equally achieved with direct MCP calls or basic bash? (If yes, fails this criterion) |
86
+ | ④ | No overlap with existing FH skills | Does it not overlap 90%+ with existing FH skills? |
87
+
88
+ **FH suitable** → ① + ④ both pass + at least one of ②③ passes.
89
+ **Fail** → ① or ④ fails → immediate fail. Or both ②③ fail → proceed to Step 2.
90
+
91
+ ---
92
+
93
+ ## Step 2. Project-Local Agent Value Assessment
94
+
95
+ For assets that failed Step 1:
96
+
97
+ | # | Criterion | Evaluation Question |
98
+ |:-:|---|---|
99
+ | A | Project-specific knowledge | Does it encode paths, conventions, or domain rules specific to a project? |
100
+ | B | Repeated workflow pattern | Is it a workflow performed repeatedly within that project? |
101
+ | C | Differentiation from built-ins | Does it provide local-context-based convenience such as automatic convention application or step integration? |
102
+
103
+ **Local agent suitable** → A satisfied + at least one of B·C.
104
+ → Recommend creating `{project}/.claude/agents/{name}.md`.
105
+
106
+ **Drop** → A not satisfied or both B·C not satisfied.
107
+ → Equivalent to built-in capability. No asset needed.
108
+
109
+ ---
110
+
111
+ ## Step 3. Routing Result Output
112
+
113
+ ```
114
+ [asset-placement-gate verdict]
115
+
116
+ Asset: {asset name}
117
+ Description: {one-line summary}
118
+
119
+ ── FH 4-criteria ──────────────────
120
+ ① Cross-project value : O / X
121
+ ② Orchestration/judgment : O / X
122
+ ③ Not replaceable : O / X
123
+ ④ No overlap with existing : O / X ← required gate with ① (immediate fail if either fails)
124
+ → FH suitable: Pass / Fail (① + ④ required + at least one of ②③)
125
+
126
+ ── Project-local assessment ────── (if FH failed)
127
+ A. Project-specific knowledge : O / X
128
+ B. Repeated workflow pattern : O / X
129
+ C. Differentiation from built-ins : O / X
130
+ → Local agent: Suitable / Drop
131
+
132
+ ── Conclusion ────────────────────
133
+ Location: [FH meta-skill | {project} local agent | Drop]
134
+ Next action: [Write SKILL.md | Create .claude/agents/ | None]
135
+ ```
@@ -0,0 +1,127 @@
1
+ ---
2
+ name: contention-layer
3
+ description: When two skills or agents produce conflicting verdicts on the same output, reads the conflict as a signal rather than an error and harvests new skill candidates. Routes skills born from contention to fh-meta if they are meta-layer, to commons plugin if project-agnostic, or to field harvest if domain-specific. Triggered by "two skills conflict", "they produce different conclusions", "contention-layer", "contention harvest".
4
+ user-invocable: true
5
+ allowed-tools: ["Read", "Bash", "Grep", "Write"]
6
+ model: sonnet
7
+ category: Ecosystem Growth
8
+ ---
9
+
10
+ # contention-layer — Contention Harvest + New Skill Routing
11
+
12
+ When two skills conflict, **harvest the signal** instead of discarding one. Find the validation angle that neither skill addressed, and onboard new skill candidates into the FH ecosystem according to their routing path.
13
+
14
+ > Philosophical basis: Cognitive dissonance in humans is not a failure but a core asset — the ability to hold contradictions created culture. In the FH ecosystem, conflict is the signal from which new skills are born.
15
+
16
+ ## Triggers
17
+
18
+ ```
19
+ /contention-layer # analyze current conflict situation
20
+ /contention-layer --skills A B # specify two skills for contention analysis
21
+ ```
22
+
23
+ Phrase triggers: "two skills conflict" · "weird when used together" · "they produce different conclusions" · "contention harvest" · "contention"
24
+
25
+ ## Step 1. Collect Conflict Points
26
+
27
+ Record clearly which skills conflicted on which output, and in which direction.
28
+
29
+ ```
30
+ Conflicting skill A: {skill name} — verdict: {conclusion}
31
+ Conflicting skill B: {skill name} — verdict: {conclusion}
32
+ Conflicting output: {TC / diagnostic report / design document / ...}
33
+ Conflict point: {which item, by which criteria difference}
34
+ ```
35
+
36
+ **Conflict type classification**:
37
+ - `Criteria conflict`: Same item evaluated by different criteria (e.g., coverage 50% = Pass vs Fail)
38
+ - `Scope conflict`: A includes, B excludes a certain domain
39
+ - `Order conflict`: Same goal approached with different preconditions
40
+ - `Philosophy conflict`: The measurement purpose itself differs (e.g., risk reduction vs coverage maximization)
41
+
42
+ ## Step 2. Contention Essence — Harvest Gate
43
+
44
+ Determine whether the conflict will be resolved by **exclusion** or converted to **harvest**.
45
+
46
+ ```
47
+ Question 1: Did the two skills produce different verdicts because they had different validation angles?
48
+ → Yes: Harvest candidate ✅
49
+ → No (bug / malfunction): Exclude → escalate to install-doctor
50
+
51
+ Question 2: If that tension is resolved, can it be absorbed into one of the existing skills?
52
+ → Possible: Recommend improving existing skill (no new skill needed)
53
+ → Not possible (new angle): New skill candidate ✅
54
+
55
+ Question 3: Can the candidate skill be transplanted to any project without a specific domain?
56
+ → Transplantable: Route to commons plugin ✅
57
+ → Domain-specific: Field harvest signal
58
+ ```
59
+
60
+ Harvest Gate pass criteria: Question 1 ✅ + Question 2 not possible ✅ = new skill birth verdict
61
+
62
+ ## Step 3. Placement Routing
63
+
64
+ | Skill nature | Routing path | Criterion |
65
+ |---|---|---|
66
+ | Harness engineering · install/audit/validation/onboarding | `fh-meta` candidate | Skills that operate/diagnose FH itself |
67
+ | Project-independent · transplantable anywhere · domain-agnostic | `commons` plugin | Universal utilities like validation angles or analysis frameworks |
68
+ | Specific domain/team/language/tech-stack | `field harvest` signal | Field team decision domain — not included in FH |
69
+
70
+ ```
71
+ Routing conclusion:
72
+ New skill name candidate: {name}
73
+ Routing path: {fh-meta / commons / field}
74
+ Rationale: {1-line nature verdict}
75
+ ```
76
+
77
+ ## Step 4. Generate SKILL.md Draft
78
+
79
+ After confirming routing path, auto-generate a new skill SKILL.md skeleton.
80
+
81
+ ```markdown
82
+ ---
83
+ name: {slug}
84
+ description: {one line — include trigger keywords, no marketing language}
85
+ user-invocable: true
86
+ allowed-tools: [...]
87
+ model: sonnet
88
+ category: {category}
89
+ origin: contention-layer # contention birth history
90
+ contention-parents: [{skill A}, {skill B}]
91
+ ---
92
+
93
+ # {skill name} — {subtitle}
94
+
95
+ {One sentence capturing the validation angle discovered from contention}
96
+
97
+ ## Triggers
98
+ ...
99
+
100
+ ## Step 1. ...
101
+ ```
102
+
103
+ After generating skeleton: **"I will place this draft at {path}. Shall I proceed?"** — confirmation gate.
104
+
105
+ ## Output Format
106
+
107
+ ```
108
+ [Contention Harvest Report]
109
+ Conflicting skills: {A} vs {B}
110
+ Conflict type: {Criteria / Scope / Order / Philosophy}
111
+ Harvest Gate: Pass / Fail
112
+ └ Reason: {1 line}
113
+ New skill candidate: {name or none}
114
+ Routing path: {fh-meta / commons / field / n/a}
115
+ Next action: {generate draft / exclude / recommend improving existing skill}
116
+ ```
117
+
118
+ ## Done When
119
+
120
+ ```
121
+ All steps 1–4 completed
122
+ + [Contention Harvest Report] output (Harvest Gate Pass/Fail stated)
123
+ + If new skill candidate exists: SKILL.md skeleton generated + user confirmation gate complete
124
+ + If no new skill candidate: "Exclude / recommend improving existing skill" stated and exit
125
+ ```
126
+
127
+ Verdict: PASS (Harvest Gate Pass — new skill skeleton generated or no candidates confirmed) | CONDITIONAL_PASS (candidates found, user confirmation pending) | FAIL (Harvest Gate Fail — collision unresolvable, no new skill justified) | ESCALATE (role boundary ambiguous, requires human judgment)
@@ -0,0 +1,30 @@
1
+ ---
2
+ name: context-bridge-dispatch
3
+ description: >-
4
+ DEPRECATED — merged into agent-composer Step 3-a (2026-06-02).
5
+ Context Card injection (N≤2 standard / N≥3 Registry mode) + coordination-overhead budget + Focus Mode
6
+ are now part of agent-composer Step 3. Invoke /agent-composer for parallel dispatch.
7
+ user-invocable: false
8
+ allowed-tools: []
9
+ model: sonnet
10
+ deprecated: true
11
+ deprecated_reason: absorbed into agent-composer Step 3-a
12
+ deprecated_date: 2026-06-02
13
+ successor: agent-composer
14
+ ---
15
+
16
+ # context-bridge-dispatch — DEPRECATED
17
+
18
+ > **Merged into `agent-composer` Step 3-a (2026-06-02).**
19
+ > Context Card injection, Registry mode, coordination-overhead budget, and Focus Mode are now part of agent-composer Step 3.
20
+ > Use `/agent-composer` for all parallel dispatch with context injection.
21
+
22
+ ## Content preserved at
23
+
24
+ `plugins/fh-meta/skills/agent-composer/SKILL.md §Step 3-a`
25
+
26
+ > **Detail**: See `SKILL_detail.md §Archive` — full original content preserved — read only for historical reference.
27
+
28
+ ## Done When
29
+
30
+ Deprecated — no active execution path. Done When: skill is never directly invoked; all dispatch routes through `/agent-composer` Step 3-a (the successor). This entry satisfies the harness-doctor L2 M-tier requirement for missing Done When (CLAUDE.md §New Skill Creation Pre-Commit Gate).
@@ -0,0 +1,144 @@
1
+ ---
2
+ name: context-bridge-dispatch-detail
3
+ description: Archived original body of the deprecated context-bridge-dispatch skill
4
+ load: on-demand
5
+ ---
6
+
7
+ ## §Archive
8
+
9
+ # context-bridge-dispatch — Parallel Agent Context Bridge (archived)
10
+
11
+ In agent dispatch, sub-agents can read files but do not have access to the live conversation context of the main session. This skill generates a session context card before dispatch and injects it into each agent prompt.
12
+
13
+ ## Triggers
14
+
15
+ | Phrase pattern | Situation |
16
+ |---|---|
17
+ | "do it in parallel" / "agent view" + 2+ tasks | Auto-triggered |
18
+ | "create a context bridge" | Explicit call |
19
+ | `/context-bridge-dispatch` | Explicit call |
20
+ | Immediately before dispatching 2+ agents | Auto-injected |
21
+
22
+ ## Context Card Format
23
+
24
+ **N≤2 (standard)**:
25
+ ```
26
+ [Session Context Card]
27
+ Purpose: {the goal of this session / task}
28
+ Completed: {what has already been decided or implemented — risk of duplication if agent doesn't know}
29
+ This agent's task: {the specific task for this agent}
30
+ Note: {constraints, directions, or history the agent must know before acting}
31
+ ```
32
+
33
+ **N≥3 (Registry mode — DACS-inspired)**:
34
+ ```
35
+ [Session Context Card]
36
+ Purpose: {session goal}
37
+ Completed: {done items + file paths}
38
+ This agent's task: {specific task}
39
+ Note: {constraints}
40
+
41
+ [Agent Registry]
42
+ Agent-1 ({role}): {≤1 sentence — what it's doing, key files}
43
+ Agent-2 ({role}): {≤1 sentence}
44
+ ... (all agents except this one)
45
+ ```
46
+
47
+ Registry entries keep other agents visible (≤200 tokens total) without flooding context.
48
+ Each agent gets its own full card + compressed view of the parallel picture.
49
+
50
+ ## Step 1. Extract Session Context
51
+
52
+ Summarize the 3 key items from the current conversation:
53
+ - **Purpose**: Core goal of this session / request
54
+ - **Completed**: What has already been built or decided (include file paths and commits)
55
+ - **Note**: Constraints that could lead an agent in the wrong direction if unknown
56
+
57
+ ## Step 2. Identify Agent List + Generate Individual Cards
58
+
59
+ For each of the N agents to dispatch:
60
+ - Common Context Card (Step 1 summary)
61
+ - Agent-specific item (`This agent's task` field customized per agent)
62
+
63
+ **N≥3 — Registry mode**: additionally generate one Registry entry per agent:
64
+ ```
65
+ Agent-X ({role}): {what it's doing in ≤1 sentence} | files: {key paths}
66
+ ```
67
+ Each agent's card includes the Registry entries for all *other* agents (omit its own).
68
+ Keep total Registry section ≤200 tokens. If an agent's task is simple (read-only lookup), its registry entry can be a single phrase.
69
+
70
+ ## Step 3. Execute Parallel Dispatch
71
+
72
+ Prepend the Context Card to each agent's prompt and dispatch as a single message.
73
+
74
+ ```
75
+ [Session Context Card]
76
+ ...
77
+
78
+ {Agent's original task instruction}
79
+ ```
80
+
81
+ ## Focus Mode (on-demand, N≥3)
82
+
83
+ When an agent's result is incomplete and it signals it needs another agent's full output:
84
+ 1. Orchestrator identifies the target agent (a_i) whose full context is needed
85
+ 2. Re-dispatch the requesting agent with: full Context Card of a_i + Registry-compressed entries for all others
86
+ 3. Use only when genuinely needed — adds one round-trip latency
87
+
88
+ Trigger signal from agent: `"Need full context from Agent-X to proceed"` or equivalent explicit statement.
89
+
90
+ ## Coordination-Overhead Budget
91
+
92
+ Centralized multi-agent coordination is not free: external reporting cites orchestrator-worker coordination adding ~+285% token overhead (see the digest Provenance), and coordination cost dominates once a wave exceeds ~4 agents. Apply the following before each dispatch wave.
93
+
94
+ | Rule | Constraint |
95
+ |---|---|
96
+ | **Parallel fan-out cap** | 3–4 agents per dispatch wave. This is the upper bound for the 2+ parallel dispatch in the Simplification Guard — do not flat-fan-out past 4. |
97
+ | **Capability-aware routing** | Route each subtask to the agent whose declared capability fits, reading `.claude/registry/agent_cards.json` as the routing source (`role` + `allowed_tools` + `writes`). Do not dispatch a `writes: false` audit agent (e.g. `fact-checker`, `hub-persona-auditor`) for a task needing edits. |
98
+ | **Escalation** | If a task genuinely needs >4 parallel agents, decompose hierarchically (supervisor → sub-waves) rather than flat fan-out. |
99
+
100
+ Source: `../../../../knowledge/shared/harness-core/harness_frontier_diagnosis_2026-06-02.md`
101
+
102
+ ## Step 4. Aggregate Results
103
+
104
+ After all agents complete, consolidate results in the main session and report to the user.
105
+
106
+ ## Simplification Guard
107
+
108
+ - Simple file lookup agents unrelated to context (e.g., "read file A") → card may be omitted
109
+ - Single agent dispatch → card injection optional
110
+ - 2+ parallel dispatch → card injection required
111
+
112
+ ## Why This Is Necessary
113
+
114
+ Agents are spawned in an isolated environment (sub-agent sandbox). They can read what is recorded in files, but decisions made during the current main session conversation — direction changes, completed implementations, design intent — do not exist for the agent unless saved to a file.
115
+
116
+ Problems this disconnection causes:
117
+ - Attempting to redo already completed work
118
+ - Working in the old direction without knowing the current session's direction change
119
+ - Making wrong decisions without knowing the constraints
120
+
121
+ Context Bridge corrects this asymmetry.
122
+
123
+ ## Done When
124
+
125
+ ```
126
+ All steps 1–4 completed
127
+ + Context Card injected at the front of each agent prompt
128
+ + Results aggregated and reported after all agents complete
129
+ ```
130
+
131
+ ## Connected Skills
132
+
133
+ | Situation | Connection |
134
+ |---|---|
135
+ | Context collapse risk after a long session | `/context-doctor` |
136
+ | Task of promoting field patterns to FH | `/field-harvest` |
137
+ | When agent orchestration itself is complex | `agent-composer` |
138
+ | N≥3 agents / long-running orchestration (context drifts post-dispatch) | See sister asset: DACS (arXiv:2604.07911) — Registry+Focus dynamic isolation |
139
+
140
+ ## Design Basis
141
+
142
+ Registry mode and Focus mode patterns absorbed from **DACS** (arXiv:2604.07911, Nickson Patel, 2026-04-09).
143
+ DACS validated: steering accuracy 98.4% vs 21% baseline at N=10; context efficiency 3.53×.
144
+ Cross-audit + import/propagate analysis: `tracks/_audit/session_2026-06-02_dacs-sister.md`