// Directive log — append-only ledger + the consequence diff (propose-approve) function DirectivesScreen() { const DS = window.CommiTeaDesignSystem_20e63b; const { Card, Button, Badge, Icon } = DS; const d = window.CT_DATA.directives; const [pending, setPending] = React.useState(d.pending); const [entries, setEntries] = React.useState(d.entries); const resolve = (status) => { setEntries((e) => [{ seq: pending.seq, who: pending.who, when: pending.when, what: pending.what, why: 'pilot demo on the 14th', status, consequence: status === 'applied' ? '#78 +5d · Beta 80% Mar 5–14' : 'withdrawn before apply', }, ...e]); setPending(null); }; const toneColor = { ok: 'var(--ok)', warn: 'var(--warn)', info: 'var(--info)', danger: 'var(--danger)' }; const statusBadge = { applied: { tone: 'ok', label: 'applied' }, withdrawn: { tone: 'neutral', label: 'withdrawn' }, superseded: { tone: 'info', label: 'superseded' }, }; return (
append-only · JSONL in pm-state · who, when, what, why
{pending.who}
· {pending.when}
“{pending.what}”
Cheap, as consequences go. Shall I make it so?
“{e.what}”
{e.consequence}
Entries are never edited. Corrections are new entries — the ledger remembers everything, politely.