@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,364 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: sim-conductor
|
|
3
|
+
description: Autonomously runs external user reaction simulations, internal audits, ideation scans, artifact validation, and quality reviews. Profiles the target artifact first, then derives task-appropriate personas, dispatches them as parallel agents, classifies findings into M/S/R tiers, and completes the pipeline through to commit automatically.
|
|
4
|
+
user-invocable: true
|
|
5
|
+
allowed-tools: ["Read", "Write", "Bash", "Grep", "Glob", "Agent"]
|
|
6
|
+
model: opus
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# sim-conductor — Meta-Simulation Automation Orchestrator
|
|
10
|
+
|
|
11
|
+
> Profiles target → derives personas → dispatches parallel agents → M/S/R triage → commit.
|
|
12
|
+
> Personas are sourced installed-first → built-in fallback → external install. Scale: 3 to 16 by task complexity.
|
|
13
|
+
|
|
14
|
+
## Invocation Triggers
|
|
15
|
+
|
|
16
|
+
| Trigger pattern | Suggested Area |
|
|
17
|
+
|---|---|
|
|
18
|
+
| "Look at this from an external user's perspective", "How would someone else see this?" | Area A |
|
|
19
|
+
| "Check the harness", "asset audit", "internal audit" | Area B |
|
|
20
|
+
| "Any new ideas?", "ideation scan", "naming candidates" | Area C |
|
|
21
|
+
| "Review this code" (pre-PR), "review this prompt" | Area D (code) |
|
|
22
|
+
| "Check if the session card is correct", "does the skill actually work", "memory cold-start validation" | Area D (consumer) |
|
|
23
|
+
| "Is the output good?", "artifact quality review" | Area E |
|
|
24
|
+
|
|
25
|
+
Proposal format: `"If it's related to [X], should I simulate with /sim-conductor [Area]?"`
|
|
26
|
+
|
|
27
|
+
### Natural Language Triggers
|
|
28
|
+
|
|
29
|
+
| Example utterance | Intent | Mapped Area |
|
|
30
|
+
|---|---|---|
|
|
31
|
+
| "Validate our system virtually" | Full system simulation | Area B |
|
|
32
|
+
| "Test it with personas", "Run an external user simulation" | External user reaction | Area A |
|
|
33
|
+
| "Look at it through someone else's eyes" | External perspective | Area A |
|
|
34
|
+
| "Validate that this actually works" | Real-usage validation | Area D |
|
|
35
|
+
| "Find problems aggressively" | Adversarial validation | Area B (devil persona) |
|
|
36
|
+
|
|
37
|
+
## Triggers
|
|
38
|
+
|
|
39
|
+
```
|
|
40
|
+
/sim-conductor # default: Area C auto-run
|
|
41
|
+
/sim-conductor A # external user simulation
|
|
42
|
+
/sim-conductor B # internal meta audit
|
|
43
|
+
/sim-conductor C # Innovator scan
|
|
44
|
+
/sim-conductor all # full A + B + C
|
|
45
|
+
/sim-conductor A --target <path> # specific asset target
|
|
46
|
+
/sim-conductor D --target <file> # code/prompt multi-persona review (pre-PR)
|
|
47
|
+
/sim-conductor D session [--target] # session card cold-start validation
|
|
48
|
+
/sim-conductor D skill <name> # skill trigger utterance consumer simulation
|
|
49
|
+
/sim-conductor D memory <file> # memory file cold-start validation
|
|
50
|
+
/sim-conductor E --target <file> # artifact quality review (post-pipeline)
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
**Frequency limits**: Area A after asset changes or manual trigger · Area B max once/week · Area C/D/E no limit.
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
## Step 0 — Environment Sync
|
|
58
|
+
|
|
59
|
+
Auto-detect harness root, sync sim clone if present, set `$REPORT_DIR`.
|
|
60
|
+
|
|
61
|
+
> **Detail**: See `SKILL_detail.md §Step0-Bash` — harness root detection, sim clone sync, report dir creation — read when executing Step 0.
|
|
62
|
+
|
|
63
|
+
**Area B frequency check**: Previous Area B report within 7 days → stop + report date. No file found → treat as first run.
|
|
64
|
+
|
|
65
|
+
---
|
|
66
|
+
|
|
67
|
+
## Step 0.3 — Target Profile Analysis
|
|
68
|
+
|
|
69
|
+
> **Schema**: `knowledge/shared/harness-core/tpa_schema.md` — canonical field definitions, artifact type table, gate routing. Use §Profile Output Format for output block.
|
|
70
|
+
|
|
71
|
+
Runs when Area is unspecified, or when target file is provided before Area selection.
|
|
72
|
+
**Skip** if user provides a complete directive (e.g. `/sim-conductor A --target <file>`).
|
|
73
|
+
|
|
74
|
+
Read target artifact(s) → classify on 5 dimensions → output recommendation → user confirms or overrides:
|
|
75
|
+
|
|
76
|
+
| Dimension | Signal → Weight shift |
|
|
77
|
+
|---|---|
|
|
78
|
+
| `artifact_type` | SKILL.md / design-doc → Area B + D-skill↑ · README / CHEATSHEET → Area A↑ · code / config → Area D-code↑ |
|
|
79
|
+
| `audience` | external installer / first-time user → newcomer↑ · internal team only → devil↑ |
|
|
80
|
+
| `claim_density` | 3+ stated benefits or superlatives → devil-advocate↑ |
|
|
81
|
+
| `risk_level` | external publish / marketplace listing → steel-quench prerequisite triggered |
|
|
82
|
+
| `novelty` | first-of-its-kind / no prior session evidence → source-grounding-audit recommended |
|
|
83
|
+
|
|
84
|
+
```
|
|
85
|
+
Target Profile output:
|
|
86
|
+
artifact_type: [type]
|
|
87
|
+
audience: [internal | external | mixed]
|
|
88
|
+
claim_density: [low | medium | high] ([N] stated claims)
|
|
89
|
+
risk_level: [low | medium | high]
|
|
90
|
+
|
|
91
|
+
Recommendation:
|
|
92
|
+
Areas: [list + rationale]
|
|
93
|
+
Persona composition: [list + weight]
|
|
94
|
+
Scale: [Minimum 3 | Extended 4–8 | Full ≤16]
|
|
95
|
+
Prerequisites: [steel-quench / source-grounding-audit / none]
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
#### Persona Discovery (after profile → before dispatch)
|
|
99
|
+
|
|
100
|
+
After profiling, sim-conductor determines the needed perspective types, then maps each to the best available agent:
|
|
101
|
+
|
|
102
|
+
```
|
|
103
|
+
For each needed perspective:
|
|
104
|
+
① Scan installed plugins + .claude/agents/ → exact match? → use it
|
|
105
|
+
② Built-in fallback palette → approximate match? → inject as prompt directive
|
|
106
|
+
③ GAP: no ①② match for a high-weight perspective
|
|
107
|
+
→ query /plugin-recommender: "find agents for [perspective] matching [artifact_type] context"
|
|
108
|
+
→ present: name · install command · estimated fit · token cost
|
|
109
|
+
→ user chooses: install now / skip / substitute with ②
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
Persona Discovery output:
|
|
113
|
+
|
|
114
|
+
```
|
|
115
|
+
Persona Map:
|
|
116
|
+
newcomer → [installed agent name] OR [built-in fallback]
|
|
117
|
+
devil-advocate → [installed agent name] OR [built-in fallback]
|
|
118
|
+
[profile-specific role] → ⚠️ GAP — plugin-recommender recommends: [X] (install? y/n)
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
Gaps on **high-weight personas** (from profile) block dispatch until resolved. Gaps on low-weight personas → auto-fill with built-in fallback, no block.
|
|
122
|
+
|
|
123
|
+
**Degraded coverage rule**: When user skips a high-weight gap (substitutes with built-in fallback), flag in the Step 3 report under "Persona composition used" as `⚠️ degraded: [perspective]`. Do not silently proceed. Degraded coverage on risk_level=high targets → additionally warn before dispatch.
|
|
124
|
+
|
|
125
|
+
Overriding a prerequisite recommendation requires explicit "skip [prerequisite]" utterance.
|
|
126
|
+
|
|
127
|
+
> **Detail**: See `SKILL_detail.md §PersonaDiscovery` — plugin-recommender query format, gap resolution decision tree, persona map examples for each artifact type — read when running Persona Discovery.
|
|
128
|
+
|
|
129
|
+
> **Detail**: See `SKILL_detail.md §Profile-Examples` — worked profiles for SKILL.md, README, bash script, design doc — read when result is ambiguous or to calibrate weights.
|
|
130
|
+
|
|
131
|
+
---
|
|
132
|
+
|
|
133
|
+
## Step 0.5 — Precondition Validation
|
|
134
|
+
|
|
135
|
+
Proactively surface 1 concern, then confirm whether to proceed. Skip if no concern.
|
|
136
|
+
|
|
137
|
+
| Check | Concern trigger condition |
|
|
138
|
+
|---|---|
|
|
139
|
+
| Area B frequency guard | Previous run within 7 days + S-tier unresolved |
|
|
140
|
+
| Unresolved M-tier | New simulation without processing previous M-tier |
|
|
141
|
+
| steel-quench not run | Area A in external publish context → **mandatory gate: Area A does not proceed until steel-quench completes** |
|
|
142
|
+
| Self-recursive path | sim-conductor attempting to auto-PR its own M-tier |
|
|
143
|
+
| Goal-method alignment | Requested Area doesn't match actual problem |
|
|
144
|
+
| D/E --target missing | Area D(code)/E runs without --target file |
|
|
145
|
+
| D session target not found | Session start card file not found → confirm path |
|
|
146
|
+
| E execution timing error | Area E before pipeline run (no artifact yet) |
|
|
147
|
+
|
|
148
|
+
Concern format: `"One thing to check before [Area X]: [concern]. Proceed?"`
|
|
149
|
+
|
|
150
|
+
---
|
|
151
|
+
|
|
152
|
+
## Step 1 — Area-Specific Simulation
|
|
153
|
+
|
|
154
|
+
### Area A — External User Perspective
|
|
155
|
+
|
|
156
|
+
Target: skill descriptions, README, CHEATSHEET entry points.
|
|
157
|
+
|
|
158
|
+
#### Task-Adaptive Persona Selection
|
|
159
|
+
|
|
160
|
+
sim-conductor does **not** run a fixed persona set. It derives needed perspectives from the task, then sources each persona in priority order:
|
|
161
|
+
|
|
162
|
+
```
|
|
163
|
+
① Installed first — scan installed plugins + .claude/agents/ for a matching persona/agent
|
|
164
|
+
② Built-in fallback — inject role as prompt directive into general-purpose Agent (Path B)
|
|
165
|
+
③ External fetch — chain to /plugin-recommender when ①② insufficient for high-stakes tasks
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
Built-in fallback palette (② tier):
|
|
169
|
+
|
|
170
|
+
| Role | Perspective | Focus |
|
|
171
|
+
|---|---|---|
|
|
172
|
+
| Newcomer | First-time user, zero development context | Clarity, terminology, onboarding friction |
|
|
173
|
+
| Power-user | Advanced user, edge cases | Undocumented behavior, limits |
|
|
174
|
+
| Devil-advocate | Adversarial critic | Claim-evidence gaps, naming-substance mismatch |
|
|
175
|
+
| Domain-expert | Adjacent-field subject matter expert | Technical accuracy, completeness |
|
|
176
|
+
| Skeptic | Pragmatic outsider | ROI, "why not just X?" |
|
|
177
|
+
|
|
178
|
+
Derive task-specific personas (e.g. "security auditor", "non-native reader") when the task profile demands it.
|
|
179
|
+
|
|
180
|
+
#### Scale
|
|
181
|
+
|
|
182
|
+
| Scale | Count | When |
|
|
183
|
+
|---|---|---|
|
|
184
|
+
| **Minimum** | 3 | Routine Area A — most task-relevant 3 perspectives |
|
|
185
|
+
| **Extended** | 4–8 | High-stakes publish / external release |
|
|
186
|
+
| **Full** | Up to 16 parallel | Pre-major-version / architecture review |
|
|
187
|
+
|
|
188
|
+
All personas run as **parallel Agents** — no sequential bottleneck. Use agent-composer Medium/Large fan-out for Extended/Full.
|
|
189
|
+
|
|
190
|
+
**Simplification guard**: Routine internal audits → ② built-in fallback at Minimum scale. Chain to ③ only when a needed perspective has no ①② match, or stakes are high.
|
|
191
|
+
|
|
192
|
+
#### Multi-Team Mode (when external CLIs available)
|
|
193
|
+
|
|
194
|
+
When 1+ external CLIs detected, Area A upgrades to Multi-Team Panel: each CLI forms an independent team. Cross-team: 2+ teams flag same issue → tier-up (S→S-confirmed). External-only findings → "Claude blind spot" flag.
|
|
195
|
+
|
|
196
|
+
Pre-entry user confirmation required before multi-team execution.
|
|
197
|
+
|
|
198
|
+
> **Detail**: See `SKILL_detail.md §MultiTeam` — team formation table (T0–T4), CLI detection bash, confirmation dialog, cross-team synthesis format — read when multi-team mode activates.
|
|
199
|
+
|
|
200
|
+
**A-1** (Newcomer Agent) — description friendliness · onboarding friction · terminology clarity
|
|
201
|
+
**A-2** (Power-user Agent) — install conflicts · duplication · silent overwrite
|
|
202
|
+
**A-3** (challenger Agent, artifact_type="SKILL") — claim-evidence gaps · angles U3, U5, S2
|
|
203
|
+
|
|
204
|
+
> ⚠️ **Human review gate**: Area A S-tier judgments require owner review before entering AI-AI loop.
|
|
205
|
+
|
|
206
|
+
---
|
|
207
|
+
|
|
208
|
+
### Area B — Internal Meta Audit
|
|
209
|
+
|
|
210
|
+
Target: all fh-meta assets (skills + agents + plugin.json).
|
|
211
|
+
|
|
212
|
+
> **Self-recursive caution**: When M-tier found in sim-conductor itself → report only, delegate to user.
|
|
213
|
+
|
|
214
|
+
**Dispatch pattern**: hub-persona-auditor ∥ persona-innovator (parallel) → challenger (after, with both outputs as context)
|
|
215
|
+
|
|
216
|
+
1. **hub-persona-auditor** — README/CHEATSHEET as external briefing, 4-axis review, 3-tier suggestions
|
|
217
|
+
2. **persona-innovator** (Mode I) — naming gaps + structural gaps + 3-5 candidates
|
|
218
|
+
3. **challenger** (artifact_type="SKILL") — receives 1+2 outputs, angles U2, D3, U5 — "what was missed?"
|
|
219
|
+
|
|
220
|
+
Rationale: 1+2 run without influencing each other; challenger synthesizes both perspectives independently, avoiding Cost of Consensus.
|
|
221
|
+
|
|
222
|
+
> **Detail**: See `SKILL_detail.md §AreaB-Baseline` — external baseline injection methods, dual-validation principle, Area B → steel-quench handoff — read when setting up Area B defenses.
|
|
223
|
+
|
|
224
|
+
> ⚠️ **Human review gate**: Area B convergence is provisional until owner confirms.
|
|
225
|
+
|
|
226
|
+
---
|
|
227
|
+
|
|
228
|
+
### Area C — Innovator Scan
|
|
229
|
+
|
|
230
|
+
Runs independently. Skip if included in Area B.
|
|
231
|
+
|
|
232
|
+
**persona-innovator** (Mode F = Internal + External): current harness gaps + frontier scan. Output: naming candidates + absorption signals + top 1 priority action.
|
|
233
|
+
|
|
234
|
+
---
|
|
235
|
+
|
|
236
|
+
### Area D — Artifact Validity Validation
|
|
237
|
+
|
|
238
|
+
| Mode | Trigger | Core question |
|
|
239
|
+
|---|---|---|
|
|
240
|
+
| **code** | `/sim-conductor D --target <file>` | Is the code/prompt well-built? |
|
|
241
|
+
| **consumer** | `/sim-conductor D session/skill/memory` | Does the artifact work for the intended consumer? |
|
|
242
|
+
|
|
243
|
+
#### D-code — Profile-Aware Persona Routing
|
|
244
|
+
|
|
245
|
+
Persona composition adapts to `artifact_type` from Step 0.3 profile:
|
|
246
|
+
|
|
247
|
+
| Artifact type | Primary persona | Supporting persona | Focus |
|
|
248
|
+
|---|---|---|---|
|
|
249
|
+
| SKILL.md / design doc | challenger (artifact_type="SKILL") | Newcomer | Governance gaps, behavioral rule coverage |
|
|
250
|
+
| Python / JS / bash code | challenger (artifact_type="Code") | Power-user | Edge cases, performance, security surface |
|
|
251
|
+
| Prompt / config | Newcomer | challenger | Interpretation errors, implicit assumptions |
|
|
252
|
+
| Auth / security-sensitive | challenger + Security-auditor† | Power-user | Attack surface, privilege escalation |
|
|
253
|
+
|
|
254
|
+
† Security-auditor = built-in fallback role (② tier) injected as prompt directive.
|
|
255
|
+
|
|
256
|
+
All personas run in parallel. Findings = M/S/R → M-tier items fixed immediately.
|
|
257
|
+
|
|
258
|
+
#### D-consumer — Artifact Consumer Simulation
|
|
259
|
+
|
|
260
|
+
Consumer agent attempts actual use (not just reads and judges). Grades: F (functional) / P (partial → S-tier) / B (broken → M-tier immediate fix).
|
|
261
|
+
|
|
262
|
+
> **Detail**: See `SKILL_detail.md §AreaD-Consumer` — D-session 4 questions, D-skill cold-start procedure, D-memory check items, verdict criteria — read when executing D-consumer.
|
|
263
|
+
|
|
264
|
+
---
|
|
265
|
+
|
|
266
|
+
### Area E — Artifact Quality Review
|
|
267
|
+
|
|
268
|
+
Domain-expert objection (E-1) + Practitioner confusion (E-2) in parallel → Pattern structuring (E-3) integrates both.
|
|
269
|
+
|
|
270
|
+
> **Detail**: See `SKILL_detail.md §AreaE-Detail` — E-1/E-2/E-3 execution, finding format, pattern naming procedure — read when executing Area E.
|
|
271
|
+
|
|
272
|
+
---
|
|
273
|
+
|
|
274
|
+
## Step 2 — Synthesis
|
|
275
|
+
|
|
276
|
+
| Tier | Criteria | Action |
|
|
277
|
+
|---|---|---|
|
|
278
|
+
| **M (Mandatory)** | Blocks external user entry / naming-substance mismatch / security/trust damage | Immediate fix required |
|
|
279
|
+
| **S (Strong)** | Feature degradation / found by 3+ personas | Address within next session |
|
|
280
|
+
| **R (Recommended)** | Improvement value / found by single persona | Backlog |
|
|
281
|
+
|
|
282
|
+
**Deduplication**: Multiple personas → same location: M > S > R.
|
|
283
|
+
|
|
284
|
+
**Early Convergence Detection**: 2+ Areas independently classify same item as M-tier → immediate fix, remaining Areas continue for S/R coverage only.
|
|
285
|
+
|
|
286
|
+
---
|
|
287
|
+
|
|
288
|
+
## Step 3 — Report
|
|
289
|
+
|
|
290
|
+
File: `$REPORT_DIR/sim_YYYY_MM_DD_area_[X].md`
|
|
291
|
+
|
|
292
|
+
> **Detail**: See `SKILL_detail.md §Report-Format` — full report template with frontmatter, M/S/R sections, emerging asset candidates — read when writing the report.
|
|
293
|
+
|
|
294
|
+
---
|
|
295
|
+
|
|
296
|
+
## Step 4 — PR or Direct Commit
|
|
297
|
+
|
|
298
|
+
1+ M-tier → fix immediately → commit. PR creation requires explicit user request.
|
|
299
|
+
0 M-tier → commit report only + report S/R backlog.
|
|
300
|
+
|
|
301
|
+
> **Detail**: See `SKILL_detail.md §PR-Bash` — branch creation bash, commit + push, gh pr create template — read when creating a PR.
|
|
302
|
+
|
|
303
|
+
---
|
|
304
|
+
|
|
305
|
+
## Human Gate Principle
|
|
306
|
+
|
|
307
|
+
Convergence within an AI-AI loop is **provisional**. Elevated to final only after human gate.
|
|
308
|
+
|
|
309
|
+
| Stage | Human gate condition |
|
|
310
|
+
|---|---|
|
|
311
|
+
| Area A S-tier | User reviews + says "convergence approved" |
|
|
312
|
+
| Area B convergence | AI-AI loop is provisional → elevated after user confirmation |
|
|
313
|
+
| M-tier auto-fix | Commit after fix (no PR gate); PR requires explicit user request |
|
|
314
|
+
| Three-Doctor Loop end | User reviews convergence and decides next action |
|
|
315
|
+
|
|
316
|
+
---
|
|
317
|
+
|
|
318
|
+
## Done When
|
|
319
|
+
|
|
320
|
+
| Condition | Verdict |
|
|
321
|
+
|---|---|
|
|
322
|
+
| `sim-conductor [Area X] complete` format output | ✅ Simulation complete |
|
|
323
|
+
| 1+ M-tier → fixed + committed (or "none") | ✅ Prescription complete |
|
|
324
|
+
| Report `tracks/_meta/sim_YYYY_MM_DD_*.md` saved | ✅ Persistence complete |
|
|
325
|
+
| 0 M-tier → report committed + S/R backlog reported | ✅ Health check complete |
|
|
326
|
+
|
|
327
|
+
Verdicts: PASS · CONDITIONAL_PASS (S/R only, or Area B cadence skip) · FAIL (M-tier unresolved) · ESCALATE (persona conflict requiring human judgment).
|
|
328
|
+
|
|
329
|
+
**Mandatory for Area A (external publish)**: steel-quench must complete in same session before Area A is marked complete.
|
|
330
|
+
|
|
331
|
+
---
|
|
332
|
+
|
|
333
|
+
## Simplification Guard
|
|
334
|
+
|
|
335
|
+
- Area B 2+ times in one week: check whether previous S-tier resolved first
|
|
336
|
+
- New simulation without processing M-tier: warn about unresolved M-tier
|
|
337
|
+
- Add new persona: require 1+ empirical cases not captured by current palette
|
|
338
|
+
|
|
339
|
+
---
|
|
340
|
+
|
|
341
|
+
## Operations Notes
|
|
342
|
+
|
|
343
|
+
**AI-AI Loop Bias Defense**: sim-conductor → hub-cc-pr-reviewer → sim-conductor loop shares LLM cognitive blind spots. Internal convergence is "provisional convergence" — elevated only by external review or human gate. Area A/B convergence without human gate = incomplete.
|
|
344
|
+
|
|
345
|
+
---
|
|
346
|
+
|
|
347
|
+
## Three-Doctor Loop Integration
|
|
348
|
+
|
|
349
|
+
harness-doctor (structure) · context-doctor (context) · sim-conductor (future behavior) form a closed loop.
|
|
350
|
+
|
|
351
|
+
| Situation | Next skill |
|
|
352
|
+
|---|---|
|
|
353
|
+
| Structural problem in simulation results | `/harness-doctor` |
|
|
354
|
+
| Token waste pattern | `/context-doctor` |
|
|
355
|
+
| All three mentioned simultaneously | Three-Doctor Loop: diagnosis→prescription→re-diagnosis cycle |
|
|
356
|
+
| Area A before external publish | `/steel-quench` **required** first — mandatory gate |
|
|
357
|
+
|
|
358
|
+
---
|
|
359
|
+
|
|
360
|
+
## Path B (External Environment)
|
|
361
|
+
|
|
362
|
+
When `~/sim/` absent: fallback to harness root, logical isolation only.
|
|
363
|
+
|
|
364
|
+
> **Detail**: See `SKILL_detail.md §PathB-Detail` — git fallback, logical isolation prompt directive, Area restriction rules — read when running in external/restricted environment.
|