@chrono-meta/fh-gate 1.4.97 → 1.4.99

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 (44) hide show
  1. package/.claude-plugin/marketplace.json +2 -2
  2. package/CATALOG.md +19 -0
  3. package/CHEATSHEET.md +9 -1
  4. package/CLAUDE.md +28 -2
  5. package/README.ja.md +229 -42
  6. package/README.ko.md +241 -45
  7. package/README.md +168 -31
  8. package/README.zh.md +219 -40
  9. package/docs/OUTPUT_EVIDENCE.md +21 -12
  10. package/docs/pillars.svg +3 -7
  11. package/knowledge/shared/harness-core/fh_ecosystem_positioning.md +2 -0
  12. package/knowledge/shared/harness-core/fh_global_positioning_and_distribution_roadmap.md +136 -0
  13. package/knowledge/shared/harness-core/fh_three_layer_canon.md +20 -0
  14. package/knowledge/shared/harness-core/field_verdict_crossfamily_gate.md +215 -2
  15. package/knowledge/shared/harness-core/ship_readiness_gate.md +112 -0
  16. package/knowledge/shared/learnings/subagent_invocations_log.yaml +65 -0
  17. package/package.json +5 -1
  18. package/plugins/fh-commons/.claude-plugin/plugin.json +1 -1
  19. package/plugins/fh-commons/skills/ko-tech-writer/SKILL.md +63 -12
  20. package/plugins/fh-meta/.claude-plugin/plugin.json +1 -1
  21. package/plugins/fh-meta/CHANGELOG.md +166 -0
  22. package/plugins/fh-meta/skills/auto-decorrelation/SKILL.md +30 -0
  23. package/scripts/consent_registry_check.sh +124 -1
  24. package/scripts/degrade_direction_scan.sh +10 -1
  25. package/scripts/digest_landing_check.sh +20 -4
  26. package/scripts/fh_node_check.sh +128 -1
  27. package/scripts/fh_session_load.sh +22 -2
  28. package/scripts/frontier_digest_autopilot.sh +229 -0
  29. package/scripts/lane_runner_check.sh +294 -26
  30. package/scripts/package_coverage_check.sh +17 -0
  31. package/scripts/postinstall_notice.js +34 -0
  32. package/scripts/selfcheck.sh +183 -5
  33. package/scripts/test_consent_registry.sh +99 -0
  34. package/scripts/test_degrade_scan_shell_probes.sh +75 -0
  35. package/scripts/test_field_canon_lanes.sh +29 -5
  36. package/scripts/test_lane_runner_lanes.sh +295 -0
  37. package/scripts/test_node_check_lanes.sh +217 -0
  38. package/scripts/test_selfcheck_state_lanes.sh +61 -0
  39. package/scripts/test_stale_clone_guard_lanes.sh +21 -7
  40. package/scripts/test_version_lockstep_lanes.sh +62 -0
  41. package/scripts/version_lockstep_check.sh +143 -1
  42. package/templates/.git-hooks/pre-commit +22 -1
  43. package/templates/consent_classes.yaml.example +30 -0
  44. package/templates/degrade_direction_scan.sh +10 -1
@@ -11,13 +11,13 @@
11
11
  "plugins": [
12
12
  {
13
13
  "name": "fh-meta",
14
- "version": "1.4.97",
14
+ "version": "1.4.99",
15
15
  "description": "Hub meta-operations toolkit — 35 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.97",
20
+ "version": "1.4.99",
21
21
  "description": "Project-agnostic utility skills — 5 skills (convergence-loop · deliberation · mcp-circuit-breaker · token-budget-gate · ko-tech-writer) + 1 agent (quench-challenger). Domain-independent utilities transplantable into any project.",
22
22
  "source": "./plugins/fh-commons"
23
23
  }
package/CATALOG.md CHANGED
@@ -4,6 +4,25 @@ AI reads this file first when searching past work. Open individual files for det
4
4
 
5
5
  ---
6
6
 
7
+ ## 2026-08-15 — Global positioning & distribution roadmap (Homebrew/npm compatibility)
8
+
9
+ - **New doc** (`knowledge/shared/harness-core/fh_global_positioning_and_distribution_roadmap.md`):
10
+ Antigravity/Gemini-authored positioning report — npm (`@chrono-meta/fh-gate`) is a full 152-file
11
+ portable bundle (all skills/agents/harness-core doctrine/gate machinery, everything except
12
+ `tracks/`·`knowledge/domain/`·`paper/`), not a thin gate-only checker; subscription-LLM runtimes
13
+ and a future `brew install` CLI bridge are compatible, not competing.
14
+ - **Reviewed and corrected same day** (source-grounding pass): download/agent-count figures verified
15
+ against live npm API + repo file count (both held); duplicate section numbering and a copy-paste
16
+ duplicate subheading fixed; ungrounded superlatives ("세계 최상위...") removed/hedged; the
17
+ competitor comparison table captioned as a positioning frame, not a benchmark; Phase 3 given two
18
+ explicit caveats it originally lacked — scaffolding a project structure is not the same as FH's
19
+ actual compounding (`meta-harness-thin-vs-full-distribution.md`, 2026-06-08, already-established
20
+ axis — the value accrues in `tracks/`/memory over time, not at `fh setup` time), and a new
21
+ Rust/Go binary's necessity is unevaluated against simply wrapping the already-live Node npm CLI in
22
+ a Homebrew formula.
23
+
24
+ ---
25
+
7
26
  ## 2026-08-01 — Harness-Verification Doctrine: core lens vs cluster instruments
8
27
 
9
28
  - **New doctrine** (`knowledge/shared/harness-core/harness_verification_core_extended.md`): the
package/CHEATSHEET.md CHANGED
@@ -197,7 +197,7 @@ claude plugin list
197
197
 
198
198
  ## 9.5. npx / CLI — zero-install governance gate (any repo, no Claude Code session)
199
199
 
200
- The npm package `@chrono-meta/fh-gate` runs FH's governance gate as a plain CLI — no clone, no plugin, no `claude` session. Use it in CI or any repo. It shells out to a backend (`claude --print` or `codex exec`) and returns a machine-parseable verdict + exit code.
200
+ The npm package `@chrono-meta/fh-gate` runs FH's governance gate as a plain CLI — no clone, no plugin, no `claude` session. Use it in CI or any repo. It shells out to a backend (`claude --print` or `codex exec`) and returns a machine-parseable verdict + exit code. A Homebrew tap ships the exact same content (100% parity — same npm tarball, just a different install path); prefer it if you'd rather not type `npx --package` every time.
201
201
 
202
202
  ```bash
203
203
  # Governance gate — wraps any coding agent's output as a post-generation check
@@ -211,6 +211,14 @@ FH_BACKEND=codex npx --package @chrono-meta/fh-gate fh-gate # Codex backend (d
211
211
  npx --package @chrono-meta/fh-gate fh-run --skill <name>
212
212
  npx --package @chrono-meta/fh-gate fh-goal "<goal text>" # goal runner
213
213
  npx --package @chrono-meta/fh-gate fh-codex-doctor --strict # Codex adapter drift check
214
+
215
+ # Homebrew alternative (community tap, not yet in Homebrew Core — `brew search` won't
216
+ # find it without tapping first): install once, then call the binaries directly
217
+ brew tap chrono-meta/forge-harness && brew install forge-harness
218
+ fh-gate # same as `npx --package @chrono-meta/fh-gate fh-gate`
219
+ fh-run --skill <name>
220
+ fh-goal "<goal text>"
221
+ fh-codex-doctor --strict
214
222
  ```
215
223
 
216
224
  | Knob | Values | Effect |
package/CLAUDE.md CHANGED
@@ -382,11 +382,36 @@ times and any decorrelation verdict **4** times. **Residency**: sanitize company
382
382
  pipeline**, not an afterthought, and a below-floor orchestrator RUNS the review by default
383
383
  (run-first, ask-last — `sonnet_floor_doctrine.md`).
384
384
 
385
+ **Standpoint axis (2026-08-14, orthogonal to family — §7 of the detail doc)**: family diversity
386
+ raises resolution *within* one standpoint (the author's own repo, the author's own reading of a
387
+ target's rules); it does not decorrelate the review's ground-truth source. For a **shared-body /
388
+ cross-harness-boundary** change — scoped by *effect* (alters another harness's behavior, gate
389
+ outcome, or interaction contract), not merely by touching a synced file path — the marker
390
+ additionally carries `standpoint:` — a closed enum (`tier1` content-only · `tier2(<harness>)`
391
+ peer-simulated, ran the target's own repo · `tier2b(<harness>)` same operator, target's real
392
+ runtime (local wiring visible, not independent) · `tier3(<harness>)` a *different* operator of the
393
+ target harness ran it · `not-applicable` · degrade triad `DEGRADED_NO_TARGET_ACCESS` could-not /
394
+ `DEGRADED_NOT_RUN` did-not / `UNKNOWN` did-not-look — same shape as `crossfamily:`'s triad,
395
+ **distinct literal values**, do not reuse crossfamily's tokens). Naming note: this collides in
396
+ English with FH's own persona/viewpoint sense of "standpoint" (`fh-meta:beginner`/`main-player`/
397
+ `expert`) — a different axis (which persona reviews, not whose repo is ground truth); kept as-is,
398
+ not renamed, but do not conflate the two. **Prose-only today** — unlike `crossfamily:`, no
399
+ pre-commit hook or fixture suite validates this field yet, and mechanizing it is FH's own
400
+ responsibility since a sibling harness that syncs this doctrine verbatim cannot add the check
401
+ locally; mechanize on the first recorded false value, not before. Three artifacts, one carrying two
402
+ independent trials (forge-harness PR #368, a sibling field harness's PR #8 reps=3 and its
403
+ known-answer trial, qasp-dev PR #161 as adjacent corroboration) crossed this repo's own evidence
404
+ bar the same day this was formalized — including one caught by this session's own qasp PR #161
405
+ review, not fed in externally, and a second live demonstration the same day when a cross-harness
406
+ standpoint review of this very section caught real residency and citation defects in the first
407
+ draft (fixed in the same commit that added this line).
408
+
385
409
  > **Detail**: See `knowledge/shared/harness-core/field_verdict_crossfamily_gate.md` — the discretion
386
410
  > principle, the four-faces failure signature, why same-family review misses it, the full gate
387
411
  > mechanics, the n=7 qasp field evidence incl. the **9 default-toward-PASS holes across 3 harnesses**
388
- > (2026-07-03), the named under-trigger residuals, and autonomous-loop baking read when applying
389
- > or auditing this gate.
412
+ > (2026-07-03), the named under-trigger residuals, autonomous-loop baking, and **§7 the standpoint
413
+ > axis** (field spec, trigger scope, relationship to the core/extended verification axis, evidence
414
+ > table) — read when applying or auditing this gate.
390
415
 
391
416
  ## Field-Harness Diagnostic — "진단해줘 / 개선해줘" on a mapped project (compose → rank → HITL)
392
417
 
@@ -616,6 +641,7 @@ Proposal format: `"I see [X]. Want me to run /[skill] to [one-line description]?
616
641
  | "memory feels bloated", "clean up memory", "memory too large", "memory hygiene" | `/memory-hygiene` |
617
642
  | "ready to PR", "about to push", "merge this", "PR 올려줘", FH asset changed in session | 4-axis auto-gate (see above — runs automatically, no proposal needed) |
618
643
  | **field verdict/gate/safety/irreversible code changed** in a mapped project (function returning a verdict enum / gate exit code / safety-invariant · publish/delete/history path) — **proactive, before merge** | **Field-Harness Load-Bearing Change Gate** (see above → degrade-lint → cross-family review → converge; same rigor as FH assets, applied to field code) |
644
+ | **a diff (yours or an unattended pipeline's) alters another harness's actual behavior, gate outcome, or interaction contract** — building automation that opens PRs autonomously, touching a synced/shared-body surface, or any change whose effect crosses a harness boundary (not merely a file-class match — most self-improvement is `not-applicable` here, which is the expected common case) — **proactive, before push, never as a post-PR comment** | **Standpoint axis** (`knowledge/shared/harness-core/field_verdict_crossfamily_gate.md §7` — orthogonal to `crossfamily:`; run the diff from the TARGET harness's own repo/standpoint via `tier2`/`tier2b`/`tier3`, or record `not-applicable`/`DEGRADED_*` on the closed enum. Missed once in-session while building `scripts/frontier_digest_autopilot.sh` 2026-08-15 — mis-routed to `fh-meta:hub-cc-pr-reviewer` (same-repo self-consistency, a different lens) before the operator caught it; this row exists so the next session connects the trigger without two rounds of correction.) |
619
645
  | **"진단해줘", "개선해줘", "diagnose this", "improve this harness", "check this project", "audit this project"** — said while working **in a mapped project** (not a single-file ask) | **Field-Harness Diagnostic** (see §Field-Harness Diagnostic above → compose existing checks into one ranked M/S/R list → HITL approval per item, nothing auto-fixed) |
620
646
  | **"새 프로젝트", "하네스 작성해줘", "이 프로젝트 가속화", "harness-ify this", "accelerate this project"** — an onboarding/acceleration door (returning-menu ①②③) | **Onboarding / Acceleration Autopilot** (see §Onboarding / Acceleration Autopilot above → Phase 0 auto-discover + branch → innovator-centered recommend → ranked install plan → HITL per item, non-overwriting; "끝까지 자율로" → full-autonomy under /goal-quench gate) |
621
647
 
package/README.ja.md CHANGED
@@ -8,12 +8,18 @@
8
8
  <img src="https://img.shields.io/badge/Claude_Code-compatible-a855f7.svg" alt="Claude Code">
9
9
  <a href="https://github.com/chrono-meta/forge-harness/issues/72"><img src="https://img.shields.io/badge/Codex-beta_·_help_validate-f59e0b.svg" alt="Codex-compatible beta — help validate (issue #72)"></a>
10
10
  <a href="https://www.npmjs.com/package/@chrono-meta/fh-gate"><img src="https://img.shields.io/npm/v/@chrono-meta/fh-gate.svg?color=cb3837" alt="npm"></a>
11
+ <a href="https://github.com/chrono-meta/homebrew-forge-harness"><img src="https://img.shields.io/badge/homebrew-tap-FBB040.svg" alt="Homebrew tap"></a>
12
+ <a href="https://github.com/chrono-meta/forge-harness/stargazers"><img src="https://img.shields.io/github/stars/chrono-meta/forge-harness?style=social" alt="GitHub stars"></a>
11
13
  </p>
12
14
 
13
15
  <p align="center">
14
16
  <a href="README.md">English</a> · <a href="README.ko.md">한국어</a> · <a href="README.zh.md">中文</a> · <b>日本語</b>
15
17
  </p>
16
18
 
19
+ <p align="center">
20
+ <sub>役に立ったら ⭐ が他の人の発見につながります。</sub>
21
+ </p>
22
+
17
23
  <p align="center">
18
24
  <b>あなたの Claude Code プロジェクトを鍛えて — 通せば、より速く仕上がります。</b><br>
19
25
  実務者の<b>メタハーネス (meta-harness)</b> — あなたのプロジェクトハーネスたちが暮らす銀河。<br>各プロジェクトの<b>床 (floor)</b> を上げ(設定をハーネス化)、<b>天井 (ceiling)</b> を上げた上で(作業を加速)、その利得をポートフォリオ全体に複利で積み上げます。
@@ -56,21 +62,60 @@
56
62
 
57
63
  **前提条件**: Claude Code CLI — `claude --version` で確認
58
64
 
65
+ <details><summary><b>任意: 1つのゲートが Python + PyYAML を必要とします</b> — 無いと <code>npm test</code> が赤くなります</summary>
66
+
67
+ 同意レジストリ (consent-registry) のゲートは YAML を解析し、解析できないときは**フェイルクローズ**します —
68
+ 検証されていない同意記録がきれいな記録として読まれてはいけないので、これは正しい挙動です。ただしその
69
+ フェイルクローズは、PyYAML の無いマシンでは `npm test`(および `prepublishOnly`)全体を赤にします。そして
70
+ 2026-08-12 まで、この要件は**どこにも**書かれていませんでした。いまはここに書かれています — そしてこの編集
71
+ 時点では*ここにだけ*です: `package.json` にもチートシートにも他のどの文書にも依然として無いので、このブロックが
72
+ 新しいマシンがこれを知れる唯一の場所です。これは「どこにも無い」よりは改善であって、修正ではありません:
73
+
74
+ ```bash
75
+ python3 -m pip install --user pyyaml # 確認: python3 -c 'import yaml; print(yaml.__version__)'
76
+ ```
77
+
78
+ なぜ暗黙のままにせずわざわざ書き出すのか: あるリリースが、`python3` がたまたま**無関係な別プロジェクトの
79
+ virtualenv**(PyYAML 入り)に解決されたセッションから緑で出荷されたことがあります — マシン自身の `python3` には
80
+ 入っていませんでした。ゲートは迂回されたのではなく、通ったのです。ただしその通過が可搬ではなかっただけです。
81
+ いまはそのゲートのすべての判定が、使ったインタプリタと PyYAML のバージョンを印字するので、緑が何によって
82
+ 生まれた緑なのかを読み手の推測に委ねません。
83
+
84
+ </details>
85
+
59
86
  ```bash
60
87
  # 1. プラグインをインストール
61
88
  claude plugin marketplace add https://github.com/chrono-meta/forge-harness.git
62
89
  claude plugin install -s user fh-meta@forge-harness
63
90
 
64
91
  # 2. ハブをクローン
65
- git clone https://github.com/chrono-meta/forge-harness.git ~/forge-harness
66
- cd ~/forge-harness
92
+ git clone https://github.com/chrono-meta/forge-harness.git ~/projects/forge-harness
93
+ cd ~/projects/forge-harness
67
94
 
68
95
  # 3. セッションを開始
69
96
  claude
70
97
  ```
71
98
 
72
- > ✅ Claude `CLAUDE.md` を読み、どのプロジェクトを接続するか、あるいはどの作業を始めるかを尋ねます。
99
+ > ✅ そのあと**挨拶を打ってください(「hi」)** 🚪 のドアメニューは*打たれた挨拶*に対して現れるもので、
100
+ > 起動しただけでは現れません。
73
101
  > **「プロジェクトを接続して」** と言えば → ハブが `../` をスキャンして `.git` ディレクトリを見つけ、`tracks/{project}/` を作成します。
102
+ > 初期セットアップ一式(フック · ゲート · ベースライン — 項目ごとに個別承認され、断ればそれは尊重され
103
+ > 記録されます)が欲しいときは **`/install-wizard`** と頼んでください。
104
+ > すでに別の場所にクローン済みですか? そのパスが*あなたの*ハブです — 文書中の `~/projects/forge-harness` は
105
+ > すべて、あなたの実際のクローンパスとして読み替えてください。
106
+
107
+ **最初の15分** — 成功が何に見えるか、そしてそれをどう使うか:
108
+
109
+ 1. セットアップがうまくいったことは、挨拶(「hi」)で 🚪 のドアメニューが出て、「プロジェクトを接続して」で
110
+ `tracks/{your-project}/` ができることで分かります。
111
+ 2. 次に同じセッションのうちに即効の成果を1つ取ってください: **「このプロジェクトを加速して」**(配線する
112
+ 値打ちのあるスキル/プラグインのランク付き計画、インストールはゲート付き)または
113
+ **「`/context-doctor` を回して」**(トークン浪費のスキャン)。
114
+ 3. 正直な注記が1つ: FH の中核の見返りは**複利**です — セッション記録、収穫された学習、セッションをまたぐ
115
+ 記憶。これは**セッション2以降**から効いてきます。初日に手に入るのはメニュー、加速計画、そして
116
+ ガバナンスゲートです。初日で複利を判断しないでください。
117
+
118
+ 途中で見慣れない言葉が出てきたら → [`knowledge/shared/GLOSSARY.md`](knowledge/shared/GLOSSARY.md)。
74
119
 
75
120
  **プラグインのみ(クローンなし):**
76
121
  ```bash
@@ -79,15 +124,21 @@ claude plugin install -s user fh-meta@forge-harness
79
124
  cd ~/projects/{your-project} && claude
80
125
  ```
81
126
 
82
- > ⚠️ **プラグインのみは部分シナジーです。** スキルとエージェントは得られますが **Layer 1** は得られません —
83
- > `CLAUDE.md` ガバナンス(能動オンボーディング、4軸ゲート、モード分岐)と複利文脈(`tracks/` メモリ蓄積、
84
- > `harvest-loop` 学習)が抜けます。各スキルは孤立していても同じように動きますが、抜けるのはそれらを
85
- > セッションをまたいで複利にするオーケストレーションです。道具だけでなく全体セットが欲しいなら、ハブを
86
- > クローンしてください(上記参照)。
127
+ > ⚠️ **プラグインのみは部分シナジーです。** スキルとエージェントは得られますが、**ハブ側の
128
+ > オーケストレーション**は得られません — `CLAUDE.md` のガバナンス(能動オンボーディング、4軸ゲート、
129
+ > モード分岐; 自動化層)と、複利で積み上がる文脈(`tracks/` のメモリ蓄積、`harvest-loop` の学習;
130
+ > 方法論層)です。
131
+ > 各スキルは孤立していても同じように動きます。抜けるのは、それらをセッションをまたいで複利にする
132
+ > オーケストレーションのほうです。道具だけでなく全体セットが欲しくなったら、ハブをクローンしてください(上記参照)。
87
133
 
88
- > 🚪 **初めてですか / スキルだけ欲しいですか?** 意見のこもった正面玄関から始めてください —
89
- > [`templates/starter_profile.md`](templates/starter_profile.md): インストールコマンド1つ、厳選された
90
- > 最初の5つのスキル、そしてインストール不要のガバナンスゲート(`npx fh-gate`)。残りのスキルは必要になるまで待ちます。
134
+ **どの入口があなた向きか?**
135
+
136
+ | あなたは… | ここから始める |
137
+ |---|---|
138
+ | 個人開発者、プロジェクト1つ、まず試したい | [`templates/starter_profile.md`](templates/starter_profile.md) — コマンド1つ、厳選された最初の5つのスキル |
139
+ | プロジェクトが複数、複利で積み上がるハブが欲しい | ハブをクローン(上のクイックスタート) |
140
+ | CI / 非 Claude ランタイム、ゲートだけ欲しい | `npx @chrono-meta/fh-gate`(インストール不要のガバナンスゲート) |
141
+ | `npx`/`npm` より `brew` がいい | `brew tap chrono-meta/forge-harness && brew install forge-harness` — 内容は100%同一、インストール体験だけが違います(コミュニティ tap; まだ Homebrew Core には入っていないので、先に tap しないと `brew search` では見つかりません) |
91
142
 
92
143
  ---
93
144
 
@@ -135,35 +186,147 @@ Project B ──→ CLAUDE.md でハブを接続
135
186
  この銀河はただの容れ物ではありません。FH はフィールドハーネスを**自らのサンドボックス内で
136
187
  シミュレーションとして走らせることができ** — 1回あたりは高くつきますが、試行錯誤が一箇所に集まり
137
188
  複利で積み上がるため総コストは安くなります — シミュレーションが検証されれば、その
138
- プロジェクトを独立した特化ハーネスとして**送り出します (EMIT)**。これが目指す目標です。実際には、
139
- 4つの方法で働きます:
140
-
141
- **① 組み立て (Assemble)** — FH はハーネスの*クラスター*を最適なトークンコストで運用し、プロジェクトに合う
142
- ハーネスを手に握らせます。スキルを1つずつ配線するのではなく、**ハーネス**を — そのプラグイン · スキル ·
143
- エージェントまで含めて — 合わせて組み立てた状態で受け取ります。
189
+ プロジェクトを独立した特化ハーネスとして**送り出します (EMIT)**。**この最後の一歩は目指している目標で
190
+ あって、出荷済みの機能ではありません** — インキュベーションチャンバーが送り出したのは1回きりで、それを
191
+ 生んだランは完全なフローを通っていません。シミュレーションして送り出すという文は*進む方向*として
192
+ 読んでください。その手前にあるものはすべて、今日すでに使われています。
144
193
 
145
- **② 鍛え (Forge)** *(品質ゲート)*あらゆる変更は敵対的 · ファントム · 回帰ゲートを通って自らの値打ちを
146
- 証明します。これは「もっと検査する」ではありません。**責任ルーター (responsibility router)** です: 自動化が
147
- 増えるほど人間の承認は減り1件あたりの重みは増すので、ゲートはあなたの注意を*取り返しのつかない*地点にだけ
148
- 使います。品質が梃子であり、速度はその結果です。
194
+ ### 5つの正体 (five identities) — FH は何のためにあるのか
149
195
 
150
- **③ サイドカー (Sidecar)** 能力そのものはフロンティアに置きます。FH は複数の LLM(Claude, Codex, Gemini,
151
- ローカル)へディスパッチし、raw な力が1つのモデルや1つの世代に縛られないようにします。要点は各モデルの
152
- 弱点を*機械的に埋めることではありません* — そうしたスキャフォールディングはモデルが強くなれば死んだコードに
153
- なります。要点は**フロンティアの進化に共に乗ること**です: substrate がいまやネイティブでやってくれるものは
154
- 脱ぎ捨て、新しく出してくるものは吸収します。脱相関 (decorrelation) は*いまの*信頼の梃子であり(クロス
155
- ファミリーのパネルが単一モデルの天井を超えます)、共進化 (co-evolution) が構造です。
196
+ これは5つのモジュールではなく、5つの出荷済み機能でもありません。スキルが**固まっていく形**の名前です
197
+ 上に載せた新しい層ではなく、スキルとエージェントに散らばって既にそこにあったものに名前を付けたもの
198
+ です。これはこのページ冒頭の課題表とは別のレベルにあります: あの表は*あなたが抱えて来たかもしれない
199
+ 症状*であり、こちらは*ハブが何を軸に組み立てられているか*です。
156
200
 
157
- **④ 自己進化ループ (Self-evolving loop)** ハーネスは再構築なしにより良くなります、2つの方向へ:
158
- **外へ**、各セッションの教訓がハブに複利で積み上がって次のプロジェクトがより速く始まり、**内へ**、
159
- *自分自身の*欠陥を捕まえて直します(4軸ゲート、双方向検証、ユーザー別適応)。
201
+ | | 正体 | 人が手にするもの |
202
+ |---|---|---|
203
+ | **①** | **マルチハーネスクラスター** | 1つの作業が複数のハーネスに乗り、ガバナンスはその*あいだ*で計算されます |
204
+ | **②** | **プロジェクトインキュベーター** | 新しいハーネスが空のスキャフォールドではなく、**生まれた場所で既に歩ける状態**で出てきます |
205
+ | **③** | **ガバナンスゲート** | 出してはいけないものが、覚えて確認する代わりに**機械的に**止まります |
206
+ | **④** | **フロンティア → 組織への伝播** | 外から届いたものが、組織の*内側*まで届ききります |
207
+ | **⑤** | **増幅器 (Amplifier)** | 短い意図が、完成した成果物まで鍛え上げられます |
208
+
209
+ **5つが等しく仕上がっているわけではなく、この表を「5つの動く機能」として読んではいけません。** 成熟度は
210
+ 正体ごとに4段階(`aspirational → partial → RC (ラボで立った) → REALIZED (外を歩いた)`)で追跡され、
211
+ それぞれに日付入りの証拠の行が付いています。その等級はここには**あえて写しません**: 2つのファイルに
212
+ 置かれた等級は片方が必ず腐りますし、このページは4言語で存在するので、ここに写せば写しは4つになります。
213
+ 上のどの行かに頼る前に、現在の等級を読んでください — それはファイル1つです:
214
+ [`ship_readiness_gate.md`](knowledge/shared/harness-core/ship_readiness_gate.md)。1文だけ欲しいなら、
215
+ **2026-08-15** 時点で: **③ と ⑤ は緑 — ラボの外で実証済み。①, ②, ④ はリリース候補 — 作られ較正されて
216
+ いますが、他人の手の中で歩くところはまだ示されていません。** この文とゲートファイルが食い違ったときは、
217
+ ゲートファイルが正しく、この行が古いということです。
218
+
219
+ 5つすべてを横断する性質が2つあり、どちらもオンにする機能ではありません:
220
+
221
+ - **フロンティアに継ぎを当てるのではなく、フロンティアに乗ります。** FH はファミリーをまたいで
222
+ ディスパッチします(Claude, Codex, Gemini, ローカル)— ただし要点は各モデルの弱点を埋めることでは
223
+ *ありません*。そうしたスキャフォールディングはモデルが強くなれば死ぬからです。これは共進化です:
224
+ substrate がいまやネイティブでやってくれるものは脱ぎ捨て、次に出してくるものは吸収します。
225
+ **脱相関 (decorrelation)** が*いまの*信頼の梃子であり、このページで最も荷重を担う言葉です:
226
+ 2つの検査が*違うかたちで*失敗するように意図的に仕組むこと — 別のモデルファミリーからのレビュアー、
227
+ 実際の対象に対する1回の実行、自分の記録に対する外部からの監査 — そうすれば一方が見えていないものを、
228
+ もう一方は見ています。クロスファミリーのパネルが単一モデルの天井を超えるのはまさにその理由であって、
229
+ 規模が大きいからではありません。
230
+ - **2つの方向へ進化します。** *外へ*、各セッションの教訓がハブに複利で積み上がり、次のプロジェクトが
231
+ より先から始まります。*内へ*、**自分自身の**欠陥を捕まえて直します — 同じゲートを、ハーネス自身に
232
+ 向けたものです。
160
233
 
161
234
  全体は1つの分業です: **raw な能力はモデルのもの、組み立て · 信頼 · 進化はハーネスのもの。**
162
235
 
163
- > **ここでのセルフヒーリングは主張ではなく — コミットログにあります。** まさにこの README の声のルールが
164
- > セッションの途中で、FH が自らのドリフトを捕まえて直されました: トーンのミス → 診断 → 自らの最初の修正案まで
165
- > 攻撃したクロスファミリー challenger 再修正 床ティアでの再検証メモリ反映。ハーネスが自らの欠陥を
166
- > 自分で直した実例 — スローガンではなく記録です。
236
+ ---
237
+
238
+ ## どう作られているか 工程エンジン正体
239
+
240
+ 上の5つの正体は表面です。その下に2つの層があり、3つすべてに名前を付けることが「FH は何をするのか」が
241
+ 1つの未分化な塊に潰れるのを防ぎます:
242
+
243
+ ```
244
+ 5つの正体 人が実際に使えるもの (表面 — 手に入るもの)
245
+ ↑ 支えているのは
246
+ 4大エンジン それを可能にする能力 (能力 — できること)
247
+ ↑ 生み出しているのは
248
+ 3段工程 そのエンジンを鍛える「順序」 (工程 — どう作られるか)
249
+ ```
250
+
251
+ **4大エンジン。** それぞれが上のいずれかの正体を足元で支えています。これらはこのページのために発明された
252
+ ものではありません: 出荷準備ゲートが既に、すべての正体をこの同じ4つの能力に対して専用の列で採点して
253
+ いました([`ship_readiness_gate.md`](knowledge/shared/harness-core/ship_readiness_gate.md))。ですから
254
+ 名前を付けたのは、分類体系を作る作業ではなく認識でした。
255
+
256
+ | エンジン | 何であるか | 支える正体 |
257
+ |---|---|---|
258
+ | `judgment-circuit` | 何を成功とするか、不確実なときどちらへ倒すか、何が範囲外か、何は決してやらないか — **判断の座標系** | ⑤ 増幅器 · ② インキュベーター |
259
+ | `ship-gate` | 不可逆な表面の手前での機械的な遮断 — commit, publish, delete, rewrite | ③ ガバナンスゲート |
260
+ | `context-continuity` | 圧縮 · サブエージェント · マシン · セッションをまたいで筋を見失わないこと | ① クラスター · ② インキュベーター |
261
+ | `external-grounding` | 新規性を主張したり設計を決めたりする*前に*、レポの外へ手を伸ばすこと | ④ フロンティア → 組織 |
262
+
263
+ エンジンは常に名前で書き、番号では書きません — ここの表の順序と他所の散文の順序は異なるので、
264
+ 「エンジン④」はどちらを読むかで2つの別のエンジンに復号されてしまいます。
265
+
266
+ `judgment-circuit` はもっとも誤読されやすいので、はっきり書きます: **これは「決めるための座標系」で
267
+ あって、ハーネスが何者であるかの表明ではありません。** その行にある4項目がこのエンジンのすべてです。
268
+ 日本語で「魂」のような1語に言い換えないでください — その語は*ペルソナ*として読まれますが、このエンジンの
269
+ 背後にある測定(105ラン、アイデンティティ宣言の有無でプロンプトを比較)の最大の発見は、まさにその2つが
270
+ 別物だということでした:「あなたは〜だ」を加えると、試した中で最も弱いモデルで*正味の損失*として現れ、
271
+ それを取り除くと元に戻りました。1語の言い換えは、その測定が切り分けたものをそのまま再融合させてしまいます。
272
+ 数値そのものはここではあえて引用しません — 出典がスケールを記録しておらず、スケールの無い数値を表紙に
273
+ 置けばそれは装飾だからです。数値は文脈込みで
274
+ [`ship_readiness_gate.md`](knowledge/shared/harness-core/ship_readiness_gate.md) にあります。また判断回路は
275
+ 一度に作られるものでもありません: FH は新しいハーネスに**種となる草案**を渡し、そのハーネスが実際に
276
+ 使われるなかで埋まっていきます。
277
+
278
+ **3段工程** — これはメニューではなく*投資の順序*です:
279
+
280
+ ```
281
+ ① 設計の前に回路を 判断回路が最初に入ります — 成功 · 傾け方 · 範囲外 · 決してやらないこと —
282
+ やったことの記録として後から書き起こすものではありません
283
+
284
+ ② 中間では脱相関して 作業を「違うかたちで失敗する」検査に分けて、一度に走らせます。どの違いが効くかを
285
+ 加速する 選んでください — 同じ種類のレビュアーをもう1人足すのは脱相関ではなく、同じ盲点を
286
+ 2度持つだけです。並列化それ自体には方向がなく、選ぶのは①の判断回路です。
287
+ これは「働き方」であって、③の最終検査ではありません。
288
+
289
+ ③ 最後に4つの軸で 下の4軸です。敵対的レビューはそのうちの1つであって、全部ではありません
290
+ 焼き切る
291
+ ```
292
+
293
+ **4つの検証軸** — 「レビューしました」が実際には最初の1つだけを指していた、と判明しがちな場所です。
294
+ 真ん中の列を読んでどれを取るかを決め、右の列でそれが何を捕まえるかを確かめてください:
295
+
296
+ | 軸 | こういうときに手を伸ばす | 何を捕まえるか | 典型的な計器 |
297
+ |---|---|---|---|
298
+ | **ⓐ 別ファミリー** | その変更が何かを決めるとき — PASS/FAIL、ゲート、安全ルール | **実装**が間違っている | 別のモデルファミリーからのレビュアー (`auto-decorrelation`) |
299
+ | **ⓑ 初の実使用** | 数値 · カウント · スキャンの出力を信じようとしているとき | **測り方**が間違っている | 実際の対象1件に対して一度走らせ、結果を自分の目で見る |
300
+ | **ⓒ 記録のグラウンディング** | 他人がそれを元に動く主張 · 数値 · 引用を書き留めたとき | **主張**が間違っている | 書いていない誰かが、書かれている内容を測り直す |
301
+ | **ⓓ 戻して観察する** | テスト · ガード · 検査を足して、それが自分を守っていると思っているとき | **アンカー**が間違っている — その検査は装飾だ | 守っている対象を消して、*その特定の*検査が赤くなることを確かめる |
302
+
303
+ **4つを毎回すべて回すわけではなく、それが設計です。** 1行の修正はどれも要求しません。verdict を返す
304
+ 変更は ⓐ を要求します。公表する数値は ⓑ と ⓒ を要求します。新しいガードは ⓓ を要求します。不可逆な
305
+ 表面 — publish, delete, 履歴の書き換え — は、その失敗モードがさらしている軸を要求し、迷ったときは
306
+ もう1つ回すほうに倒します。レビュアーを増やすことは、軸を1つ足すことと同じではありません。
307
+
308
+ これら4つの外側に、もう1つの軸があります。それは*何を*検査するかではなく、*誰の*グラウンドトゥルースに
309
+ 立つかを変えるからです: **standpoint(立ち位置)** — 変更が別のハーネスへまたがるとき、自分の読み方では
310
+ なく、対象側自身のレポとルールから diff を走らせてください
311
+ ([`field_verdict_crossfamily_gate.md §7`](knowledge/shared/harness-core/field_verdict_crossfamily_gate.md))。
312
+
313
+ > **正直な注記 — これはきれいな積み木ではなく、そこが要点です。** 段階①と段階③はエンジンと同じ素材で
314
+ > できているので、下の層が上の層を使っています。この矛盾は*主語*で解けます: **エンジン**は FH が
315
+ > あなたの作業に適用するものであり、**工程**は FH が自分自身のエンジンを鍛えるときに使う順序です。
316
+ > 手法を外から借りてきたのならエンジンとは無関係だったはずで、この重なりこそがドッグフーディングの
317
+ > 指紋です。各主張の背後にある標本の限界を含む完全な正典:
318
+ > [`fh_three_layer_canon.md`](knowledge/shared/harness-core/fh_three_layer_canon.md)。
319
+
320
+ > **ここでのセルフヒーリングは主張ではありません — 確かめてください。** このレポの `git log` がその記録で
321
+ > あり、同じ形が繰り返されます: 見落としが捕まり、その修正が攻撃され、そして攻撃は元のものではなく
322
+ > *修正のほう*に当たることが多い。ハッシュで開けるものが1つ — `cb74ea4`、ハーネスがセッション途中で
323
+ > レジスターをドリフトさせたあと、`CLAUDE.md §Voice/Tone` にレジスター一貫性のルールが加えられたコミット
324
+ > です。もう1つは、この節を追加したのと同じ変更のなかで: 「何にも走らされていないテスト」を見つけるのが
325
+ > 仕事そのものである検査器が、あるスクリプトの*自分自身のコメント*から緑のカウントを報告しているのが
326
+ > 捕まり、さらにそれを直すために書かれたガード自体が、消しても失敗するテストを1つも持っていないことが
327
+ > 判明しました — 見つけたのは著者ではなく別のモデルファミリーで、実際に失敗するフィクスチャを付けて
328
+ > 閉じられました。フィーチャーブランチ上のコミットハッシュは squash-merge を生き延びないので、こちらは
329
+ > 腐る ID ではなく「その形」で引用しています。
167
330
 
168
331
  ---
169
332
 
@@ -196,6 +359,10 @@ npx --package @chrono-meta/fh-gate fh-gate # 既定: Claude
196
359
  FH_BACKEND=codex npx --package @chrono-meta/fh-gate fh-gate # Codex バックエンド
197
360
  FH_BACKEND=auto npx --package @chrono-meta/fh-gate fh-gate "src/foo.ts" full
198
361
  # → FH_GATE_VERDICT: PASS | PENDING | BLOCKED | ESCALATE
362
+
363
+ # または Homebrew 経由(内容は同じ、インストール後は npx 接頭辞不要):
364
+ brew tap chrono-meta/forge-harness && brew install forge-harness
365
+ fh-gate
199
366
  ```
200
367
 
201
368
  `fh-gate` は両ランタイムに同じ FH ガバナンスプロンプトを使います。`FH_BACKEND=claude` は `claude --print` を、`FH_BACKEND=codex` は `codex exec` を実行し、`FH_BACKEND=auto` は両 CLI が揃っていれば Codex を優先します — ただし `auto` はフォールバック*選択*であり、レグは 1 つだけ走ります。`FH_BACKEND=cross` は両ファミリーを走らせて findings を union します(一方だけが見つけた指摘も指摘なので、投票ではなく union)。判定はレグ中で最も重いものです。コストは約 2 倍なので既定ではなく、判定・ゲート・不可逆な面の変更に使います。出力は実際に走ったレグを常に明示します(`FH_GATE_LEGS:`、`FH_GATE_DECORRELATED:`) — 片方のファミリーしかない環境では単一レグに縮退し、その事実を明記します。
@@ -265,7 +432,10 @@ forge-harness はプロジェクトを鋼のように扱います — そして
265
432
  `agent-composer`(ディスパッチをオーケストレーション)。残りのスキルは必要になるまで待ちます — 全リストは
266
433
  下に。
267
434
 
268
- ## 37 skills · 8 agents
435
+ ## 40 skills · 8 agents
436
+
437
+ > カウント = 非 deprecated のスキル(旧名ルーティングのためだけに残されている deprecated
438
+ > リダイレクトスタブは除外)。
269
439
 
270
440
  <details>
271
441
  <summary>全資産のアクティベーション確認</summary>
@@ -281,6 +451,7 @@ forge-harness はプロジェクトを鋼のように扱います — そして
281
451
  | `harness-doctor` | ハーネス構造の診断 | "Check my Claude setup" |
282
452
  | `pipeline-conductor` | 4軸品質ゲート (後方/敵対/前方/記録) | "Run the quality gate" |
283
453
  | `field-harvest` | フィールドパターンをハブへ逆伝播 | "I could reuse this" |
454
+ | `dialogue-harvest` | AI 対話ログの採掘: 追従 (sycophancy) を剥がし、誘導された主張と独立した主張をラベル分け | "What did I actually contribute in this thread?" |
284
455
  | `frontier-digest` | HN + arXiv → 実行可能な洞察 | "AI trend digest" |
285
456
  | `hub-cc-pr-reviewer` | 自動 PR レビュー | "Review this PR" |
286
457
  | `verify-bidirectional` | 決定の逆検証 | "Is that right?", "Double-check" |
@@ -296,14 +467,24 @@ forge-harness はプロジェクトを鋼のように扱います — そして
296
467
  | `convergence-loop` *(fh-commons)* | N ラウンドの収束ループ | "Single-pass seems suspicious" |
297
468
  | `token-budget-gate` *(fh-commons)* | 作業前のトークンコスト推定 | "How expensive is this?" |
298
469
  | `mcp-circuit-breaker` *(fh-commons)* | MCP ツールの失敗パターン検知 | "MCP keeps failing" |
470
+ | `ko-tech-writer` *(fh-commons)* | 韓国語テクニカルライティングのパイプライン(レジスターの較正、翻訳調の除去、正直さの層分け、知覚的 QA) | "기술문서 써줘", "번역투 고쳐줘" |
299
471
  | `quench-challenger` *(fh-commons)* | 敵対的プレッシャーテストエージェント | "Challenge this with a devil" |
300
- | *(+ 追加資産)* | marketplace-gate · contention-layer · edit-manifest · fact-checker · goal-quench · hub-persona-auditor · install-doctor · memory-hygiene · persona-innovator · prompt-regression · public-surface-audit · salience-splitter | |
472
+ | `auto-decorrelation` | 負荷を担う変更に対して別モデルファミリーのレビュアーを招集 | "Decorrelate this verification" |
473
+ | `video-ingest` | 動画 → エージェント文脈へ、能力と長さでルーティング | "What does this video show?" |
474
+ | `fh` | 挨拶なしで、必要なときにハブマップを描画 | "fh" |
475
+ | *(+ 残りのスキル)* | marketplace-gate · contention-layer · deliberation · edit-manifest · goal-quench · install-doctor · memory-hygiene · prompt-regression · public-surface-audit · return-path-gate · salience-splitter | |
476
+ | **8 エージェント** | `challenger` · `quench-challenger`(敵対)· `beginner` · `main-player` · `expert`(ユーザー習熟度スペクトラム — 冷たい初読、日常利用、ドメイン権威)· `fact-checker` · `hub-persona-auditor` · `persona-innovator` | 上記スキルから、または名指しでディスパッチ |
301
477
 
302
478
  | アクティブ数 | 診断 |
303
479
  |:---:|---|
304
- | **28+** | 上級 — agent-composer + sim-conductor + steel-quench + pipeline-conductor を連鎖 |
305
- | **10–27** | アクティベーション段階 — 未チェックの資産を段階的にオンにする |
306
- | **0–9** | 初期段階 — `install-wizard` から始める |
480
+ | **表面の半分かそれ以上** | 上級 — agent-composer + sim-conductor + steel-quench + pipeline-conductor を連鎖 |
481
+ | **ひと握りからそこまで** | アクティベーション段階 — 未チェックの資産を段階的にオンにする |
482
+ | **ほとんどなし** | 初期段階 — `install-wizard` から始める |
483
+
484
+ > このバンドはおおまかな自己点検であって、測定ではありません — 閾値を定義した成果物は存在せず、
485
+ > 以前の固定された数値はもっと小さいロスターに対して較正されたものだったので、ロスターが増えるにつれて
486
+ > 静かにずれていきました。スキルを多く使うこと自体も目標ではありません — 自分の作業が実際に必要と
487
+ > するものを使うことが目標です。
307
488
 
308
489
  **やりたいことでスキルを探す:**
309
490
 
@@ -339,7 +520,7 @@ Claude Code は作業の複雑さでモデルを自動選択しません — こ
339
520
  | `/model opus` | Opus がすべてを処理 | ハーネス編集セッション (Mode D) · 毎ターン最大の深さ |
340
521
  | `/model opusplan` | Opus が*計画* · Sonnet が実行 *(Opus が関与するとき)* | コスト意識の日常コーディング — 注意点を参照 |
341
522
 
342
- **なぜいま Sonnet 既定値で通用するのか**: 測定結果(下記 §Model setup evidence note 参照)、FH *運用*はほぼ
523
+ **なぜいま Sonnet 既定値で通用するのか**: 測定結果(下記 *主張ではなく測定* を参照)、FH *運用*はほぼ
343
524
  モデルフラットです — 文脈に入ったルールが大部分の仕事をします。それでも強いモデルが必要なのは深さに
344
525
  敏感な少数のターンで、FH はそれを自ら処理します: **一部のスキルとエージェントはモデルティアの床を
345
526
  宣言**し(例: `quench-challenger` は opus に床)、環境が届けばその床ティアの
@@ -361,7 +542,12 @@ Claude Code は作業の複雑さでモデルを自動選択しません — こ
361
542
  > コストはセッション jsonl の `message.model` から CC で見られます。
362
543
 
363
544
  **主張ではなく測定**(実測例): ブラインドのルール適用バッテリーで FH *運用*はほぼモデルフラットです —
364
- **測定したすべての Claude ティアが 94–100%**(Fable, Opus 4.8, Sonnet 4.6 と 5, Haiku 4.5); 失った少数の点数は
545
+ 30点のブラインドバッテリー(2026-06-10)で走らせた4ティアは **94–100%** を記録し(最上位ティアのアンカー /
546
+ Opus 4.8 / Sonnet 4.6 / Haiku 4.5 = 100 / 100 / 97 / 94)、2026-07-03 の再現では Opus 4.8 · **Sonnet 5** ·
547
+ Haiku 4.5 がそれぞれ 16/16 で再アンカーされました。丸い1つの数字ではなく、正直な注記を2つ: 出典の成果物は
548
+ 最上位ティアの名前を意図的に伏せているので、このページでも名前を出しません。そして**現在の**最上位ティアは
549
+ このバッテリーで走らせていません — 先に持ち越されるのは下のドクトリンであって、スコアではありません。
550
+ 失った少数の点数は
365
551
  フォーマットの規律であって、罠やゲート級のミスではありません。ティアが分かれるのはルーブリック超過の*設計*
366
552
  増分だけ(ハーネスを開発するのであって運用するのではない)— だから既定値が**ティア床ディスパッチ**で深さに
367
553
  敏感なターンを覆う Sonnet であり、固定された強いモデルはハーネス編集セッションにのみ推奨されます。
@@ -421,7 +607,8 @@ Gemini と一緒に作れば新しい Claude がその泡を捕まえ、Claude
421
607
 
422
608
  > **FH 論文** — 以下の方法論は主張だけでなく文書化されています:
423
609
  > - **v1.0 — 方法論** · [Zenodo](https://zenodo.org/records/20397566) (DOI 10.5281/zenodo.20397566). 2層設計、6軸フレームワーク、4エージェントオーケストレーション、そして複利ループを実証証拠とともに。
424
- > - **cs.SE companion — ガバナンスゲート方法論** · **掲載済み** [Zenodo](https://zenodo.org/records/20680081) (DOI 10.5281/zenodo.20680081 · 最新 v1.1 10.5281/zenodo.20740038 · CC-BY-4.0) · arXiv 提出済み (cs.SE, モデレーション中)。
610
+ > - **cs.SE companion — ガバナンスゲート方法論** · **掲載済み** [Zenodo](https://zenodo.org/records/20680081) (DOI 10.5281/zenodo.20680081 · 最新 v1.1 10.5281/zenodo.20740038 · CC-BY-4.0) · arXiv 提出済み (cs.SE); モデレーションの結果はこのレポでは追跡していないので、「提出済み」は
611
+ > このページが保証できる最後の状態であって、現在の状態ではないものとして読んでください。
425
612
  > - **cs.AI companion — "Governance Dividend"** · 準備中。
426
613
 
427
614
  外部の収束: