Repository navigation
v0.6.0 — Inline Result Viewer, Step Narratives, Release Audit
What's New
Inline Result Viewer
Click on report.md (or any result file) in the verdict card to open a full markdown-rendered preview — no need to leave the app. Includes syntax highlighting, scrollable content, and an "Open file" button for external editors.
Step Narrative System
Each step now shows its own narrative message in the chat timeline with tool usage digests, branch tracking for parallel workflows, and real-time status updates. Replaces the old progress blob with granular per-step visibility.
Skill Detail Viewer
New skill content viewer with markdown rendering, YAML frontmatter display, and safety analysis alerts. Reusable ContentDocViewer dialog component.
Multi-Run Thread Improvements
- Past run completions now render as compact one-liners instead of full verdict cards
- "Use in new flow" correctly attaches artifacts even after app restart
- Run boundary separators between sequential runs in the same thread
Artifact Pipeline
- Artifact resolver with contract matching for data-flow between nodes
- Input assembler for threading chat run history into follow-up prompts
- Routing runner for structured intent dispatch
Bug Fixes (14)
- Result file not clickable in verdict card — now opens inline viewer
- "Use in new flow" artifacts empty after restart — fallback to persisted
chat.artifactPool - Two full verdict cards in multi-run threads — past runs collapsed to compact form
- Sidebar toggle overlapping dialogs — z-index corrected (
z-40below dialogz-50) text-body-lginvalid token — replaced withtext-body-mdacross 6 components- Raw Tailwind
text-[11px]— replaced withui-meta-textdesign token - Unsafe array access
edgesToActivate[0].type— added optional chaining - Chat creation fire-and-forget — added error handling
- Silent failure in chat load loop — per-chat try-catch prevents one corrupted file from breaking sidebar
retriesUsed!non-null assertion — replaced with nullish coalescing- Routing handle double-delete race condition — single cleanup path
- Broken
FlowResultCardimport — inlined rendering inChatFilesDialog - Phantom props on
ChatStepsList— removed non-existent prop references - Missing export
assembleInputWithAttachmentsfrom workflow-runner package
Stats
- 55 files changed, 5,841 insertions, 274 deletions
- 1,578 tests passing, 241 test files
- TypeScript, ESLint, Canon vocabulary — all clean