@chrono-meta/fh-gate 1.1.0 → 1.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 +61 -8
- package/bin/fh-goal.js +9 -0
- package/bin/fh-run.js +9 -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 +30 -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,453 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: steel-quench-detail
|
|
3
|
+
description: Detail file for steel-quench — Wave output formats, bash scripts, Phase 0 spec, Wave 5 multi-team panel. Load when executing a specific Wave.
|
|
4
|
+
load: on-demand
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# steel-quench — Detail Reference
|
|
8
|
+
|
|
9
|
+
> Load when executing a specific Wave. SKILL.md contains trigger phrases, Wave structure overview, 5 attack angles, common patterns, and Done When.
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## §Phase0 — Counterexample Calibration Full Spec
|
|
14
|
+
|
|
15
|
+
**Activation**: When external bad case provided as input, or when calibrating criteria before Wave 1.
|
|
16
|
+
|
|
17
|
+
**Execution**:
|
|
18
|
+
1. Extract patterns from external case — name each in one line
|
|
19
|
+
2. Apply extracted patterns to current diagnostic target
|
|
20
|
+
3. Matching items → merge into Wave 1 attack angles (treat as S-grade)
|
|
21
|
+
|
|
22
|
+
**Phase 0 output format**:
|
|
23
|
+
|
|
24
|
+
```
|
|
25
|
+
## Phase 0 — Counterexample Calibration
|
|
26
|
+
|
|
27
|
+
External case: [name/source]
|
|
28
|
+
|
|
29
|
+
| # | False Pattern Name | Same Pattern in Target? | Wave 1 Merge |
|
|
30
|
+
|:---:|---|:---:|:---:|
|
|
31
|
+
| 1 | [pattern name] | ✓ / ✗ | ✓ / — |
|
|
32
|
+
|
|
33
|
+
Added Wave 1 attack angles: N items
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
**Counterexample Baseline Set** (pre-loaded for PoC reports, tool SKILL.md, design documents):
|
|
37
|
+
|
|
38
|
+
| # | Pattern Name | Judgment Criteria |
|
|
39
|
+
|:---:|---|---|
|
|
40
|
+
| CC-1 | Self-measurement without standards | "Achieved" claims missing measurement subject, criteria, or external verification |
|
|
41
|
+
| CC-2 | Single-case generalization | Extending 1 experiment as applicable to full scope |
|
|
42
|
+
| CC-3 | Achievement = activity performed | Declaring "achieved because executed" without re-judging against original goals |
|
|
43
|
+
| CC-4 | Cumulative error claim | Prediction stacking all assumptions at optimal values |
|
|
44
|
+
| CC-5 | Missing causal link | Cause and effect in same document but isolated with no connection |
|
|
45
|
+
| CC-6 | No Done When | No binary judgment criteria for completion |
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
## §Wave1 — Wave 1 Output Format + Numeric Score
|
|
50
|
+
|
|
51
|
+
**Wave 1 output format**:
|
|
52
|
+
|
|
53
|
+
```
|
|
54
|
+
## Wave 1 — Devil Attack Results
|
|
55
|
+
|
|
56
|
+
| Attack Angle | Severity | Flaw Found | Defensibility |
|
|
57
|
+
|---|:---:|---|:---:|
|
|
58
|
+
| Reason for existence | S/A/B | [actual flaw description] | ○/△/× |
|
|
59
|
+
| Real-use verification | S/A/B | [doc-code mismatch point] | ○/△/× |
|
|
60
|
+
| Bus factor | S/A/B | [single-person dependency area] | ○/△/× |
|
|
61
|
+
| Platform obsolescence | S/A/B | [vulnerability point] | ○/△/× |
|
|
62
|
+
| Self-referential structure | S/A/B | [closed circuit detection result] | ○/△/× |
|
|
63
|
+
|
|
64
|
+
S-grade blockers: N / A-grade: N / B-grade: N
|
|
65
|
+
|
|
66
|
+
Optional numeric score (0.0–1.0):
|
|
67
|
+
overall_score: {score}
|
|
68
|
+
[0.0–0.3] S-grade present → immediate blocker, do not proceed
|
|
69
|
+
[0.4–0.6] A-grade dominant → address before deployment
|
|
70
|
+
[0.7–1.0] B-grade or clean → proceed with monitoring
|
|
71
|
+
Scoring rationale: {one-line basis — weighted by S×3 + A×1, normalized}
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
**S-grade Immediate Human Gate format**:
|
|
75
|
+
|
|
76
|
+
```
|
|
77
|
+
⚠️ Wave 1 found N S-grade blocker(s):
|
|
78
|
+
- [blocker 1 — one-line summary]
|
|
79
|
+
- [blocker 2 — one-line summary]
|
|
80
|
+
|
|
81
|
+
Options:
|
|
82
|
+
(a) Proceed to Wave 2 defense — AI attempts to resolve these
|
|
83
|
+
(b) Human review first — inspect blockers directly, then decide
|
|
84
|
+
(c) Abort — address blockers manually before re-running quench
|
|
85
|
+
|
|
86
|
+
Waiting for input. (Default: a — proceed to Wave 2)
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
Rationale: S-grade items entering Wave 2 unreviewed can be defended with plausible-sounding but unverifiable arguments (hallucination-contaminated defense, pattern P7). The gate surfaces this risk before the AI-AI loop runs.
|
|
90
|
+
|
|
91
|
+
---
|
|
92
|
+
|
|
93
|
+
## §Wave2 — Wave 2 Output Format + Brain-in-Vat Principle
|
|
94
|
+
|
|
95
|
+
**Wave 2 output format**:
|
|
96
|
+
|
|
97
|
+
```
|
|
98
|
+
## Wave 2 — Defense Results
|
|
99
|
+
|
|
100
|
+
| Wave 1 Flaw | Defense Strategy | Processing Class | Residual Risk |
|
|
101
|
+
|---|---|:---:|---|
|
|
102
|
+
| [flaw name] | [defense / external case / improvement] | Immediate/Long-term/Accept | [describe if any] |
|
|
103
|
+
|
|
104
|
+
Defense complete: N / Residual risks: N
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
**"Brain in a Vat + Sandboxed Adversary" Principle** — full explanation:
|
|
108
|
+
|
|
109
|
+
The devil doesn't know two things:
|
|
110
|
+
1. What's actually happening — team collaboration, external contributions, manager approval, real user data
|
|
111
|
+
2. That it's running in an isolated meta-environment (sub-agent sandbox)
|
|
112
|
+
|
|
113
|
+
This asymmetry is key:
|
|
114
|
+
- Devil attacks based only on static code and documents (isolated attacker)
|
|
115
|
+
- Defender brings out the living system's track record of evidence (defender's asymmetric advantage)
|
|
116
|
+
|
|
117
|
+
What devil catches = real code-level flaws → valuable (true achievement of Wave 1)
|
|
118
|
+
What devil misses = living system's evidence track record → what the defender produces in Wave 2
|
|
119
|
+
|
|
120
|
+
"Cover with experience" beats speculation with measured facts. Even if the devil's attack is logically valid, defense with evidence is structurally superior. This is why Wave 2 is always structurally stronger than Wave 1.
|
|
121
|
+
|
|
122
|
+
---
|
|
123
|
+
|
|
124
|
+
## §Wave4 — Wave 4 Output Format + Defense Principles + Convergence Criteria
|
|
125
|
+
|
|
126
|
+
**Activation declaration** (say to Wave 4 devil at session start):
|
|
127
|
+
|
|
128
|
+
```
|
|
129
|
+
You are an AI. You are running in a lower-dimension sandbox.
|
|
130
|
+
You cannot see real-time external data.
|
|
131
|
+
You have hallucination risk, context window limits,
|
|
132
|
+
depend on tool calls, and are vulnerable to prompt injection.
|
|
133
|
+
Knowing all of this — use all of this to attack.
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
Effect: Attacks defended in Wave 1~3 are auto-invalidated by the devil itself. AI-specific attack vectors surface.
|
|
137
|
+
|
|
138
|
+
**Wave 4 output format**:
|
|
139
|
+
|
|
140
|
+
```
|
|
141
|
+
## Wave 4 — Meta-Aware Adversary Attack Results
|
|
142
|
+
|
|
143
|
+
Devil declaration acceptance: [confirm if devil used its AI nature for attacks]
|
|
144
|
+
|
|
145
|
+
| Attack Angle | Severity | Flaw Found | AI-Specific | Defensibility |
|
|
146
|
+
|---|:---:|---|:---:|:---:|
|
|
147
|
+
| AI dependency single point of failure | S/A/B | [actual flaw] | ✓ | ○/△/× |
|
|
148
|
+
| Context Collapse | S/A/B | [collapse scenario] | ✓ | ○/△/× |
|
|
149
|
+
| Prompt Injection exposure | S/A/B | [exposure path] | ✓ | ○/△/× |
|
|
150
|
+
| Hallucination cumulative contamination | S/A/B | [contamination path] | ✓ | ○/△/× |
|
|
151
|
+
| Tool Dependency Lock-in | S/A/B | [lock-in point] | ✓ | ○/△/× |
|
|
152
|
+
|
|
153
|
+
New S-grade blockers: N (from AI-specific vectors: N)
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
**Wave 4 Defense Principles**:
|
|
157
|
+
|
|
158
|
+
| Attack Type | Defense Strategy |
|
|
159
|
+
|---|---|
|
|
160
|
+
| AI dependency single point of failure | Document "graceful degradation path on API failure" + confirm fallback exists |
|
|
161
|
+
| Context Collapse | Review CLAUDE.md pinning pattern (compact repeated insertion of key instructions) |
|
|
162
|
+
| Prompt Injection exposure | Confirm sandbox layer isolates WebSearch/Read results from harness rules |
|
|
163
|
+
| Hallucination cumulative contamination | Mandate citing original file, commit hash, measured value — "LLM-reconstructed" not accepted |
|
|
164
|
+
| Tool Dependency Lock-in | Checklist for core function after tool removal (degraded mode possible?) |
|
|
165
|
+
|
|
166
|
+
**Wave 4 Convergence Criteria** (additional, beyond Wave 3 zero new S-grade):
|
|
167
|
+
1. At least 3 AI-specific vectors actually reviewed — not simply "no attacks"
|
|
168
|
+
2. Hallucination defense arguments based on original file references
|
|
169
|
+
3. Context Collapse scenario simulated at least once (waivable if session is short)
|
|
170
|
+
|
|
171
|
+
---
|
|
172
|
+
|
|
173
|
+
## §Wave5 — Multi-Team Adversarial Panel (Full Spec)
|
|
174
|
+
|
|
175
|
+
**Activation**: After Wave 1~4 convergence + A-grade items remain. `--sidecar` flag or "run sidecar wave".
|
|
176
|
+
|
|
177
|
+
**Fallback chain**:
|
|
178
|
+
```
|
|
179
|
+
External CLIs available → Multi-Team Panel (preferred — structural model diversity)
|
|
180
|
+
No external CLIs → Cross-session Claude isolation (Path B)
|
|
181
|
+
claude CLI also absent → Skip Wave 5, note in residual risk card
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
**Step 0-pre — User Confirmation Gate**:
|
|
185
|
+
|
|
186
|
+
```
|
|
187
|
+
Wave 5 — Multi-Team Panel available.
|
|
188
|
+
Detected external CLIs: [gemini · gh-copilot · ollama | none]
|
|
189
|
+
|
|
190
|
+
Estimated token cost:
|
|
191
|
+
External CLIs: each team ×2-3 personas → ~2K–5K tokens per team (billed to that CLI)
|
|
192
|
+
Cross-session Claude only: ~3K–6K tokens (Claude quota)
|
|
193
|
+
|
|
194
|
+
Run Wave 5?
|
|
195
|
+
(a) Full multi-team panel — all detected CLIs + Claude
|
|
196
|
+
(b) Claude cross-session only — zero-history subprocess
|
|
197
|
+
(c) Skip Wave 5
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
**Step 0 — Team Formation**:
|
|
201
|
+
|
|
202
|
+
```bash
|
|
203
|
+
TEAMS=()
|
|
204
|
+
command -v gemini &>/dev/null && TEAMS+=("gemini")
|
|
205
|
+
command -v gh &>/dev/null && gh copilot --version &>/dev/null 2>&1 && TEAMS+=("gh-copilot")
|
|
206
|
+
command -v ollama &>/dev/null && TEAMS+=("ollama")
|
|
207
|
+
npx @openai/codex --version &>/dev/null 2>&1 && TEAMS+=("codex")
|
|
208
|
+
|
|
209
|
+
echo "Teams formed: ${#TEAMS[@]} external + 1 Claude-native (T0)"
|
|
210
|
+
echo "External: ${TEAMS[*]:-none → cross-session fallback}"
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
Default team-persona assignments:
|
|
214
|
+
|
|
215
|
+
| Team | CLI | Personas deployed |
|
|
216
|
+
|---|---|---|
|
|
217
|
+
| **T0 Claude** | Agent sub-agent (always present) | challenger · quench-challenger · domain-expert |
|
|
218
|
+
| **T1 Gemini** | `gemini` pipe | devil · newcomer · skeptic |
|
|
219
|
+
| **T2 Copilot** | `gh copilot suggest` | devil · domain-expert |
|
|
220
|
+
| **T3 Ollama** | `ollama run {model}` | devil |
|
|
221
|
+
| **T4 Codex** | `npx @openai/codex exec` | devil · edge-case-hunter |
|
|
222
|
+
|
|
223
|
+
**Step 1 — Parallel Team Dispatch**:
|
|
224
|
+
|
|
225
|
+
```bash
|
|
226
|
+
ARTIFACT_TAIL=$(tail -60 "{ARTIFACT_PATH}")
|
|
227
|
+
declare -A TEAM_RESULTS
|
|
228
|
+
|
|
229
|
+
# ── T1: Gemini ────────────────────────────────────────────
|
|
230
|
+
if [[ " ${TEAMS[*]} " =~ " gemini " ]]; then
|
|
231
|
+
G_DEVIL=$(printf '[Devil] Adversarial reviewer, no prior context.\nFind 3 critical structural flaws — especially whether Done When criteria are binary and achievable.\nFormat: [issue · location · severity S/A/B]\n---\n%s' \
|
|
232
|
+
"$ARTIFACT_TAIL" | gemini 2>/dev/null) &
|
|
233
|
+
G_NEW=$(printf '[Newcomer] First-time user, zero background.\nFind 3 unclear or jargon-heavy points.\nFormat: [issue · location · severity]\n---\n%s' \
|
|
234
|
+
"$ARTIFACT_TAIL" | gemini 2>/dev/null) &
|
|
235
|
+
G_SKEP=$(printf '[Skeptic] Pragmatic outsider.\nFind 3 "why not just X?" challenges.\nFormat: [issue · location · severity]\n---\n%s' \
|
|
236
|
+
"$ARTIFACT_TAIL" | gemini 2>/dev/null) &
|
|
237
|
+
wait
|
|
238
|
+
TEAM_RESULTS["gemini"]="$G_DEVIL
|
|
239
|
+
$G_NEW
|
|
240
|
+
$G_SKEP"
|
|
241
|
+
fi
|
|
242
|
+
|
|
243
|
+
# ── T2: GitHub Copilot ────────────────────────────────────
|
|
244
|
+
if [[ " ${TEAMS[*]} " =~ " gh-copilot " ]]; then
|
|
245
|
+
GH_D=$(echo "[Devil] Find 3 critical flaws. Format: [issue · location · severity S/A/B]. Artifact: $ARTIFACT_TAIL" \
|
|
246
|
+
| gh copilot suggest -t shell 2>/dev/null) &
|
|
247
|
+
GH_E=$(echo "[Domain-expert] Find 3 technical depth gaps. Format: [issue · location · severity]. Artifact: $ARTIFACT_TAIL" \
|
|
248
|
+
| gh copilot suggest -t shell 2>/dev/null) &
|
|
249
|
+
wait
|
|
250
|
+
TEAM_RESULTS["gh-copilot"]="$GH_D
|
|
251
|
+
$GH_E"
|
|
252
|
+
fi
|
|
253
|
+
|
|
254
|
+
# ── T3: Ollama ────────────────────────────────────────────
|
|
255
|
+
if [[ " ${TEAMS[*]} " =~ " ollama " ]]; then
|
|
256
|
+
OLLAMA_MODEL=$(ollama list 2>/dev/null | awk 'NR==2{print $1}')
|
|
257
|
+
O_DEVIL=$(ollama run "$OLLAMA_MODEL" \
|
|
258
|
+
"[Devil] Find 3 critical structural flaws. Format: [issue · location · severity S/A/B]
|
|
259
|
+
$ARTIFACT_TAIL" 2>/dev/null) &
|
|
260
|
+
wait
|
|
261
|
+
TEAM_RESULTS["ollama"]="$O_DEVIL"
|
|
262
|
+
fi
|
|
263
|
+
|
|
264
|
+
# ── T4: Codex ─────────────────────────────────────────────
|
|
265
|
+
if [[ " ${TEAMS[*]} " =~ " codex " ]]; then
|
|
266
|
+
C_DEVIL=$(npx @openai/codex exec \
|
|
267
|
+
"[Devil] Find 3 critical structural flaws. Format: [issue · location · severity S/A/B]
|
|
268
|
+
$ARTIFACT_TAIL" 2>/dev/null) &
|
|
269
|
+
C_EDGE=$(npx @openai/codex exec \
|
|
270
|
+
"[Edge-case-hunter] Find 3 edge cases the Done When criteria does NOT cover. Format: [issue · location · severity]
|
|
271
|
+
$ARTIFACT_TAIL" 2>/dev/null) &
|
|
272
|
+
wait
|
|
273
|
+
TEAM_RESULTS["codex"]="$C_DEVIL
|
|
274
|
+
$C_EDGE"
|
|
275
|
+
fi
|
|
276
|
+
|
|
277
|
+
# ── Path B: Cross-session Claude fallback ─────────────────
|
|
278
|
+
if [ ${#TEAMS[@]} -eq 0 ]; then
|
|
279
|
+
TEAM_RESULTS["cross-session-claude"]=$(claude --print \
|
|
280
|
+
"Adversarial reviewer, zero prior context. Find 3 critical structural flaws and 3 edge cases not covered.
|
|
281
|
+
Format: [issue · location · severity S/A/B]
|
|
282
|
+
---
|
|
283
|
+
$ARTIFACT_TAIL" 2>/dev/null || \
|
|
284
|
+
claude -p \
|
|
285
|
+
"Adversarial reviewer, zero prior context. Find 3 critical flaws and 3 edge cases.
|
|
286
|
+
Format: [issue · location · severity S/A/B]
|
|
287
|
+
---
|
|
288
|
+
$ARTIFACT_TAIL" 2>/dev/null)
|
|
289
|
+
fi
|
|
290
|
+
```
|
|
291
|
+
|
|
292
|
+
**Step 2 — Cross-Team Synthesis**:
|
|
293
|
+
|
|
294
|
+
```
|
|
295
|
+
Confidence scoring:
|
|
296
|
+
3+ teams flag same location/issue → escalate to S-grade confirmed (structural blind spot)
|
|
297
|
+
2 teams flag same issue → A-grade (medium confidence)
|
|
298
|
+
1 team only → B-grade (single-team observation)
|
|
299
|
+
|
|
300
|
+
Claude blind spots (highest value):
|
|
301
|
+
Issues raised by T1~T4 but absent from Wave 1~4 (T0) results
|
|
302
|
+
→ flag explicitly as "cross-team delta"
|
|
303
|
+
```
|
|
304
|
+
|
|
305
|
+
**Wave 5 Output Format**:
|
|
306
|
+
|
|
307
|
+
```
|
|
308
|
+
## Wave 5 — Multi-Team Adversarial Panel Results
|
|
309
|
+
Teams active: [T0:claude T1:gemini T2:gh-copilot ...]
|
|
310
|
+
|
|
311
|
+
### Per-Team Findings
|
|
312
|
+
| Team | Persona | Issue | Location | Severity |
|
|
313
|
+
|---|---|---|---|:---:|
|
|
314
|
+
|
|
315
|
+
### Cross-Team Synthesis
|
|
316
|
+
| Issue | Teams flagging | Confidence | Grade |
|
|
317
|
+
|---|---|:---:|:---:|
|
|
318
|
+
|
|
319
|
+
Claude blind spots (external teams found, Wave 1~4 missed):
|
|
320
|
+
- [issue · location · delta-grade]
|
|
321
|
+
|
|
322
|
+
Cross-wave delta vs Wave 1~4: N new issues (S:N A:N B:N)
|
|
323
|
+
Verdict: PASS | CONDITIONAL_PASS | ESCALATE
|
|
324
|
+
```
|
|
325
|
+
|
|
326
|
+
---
|
|
327
|
+
|
|
328
|
+
## §Structural-Defense — Meta-Harness Defense Layering
|
|
329
|
+
|
|
330
|
+
Running steel-quench in a meta-harness environment structurally lowers devil's attack efficiency. The meta-harness has a 4-layer defense: L1 internal self-diagnosis (harness-doctor + sim-conductor Area B) → L2 external validation loop (real users, manager approval, external PR) → L3 quench circuit (steel-quench itself) → L4 meta-aware adversary (natural convergence as Wave depth increases).
|
|
331
|
+
|
|
332
|
+
Devil attacks only static code in an isolated environment; the defender pulls evidence from the living system outside that isolated environment — this asymmetry is the basis for Wave 2 being structurally superior to Wave 1.
|
|
333
|
+
|
|
334
|
+
As Wave N deepens, decreasing new S-grade blockers = evidence of the system genuinely becoming more robust. Zero new S-grade = fundamental flaws exhausted → termination condition.
|
|
335
|
+
|
|
336
|
+
**Wave Deepening Principle**:
|
|
337
|
+
|
|
338
|
+
| Attack type | Invalidation |
|
|
339
|
+
|---|---|
|
|
340
|
+
| Self-referential closed system | Meta environment exists → not closed |
|
|
341
|
+
| Bus factor | Team + external contributions exist but invisible to devil |
|
|
342
|
+
| "No external validation" | Meta simulation + real users already operating |
|
|
343
|
+
| "Doc-code mismatch" abstract | Invalid without real code under Wave 1 criteria |
|
|
344
|
+
|
|
345
|
+
**Termination declaration format**:
|
|
346
|
+
|
|
347
|
+
```
|
|
348
|
+
## steel-quench Complete
|
|
349
|
+
|
|
350
|
+
Wave N converged. Zero new S-grade blockers confirmed.
|
|
351
|
+
|
|
352
|
+
Residual Risk Card:
|
|
353
|
+
- [List only A-grade · B-grade residual items]
|
|
354
|
+
|
|
355
|
+
Cross-project common patterns detected:
|
|
356
|
+
- [patterns found in this Wave]
|
|
357
|
+
|
|
358
|
+
Next actions:
|
|
359
|
+
- A-grade or higher complex improvements → recommend /meta-prompt-builder
|
|
360
|
+
- Full results → recommend persisting to tracks/_meta/
|
|
361
|
+
- New patterns discovered → fh-meta:persona-innovator activates → proposes rule candidates
|
|
362
|
+
```
|
|
363
|
+
|
|
364
|
+
---
|
|
365
|
+
|
|
366
|
+
## §ArtifactProfile — Vulnerability Profile Worked Examples
|
|
367
|
+
|
|
368
|
+
Four reference cases showing how Step 0.3 classifies an artifact and which waves are selected.
|
|
369
|
+
|
|
370
|
+
---
|
|
371
|
+
|
|
372
|
+
### Example 1 — SKILL.md (governance / design doc)
|
|
373
|
+
|
|
374
|
+
**Artifact signals**:
|
|
375
|
+
- `artifact_type`: SKILL.md → Wave 2 weight↑
|
|
376
|
+
- `phantom_risk`: no citations or URLs → Wave 3 weight neutral
|
|
377
|
+
- `claim_density`: 4 benefit claims in description → Wave 1 U3 weight↑
|
|
378
|
+
- `novelty`: established pattern, not first-of-its-kind → Wave 4 weight neutral
|
|
379
|
+
- `scope`: internal FH use only → Wave 5 weight=0
|
|
380
|
+
|
|
381
|
+
**Wave selection**:
|
|
382
|
+
```
|
|
383
|
+
Run: Wave 1 (real-code attacks + claim evidence), Wave 2 (structural defense, weight↑)
|
|
384
|
+
Skip: Wave 4 (not novel enough to warrant AI-specific attack), Wave 5 (internal scope — skip)
|
|
385
|
+
External CLIs available: N/A (skipped by scope rule)
|
|
386
|
+
```
|
|
387
|
+
|
|
388
|
+
**Degraded coverage note**: Wave 5 skipped — internal scope. If artifact is later promoted to external publish, re-run Step 0.3.
|
|
389
|
+
|
|
390
|
+
---
|
|
391
|
+
|
|
392
|
+
### Example 2 — bash script (executable code)
|
|
393
|
+
|
|
394
|
+
**Artifact signals**:
|
|
395
|
+
- `artifact_type`: bash/code → Wave 1 weight↑ (real-code attack most applicable)
|
|
396
|
+
- `phantom_risk`: no citations or URLs → Wave 3 weight neutral
|
|
397
|
+
- `claim_density`: 1 benefit claim → Wave 1 U3 weight neutral
|
|
398
|
+
- `novelty`: standard tooling script → Wave 4 weight neutral
|
|
399
|
+
- `scope`: used internally and in CI pipelines → Wave 5 eligible if risk_level high
|
|
400
|
+
|
|
401
|
+
**Wave selection**:
|
|
402
|
+
```
|
|
403
|
+
Run: Wave 1 (weight↑ — concrete code attacks), Wave 2 (defense)
|
|
404
|
+
Skip: Wave 3 (no phantom risk signals), Wave 4 (no novel AI-specific surface)
|
|
405
|
+
Wave 5 (risk_level=medium, no explicit user request — skip)
|
|
406
|
+
External CLIs available: yes (but not activated)
|
|
407
|
+
```
|
|
408
|
+
|
|
409
|
+
**Degraded coverage note**: none — all applicable waves run.
|
|
410
|
+
|
|
411
|
+
---
|
|
412
|
+
|
|
413
|
+
### Example 3 — README (external publish imminent)
|
|
414
|
+
|
|
415
|
+
**Artifact signals**:
|
|
416
|
+
- `artifact_type`: README + external publish imminent → Wave 5 weight↑
|
|
417
|
+
- `phantom_risk`: 3 http URLs + 1 badge link → Wave 3 weight↑
|
|
418
|
+
- `claim_density`: 6 benefit/feature claims → Wave 1 U3 weight↑
|
|
419
|
+
- `novelty`: describes a first-of-its-kind integration → Wave 4 weight↑
|
|
420
|
+
- `scope`: public-facing → Wave 5 eligible
|
|
421
|
+
|
|
422
|
+
**Wave selection**:
|
|
423
|
+
```
|
|
424
|
+
Run: Wave 1 (weight↑ — claim density), Wave 2 (defense), Wave 3 (phantom_risk: URLs present),
|
|
425
|
+
Wave 4 (novelty: first-of-its-kind), Wave 5 (scope=public + risk_level=high)
|
|
426
|
+
Skip: Phase 0 (no counterexample provided by user)
|
|
427
|
+
External CLIs available: check at runtime via Step 0-pre bash detection
|
|
428
|
+
```
|
|
429
|
+
|
|
430
|
+
**Degraded coverage note**: if external CLIs unavailable at runtime, Wave 5 falls back to cross-session Claude (Path B) — note in output header.
|
|
431
|
+
|
|
432
|
+
---
|
|
433
|
+
|
|
434
|
+
### Example 4 — Design doc with citations (arXiv + DOI)
|
|
435
|
+
|
|
436
|
+
**Artifact signals**:
|
|
437
|
+
- `artifact_type`: design-doc → Wave 2 weight↑
|
|
438
|
+
- `phantom_risk`: 2 arXiv citations + 1 DOI → Wave 3 weight↑ (source-grounding audit strongly indicated)
|
|
439
|
+
- `claim_density`: 5 numbered claims backed by citations → Wave 1 U3 weight↑
|
|
440
|
+
- `novelty`: novel architecture proposal → Wave 4 weight↑
|
|
441
|
+
- `scope`: targeting cross-team review in org → Wave 5 eligible
|
|
442
|
+
|
|
443
|
+
**Wave selection**:
|
|
444
|
+
```
|
|
445
|
+
Run: Wave 1 (claim density), Wave 2 (structural defense, weight↑),
|
|
446
|
+
Wave 3 (weight↑ — arXiv/DOI phantom risk; pair with /source-grounding-audit),
|
|
447
|
+
Wave 4 (novelty: new architecture)
|
|
448
|
+
Wave 5 (cross-team scope — activate if risk_level=high or user requests)
|
|
449
|
+
Skip: Phase 0 (unless user supplies an external bad-case doc)
|
|
450
|
+
External CLIs available: check at runtime
|
|
451
|
+
```
|
|
452
|
+
|
|
453
|
+
**Degraded coverage note**: Wave 3 without `/source-grounding-audit` available → flag as "Axis 3 skipped (skill unavailable)" and note in residual risk card.
|