@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.
- package/.claude-plugin/marketplace.json +2 -2
- package/knowledge/shared/harness-core/persona_container_schema.md +17 -3
- package/package.json +1 -1
- package/plugins/fh-commons/.claude-plugin/plugin.json +1 -1
- package/plugins/fh-meta/.claude-plugin/plugin.json +1 -1
- package/plugins/fh-meta/skills/sim-conductor/SKILL.md +9 -9
|
@@ -11,13 +11,13 @@
|
|
|
11
11
|
"plugins": [
|
|
12
12
|
{
|
|
13
13
|
"name": "fh-meta",
|
|
14
|
-
"version": "1.4.
|
|
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.
|
|
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
|
|
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 —
|
|
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
|
|
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
|
@@ -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** (
|
|
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
|
|
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
|
|
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
|
|
127
|
-
challenger → [installed agent: challenger] OR [filled
|
|
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
|
|
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
|
|
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
|
|
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
|
|