@chrono-meta/fh-gate 1.4.56 → 1.4.57

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.
@@ -11,13 +11,13 @@
11
11
  "plugins": [
12
12
  {
13
13
  "name": "fh-meta",
14
- "version": "1.4.56",
14
+ "version": "1.4.57",
15
15
  "description": "Hub meta-operations toolkit — 33 skills + 7 agents. New in 1.4.53: `fh-codex-doctor` (npm bin) — Codex adapter drift scanner; reads the documented M1/M2/M3 skill tier map + skill/agent source and reports codex-native/adapter-required/claude-native/unclassified per unit, wired into `npm test`/`prepublishOnly` (fail-closed on unclassified Claude-native primitives). New in 1.4.49: steel-quench gains Step 0.6 Verdict-Invariance Probe (groundedness axis — a load-bearing judged gate's verdict must track behavior, not rubric phrasing; measured flip-count over cross-family paraphrases; arXiv:2605.06161 Policy Invariance anchor); multi_model_sidecar_strategy §Vendor-native harness (a model is strongest in its own vendor CLI — Claude/CC, GPT/codex, Gemini/Antigravity; a universal router degrades all of them, so it stays an autocomplete/QA sidecar, never orchestration); predelete_check.sh fail-closed rewrite; memory-hygiene A-TMA anchor. New in 1.4.48: phantom-quench + steel-quench gain external frontier anchors (arXiv:2607.02052 package-hallucination; arXiv:2607.02057 prompt-coverage-adequacy); README model-flat claim reframed from a per-release point-curve to structural invariants (operation flattens across tiers; depth tier-order fixed within a generation). New in 1.4.47: onboarding step ① surfaces the Mode D companion-store session-start load in the auto-read salience anchor (previously only in the local binding + rules, so a greeting could skip the load). New in 1.4.46: context-doctor command-output axis (route to rtk/proxy for verbose CLI stdout, complementing .claudeignore; risk-gated to token-scarce envs). New in 1.4.41: context-doctor 2026 trigger vocab (context engineering/rot/collapse) + phantom-citation hardening; hub measurement-integrity-checklist (cross-model measurement pre-flight: display-name pin/reps≥3/discriminating probe). New in 1.4.40: install-wizard queryable-wiki scaffold (INDEX + session-start read + R/W/C ingest). New in 1.4.39: auto-decorrelation (cross-family verifier sidecar recruitment) + video-ingest (capability-routed video ingestion). New in 1.4.x: verify-axis check-class taxonomy (mandatory-pass/measured/judged), no-reinvention Tier-0 inventory, 7-class failure taxonomy, Destructive-Op Gate, Wave-T (Temper), tier-floor governance, Mode D Model Notice, FC consent lane, default-Sonnet guidance. New in 1.3.0: public-surface-audit, field-harvest Mode B auto-trigger, 4-axis gate scope ext. Validated cross-CLI: Claude Code, Codex, Gemini.",
16
16
  "source": "./plugins/fh-meta"
17
17
  },
18
18
  {
19
19
  "name": "fh-commons",
20
- "version": "1.4.56",
20
+ "version": "1.4.57",
21
21
  "description": "Project-agnostic utility skills — 4 skills (convergence-loop · deliberation · mcp-circuit-breaker · token-budget-gate) + 1 agent (quench-challenger). Domain-independent utilities transplantable into any project.",
22
22
  "source": "./plugins/fh-commons"
23
23
  }
package/CLAUDE.md CHANGED
@@ -148,7 +148,7 @@ Simplification guard: trivial denials with one obvious fix → state block + sin
148
148
 
149
149
  **Greeting branch + door skeleton (summary-level — applies even if the detail file read is skipped)**: the branch test is **mechanical local state — session files under `tracks/`** — never git log / CATALOG residue (a fresh clone carries full history but zero session files: it is a NEW install — origin: a fresh-clone sonnet sim rendered the returning menu off commit messages, `fh_signal_2026-06-11` FP8). Every variant opens with **🐿️ then an identity-revealing welcome line on the SAME line** (🐿️ is no longer alone on its own line), followed by the menu — one salience unit, not a separate rule. (Put a space after 🐿️; the exact count is **not significant** — a markdown renderer collapses multiple mid-line spaces to one — so the verifiable invariant is *same-line*, NOT a space count.) Welcome line by branch: new / exploratory = "Welcome to FH." · returning = "Welcome back to FH." · operator (FH-dev state) = "The FH operator — good to see you." (rendered in the user's language **as a plain, natural translation of the pinned phrase — not an invented coinage** (cf. the operator-caught `안 조종실…` mistranslation); the lid/onboarding-smoothness matters even though it is not the substance).
150
150
 
151
- - **New user** (no session files AND no mapped project tracks under `tracks/` — fresh clone/install; underscore meta dirs `_meta`/`_audit`/`_contrib` don't count): 2-door starter, never the returning menu —
151
+ - **New user** (no session files AND no mapped project tracks under `tracks/` — fresh clone/install; **any underscore-prefixed dir** (`tracks/_*` `_meta`/`_audit`/`_contrib`/`_chamber`…) doesn't count, general rule not a closed list — `_chamber` holds incubation chamber runs, never mapped projects): 2-door starter, never the returning menu —
152
152
 
153
153
  > 🐿️ **Welcome to FH.** *Looks like you're new here! ① Create your first project (guided) · ② Map an existing project — and I can run `/install-wizard` to finish initial setup.*
154
154
 
@@ -67,7 +67,7 @@ install too — `/install-wizard` records HUB/ROOT so the runtime never guesses;
67
67
 
68
68
  Identity marker: every greeting response opens with **🐿️ then an identity-revealing welcome line on the same line** (a space after 🐿️; exact count not significant — the renderer collapses multiple mid-line spaces — the invariant is *same-line*, not 🐿️ alone) — new / exploratory = "Welcome to FH." · returning = "Welcome back to FH." · operator (FH-dev state) = "The FH operator — good to see you." This is FH's session-start signal — friendly, consistent, distinct; the onboarding-smoothness / lid matters even though it is not the substance. The marker + welcome are **part of each skeleton itself** (one salience unit with the menu — do not strip it when composing doors; mirrored in CLAUDE.md §Active Onboarding).
69
69
 
70
- **Branch test (mechanical — local state only)**: returning = session files exist (any `tracks/**/session_*.md` or `tracks/_meta/*.md` beyond `.gitkeep`) **OR** mapped project tracks exist (`tracks/{name}/` dirs — underscore meta dirs `_meta`/`_audit`/`_contrib` don't count; covers mapped-but-not-yet-synced users). **Never infer the branch from git log or CATALOG residue** — a fresh clone carries full commit history but zero session files: it is a NEW install (origin: fresh-clone sonnet sim rendered the returning menu off commit messages, `fh_signal_2026-06-11` FP8).
70
+ **Branch test (mechanical — local state only)**: returning = session files exist (any `tracks/**/session_*.md` or `tracks/_meta/*.md` beyond `.gitkeep`) **OR** mapped project tracks exist (`tracks/{name}/` dirs — **any underscore-prefixed dir doesn't count** (`tracks/_*`, general rule not a closed list: `_meta`/`_audit`/`_contrib`/`_chamber`…); covers mapped-but-not-yet-synced users). **Never infer the branch from git log or CATALOG residue** — a fresh clone carries full commit history but zero session files: it is a NEW install (origin: fresh-clone sonnet sim rendered the returning menu off commit messages, `fh_signal_2026-06-11` FP8).
71
71
 
72
72
  **New user** (neither condition holds — fresh clone/install): 2-door starter, never the returning menu —
73
73
  > 🐿️ **Welcome to FH.** *Looks like you're new here! ① Create your first project (guided) · ② Map an existing project — and I can run `/install-wizard` to finish initial setup.*
@@ -85,12 +85,30 @@ chamber, then landed in the field repo.
85
85
 
86
86
  **Minimal execution skeleton (when the operator accepts simulate-first)**: the procedure is currently
87
87
  *judged/ad-hoc*, standardization deferred to a second real occurrence (measured-trigger, per the
88
- evidence-threshold build discipline): ① open a chamber workspace (a worktree or `tracks/{project}-sim/`
89
- — never a real project repo); ② scope the run through `goal-quench`'s budget gate (chamber runs are the
90
- expensive pathcap them); drive the simulation with existing FH assets (dispatch, gates, live
91
- surfaces as needed); the emit judgment "the simulation holds"is a *judged* call paired with the
92
- run's own mechanical evidence (tests passing, gate verdicts, reproduced flows), decided **with the
93
- operator (HITL)**; on emit, route through Full-Harness Mode / field scaffolds as usual.
88
+ evidence-threshold build discipline): ① open a chamber workspace (a worktree or `tracks/_chamber/{project}/`
89
+ — never a real project repo; the underscore prefix rides the onboarding carve-out for meta dirs
90
+ (any `tracks/_*` dir general rule, stated as such in the branch tests), so a **chamber run** never
91
+ registers as a mapped project and never pollutes the returning-menu door counts — a
92
+ `tracks/{project}-sim/` path would); scope the run through `goal-quench`'s budget
93
+ gate (chamber runs are the expensive path cap them); drive the simulation with existing FH assets
94
+ (dispatch, gates, live surfaces as needed); ④ the **Emission Gate** — the emit judgment "the simulation
95
+ holds" — is a *judged* call paired with the run's own mechanical evidence (tests passing, gate verdicts,
96
+ reproduced flows), decided **with the operator (HITL)**; ⑤ on emit, route through Full-Harness Mode /
97
+ field scaffolds as usual (`auto_project_mapping.md §6` — that mode is also this chamber's emit terminus).
98
+
99
+ *Vocabulary reservation (term hygiene, not standardization)*: a run of this skeleton is a **chamber
100
+ run** — going forward, run/workspace/log labels use "chamber" for incubation and keep "sim/simulation"
101
+ for *verification* sims (target-tier blind sim, sim-conductor persona sims). Established names are
102
+ grandfathered, not renamed: the Autopilot branch stays **simulate-first**, and this section's
103
+ "simulation holds" phrasing stands — the reservation governs new labels (grep keys), not existing
104
+ doctrine prose. The Emission Gate and chamber-run labels exist so a second real occurrence is
105
+ recoverable from logs; the procedure itself stays evidence-gated as above.
106
+ *Routing baseline (measured)*: the Autopilot's simulate-first routing branch passed a Step 0.5
107
+ trigger-accuracy probe 2026-07-13 — 10/10 blind Sonnet sims (5 should-fire incl. 2 borderline, 5
108
+ should-not-fire incl. 3 borderline near-misses), 0 malformed verdicts. Scope honestly: an
109
+ authored-case baseline (single-draw per case; reps waived per measurement-integrity since every
110
+ first draw matched expected — see the 2026-07-13 subagent-invocations log entry), not a calibrated
111
+ accuracy estimate.
94
112
 
95
113
  **Incubation unit — projects AND features**: incubation applies not only to new projects but to **new
96
114
  capabilities of an existing harness**. A field harness's self-development is itself run inside the
@@ -66,7 +66,7 @@ Mapping complete: N projects
66
66
 
67
67
  Basic mapping (steps 1–5) registers a project *lightly* (tracks/ + a starter CLAUDE.md + hub link). **Full-Harness Mode adds the project-local harness assets** — identity ① (Control Tower) propagating harness structure to a connected project; the *how* is executed via the Core Axis.
68
68
 
69
- **Scope**: target *mapped* projects only. For FH-self setup / acceleration baseline (zshrc, sentinels, the FH self-gate) use `/install-wizard` — do **not** run §6 on the FH hub itself. **Prerequisite**: the project is already mapped (steps 1–5); §6 is strictly additive.
69
+ **Scope**: target *mapped* projects only. For FH-self setup / acceleration baseline (zshrc, sentinels, the FH self-gate) use `/install-wizard` — do **not** run §6 on the FH hub itself. **Prerequisite**: the project is already mapped (steps 1–5); §6 is strictly additive. This mode is also the **emit terminus of a chamber run** — a simulate-first incubation that holds routes here on emit (`harness_incubator_doctrine.md §3` Minimal execution skeleton ⑤).
70
70
 
71
71
  **Triggers**: "harness-ify this project", "full harness setup", "프로젝트 하네스화", "promote to full harness", or an opt-in prompt offered right after a basic mapping (*"Promote {project} to a full harness now?"*).
72
72
 
@@ -121,6 +121,7 @@ The scaffold **enforces the creation gate by construction** — a field skill is
121
121
  - **Do not overwrite existing project files** — if CLAUDE.md exists, propose block addition only
122
122
  - **Warn when large monorepo detected** — repos with 10+ subprojects: ask "Which subproject is the track unit?"
123
123
  - **Name collision** — if track name already exists, ask user to specify a new track name
124
+ - **Underscore prefix reserved** — a track name must not start with `_`: `tracks/_*` is the meta/chamber namespace the onboarding branch tests exclude from project counts (`_meta`/`_audit`/`_contrib`/`_chamber`…). Mapping a project as `tracks/_foo/` would make it invisible to the menu — rename (e.g. strip the underscore) before mapping
124
125
  - **Pre-existing `.claude/` config is untrusted input, not a mapping detail** — a candidate project
125
126
  (step 1 scan) may already carry a `.claude/settings.json` from a source FH did not author (a clone,
126
127
  a fork, a prior contributor). Two disclosed Claude Code CVEs show that file class is a live RCE /
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@chrono-meta/fh-gate",
3
- "version": "1.4.56",
3
+ "version": "1.4.57",
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,6 +1,6 @@
1
1
  {
2
2
  "name": "fh-commons",
3
- "version": "1.4.56",
3
+ "version": "1.4.57",
4
4
  "engines": {
5
5
  "claudeCode": ">=1.0.0"
6
6
  },
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fh-meta",
3
- "version": "1.4.56",
3
+ "version": "1.4.57",
4
4
  "engines": {
5
5
  "claudeCode": ">=1.0.0"
6
6
  },