Motivation
blazerules ships a read-only dashboard that renders purely from the decision/DLQ logs it does not own — it never mutates state, it just indexes and displays artifacts other processes wrote.
aeb already has exactly this pattern and calls it out as a model: tools/aeb-graph.ae is "pure-render, no I/O beyond reading the edges file" (target/_aeb/_edges.txt), and LLM.md explicitly names it "the pattern model for future render-from-edges tools (e.g. telemetry)." blazerules validates that this is the right direction: the next render-from-edges tool is a good bet, and keeping it read-only-over-artifacts is the correct shape.
Proposal
Add a second render-from-artifacts tool: a telemetry / build-timing view (aeb --report-view or tools/aeb-report.ae), pure-render over the artifacts a build already leaves behind:
- Inputs:
target/_aeb/_edges.txt (DAG shape, already read by aeb-graph), the per-node .rc markers + telemetry records, and — if the structured failures file lands — target/_aeb/_failures.jsonl.
- Output: a timing/critical-path view — per-node wall-time, cache hit/miss, the longest dependency chain (bottleneck), pass/fail rollup. DOT/Mermaid annotated with timings, or a compact text table, mirroring
aeb --graph's two renderers.
- Strictly read-only: no exec, no build, no probing — the same contract as
aeb-graph.ae. It only reads what a prior build wrote.
This composes with the --report tiers issue (the tiers decide verbosity of the inline block; this tool is the standalone, re-runnable view over the same records) and with the structured-failures issue (it renders those failures).
Acceptance criteria
Not being asked
Not a live/served web dashboard or a long-running process. A one-shot render-from-artifacts tool, same class as aeb --graph. A served view can come later on top of the same read-only records.
Motivation
blazerules ships a read-only dashboard that renders purely from the decision/DLQ logs it does not own — it never mutates state, it just indexes and displays artifacts other processes wrote.
aeb already has exactly this pattern and calls it out as a model:
tools/aeb-graph.aeis "pure-render, no I/O beyond reading the edges file" (target/_aeb/_edges.txt), andLLM.mdexplicitly names it "the pattern model for future render-from-edges tools (e.g. telemetry)." blazerules validates that this is the right direction: the next render-from-edges tool is a good bet, and keeping it read-only-over-artifacts is the correct shape.Proposal
Add a second render-from-artifacts tool: a telemetry / build-timing view (
aeb --report-viewortools/aeb-report.ae), pure-render over the artifacts a build already leaves behind:target/_aeb/_edges.txt(DAG shape, already read by aeb-graph), the per-node.rcmarkers + telemetry records, and — if the structured failures file lands —target/_aeb/_failures.jsonl.aeb --graph's two renderers.aeb-graph.ae. It only reads what a prior build wrote.This composes with the
--reporttiers issue (the tiers decide verbosity of the inline block; this tool is the standalone, re-runnable view over the same records) and with the structured-failures issue (it renders those failures).Acceptance criteria
target/_aeb/artifacts, with no build/exec side effects.aeb --graphDOT/Mermaid precedent.target/_aeb/from a prior build without re-running anything.tools/aeb-graph.aepure-render shape (documented as the pattern model in LLM.md).Not being asked
Not a live/served web dashboard or a long-running process. A one-shot render-from-artifacts tool, same class as
aeb --graph. A served view can come later on top of the same read-only records.