@chrono-meta/fh-gate 1.4.8 → 1.4.10
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/CHEATSHEET.md +9 -2
- package/CLAUDE.md +2 -0
- package/package.json +1 -1
- package/plugins/fh-meta/skills/frontier-digest/SKILL.md +15 -13
package/CHEATSHEET.md
CHANGED
|
@@ -98,12 +98,19 @@ git config core.hooksPath templates/.git-hooks
|
|
|
98
98
|
chmod +x templates/.git-hooks/pre-commit
|
|
99
99
|
```
|
|
100
100
|
|
|
101
|
-
After running `/steel-quench` and `/phantom-quench` in your session, Claude creates the Axes 2+3 pass marker automatically. If
|
|
101
|
+
After running `/steel-quench` and `/phantom-quench` in your session, Claude creates the Axes 2+3 pass marker automatically. The marker must carry machine-readable floor fields — the hook validates them (a bare `touch` marker no longer passes; below-floor passes block unless an explicit `below-floor-ack:` line records operator acceptance). If Claude doesn't create it (e.g., session interrupted), create it manually:
|
|
102
102
|
|
|
103
103
|
```bash
|
|
104
|
-
|
|
104
|
+
cat > "tracks/_meta/.axes_23_passed_$(git rev-parse --abbrev-ref HEAD | tr '/' '_')_$(date +%Y-%m-%d).marker" <<'EOF'
|
|
105
|
+
axis2-engine: quench-challenger
|
|
106
|
+
axis2-model: opus
|
|
107
|
+
floor-status: at-floor
|
|
108
|
+
<scope / findings prose>
|
|
109
|
+
EOF
|
|
105
110
|
```
|
|
106
111
|
|
|
112
|
+
> **Migration note**: markers created before the floor-field upgrade are 0-byte legacy files — past-date ones are inert (the hook only reads today's marker), but a legacy marker for *today* must be regenerated in the structured format above before the first post-upgrade commit.
|
|
113
|
+
|
|
107
114
|
---
|
|
108
115
|
|
|
109
116
|
## 7. Weekly improvement cycle
|
package/CLAUDE.md
CHANGED
|
@@ -139,6 +139,8 @@ No user request is needed — this is a mandatory autonomous step, not a proposa
|
|
|
139
139
|
FH asset modified → Axis 1 (regression_guard.sh --pr {BRANCH})
|
|
140
140
|
→ Axis 2 (/steel-quench) → Axis 3 (/phantom-quench)
|
|
141
141
|
→ marker: tracks/_meta/.axes_23_passed_{branch}_{date}.marker
|
|
142
|
+
(structured — required fields: axis2-engine / axis2-model / floor-status;
|
|
143
|
+
hook validates mechanically: below-floor blocks without below-floor-ack)
|
|
142
144
|
→ Axis 4 (/edit-manifest RECORD, today's entry in edit_manifest.yaml)
|
|
143
145
|
→ All 4 PASS → git commit allowed | Any FAIL → fix inline, re-run
|
|
144
146
|
```
|
package/package.json
CHANGED
|
@@ -56,20 +56,21 @@ On **cadence-triggered** runs (7d), ask the operator one line before collecting:
|
|
|
56
56
|
*video-harvest* capability via the Sidecar Engine Resolution Protocol
|
|
57
57
|
(`multi_model_sidecar_strategy.md`) — probe by **capability, not engine name**. A CLI that is a
|
|
58
58
|
valid sidecar for other tasks is not automatically a video-harvest engine.
|
|
59
|
-
**Tier 1 — a natively multimodal CLI that ingests the URL directly
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
59
|
+
**Tier 1 — a natively multimodal CLI that ingests the URL directly**: probe for one, then route
|
|
60
|
+
to it (pre-EOL example invocation: `gemini --skip-trust -p "{URL}"` → timestamped summary). ⚠️
|
|
61
|
+
**the direct `gemini` CLI is being sunset (vendor EOL 2026-06-18)** — after that probe `agy` (the
|
|
62
|
+
Antigravity router-shell successor, same class) or the Gemini API; see
|
|
63
|
+
`multi_model_sidecar_strategy.md §Binary names churn`. A coding-agent CLI with **no native
|
|
64
|
+
video/transcript access** (e.g. `codex`) cannot do this — it burns tokens, recovers only
|
|
65
|
+
metadata (title), then asks for a pasted transcript; do not route video to it. Agentic
|
|
66
66
|
router-shells (`agy`) get approval-mode first.
|
|
67
|
-
**Tier 3
|
|
68
|
-
`yt-dlp --write-auto-subs --skip-download`
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
67
|
+
**Tier 3** (Tier 2 = router-shell / Gemini API, see the protocol) **— conditional fallback (not
|
|
68
|
+
guaranteed)**: `yt-dlp --write-auto-subs --skip-download` then summarize the transcript — fine
|
|
69
|
+
for talk-style content. **Probe the environment first**:
|
|
70
|
+
`yt-dlp --version && python3 -c "import curl_cffi" && command -v ffmpeg` — Tier 3 needs all three
|
|
71
|
+
(`yt-dlp`, `curl_cffi` impersonation target, `ffmpeg`), and the timedtext endpoint may return
|
|
72
|
+
HTTP 429; if the probe fails, fall through rather than assuming it works. Unresolvable (cloud, no sidecar; or all tiers blocked) →
|
|
73
|
+
operator summary remains the path, as today.
|
|
73
74
|
|
|
74
75
|
---
|
|
75
76
|
|
|
@@ -292,6 +293,7 @@ Present Step 4 menu options [1]–[5]. Do not skip to [5] silently — surface t
|
|
|
292
293
|
|
|
293
294
|
## Simplification Guards
|
|
294
295
|
|
|
296
|
+
- Video Tier-3 probe fails (any of `yt-dlp` / `curl_cffi` / `ffmpeg` missing, or timedtext returns 429) → fall through to operator summary; never assume `yt-dlp` works
|
|
295
297
|
- If 3+ arxiv queries fail, proceed with HN only (do not abort)
|
|
296
298
|
- On curl timeout, skip that item and continue with the rest
|
|
297
299
|
- If synthesis result exceeds 400 characters, retain top 3 items and truncate the rest
|