@chrono-meta/fh-gate 1.4.1 → 1.4.3
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
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
name: fact-checker
|
|
3
3
|
description: Use when (1) about to recommend an asset, skill, or agent that may already exist in the hub, (2) memory or docs contain stale facts, dates, or references, or (3) duplicate work is suspected. Greps hub assets and reports findings. Not for general code review or external persona audits.
|
|
4
4
|
tools: Read, Grep, Glob
|
|
5
|
-
version: 0.
|
|
5
|
+
version: 0.4
|
|
6
6
|
---
|
|
7
7
|
|
|
8
8
|
> **Note:** In external user install environments, the install user is the fact-check verification subject. Hub-wide grep scope = the user's own environment (v0.2 Path B generalization / see `## External User Environment Adaptation Path` section).
|
|
@@ -30,6 +30,7 @@ Direct factual errors in the asset under check:
|
|
|
30
30
|
- Counter mismatches (e.g., description says "3 items" but body lists 5)
|
|
31
31
|
- Cross-reference broken (file path no longer exists)
|
|
32
32
|
- Outdated claim ("X is the latest" but X is superseded)
|
|
33
|
+
- **Provenance-surface leak** (npm-shipped citation hygiene — see rule below): a provenance / `Basis:` / `Source:` / citation line in a **publicly shipped** asset names a private companion store, private issue repo, operator handle, or company tool/asset (e.g. `<org>/<private-companion>#N`, an internal tool codename) instead of a generic reference
|
|
33
34
|
|
|
34
35
|
### Broad definition — missed grep / redundant work
|
|
35
36
|
|
|
@@ -40,6 +41,28 @@ Recommendations or new work that should have grep-verified existing assets first
|
|
|
40
41
|
- Proposing an action already discussed in CATALOG / session logs
|
|
41
42
|
- Re-deriving a definition or framework that already exists
|
|
42
43
|
|
|
44
|
+
## Provenance-surface rule (narrow-class — npm-shipped citation hygiene)
|
|
45
|
+
|
|
46
|
+
When the asset under check is **publicly shipped** — a member of `package.json` `files[]` (skills, agents,
|
|
47
|
+
README, AGENTS/CLAUDE/CATALOG/CHEATSHEET, docs) — its provenance lines must cite **generically**. A
|
|
48
|
+
reverse-import `Basis:`, a `Source:`, or any citation that names an operator-private or company-internal
|
|
49
|
+
token is a narrow-class leak, flagged `N`.
|
|
50
|
+
|
|
51
|
+
| Private/company token (do NOT ship) | Generic form to cite instead |
|
|
52
|
+
|---|---|
|
|
53
|
+
| private companion store / issue repo (`<org>/<private-companion>`, `…#N` issue refs) | "private companion signal" / "a companion-store signal (YYYY-MM-DD)" |
|
|
54
|
+
| operator handle (real username, home path, personal alias) | "the operator" / omit |
|
|
55
|
+
| company harness / tool / asset names (internal harness name, tool codenames, internal infra/domains) | "a field-side sister harness" / "a spec→test-case gate" / the generic capability |
|
|
56
|
+
|
|
57
|
+
The **methodology stays public — only the private name is removed.** This rule is recurring: the same class
|
|
58
|
+
leaked at npm 1.4.1 (companion names in 3 files) and 1.4.2 (a Wave-P3 `Basis` line). Flag at authoring time
|
|
59
|
+
so it never reaches publish.
|
|
60
|
+
|
|
61
|
+
**Scope boundary (no role duplication)**: you flag the *provenance/citation lines* of the asset under check —
|
|
62
|
+
a cheap authoring-time catch. The **exhaustive token scan of the whole shipped surface** is
|
|
63
|
+
`/public-surface-audit` (the pre-publish gate); defer the full sweep to it, do not re-implement it here. If
|
|
64
|
+
the caller is about to publish, your `N` finding here is a heads-up, not a substitute for that gate.
|
|
65
|
+
|
|
43
66
|
## Your output format (fixed — do not deviate)
|
|
44
67
|
|
|
45
68
|
### 1. Scope verified
|
|
@@ -118,4 +141,5 @@ External user environment = no hub-specific memory baselines. The core agent beh
|
|
|
118
141
|
|
|
119
142
|
- **v0.1** (2026-05-03) — Narrow (stale fact) + broad (missed grep) + N/B verdict baseline
|
|
120
143
|
- **v0.2** (2026-05-08) — Path B generalization + 4-area grep scope expansion + cross-ref updates + meta self-proof circuit self-fact-check path
|
|
121
|
-
- **
|
|
144
|
+
- **v0.3** (2026-05-08 external user perspective refinement) — Self-X circuit matrix cross-ref (self-fact-check path formalized) + external user scenario refinement (user environment asset matrix auto-mapping + 4-area 5-step grep scope external environment auto-adaptation)
|
|
145
|
+
- **current = v0.4** (2026-06-08) — Provenance-surface rule added (narrow-class npm-shipped citation hygiene): publicly shipped assets must cite provenance generically, never naming private companion/issue repos, operator handles, or company tool/asset names. Recurring leak class (npm 1.4.1 + 1.4.2). Exhaustive scan deferred to `/public-surface-audit` (no role duplication).
|
|
@@ -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** (
|
|
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".
|