Skip to content

fix(report): render output_structured as formatted HTML in drill-down#277

Merged
decko merged 4 commits into
mainfrom
fix/structured-drill-down-rendering
May 16, 2026
Merged

fix(report): render output_structured as formatted HTML in drill-down#277
decko merged 4 commits into
mainfrom
fix/structured-drill-down-rendering

Conversation

@decko
Copy link
Copy Markdown
Owner

@decko decko commented May 16, 2026

Summary

Fixes the raw JSON dump visible in drill-down phase sections. The HTML report now renders output_structured as formatted, readable HTML inline per-phase instead of raw JSON in a <pre> block.

What changed

  • Triage: approach, complexity, code area, target files, risks
  • Plan: numbered task list with verification commands
  • Implement: files changed with colored M/A/D prefixes, commit messages
  • Verify: verdict badge (auto-expanded on FAIL), command results with ✓/✗, code issues, fixes required
  • Review: verdict badge, finding count

strip_session_data now preserves a curated allowlist (STRUCTURED_DISPLAY_FIELDS) instead of removing output_structured entirely, so structured sections render even without --include-sessions.

Test plan

  • 1581 tests passing (11 new structured section tests + 3 strip tests)
  • Smoke test against 82 real SODA sessions — report generates correctly
  • Verified in browser — structured sections render inline per phase

💖 Generated with Crush

decko added 4 commits May 15, 2026 21:00
The HTML report was dumping raw JSON from output_structured in a <pre>
block under "View transcript". Now renders structured sections inline
per-phase with formatted HTML:

- Triage: approach, complexity, code area, target files, risks
- Plan: numbered task list, verification commands
- Implement: files changed with M/A/D prefixes, commit messages
- Verify: verdict badge, command results with pass/fail, code issues
- Review: verdict badge, finding count

strip_session_data now preserves a curated allowlist of
output_structured keys (STRUCTURED_DISPLAY_FIELDS) instead of
removing the entire dict. Structured sections render even without
--include-sessions.

💖 Generated with Crush

Assisted-by: Crush:claude-opus-4-6
The review structured section was empty because it only checked for
os.comments (Alcove format) but not os.findings (SODA format). Now
renders each finding with severity badge, file location, and issue
text inside the expandable review section.

💖 Generated with Crush

Assisted-by: Crush:claude-opus-4-6
pipeline_phases from SessionMeta was alphabetically sorted by the
adapter (set iteration order), overriding the correct execution
sequence. sort_phases now always uses PHASE_ORDER as the canonical
reference. pipeline_phases only contributes unknown phase names
(e.g. Alcove bridge steps) which are appended after known phases.

Also adds patch, follow-up, create-pr, and await-ci to PHASE_ORDER.

💖 Generated with Crush

Assisted-by: Crush:claude-opus-4-6
Phases now sort by (generation, PHASE_ORDER) instead of
(PHASE_ORDER, generation). This produces a timeline that reads as
it actually happened: triage(1) → plan(1) → implement(1) →
verify(1) → implement(2) → verify(2) → review(2) instead of
grouping all implements together then all verifies together.

💖 Generated with Crush

Assisted-by: Crush:claude-opus-4-6
@decko decko merged commit 67a97eb into main May 16, 2026
4 checks passed
@decko decko deleted the fix/structured-drill-down-rendering branch May 16, 2026 00:21
@decko decko mentioned this pull request May 16, 2026
6 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant