@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.
- package/.claude/agents/challenger.md +169 -0
- package/AGENTS.md +160 -0
- package/CATALOG.md +256 -0
- package/CHEATSHEET.md +367 -0
- package/CLAUDE.md +331 -0
- package/CONTRIBUTING.md +198 -0
- package/LICENSE +21 -0
- package/README.md +60 -7
- package/bin/fh-goal.js +9 -0
- package/bin/fh-run.js +9 -0
- package/docs/banner.png +0 -0
- package/docs/codex-compat.md +123 -0
- package/docs/pillars.svg +70 -0
- package/knowledge/shared/harness-core/fh_integration_contract.md +45 -28
- package/package.json +31 -6
- package/plugins/fh-commons/README.md +37 -0
- package/plugins/fh-commons/agents/quench-challenger.md +373 -0
- package/plugins/fh-commons/skills/convergence-loop/SKILL.md +155 -0
- package/plugins/fh-commons/skills/deliberation/SKILL.md +288 -0
- package/plugins/fh-commons/skills/mcp-circuit-breaker/SKILL.md +196 -0
- package/plugins/fh-commons/skills/token-budget-gate/SKILL.md +175 -0
- package/plugins/fh-meta/agents/fact-checker.md +121 -0
- package/plugins/fh-meta/agents/hub-persona-auditor.md +109 -0
- package/plugins/fh-meta/agents/persona-innovator.md +195 -0
- package/plugins/fh-meta/skills/agent-composer/SKILL.md +461 -0
- package/plugins/fh-meta/skills/agent-composer/SKILL_detail.md +464 -0
- package/plugins/fh-meta/skills/apex-review/SKILL.md +185 -0
- package/plugins/fh-meta/skills/asset-placement-gate/SKILL.md +135 -0
- package/plugins/fh-meta/skills/contention-layer/SKILL.md +127 -0
- package/plugins/fh-meta/skills/context-bridge-dispatch/SKILL.md +30 -0
- package/plugins/fh-meta/skills/context-bridge-dispatch/SKILL_detail.md +144 -0
- package/plugins/fh-meta/skills/context-doctor/SKILL.md +341 -0
- package/plugins/fh-meta/skills/cross-ecosystem-synergy-detection/SKILL.md +202 -0
- package/plugins/fh-meta/skills/deep-clarify/SKILL.md +144 -0
- package/plugins/fh-meta/skills/edit-manifest/SKILL.md +210 -0
- package/plugins/fh-meta/skills/field-harvest/SKILL.md +384 -0
- package/plugins/fh-meta/skills/frontier-digest/SKILL.md +272 -0
- package/plugins/fh-meta/skills/goal-quench/SKILL.md +509 -0
- package/plugins/fh-meta/skills/harness-doctor/SKILL.md +277 -0
- package/plugins/fh-meta/skills/harness-doctor/SKILL_detail.md +484 -0
- package/plugins/fh-meta/skills/harvest-loop/SKILL.md +231 -0
- package/plugins/fh-meta/skills/harvest-loop/SKILL_detail.md +201 -0
- package/plugins/fh-meta/skills/hub-cc-pr-reviewer/SKILL.md +129 -0
- package/plugins/fh-meta/skills/hub-cc-pr-reviewer/SKILL_detail.md +158 -0
- package/plugins/fh-meta/skills/install-doctor/SKILL.md +207 -0
- package/plugins/fh-meta/skills/install-wizard/SKILL.md +613 -0
- package/plugins/fh-meta/skills/marketplace-gate/SKILL.md +193 -0
- package/plugins/fh-meta/skills/memory-hygiene/SKILL.md +143 -0
- package/plugins/fh-meta/skills/meta-prompt-builder/SKILL.md +167 -0
- package/plugins/fh-meta/skills/meta-prompt-builder/SKILL_detail.md +37 -0
- package/plugins/fh-meta/skills/pipeline-conductor/SKILL.md +430 -0
- package/plugins/fh-meta/skills/plugin-recommender/SKILL.md +221 -0
- package/plugins/fh-meta/skills/plugin-recommender/SKILL_detail.md +220 -0
- package/plugins/fh-meta/skills/prompt-regression/SKILL.md +178 -0
- package/plugins/fh-meta/skills/public-surface-audit/SKILL.md +224 -0
- package/plugins/fh-meta/skills/return-path-gate/SKILL.md +257 -0
- package/plugins/fh-meta/skills/self-marketing-lint/SKILL.md +129 -0
- package/plugins/fh-meta/skills/sim-conductor/SKILL.md +364 -0
- package/plugins/fh-meta/skills/sim-conductor/SKILL_detail.md +337 -0
- package/plugins/fh-meta/skills/skill-splitter/SKILL.md +126 -0
- package/plugins/fh-meta/skills/skill-splitter/SKILL_detail.md +185 -0
- package/plugins/fh-meta/skills/source-grounding-audit/SKILL.md +230 -0
- package/plugins/fh-meta/skills/source-grounding-audit/SKILL_detail.md +182 -0
- package/plugins/fh-meta/skills/steel-quench/SKILL.md +226 -0
- package/plugins/fh-meta/skills/steel-quench/SKILL_detail.md +453 -0
- package/plugins/fh-meta/skills/verify-bidirectional/SKILL.md +238 -0
- package/scripts/fh-gate.sh +175 -40
- package/scripts/fh-goal.sh +182 -0
- package/scripts/fh-run.sh +269 -0
|
@@ -0,0 +1,277 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: harness-doctor
|
|
3
|
+
description: Scans a project's harness structure (.claude/ directory, CLAUDE.md, rules, agents) to diagnose complexity, drift, missing files, and broken references, then suggests improvements. `--lint` flag adds language-pattern scan (self-marketing, cushion words, version brags). Triggered by "harness check", "structure diagnosis", "CLAUDE.md audit".
|
|
4
|
+
user-invocable: true
|
|
5
|
+
allowed-tools: ["Read", "Bash", "Glob", "Grep"]
|
|
6
|
+
model: sonnet
|
|
7
|
+
complexity_routing:
|
|
8
|
+
base: sonnet
|
|
9
|
+
high: opus
|
|
10
|
+
escalate_when:
|
|
11
|
+
- cold_start
|
|
12
|
+
- cross_project
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
# harness-doctor — Harness Structure Diagnosis + Prescription
|
|
16
|
+
|
|
17
|
+
"A good harness gets simpler over time. If it's getting more complex, something is wrong."
|
|
18
|
+
|
|
19
|
+
Diagnoses harness structural health across 5 layers and proposes M/S/R prescriptions:
|
|
20
|
+
|
|
21
|
+
1. **L1 Structural completeness** — required file existence (CLAUDE.md · .claudeignore · .claude/)
|
|
22
|
+
2. **L2 Complexity** — current state vs. simplification principle (line count · unused files · duplicate definitions)
|
|
23
|
+
3. **L3 Drift** — rule vs. actual pattern mismatch (broken references · stale files · conflicting rules)
|
|
24
|
+
4. **L4 Connection diagnosis** *(FH environment only)* — meta hub ↔ field project reference consistency
|
|
25
|
+
5. **L5 Pattern analysis** *(FH environment only)* — skill activity · call context appropriateness · effect metrics
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## Execution Steps
|
|
30
|
+
|
|
31
|
+
### Step 1. Confirm Diagnostic Target
|
|
32
|
+
|
|
33
|
+
Check current cwd harness file structure and determine if FH environment (tracks/ + knowledge/ + plugins/ all present).
|
|
34
|
+
|
|
35
|
+
### Step 2. L1 — Structural Completeness
|
|
36
|
+
|
|
37
|
+
| File | When Missing |
|
|
38
|
+
|---|---|
|
|
39
|
+
| `CLAUDE.md` | **M-tier** — harness entry impossible |
|
|
40
|
+
| `.claudeignore` | S-tier — context-doctor execution recommended |
|
|
41
|
+
| `.claude/` directory | M-tier (when rule files exist) |
|
|
42
|
+
|
|
43
|
+
### Step 3. L2 — Complexity Diagnosis
|
|
44
|
+
|
|
45
|
+
| Check | Verdict |
|
|
46
|
+
|---|---|
|
|
47
|
+
| CLAUDE.md ~100 lines | Normal (project) / FH threshold: 500 lines |
|
|
48
|
+
| CLAUDE.md 100~200 lines | S-tier warning |
|
|
49
|
+
| CLAUDE.md 200+ lines | M-tier — separation or reduction needed |
|
|
50
|
+
| 15+ `##` sections in CLAUDE.md | S-tier warning |
|
|
51
|
+
| SKILL.md > 300 lines AND no `SKILL_detail.md` | S-tier — propose `/skill-splitter` (governance-semantic split, not compression) |
|
|
52
|
+
| Rules files unreferenced in CLAUDE.md | R-tier |
|
|
53
|
+
| weekly_audit 14~30 days elapsed | S-tier |
|
|
54
|
+
| weekly_audit 30+ days elapsed | M-tier |
|
|
55
|
+
|
|
56
|
+
### Step 3-L. Language Lint (`--lint` mode only)
|
|
57
|
+
|
|
58
|
+
> Activate with `/harness-doctor --lint` or when harvest-loop surfaces a P10-series signal. Skipped in standard runs.
|
|
59
|
+
|
|
60
|
+
Grep-based scan of SKILL.md, agent `.md`, and doc files for self-marketing language patterns. Outputs replacement suggestions — no automatic edits.
|
|
61
|
+
|
|
62
|
+
**Detection patterns**:
|
|
63
|
+
|
|
64
|
+
| Pattern | Examples | Replacement direction |
|
|
65
|
+
|---|---|---|
|
|
66
|
+
| Self-declarations of quality | "industry-leading", "the world's first", "core skill", "best" | Delete — no external evidence |
|
|
67
|
+
| Version / iteration labels | "v0.3", "22nd naming round", "26th iteration", "(added 2026-05-24)" | Remove (git history manages versioning) |
|
|
68
|
+
| Cushion language | "easily", "instantly", "seamlessly", "without burden", "fully automated" | Replace with behavior-based description |
|
|
69
|
+
| Owner self-reference loops | "validated by our team", "proven internally" | Delete or replace with external evidence |
|
|
70
|
+
| Marketing word stacking | 3+ adjectives in one sentence | Reduce to functional description |
|
|
71
|
+
| Spec-only artifacts | SKILL.md or agent file missing `Done When` section | Add observable output criteria |
|
|
72
|
+
|
|
73
|
+
**Scan targets**:
|
|
74
|
+
```bash
|
|
75
|
+
find {FH_ROOT}/plugins -name "SKILL.md" | sort
|
|
76
|
+
find {FH_ROOT}/.claude/agents -name "*.md" | sort
|
|
77
|
+
find {FH_ROOT}/docs -name "*.md" 2>/dev/null | sort
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
**Detection commands**:
|
|
81
|
+
```bash
|
|
82
|
+
# version / iteration labels
|
|
83
|
+
grep -n "v[0-9]\+\.[0-9]\|[0-9]\+th\|[0-9]\+th iteration\|prototype [0-9]\+" {file}
|
|
84
|
+
# cushion language
|
|
85
|
+
grep -n "fully\|instantly\|full coverage\|automatically\|conveniently\|easily\|without burden\|seamlessly" {file}
|
|
86
|
+
# self-declaration patterns
|
|
87
|
+
grep -n "core skill\|world's first\|best\|most\|top\|industry-leading" {file}
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
**Output format** (per file):
|
|
91
|
+
```
|
|
92
|
+
File: {path}
|
|
93
|
+
L{N}: "{original text}"
|
|
94
|
+
→ Suggested: "{replacement}" (reason: {pattern type})
|
|
95
|
+
→ Or: remove (reason: {pattern type})
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
**Lint findings** feed into Step 7 report as a separate "Language Quality" section — not mixed into structural M/S/R tiers. Lint findings are advisory: HIGH (spec-only = missing Done When, treat as S-tier) / LOW (language patterns, R-tier).
|
|
99
|
+
|
|
100
|
+
---
|
|
101
|
+
|
|
102
|
+
### Step 4. L3 — Drift Diagnosis
|
|
103
|
+
|
|
104
|
+
| Check | Tier |
|
|
105
|
+
|---|---|
|
|
106
|
+
| Broken local file references in CLAUDE.md | M-tier |
|
|
107
|
+
| .claude/rules files unmodified 90+ days | R-tier |
|
|
108
|
+
| settings.json JSON syntax error | M-tier |
|
|
109
|
+
| Hooks in settings.json (PostToolUse/Stop) that don't fire in Agent View | S-tier or M-tier |
|
|
110
|
+
|
|
111
|
+
Hook divergence verdict: 0 hooks = Normal · 1+ hooks (session-end/Stop) = S-tier · 1+ hooks (PostToolUse file writes or external API) = M-tier (data loss risk in Agent View).
|
|
112
|
+
|
|
113
|
+
### Step 5. L4 — Connection Diagnosis *(FH only)*
|
|
114
|
+
|
|
115
|
+
- Tracks with no sync in 30+ days → R-tier
|
|
116
|
+
- CATALOG.md: 5+ open items in recent 5 sessions → S-tier
|
|
117
|
+
- Field project CLAUDE.md missing → S-tier
|
|
118
|
+
|
|
119
|
+
### Step 6. L5 — Pattern Analysis *(FH only)*
|
|
120
|
+
|
|
121
|
+
**L5-A Skill Activity** (grep-based on session records):
|
|
122
|
+
|
|
123
|
+
| State | Criteria | Tier |
|
|
124
|
+
|---|---|---|
|
|
125
|
+
| ACTIVE | 2+ times in 30 days | Normal |
|
|
126
|
+
| LOW_ACTIVE | 1 time in 30 days | R-tier |
|
|
127
|
+
| INACTIVE_30D | 0 times in 30 days | S-tier |
|
|
128
|
+
| INACTIVE_90D | 0 times in 90 days | M-tier |
|
|
129
|
+
|
|
130
|
+
**L5-B Call Context Appropriateness**: Keyword grep for known misuse patterns (hub-persona-auditor in code PR context · sim-conductor without onboarding · harness-doctor self-loop). Report as "suspected (false positive possible)" — no LLM call.
|
|
131
|
+
|
|
132
|
+
**L5-C Effect Metrics**:
|
|
133
|
+
|
|
134
|
+
| Metric | OK condition | Tier if failing |
|
|
135
|
+
|---|---|---|
|
|
136
|
+
| E1 CLAUDE.md lines | Decrease or ±10 | E1_WARN if +50 lines |
|
|
137
|
+
| E2 Complexity ratio | ≤100 lines/skill | E2_WARN (≤200) / E2_FAIL (>200) |
|
|
138
|
+
| E3 CATALOG open consumption | ≥50% in 30 days | — |
|
|
139
|
+
| E4 harvest signals | ≥3 in 30 days | — |
|
|
140
|
+
| E5 SKILL.md change | Within 14 days | — |
|
|
141
|
+
| E6 Cold audit | Within 30 days | E6_WARN |
|
|
142
|
+
| E7 Evolution-loop observability | Asset edits have edit_manifest predictions | E7_WARN = S-tier |
|
|
143
|
+
|
|
144
|
+
**HHS** (Harness Health Score): Each OK condition = +1 point (7 max). HHS ≥ 4 = Healthy · 2~3 = Caution · ≤1 = Critical.
|
|
145
|
+
|
|
146
|
+
> **Detail**: See `SKILL_detail.md §L5-Detail` — bash scripts for L5-A, L5-B, L5-C/E metrics — read when running L5 pattern analysis.
|
|
147
|
+
|
|
148
|
+
---
|
|
149
|
+
|
|
150
|
+
## Harness-Defect Taxonomy (frontier cross-check)
|
|
151
|
+
|
|
152
|
+
| Defect class | FH detectable signals | Tier |
|
|
153
|
+
|---|---|:---:|
|
|
154
|
+
| **Context Drift** | Stale paths in CLAUDE.md (L3) · rules unmodified 90+ days (L3) · CLAUDE.md over threshold (L2) | S |
|
|
155
|
+
| **Schema Misalignment** | Plugin count drift · SKILL.md missing `Done When` (undocumented contract) | M |
|
|
156
|
+
| **State Degradation** | tracks/ no sync 30+ days (L4) · INACTIVE_90D skills (L5-A) · orphaned memory entries | M |
|
|
157
|
+
|
|
158
|
+
Signal in 2+ classes → escalate one tier.
|
|
159
|
+
|
|
160
|
+
---
|
|
161
|
+
|
|
162
|
+
### Step 7. M/S/R Prescription Report Output
|
|
163
|
+
|
|
164
|
+
```
|
|
165
|
+
## harness-doctor Diagnostic Results
|
|
166
|
+
|
|
167
|
+
### 🟥 M-tier (Immediate Action)
|
|
168
|
+
### 🟧 S-tier (Strongly Recommended)
|
|
169
|
+
### 🟩 R-tier (Recommended)
|
|
170
|
+
|
|
171
|
+
---
|
|
172
|
+
## L5 Pattern Analysis
|
|
173
|
+
- Activity (L5-A): [list]
|
|
174
|
+
- Context appropriateness (L5-B): [suspected misuse or "no issues"]
|
|
175
|
+
- Effect metrics (L5-C): E1=[result] / E3=[result] / E5=[result]
|
|
176
|
+
|
|
177
|
+
---
|
|
178
|
+
## Language Quality (`--lint` mode only)
|
|
179
|
+
- HIGH (spec-only — missing Done When): [list or "none"]
|
|
180
|
+
- LOW (language patterns): [file: L{N}: "{text}" → {suggestion}]
|
|
181
|
+
|
|
182
|
+
Diagnostic scope: L1~L3 [· L4 · L5 (FH only)] [· --lint]
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
M-tier 0 → output "Structure healthy. Maintaining simplification trend."
|
|
186
|
+
|
|
187
|
+
**M-tier Immediate Human Gate**: If 1+ M-tier found → pause, surface options: (a) AI proceeds to Step 8 / (b) human review first / (c) abort. Do not auto-apply prescriptions that could close a self-referential loop.
|
|
188
|
+
|
|
189
|
+
### Step 8. harvest-loop Integration *(when tracks/_audit/ exists)*
|
|
190
|
+
|
|
191
|
+
When 1+ M-tier found → propose adding `## Harness Structure Check (harness-doctor)` section to latest weekly_audit file.
|
|
192
|
+
|
|
193
|
+
### Step 9. Eval-First Quantitative Gate *(v0.x → v1 promotion only)*
|
|
194
|
+
|
|
195
|
+
**Thresholds** (measured over 5 sim-conductor runs): Tool Selection Accuracy > 0.90 · Multi-Step Coherence > 0.85 · Clarification Rate < 0.30.
|
|
196
|
+
|
|
197
|
+
### Step 10. Regression Guard *(when SKILL.md / rules / CLAUDE.md modified)*
|
|
198
|
+
|
|
199
|
+
Verifies that prescription application didn't strip operational content. Run after prescription applied, at pre-merge gate, or when harvest-loop Step 4 detects file changes.
|
|
200
|
+
|
|
201
|
+
| Check | Tier |
|
|
202
|
+
|:---:|:---:|
|
|
203
|
+
| F1 Frontmatter integrity | M |
|
|
204
|
+
| F2 Critical section preservation (Execution Steps · Done When · Triggers) | M |
|
|
205
|
+
| F3 Code block count not reduced by 4+ | S |
|
|
206
|
+
| F4 Operational keyword preservation (M-tier/S-tier/Wave/Step/Done When) | M if ≥50% drop · S if 20~49% |
|
|
207
|
+
| F5 Cross-reference paths resolve | M |
|
|
208
|
+
| F6 Line reduction ≥30% | S |
|
|
209
|
+
| F7 Bash block syntax (bash -n parse) | M if net increase in bad blocks |
|
|
210
|
+
|
|
211
|
+
Verdict: ✅ PASS (0M 0S) · ⚠️ REVIEW (0M 1+S) · ❌ BLOCK (1+M).
|
|
212
|
+
|
|
213
|
+
Implementation: `bash templates/regression_guard.sh` (compare vs main) or `bash templates/regression_guard.sh BASE HEAD`.
|
|
214
|
+
|
|
215
|
+
> **Detail**: See `SKILL_detail.md §Step-1-3` — bash scripts for Steps 1~6 (L1~L4 diagnostics) — read when running the diagnostic commands.
|
|
216
|
+
|
|
217
|
+
### Step 11. PR Change Consistency Check *(triggered on "PR" / "push" / branch with FH changes)*
|
|
218
|
+
|
|
219
|
+
Detect changed files vs main → category-based consistency checks:
|
|
220
|
+
|
|
221
|
+
| Category | What's checked |
|
|
222
|
+
|---|---|
|
|
223
|
+
| SKILL.md changes | Plugin description count drift · README skill table · CATALOG entry |
|
|
224
|
+
| Agent file changes | README agent count · agent_cards.json count sync |
|
|
225
|
+
| knowledge/shared/ changes | CATALOG coverage |
|
|
226
|
+
| README.md changed | Stale org/version references |
|
|
227
|
+
| AGENTS.md / CLAUDE.md changed | Agent count cross-reference sanity |
|
|
228
|
+
|
|
229
|
+
Verdict: ✅ CONSISTENT · 🟧 INCONSISTENT (fix before push) · 🟩 REVIEW (intent check).
|
|
230
|
+
|
|
231
|
+
**Auto-propose** (non-blocking) when "PR", "push", "merge" detected in session.
|
|
232
|
+
|
|
233
|
+
> **Detail**: See `SKILL_detail.md §Step11` — bash scripts for each consistency check category — read when running PR change verification.
|
|
234
|
+
|
|
235
|
+
---
|
|
236
|
+
|
|
237
|
+
## Done When
|
|
238
|
+
|
|
239
|
+
| Stage | Completion |
|
|
240
|
+
|---|---|
|
|
241
|
+
| Step 7 M/S/R prescription report output | ✅ Diagnosis complete |
|
|
242
|
+
| M-tier 0 + "Structure healthy" output | ✅ Diagnosis complete (no prescription needed) |
|
|
243
|
+
| Step 8 weekly_audit section proposed | ✅ Integration proposal complete |
|
|
244
|
+
| Step 9 Eval-First verdict output (when requested) | ✅ Promotion verdict complete |
|
|
245
|
+
| Step 10 Regression Guard verdict (PASS/REVIEW/BLOCK) | ✅ Post-fix verification complete |
|
|
246
|
+
| Step 11 PR consistency check verdict | ✅ PR pre-push verification complete |
|
|
247
|
+
|
|
248
|
+
**This skill Done When = "prescription report output complete".** Actual resolution of M/S/R items belongs to user or follow-up work.
|
|
249
|
+
|
|
250
|
+
Verdict: PASS (M-tier 0, "Structure healthy") | CONDITIONAL_PASS (S/R remain, no M) | FAIL (1+ M-tier found) | ESCALATE (structural ambiguity before prescription can be issued)
|
|
251
|
+
|
|
252
|
+
**Three-Doctor Loop chain** (auto-propose after prescription report):
|
|
253
|
+
- M-tier + context/token waste → propose `/context-doctor`
|
|
254
|
+
- M-tier + user-facing behavior changes → propose `/sim-conductor Area A`
|
|
255
|
+
- SKILL.md S-tier (> 300 lines, no SKILL_detail.md) → auto-propose `/skill-splitter`: `"I see [skill] SKILL.md is [N] lines with no SKILL_detail.md. Want me to run /skill-splitter?"`
|
|
256
|
+
- Both → propose full Three-Doctor Loop: context-doctor → sim-conductor Area A
|
|
257
|
+
|
|
258
|
+
---
|
|
259
|
+
|
|
260
|
+
## Trigger Phrases
|
|
261
|
+
|
|
262
|
+
- `/harness-doctor` · "harness diagnosis" · "harness structure check" · "CLAUDE.md audit"
|
|
263
|
+
- `/harness-doctor --lint` · "check FH files for marketing language" · "description diet" · "remove marketing language" (→ Step 3-L)
|
|
264
|
+
- "my Claude settings seem off" · "something that used to work doesn't anymore" · "skill isn't triggering"
|
|
265
|
+
- "PR 올려줘" · "PR check" · "변경사항 영향 범위" (→ Step 11)
|
|
266
|
+
|
|
267
|
+
No auto-firing — only executes when user explicitly invokes. Step 11 exception: propose as one-liner when "PR"/"push"/"merge" detected.
|
|
268
|
+
|
|
269
|
+
## Failure Fallback
|
|
270
|
+
|
|
271
|
+
On Claude API / MCP failure → refer to [`references/fallback-guide.md`](../../references/fallback-guide.md).
|
|
272
|
+
|
|
273
|
+
---
|
|
274
|
+
|
|
275
|
+
## Three-Doctor Loop Integration
|
|
276
|
+
|
|
277
|
+
harness-doctor = **current structure diagnostician**. context-doctor = context collapse. sim-conductor = future behavior prediction. Together: diagnose → prescribe → re-diagnose closed loop.
|