一键导入
hgraf-interpret-invariant-violations
Retained for history. Plan-state invariants moved to goldfive. This skill redirects.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Retained for history. Plan-state invariants moved to goldfive. This skill redirects.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Understand and safely change heartbeat interval, stuck threshold, and timeout constants — client cadence, server detection math, frontend signal.
Add a new AnnotationKind — proto, storage, ingress RPC, optional downstream delivery to agents, frontend authoring UI, tests.
Add a new agent Capability — proto enum, client advertisement, server ingest, frontend gating in the control UI.
Add a new ControlKind — capability advertisement, client handler, server routing, ack semantics, frontend button, and tests — all the way through.
Add a new drift kind end-to-end. Goldfive owns the detector + enum; harmonograf reflects the kind through the intervention aggregator and the UI timeline.
Script a complex multi-turn FakeLlm scenario — function calls, tool chains, drift events, side-effect hooks, partial responses — for deterministic adk test coverage.
| name | hgraf-interpret-invariant-violations |
| description | Retained for history. Plan-state invariants moved to goldfive. This skill redirects. |
client/harmonograf_client/invariants.py was removed during the
goldfive migration (issue #2). Plan-state invariants (monotonic
task transitions, terminal-status preservation, assignee validity)
now live in goldfive's DefaultSteerer / task-state code.
Harmonograf no longer validates plan-state invariants on its own.
Whatever goldfive emits over TelemetryUp.goldfive_event is the
truth from harmonograf's perspective.
They're coming from goldfive, not harmonograf. The log namespace
starts with goldfive.*. Inspect goldfive's invariant code and
open a goldfive issue if a genuine bug.
Harmonograf-side validations that remain (unrelated to plan state):
ingest.py rejects an upload whose
recomputed sha256 doesn't match the declared digest. This is
about integrity, not plan state.ingest.py rejects malformed Hello frames
(empty agent_id, etc.).For any of those, look at the message in the server log and trace to the relevant handler.
dev-guide/debugging.md for harmonograf-side integrity checks.