RunbookEnvelope
Interface: RunbookEnvelope
Defined in: src/core/runbook/types.ts:298
The mandatory-spine + optional-projection envelope every runbook returns
(unless an inner absence passed through — then the answer IS that absence,
verbatim). Recognized by the framework's coverage funnel at the dispatch
boundary like any coverage() ledger.
Properties
af_coverage
readonlyaf_coverage:object
Defined in: src/core/runbook/types.ts:299
cannot_cover?
readonlyoptionalcannot_cover?: readonlyCoverageItem[]
checked?
readonlyoptionalchecked?: readonlyCoverageItem[]
not_checked?
readonlyoptionalnot_checked?: readonlyCoverageItem[]
note
readonlynote:string
The static coverage law sentence (the coverage() note).
sentence
readonlysentence:string
The run's own sentence — names the rule set and version.
result
readonlyresult:object
Defined in: src/core/runbook/types.ts:308
Index Signature
[appField: string]: unknown
Everything the chart put in its report state key — the app's own
result fields, spread here verbatim BESIDE the spine. Spine keys win:
a report field spelling af_coverage, af_provenance, rule_version,
walk, report_note, or a projection key this run assembled is
discarded and named in report_note.
af_provenance
readonlyaf_provenance:Readonly<Record<string,unknown>>
Re-emitted FIRST: the carried inner provenance stamp (if any inner
tool declared one — a LOCAL SEED confession survives composition)
plus this call's own {tool, toolCallId}.
render_note?
readonlyoptionalrender_note?:string
The render law, stated to the model — present with the projection in
BOTH modes, because a rowset always ships with a rule about its
surface. VERDICT_RENDER_NOTE under 'prose' (output the table
verbatim); PANEL_RENDER_NOTE under 'panel' (the rows are already on
screen — quote the evidence, never reproduce them).
report_note?
readonlyoptionalreport_note?:string
Present ONLY when the chart's report spelled one of the envelope's
own names: it names every discarded field and says the values under
those names are the bridge's. Absent on the clean path.
rows_complete?
readonlyoptionalrows_complete?:boolean
rows_shown?
readonlyoptionalrows_shown?:number
rows_total?
readonlyoptionalrows_total?:number
rule_version
readonlyrule_version:string
rules.version, or the honest 'undeclared' when no rules were
declared — the field never silently vanishes.
table?
readonlyoptionaltable?:string
Pre-rendered markdown table over the SAME rows as verdicts. Present
under presentation: 'prose' (the default), where the model's prose is
the rowset's only surface. ABSENT — the key itself, not an empty
string — under 'panel', where the host draws the rowset and a second
copy in prose would be a retype of what the reader can already see. The
name stays RESERVED in both modes, so a chart's report cannot put a
table back into a panel answer.
verdict_meanings?
readonlyoptionalverdict_meanings?:Readonly<Record<string,string>>
branch → meaning, GENERATED from the decider's declared branches and the rule labels this run's evidence carried — never hand-restated.
verdicts?
readonlyoptionalverdicts?: readonlyVerdictRow[]
walk
readonlywalk:WalkDescriptor
The recorded walk — always present.
