@chrono-meta/fh-gate 1.4.1 → 1.4.2

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@chrono-meta/fh-gate",
3
- "version": "1.4.1",
3
+ "version": "1.4.2",
4
4
  "description": "FH runtime adapters — run FH governance, skills, and agents via Claude or Codex with machine-parseable gates.",
5
5
  "license": "MIT",
6
6
  "keywords": [
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: steel-quench
3
3
  description: >-
4
- A meta-skill that concretizes a designer's anxiety into AI-driven all-angle challenger attacks (via fh-commons:quench-challenger) and shakes off flaws through defensive rounds. Systematically surfaces root weaknesses of near-complete projects wave by wave, guaranteeing near-human-review quality without direct human deep inspection. Wave 4 (Meta-Aware Adversary) is an advanced mode where the challenger uses its own AI nature — hallucination, context collapse, prompt injection, tool lock-in — as attack vectors. Built-in fh-commons:quench-challenger agent outputs harness structure 6-axis attack+prescription pairs; after convergence, fh-meta:persona-innovator auto-extracts new patterns. Triggered by: "quench this", "devil's judgment", "all-angle review", "end-to-end verification", "steel quench", "deep pre-completion inspection", "shake out design anxiety", "attack from the root".
4
+ A meta-skill that concretizes a designer's anxiety into AI-driven all-angle challenger attacks (via fh-commons:quench-challenger) and shakes off flaws through defensive rounds. Systematically surfaces root weaknesses of near-complete projects wave by wave, guaranteeing near-human-review quality without direct human deep inspection. Wave 4 (Meta-Aware Adversary) is an advanced mode where the challenger uses its own AI nature — hallucination, context collapse, prompt injection, tool lock-in — as attack vectors. Wave-P3 (gate-passage re-attack) re-attacks an artifact on Coverage/Narrative/False-confidence right after an upstream gate declares PASS. Built-in fh-commons:quench-challenger agent outputs harness structure 6-axis attack+prescription pairs; after convergence, fh-meta:persona-innovator auto-extracts new patterns. Triggered by: "quench this", "devil's judgment", "all-angle review", "end-to-end verification", "steel quench", "deep pre-completion inspection", "shake out design anxiety", "attack from the root", "did it really pass?".
5
5
  user-invocable: true
6
6
  allowed-tools: ["Read", "Write", "Edit", "Bash", "Grep", "Glob", "WebSearch", "Agent"]
7
7
  model: opus
@@ -25,6 +25,7 @@ A designer's anxiety is most dangerous when vague. steel-quench breaks that anxi
25
25
  | "shake out design anxiety", "deep pre-completion inspection" | Concretize vague anxiety |
26
26
  | "attack from the root" | Re-verify from reason for existence |
27
27
  | "diagnose with counterexample", "use this bad case as reference" | Phase 0 calibration |
28
+ | "did it really pass?", "re-attack after the gate", "the gate said PASS" | Wave-P3 gate-passage re-attack |
28
29
  | `/steel-quench` | Explicit call |
29
30
 
30
31
  ---
@@ -38,7 +39,7 @@ A designer's anxiety is most dangerous when vague. steel-quench breaks that anxi
38
39
  | **Wave 2** | Defense — defend or state as residual risk | — |
39
40
  | **Wave 3+** | Convergence — repeat until zero new S-grade | Zero new S-grade |
40
41
  | **Wave 4** (optional) | Meta-Aware Adversary — AI uses its own nature as attack vector | Zero new S-grade + AI-specific criteria |
41
- | **Wave-P3** (reserved) | Domain gate integration slot | Future use |
42
+ | **Wave-P3** (optional) | Gate-passage re-attack — when an upstream gate declares PASS, re-attack the just-passed artifact on Coverage / Narrative / False-confidence | All 3 dimensions Attack Failed |
42
43
  | **Wave 5** (optional) | Multi-Team Adversarial Panel — external CLIs or cross-session Claude | Zero new S-grade cross-team |
43
44
 
44
45
  ---
@@ -148,6 +149,49 @@ Wave 4 convergence = Wave 3 criteria + 3 AI-specific vectors actually reviewed +
148
149
 
149
150
  ---
150
151
 
152
+ ## Wave-P3 — Gate-Passage Re-Attack (optional)
153
+
154
+ **Activation**: When an upstream gate declares PASS on an artifact — any "declared-complete boundary"
155
+ (a verification gate's terminal PASS, a `/pipeline-conductor` green sweep, a `/marketplace-gate` listing
156
+ verdict, the 4-axis auto-gate marker, a domain TC/coverage gate). Propose preemptively, run after approval.
157
+ No gate-PASS in scope → skip Wave-P3 entirely.
158
+
159
+ > A 1-round gate PASS is exactly when reviewers stop looking — "we just passed" is the lowest-vigilance
160
+ > moment in any workflow. Wave-P3 distrusts the declaration and re-attacks the just-passed artifact on three
161
+ > dimensions the gate's own pass criteria structurally could not check. Only when all three Attack Failed can
162
+ > a **"Real PASS"** be declared.
163
+
164
+ **Agent utilization**:
165
+ - `fh-commons:quench-challenger` (optional) — adds 6-axis structural attack to each dimension. If absent, run the 3 dimensions directly.
166
+ - `fh-meta:persona-innovator` (after convergence) — error/gap patterns found during Wave-P3 → auto-propose new Cross-Project Pattern rows or skill-candidate signals.
167
+
168
+ The three dimensions generalize the gate's three blind spots:
169
+
170
+ | # | Dimension | The blind spot it attacks |
171
+ |:---:|---|---|
172
+ | Wave-P3a | **Coverage** | *What did the gate not check?* Items marked covered/passed that lack a traceable artifact (ID, test, file, citation). |
173
+ | Wave-P3b | **Narrative** | *What story does the passed artifact tell that may be wrong?* Residual hardcoded/environment-coupled values and vague, unverifiable claims the PASS declaration smuggled through. |
174
+ | Wave-P3c | **False-confidence** | *Did the gate produce false confidence?* High-risk items that passed carrying only a binary pass/fail, with no residual-risk or failure-mode caveat. |
175
+
176
+ Each dimension is `Attack Succeeded` (defect found) or `Attack Failed` (clean).
177
+
178
+ **Wave-P3 Done When**:
179
+ ```
180
+ All 3 dimensions [Attack Failed] → ✅ Real PASS → activate fh-meta:persona-innovator (extract new patterns)
181
+ Any 1 [Attack Succeeded] → fix affected items, re-run Wave-P3 (max 2 re-runs)
182
+ Still [Attack Succeeded] after 2 re-runs → "gate structural redesign required" → ESCALATE
183
+ ```
184
+
185
+ **Basis**: reverse-imported from a field-side sister harness (private companion signal, 2026-06-08). Field
186
+ evidence: a test-case coverage gate declared a 1-round PASS, then additional FAILs surfaced in rounds 2–3 —
187
+ the gate-PASS-then-defect-found-in-next-stage pattern Wave-P3 collapses. Generalized from the field's
188
+ domain-coupled (a spec→test-case gate) form to a gate-agnostic boundary hook. Shares its root with
189
+ `fh-commons:convergence-loop` (single-pass distrust).
190
+
191
+ > **Detail**: See `SKILL_detail.md §WaveP3` — per-dimension attack questions, gap criteria, and output format — read when running a gate-passage re-attack.
192
+
193
+ ---
194
+
151
195
  ## External-GT Adjudication (when the target has a public ground truth)
152
196
 
153
197
  When quenching a **public artifact that has its own ground truth** — a repo's open issues, test suite, or
@@ -242,6 +286,7 @@ sim-conductor Area A (external user perspective)
242
286
  - **Always check self-referential pattern (P3).** Cross-validate Wave results with external criteria.
243
287
  - **Public target → adjudicate against external GT before claiming.** A finding the target's own docs/policy/threat-model marks intentional or out-of-scope is a false positive, not a catch. See §External-GT Adjudication.
244
288
  - **Attack surface limit**: steel-quench attacks output content patterns. Phantom Claim detection → `phantom-quench`.
289
+ - **Gate cross-reference**: any FH skill that declares a PASS / green / listing-ready verdict (`pipeline-conductor`, `marketplace-gate`, the 4-axis auto-gate, `convergence-loop`, domain coverage gates) is a valid Wave-P3 entry point. Invoke `/steel-quench` Wave-P3 on the just-passed artifact rather than editing each gate to embed it — the hook lives here, callers reference it.
245
290
 
246
291
  ## Failure Fallback
247
292
 
@@ -170,6 +170,64 @@ New S-grade blockers: N (from AI-specific vectors: N)
170
170
 
171
171
  ---
172
172
 
173
+ ## §WaveP3 — Gate-Passage Re-Attack (per-dimension spec + output format)
174
+
175
+ > Summary, activation, agent utilization, and Done When live in `SKILL.md §Wave-P3`. This section holds the
176
+ > per-dimension attack questions and the output format — read when actually running a gate-passage re-attack.
177
+
178
+ ### Wave-P3a — Coverage re-attack
179
+
180
+ Second-pass search for gaps hiding behind the pass declaration — *what the gate did not check.*
181
+
182
+ | Attack Question | Gap Criterion |
183
+ |---|---|
184
+ | Do items the gate marked "covered" / "documented" / "done" actually have a traceable artifact (test ID, file, commit, citation)? | Marked-covered item without a backing artifact = gap |
185
+ | Are boundary/edge cases the gate's scope implied actually each enumerated? | Implied-but-absent case = gap |
186
+ | Does every claimed mapping (state→test, requirement→implementation, claim→source) resolve 1:1? | Unresolved mapping = gap |
187
+
188
+ Verdict: `[Wave-P3a: Attack Succeeded]` (gap found) / `[Wave-P3a: Attack Failed]` (no gap)
189
+
190
+ ### Wave-P3b — Narrative re-attack
191
+
192
+ Residue the pass declaration carried through unexamined — *the story the artifact tells that may be wrong.*
193
+
194
+ | Attack Question | Residue Criterion |
195
+ |---|---|
196
+ | Do passed outputs hardcode concrete values where a parameter/placeholder belongs? | 1 hardcoded value = residue |
197
+ | Do passed outputs contain unverifiable vague terms ("works correctly", "handled properly", "normally")? | 1 vague term = residue |
198
+ | Do passed outputs assume environment-coupled values (absolute paths, fixed accounts, machine-specific config)? | 1 coupled assumption = residue |
199
+
200
+ Verdict: `[Wave-P3b: Attack Succeeded]` (residue found) / `[Wave-P3b: Attack Failed]` (clean)
201
+
202
+ ### Wave-P3c — False-confidence re-attack
203
+
204
+ High-risk items that passed without a caveat — *did the gate manufacture confidence it had not earned?*
205
+
206
+ | Attack Question | Missing Criterion |
207
+ |---|---|
208
+ | Do high-risk items (irreversible action, security boundary, branch/assignment logic) carry a failure-mode / FP caveat? | Missing caveat on a high-risk item = gap |
209
+ | Do items prone to confusion (near-identical states, off-by-one boundaries) carry a confusion warning? | Missing warning = gap |
210
+ | Among the highest-priority items, do >50% carry only binary pass/fail with no residual-risk note? | Ratio exceeded = gap |
211
+
212
+ Verdict: `[Wave-P3c: Attack Succeeded]` (missing found) / `[Wave-P3c: Attack Failed]` (all labeled)
213
+
214
+ ### Wave-P3 Output Format
215
+
216
+ ```
217
+ ## Wave-P3 — Gate-Passage Re-Attack Results (gate: {which gate declared PASS})
218
+
219
+ | Dimension | Attack Result | Discovered Items | Fix Required |
220
+ |:---:|:---:|---|:---:|
221
+ | Wave-P3a (Coverage) | Succeeded/Failed | [gaps or none] | Y/N |
222
+ | Wave-P3b (Narrative) | Succeeded/Failed | [residue or none] | Y/N |
223
+ | Wave-P3c (False-confidence) | Succeeded/Failed | [missing or none] | Y/N |
224
+
225
+ ✅ Real PASS → persona-innovator: [N new pattern/rule candidates]
226
+ ❌ Fix required, re-run (round N)
227
+ ```
228
+
229
+ ---
230
+
173
231
  ## §Wave5 — Multi-Team Adversarial Panel (Full Spec)
174
232
 
175
233
  **Activation**: After Wave 1~4 convergence + A-grade items remain. `--sidecar` flag or "run sidecar wave".