@chrono-meta/fh-gate 1.4.33 → 1.4.34

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@chrono-meta/fh-gate",
3
- "version": "1.4.33",
3
+ "version": "1.4.34",
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": [
@@ -113,6 +113,13 @@ Routing conclusion:
113
113
 
114
114
  After confirming routing path, auto-generate a new skill SKILL.md skeleton.
115
115
 
116
+ > **Reuse — need-driven scaffold**: this skeleton is also the template for Full-Harness Mode's
117
+ > field-asset scaffold (`auto_project_mapping.md §6`). There the entry is not a conflict but a
118
+ > **skill-worthy recurring pattern** (3+ reps · `#skill-candidate` · `field-harvest`); set
119
+ > `origin: field-scaffold` and replace `contention-parents` with the source pattern pointer. An
120
+ > **agent** variant emits `.claude/agents/{name}.md` (`name`/`description`/`tools` + self-contained
121
+ > prompt) instead of this SKILL.md frontmatter. The field team fills domain content; FH only scaffolds.
122
+
116
123
  ```markdown
117
124
  ---
118
125
  name: {slug}
@@ -40,6 +40,34 @@ Check current cwd harness file structure and determine if FH environment (tracks
40
40
  | `.claudeignore` | S-tier — context-doctor execution recommended |
41
41
  | `.claude/` directory | M-tier (when rule files exist) |
42
42
 
43
+ ### Step 2-E. L1-E — ETCLOVG Layer Coverage *(functional-layer lens — orthogonal to the file-presence table above)*
44
+
45
+ A harness is not only files; it is **seven functional layers** (ETCLOVG — arXiv:2606.06324, a component
46
+ taxonomy *orthogonal* to FH's 6-axis process model; cross-audit
47
+ `tracks/_audit/session_2026_06_19_harnessfix-etclovg-cross-audit.md`). FH adopts only the **taxonomy as a
48
+ coverage lens** — not the paper's scoring model. A **coverage checklist, not a mandate**: not every
49
+ harness needs all seven (a read-only doc harness needs no Execution or Governance). For each layer ask
50
+ "is there an asset covering it?"; surface gaps, let the human judge if each is real for *this* harness.
51
+
52
+ | Layer | Covers | Typical FH asset | If the gap is judged real → priority hint |
53
+ |---|---|---|---|
54
+ | **E** Execution | isolated/reproducible env, bounded autonomy | Agent-dispatch isolation · goal-quench budget | advisory |
55
+ | **T** Tooling | tool discovery / selection / gating | mcp_tool_gating · plugin-recommender | advisory |
56
+ | **C** Context | what the model sees: card, memory, retrieval | session card · CATALOG · context-doctor | advisory |
57
+ | **L** Lifecycle | loops, retries, orchestration, termination | agent-composer · goal-quench | advisory |
58
+ | **O** Observability | traces / logs / cost to diagnose failures | subagent_invocations_log · audit logs · activity log | advisory |
59
+ | **V** Verification | readiness · intermediate · final · regression checks | 4-axis gate (steel/phantom/regression_guard) | higher-stakes |
60
+ | **G** Governance | permissions · approvals · audit trails | HITL gates · public-surface gate | higher-stakes |
61
+
62
+ **Relationship to the Harness-Defect Taxonomy (below)**: ETCLOVG = *component coverage* (is the layer
63
+ present?); the Defect Taxonomy = *failure modes* (is a present layer degrading?). Orthogonal — coverage vs health.
64
+
65
+ **Check class**: judged (advisory) — the presence test is mechanical, but "is this gap real for this
66
+ harness's purpose?" is a judged call, **paired** with the human review at Step 7's M-tier gate. **Never
67
+ auto-tier a missing layer into the M/S/R report** — the priority column is a *hint only if a human
68
+ confirms the gap*, never a verdict the report emits on its own; surface each gap tagged "(human-confirm)".
69
+ (FH's own weak layer is **Observability** — retrospective audit only, no runtime layer; named in the cross-audit.)
70
+
43
71
  ### Step 3. L2 — Complexity Diagnosis
44
72
 
45
73
  | Check | Verdict |
@@ -184,6 +212,11 @@ coverage (laziness) · judged-pairing rule (bias) · pre-compaction completion l
184
212
  ### 🟧 S-tier (Strongly Recommended)
185
213
  ### 🟩 R-tier (Recommended)
186
214
 
215
+ ---
216
+ ## ETCLOVG Layer Coverage (L1-E)
217
+ - Covered: [layers with an asset, e.g. E·T·C·L·V·G]
218
+ - Gaps (surfaced, never auto-tiered — each "(human-confirm)"): [e.g. "O Observability (human-confirm) — retrospective audit only, no runtime layer"] or "full coverage"
219
+
187
220
  ---
188
221
  ## L5 Pattern Analysis
189
222
  - Activity (L5-A): [list]
@@ -195,7 +228,7 @@ coverage (laziness) · judged-pairing rule (bias) · pre-compaction completion l
195
228
  - HIGH (spec-only — missing Done When): [list or "none"]
196
229
  - LOW (language patterns): [file: L{N}: "{text}" → {suggestion}]
197
230
 
198
- Diagnostic scope: L1~L3 [· L4 · L5 (FH only)] [· --lint]
231
+ Diagnostic scope: L1 (+L1-E ETCLOVG coverage) ~L3 [· L4 · L5 (FH only)] [· --lint]
199
232
  ```
200
233
 
201
234
  M-tier 0 → output "Structure healthy. Maintaining simplification trend."
@@ -255,6 +288,7 @@ Verdict: ✅ CONSISTENT · 🟧 INCONSISTENT (fix before push) · 🟩 REVIEW (i
255
288
  | Stage | Completion |
256
289
  |---|---|
257
290
  | Step 7 M/S/R prescription report output | ✅ Diagnosis complete |
291
+ | Step 2-E ETCLOVG coverage line in report (covered layers + gaps, or "full coverage") | ✅ Layer-coverage lens applied |
258
292
  | M-tier 0 + "Structure healthy" output | ✅ Diagnosis complete (no prescription needed) |
259
293
  | Step 8 weekly_audit section proposed | ✅ Integration proposal complete |
260
294
  | Step 9 Eval-First verdict output (when requested) | ✅ Promotion verdict complete |