@chrono-meta/fh-gate 1.4.11 → 1.4.13

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 (2) hide show
  1. package/CLAUDE.md +27 -0
  2. package/package.json +1 -1
package/CLAUDE.md CHANGED
@@ -103,6 +103,8 @@ Simplification guard: trivial denials with one obvious fix → state block + sin
103
103
 
104
104
  **4-step summary**: ① Auto-read CLAUDE.md + CATALOG + session card + registry scan → ② One-line proposal (new user / exploratory / returning branches) → ③ 5-skill cascade (plugin-recommender → synergy → .claudeignore → model → verify) → ④ Approval + setup
105
105
 
106
+ **Returning-user door skeleton (summary-level — applies even if the detail file read is skipped; returning users only, new/exploratory branches stay in the detail file)**: open with the fixed 3-door menu — *"① Connect/map a project · ② Work on a mapped project — {field candidates} · ③ FH self-development — {FH worklist}"* — composing session-card candidates **into doors ②/③**, never as a raw priority dump that replaces the menu. An urgent open item (time-windowed handoff · blocking external deadline) outranks the menu; an explicit task utterance skips it entirely (see Guards below); cadence reminders (§Cadence Rules) ride below it, they don't displace it. Canonical source: `fh_detail_protocols.md` Step 2 §Returning user — keep door labels in sync.
107
+
106
108
  **Identity marker**: every greeting response (Step ②) opens with 🐿️ on its own line. FH's session-start signal — see `fh_detail_protocols.md` Step 2 for full greeting templates.
107
109
 
108
110
  **Guards**: explicit task-entry utterance → skip onboarding · once per session · code/debug requests → start working directly · project routing is a suggestion, mention at most once
@@ -153,6 +155,31 @@ FH asset modified → Axis 1 (regression_guard.sh --pr {BRANCH})
153
155
 
154
156
  **Unavailable axis**: If steel-quench or phantom-quench are not installed, note `Axis N: skipped (skill unavailable)` and proceed. Axis 1 PASS alone is sufficient to unblock a PR when Axes 2–3 are unavailable. Axis 4 (edit-manifest): if the skill is not installed, substitute a manual one-line prediction appended to `tracks/_meta/edit_manifest.yaml` — the record is what matters, not the skill.
155
157
 
158
+ **Target-tier sim gate (Mode D supplement — all change classes: fix, improvement, new asset)**: the
159
+ discriminator is not the change class but the **enforcement column**: does the asset's effect depend on
160
+ a session *following prose instructions* (salience-dependent — rules, onboarding scaffolds, SKILL.md
161
+ trigger behavior), or is it mechanically enforced (hooks, scripts — tier-independent, normal 4-axis
162
+ path, exempt)? For salience-dependent changes, verify with a **blind simulation in an isolated Agent**
163
+ (no main-session reasoning inherited — isolation is the FH mechanism that keeps the sim honest) with
164
+ `model:` pinned to the tier the change must survive on. Application strength scales with context:
165
+ - **Mode D (FH self-dev) — near-mandatory**: any salience-dependent FH asset change runs the sim
166
+ before Done. Mandatory without exception when the change fixes a behavioral miss *observed* on a
167
+ specific tier — sim at that same tier (the verification tier must match the failure tier; fixing on
168
+ a stronger model and verifying by review alone leaves "does it fire on the weaker tier?" unanswered).
169
+ - **Field harness assets (templates/ propagated via Full-Harness Mode) — conditional**: sim at the
170
+ default field tier (Sonnet) when the behavior is load-bearing (gates, onboarding, destructive/publish
171
+ paths); skip with a one-line note for low-stakes prose.
172
+ - **Light mapping (tracks/ registration, CATALOG entries) — exempt**, alongside mechanical changes
173
+ (hook logic, scripts, file moves — tier-independent by construction).
174
+
175
+ **Autonomy floor**: the skip/run *judgment* on conditional cases is itself depth-sensitive — trust it
176
+ only at opus-tier or above. A below-floor orchestrator does not silently skip: it runs the sim or asks
177
+ the operator (one line), mirroring §Floor governance.
178
+
179
+ If `model:`-pinned dispatch is unavailable (plan/billing gate), fall back to a cross-session headless
180
+ run (`claude -p "<trigger>" --model <tier>` in the target cwd) — stronger isolation, zero instruction
181
+ contamination. Record sim results in the Axes 2–3 marker + sub-agent invocation log.
182
+
156
183
  **Axis ownership** (each skill is already complete — orchestrator only coordinates):
157
184
 
158
185
  | Axis | Skill | What it catches |
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@chrono-meta/fh-gate",
3
- "version": "1.4.11",
3
+ "version": "1.4.13",
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": [