@chrono-meta/fh-gate 1.4.62 → 1.4.63

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.62",
14
+ "version": "1.4.63",
15
15
  "description": "Hub meta-operations toolkit — 34 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.62",
20
+ "version": "1.4.63",
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
  }
@@ -16,7 +16,7 @@ scope: meta-harness
16
16
  > directive.
17
17
  >
18
18
  > **Consumer status**: sim-conductor extension **SHIPPED 2026-06-20** (same session as this schema) —
19
- > Persona Discovery ② now fills these 6 slots instead of an ad-hoc directive; §Scale gained the Crowd
19
+ > Persona Discovery ② now fills these slots (7 as of 2026-07-18 — stance added) instead of an ad-hoc directive; §Scale gained the Crowd
20
20
  > tier (16-cap lifted behind the marginal-coverage stop) + cost-tier routing; Step 5 adds the graduate
21
21
  > step with the admission test below. The A4 clocked write-off trigger is therefore **resolved** — this
22
22
  > doc has a live consumer.
@@ -25,7 +25,7 @@ scope: meta-harness
25
25
  > reviewed → which gates fire); this profiles the **persona** (who reviews). TPA's profile *drives*
26
26
  > which personas to synthesize — they pair, they do not overlap (zero shared fields).
27
27
 
28
- ## The container — 6 slots
28
+ ## The container — 7 slots
29
29
 
30
30
  A synthesized persona is a filled instance of these slots. (Empirically used 2026-06-20 to synthesize
31
31
  blind `newcomer` / `red-team` / `vulnerable-user` personas that found a real grounding bug a
@@ -38,8 +38,22 @@ design-aware inline pass missed.)
38
38
  | **external grounding** | the real artifact files the persona MUST read + (optional) external-search queries that ground the persona in real data | a persona ungrounded in the artifact hallucinates; cheap bounded grounding keeps it economical |
39
39
  | **output protocol** | **reuses sim-conductor Step 1.5 parallax shape** (single source — do not re-spec here; it already defines Strengths / Concerns / Open-questions / Absence-check) | one shape across all personas → cross-persona agreement is meaningful (`[[multi-persona-review]]`) |
40
40
  | **cost tier** | which model runs this persona (floor-local · heavy-local · frontier) | the economy lever — see §Multi-LLM tier distribution |
41
+ | **stance (온도)** | delivery temperature the persona speaks with: friendly · neutral · hostile (optional — default neutral) | conscious pressure control: the same cast serves onboarding-warmth and red-team pressure without forking personas; field-harvested from a qasp resident-persona pattern (2026-07-18) |
41
42
  | **lifecycle** | synthesized · validated · graduated (see §Lifecycle) | most personas stay ephemeral; only proven ones graduate |
42
43
 
44
+ **Stance invariant** (the orthogonality guard of this slot — same shape as CLAUDE.md §Voice/Tone):
45
+ stance is a **delivery layer only** and never moves the evidence bar — a hostile persona reports the
46
+ same M-grade findings a friendly one must, and a friendly persona never withholds one to stay warm.
47
+ If two stances of the same persona disagree on *what is a finding* (not how it is said), the stance
48
+ layer has leaked into judgment and that run is invalid. Dispatchers (sim-conductor and any
49
+ persona-dispatch skill) fill the slot when synthesizing — an omitted stance is **recorded as explicit
50
+ neutral** (so "optional" never means "unfilled": the slot always carries a value the run log can cite);
51
+ graduated personas record which stances they were validated at. **Unmechanized residual** (honest
52
+ scope): leak *detection* has no mechanical path yet — no dispatcher runs the same persona at two
53
+ stances to compare finding-sets, so this invariant is salience-enforced; mechanizing it (a paired-stance
54
+ probe) is deliberately deferred behind the n≥2 rule. (Origin: qasp stance parameter, first meta-level
55
+ formalization here — n=1 field use.)
56
+
43
57
  **Isolation invariant**: a synthesized persona dispatches as an **isolated** agent (no main-session
44
58
  context inherited). Isolation is the FH mechanism that keeps a blind reaction honest — a `newcomer`
45
59
  that knows the design intent is not a newcomer. (2026-06-20: the blind-container personas found
@@ -138,7 +152,7 @@ point (cost-efficiency > build-and-demolish).
138
152
 
139
153
  `sim-conductor` is the runner that **fills** these slots instead of injecting an ad-hoc role directive.
140
154
  The shipped extension (through the FH 4-axis gate, HITL): sim-conductor's Persona Discovery ② reads this
141
- schema and fills the 6 slots; §Scale lifts its 3–16 cap behind the marginal-coverage stop (Crowd tier)
155
+ schema and fills the slots (7 as of 2026-07-18); §Scale lifts its 3–16 cap behind the marginal-coverage stop (Crowd tier)
142
156
  and assigns `cost tier` per persona for multi-LLM distribution; Step 5 adds the graduate step. Routing
143
157
  decided by `[[asset-placement-gate]]` (2026-06-20): **not a new forked skill** (≈60–70% overlap with
144
158
  sim-conductor's runner role) — this schema is the net-new asset, sim-conductor is extended to consume it.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@chrono-meta/fh-gate",
3
- "version": "1.4.62",
3
+ "version": "1.4.63",
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.62",
3
+ "version": "1.4.63",
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.62",
3
+ "version": "1.4.63",
4
4
  "engines": {
5
5
  "claudeCode": ">=1.0.0"
6
6
  },
@@ -9,7 +9,7 @@ model-note: session-inherit — Sonnet base is first-class (sonnet_floor_doctrin
9
9
  # sim-conductor — Meta-Simulation Automation Orchestrator
10
10
 
11
11
  > Profiles target → derives personas → dispatches parallel agents → M/S/R triage → commit.
12
- > Personas are sourced installed-first → **filled from the persona-container schema** (6 slots, not an
12
+ > Personas are sourced installed-first → **filled from the persona-container schema** (7 slots as of 2026-07-18 — stance added, not an
13
13
  > ad-hoc directive) → external install. Scale: 3 to 16, extensible to a crowd behind the
14
14
  > marginal-coverage stop (§Scale).
15
15
 
@@ -99,8 +99,8 @@ Recommendation:
99
99
 
100
100
  #### Persona Discovery (after profile → before dispatch)
101
101
 
102
- > **Schema**: `knowledge/shared/harness-core/persona_container_schema.md` — the 6-slot persona-definition
103
- > container. ② below **fills** these slots (lens / internal-logic / external-grounding / output-protocol
102
+ > **Schema**: `knowledge/shared/harness-core/persona_container_schema.md` — the 7-slot persona-definition
103
+ > container. ② below **fills** these slots (lens / internal-logic / external-grounding / output-protocol / stance
104
104
  > / cost-tier / lifecycle) instead of injecting a shapeless directive. The container is what makes a
105
105
  > synthesized persona reproducible and cost-routable; the old "fallback palette" was undefined.
106
106
 
@@ -109,7 +109,7 @@ After profiling, sim-conductor determines the needed perspective types, then map
109
109
  ```
110
110
  For each needed perspective:
111
111
  ① Scan installed plugins + .claude/agents/ → exact match? → use it
112
- ② Fill the 6-slot persona container — lens · internal-logic · external-grounding · output-protocol
112
+ ② Fill the 7-slot persona container — lens · internal-logic · external-grounding · output-protocol · stance
113
113
  (= Step 1.5 parallax shape) · cost-tier · lifecycle → a defined, reproducible persona; the filled
114
114
  container IS the dispatch prompt (replaces the old ad-hoc "fallback palette" directive). Assign
115
115
  the cost-tier slot per §Scale cost-tier routing. [Schema: persona_container_schema.md]
@@ -123,8 +123,8 @@ Persona Discovery output:
123
123
 
124
124
  ```
125
125
  Persona Map:
126
- beginner → [installed agent: beginner] OR [filled 6-slot container]
127
- challenger → [installed agent: challenger] OR [filled 6-slot container]
126
+ beginner → [installed agent: beginner] OR [filled 7-slot container]
127
+ challenger → [installed agent: challenger] OR [filled 7-slot container]
128
128
  [profile-specific role] → ⚠️ GAP — plugin-recommender recommends: [X] (install? y/n)
129
129
  ```
130
130
 
@@ -213,7 +213,7 @@ sim-conductor does **not** run a fixed persona set. It derives needed perspectiv
213
213
 
214
214
  ```
215
215
  ① Installed first — scan installed plugins + .claude/agents/ for a matching persona/agent
216
- ② Container fill — fill the 6-slot persona container for the standpoint; the filled container IS the
216
+ ② Container fill — fill the 7-slot persona container for the standpoint; the filled container IS the
217
217
  dispatch prompt into a general-purpose Agent (Path B — replaces the old ad-hoc role directive)
218
218
  ③ External fetch — chain to /plugin-recommender when ①② insufficient for high-stakes tasks
219
219
  ```
@@ -231,7 +231,7 @@ FH ships a coherent **user-mastery spectrum** as real, reusable agents (not prom
231
231
 
232
232
  > **Lineage**: `beginner` / `main-player` / `expert` are the FH-native frontier successors to the field deep-insight `user` group (newcomer / power-user) — re-derived to FH grade with embedded methodology + Done-When, not name-copied. `challenger` is the advanced form of the field `devil-advocate`. The former standalone skeptic standpoint is folded into `challenger` U1.
233
233
 
234
- **Ad-hoc roles** (② tier — container fill): when the profile demands a standpoint with no shipped agent (e.g. "security auditor", "non-native reader"), fill the 6-slot persona container for that standpoint — the filled container is the dispatch prompt. Prefer ① shipped agents; use ② only for genuinely task-specific one-offs.
234
+ **Ad-hoc roles** (② tier — container fill): when the profile demands a standpoint with no shipped agent (e.g. "security auditor", "non-native reader"), fill the 7-slot persona container for that standpoint — the filled container is the dispatch prompt. Prefer ① shipped agents; use ② only for genuinely task-specific one-offs.
235
235
 
236
236
  #### Scale
237
237
 
@@ -329,7 +329,7 @@ Persona composition adapts to `artifact_type` from Step 0.3 profile:
329
329
  | Prompt / config | `beginner` | challenger | Interpretation errors, implicit assumptions |
330
330
  | Auth / security-sensitive | challenger + Security-auditor† | `main-player` (Heavy) | Attack surface, privilege escalation |
331
331
 
332
- † Security-auditor = ② tier — the 6-slot persona container filled for a security-auditor standpoint.
332
+ † Security-auditor = ② tier — the 7-slot persona container filled for a security-auditor standpoint.
333
333
 
334
334
  All personas run in parallel. Findings = M/S/R → M-tier items fixed immediately.
335
335