markers
markers
Every loop boundary that produces a result ends with a fenced ```json block. CI scripts, dashboards, and follow-up commands locate that block and read it instead of scraping prose.
The rules below are identical for every marker. Each command defines only its own schema and how to populate it.
Placement
The marker is the last thing the step prints. Nothing after the closing fence — no prose, no banner close, no trailing whitespace. Downstream tools find it as the trailing fenced JSON, so anything after it breaks the parse.
Where a command emits more than one marker (/bencium-deploy emits one for SMOKE and one for the deploy), each is the last output of its own step.
Content
Markers report state, not opinion. No recommendations, no next steps, no commentary inside the JSON — those belong in the prose above it. A consumer reads a marker to learn what happened, not what someone thought about it.
Every marker carries the same four fields, then its own: