@chrono-meta/fh-gate 1.0.3 → 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 +131 -418
  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 +48 -29
  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,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.