draft v0.1.0 claude-opus-4-8 pattern · domain

Content Decision Intake

Gate A — read a closed, countersigned decision doc from a governed repo and, only if it's eligible, emit it as a ledger-artefact into abacus for drafting.

  • content
  • abacus
  • jazz
  • gate
  • multi-org
  • pattern:gate

inputs

namerequireddefault
repo_path yes —
decision_path yes —
org_key yes —
abacus_path no —

routing

triggers

  • feed this decision into the content pipeline
  • is this decision eligible for content
  • intake this ADR for downlink/journal
  • gate this decision for publishing

not for

  • judging content quality, voice, or provenance once drafted (jazz's 30_verify_gate)
  • drafting the actual journal/blog entry (jazz's 00_core_translator + org adapter)
  • deciding when in the arc it should ship (Yáo / content-arc-declare cadence)
  • editing or reopening the decision doc itself (that's petrova-decide/petrova-phase-close territory, upstream of this)

prompt

notes

Reuses the countersign-validity check already documented per-repo (each
governed repo states its own convention in CLAUDE.md) rather than
inventing a new one. Reuses abacus's existing ledger-artefact schema and
00-inbox/ stage rather than a new intermediate format. The only new
artefact this introduces is the intake mapping itself (decision doc →
ledger-artefact JSON).

description

The upstream gate in the multi-org content pipeline: turns a repo's own
decision ledger (docs/decisions/*.md, docs/verification/*.md — any
PETROVA-governed repo, starting with stratt-hq) into a
jazz/dj-educator-shaped ledger-artefact (schemas/ledger-artefact.schema.json
in asgard-codes/agent/jazz), and drops it into abacus 00-inbox/ for
intake. This is the ONLY place source eligibility is decided —
downstream steps (jazz's core translator, its 30_verify_gate,
40_series_arc) trust that anything reaching them already passed this
gate and do not re-check it.

Eligibility (fail closed, all required):
  - decision status is closed, not draft/open
  - carries a real countersign per the source repo's own convention
    (a placeholder or empty acknowledgement is not a countersign —
    see stratt-hq CLAUDE.md, "Countersign convention")
  - not superseded (no unresolved `Gates-superseded-by:` pointer)
  - not already emitted (idempotent — checks abacus for an existing
    artefact citing this decision's path + git sha before emitting again)

This prompt does not draft, does not judge honesty/voice/provenance
(that's jazz's 30_verify_gate), and does not decide arc pacing (that's
Yáo). It only decides: is this decision even eligible to become public
content.