I0837 — Report o časování jako JSON
Při --json vypsat zprávu o časování jako jeden objekt JSON na stderr s fázemi a čítači, aby bench mohl nést rozpad na fáze pro každý vzorek.
HOTOVO vlna 1 · p0 · profil implementation · běží samostatně
Součást M004 — Výkon je spustitelný důkaz a horká cesta nedělá žádnou kanonickou práci dvakrát.
Cíl
Při --json vypsat zprávu o časování jako jeden objekt JSON na stderr s fázemi a čítači, aby bench mohl nést rozpad na fáze pro každý vzorek.
Proč
Rozpis, který umí číst jen lidé, nelze kontrolou porovnat.
Aktuální stav
Zpráva je text.
Cílový stav
Stejná data, jeden řádek JSON při zadání --json, zdokumentováno v docs/SCHEMAS.md.
Rozsah
- lib/common.sh
- docs/SCHEMAS.md
- lib/bench.sh
Závislosti
Kritéria přijetí
- JSON se naparsuje pomocí jq a nese každou fázi a čítač textové podoby
Validace
- MJ_TIMING=1 bin/majordomus --json doctor
Požadované důkazy
- phase_timing
Důkazy
| pokrývá | typ | command | výsledek | u commitu |
|---|---|---|---|---|
| phase_timing | test | bash test/run.sh 886_the_timing_report_is_json | ok na 4090b2b8ae: pod --json je report časování jedna řádka JSON nesoucí každou fázi a čítač textové podoby; MJ_TIMING=1 bin/majordomus --json doctor ji vytiskl s 'phases' a 'total_ms'; změna je 3142d27627 (PR #745, přistálo v #815) | 4090b2b |
Riziko
stdout zůstává příkazu; zpráva zůstává na stderr v obou podobách.
Časová osa
- zahájeno
- 2026-10-08T10:33:54Z
- ověřeno
- 2026-10-08T10:34:25Z
- dokončeno
- 2026-10-08T10:34:30Z
Tato tři pole, důkazy výše a stav závislostí jsou vše, z čeho se stav skládá. Neexistuje žádné pole stavu, které by s nimi mohlo být v rozporu.
Kanonický záznam: .ai/repo/project/issues/I0837.yaml. Přečtěte jej zpět pomocí majordomus plan show I0837.