Journal parcel flush lane — Substrate verifier + workflow
C-372 Substrate — Journal parcel cold canon¶
Verifier: scripts/verify-parcel-chain.mjs
Workflow: .github/workflows/canon-journal-verify.yml
Canon path: canon/journal/C-{cycle}/parcel-{seq}.jsonl
Single writer: mobius-daedalus-writer GitHub App (terminal holds DAEDALUS_APP_KEY).
See terminal repo: docs/epicon/cycles/C-372/EPICON_C-372_INFRA_journal-parcel-flush_v1.md
EPICON-02 intent block (PR body)¶
epicon_id: EPICON_C-372_INFRA_journal-parcel-flush_v1
ledger_id: kaizencycle
scope: ci,docs,specs
mode: normal
issued_at: 2026-07-14T17:00:00Z
expires_at: 2026-10-12T17:00:00Z
justification:
VALUES INVOKED: integrity, custodianship, permanence, no-vendor-truth
REASONING: Substrate verifier and CI gate for journal parcel cold canon. Offline clone → node script → verdict. PR workflow fails closed if Terminal seal endpoint unreachable when parcel files are present.
ANCHORS:
- docs/epicon/cycles/C-372/EPICON_C-372_INFRA_journal-parcel-flush_v1.md
- scripts/verify-parcel-chain.mjs
- .github/workflows/canon-journal-verify.yml
BOUNDARIES: Reserve Block .dat lane unchanged. Branch protection for App-only writes is operator ruleset step. Genesis scaffold PRs skip seal attestation when no parcel files present.
COUNTERFACTUAL: If Intent Publication Gate or PR bot rejects scope, declare ci,docs,specs union to cover workflow, canon scaffold, and EPICON doc paths.
counterfactuals:
- Corrupted footer hash rejected by workflow
- Missing TERMINAL_API_BASE fails closed only when parcel files are in the PR