refactor: decompose dashboard state boundaries - #6915
Conversation
GPT 5.6 Review — ✅ no blocking findingsGPT 5.6 completed its review of This comment is updated in place on each push. Review detailsNo findings. False positive or not applicable? A repository writer can comment: |
Design Review (Fable 5) — 🟡 CONCERNSDesign-level review of Design-Verdict: CONCERNS Seam-preservation machinery is so faithful it re-creates the coupling the PR set out to remove, now spread across two dynamically-dispatched layers. Watch
Suggestions
[DESIGN-REVIEWED] 279b717 |
First Principles Review (Fable 5) — 🟡 CONCERNSPremise-level review of All evidence is in. The extraction is faithful (the folder-generation bump, load-time row filtering, and confirmed-write rollback all exist in the removed base hunks), the spec is updated in the same commit, and the sole production consumer of every new module is First-Principles-Verdict: CONCERNS A faithful facade-preserving decomposition — but it ships two spellings of its own pattern and ten injectable knobs that exactly one construction site ever fills, all with default-equivalent values. What this change shipsIntent: make the 6,600-line dashboard state module maintainable by extracting nine cohesive components behind unchanged facades — an ADDITION (refactor), and the diff matches the description.
Watch
Subtractions
[FIRST-PRINCIPLES-REVIEWED] 279b717 |
Opus 4.8 Review — ✅ no blocking findingsReviewed Review detailsThe single candidate falsified: No findings. [OPUS-REVIEWED] 279b717 Verdict parsed from the review's SHA-scoped output markers for commit False positive or not applicable? A repository writer can comment: |
e283e5e to
0b47336
Compare
|
Design review follow-up for
|
0b47336 to
4a90bb7
Compare
|
Addressed the First Principles blocker in
Focused verification: 21 passed. |
|
4a90bb7 to
af768c2
Compare
Extract cohesive repositories and coordinators from the dashboard state facade while preserving its public surface, persistence bytes, monkeypatch seams, and concurrency ordering. Add characterization coverage for slot containers, serialization, WebSocket shutdown, folder logging, and queue behavior before the boundary changes.
af768c2 to
279b717
Compare
Open PR relationship auditThis is a consolidated, point-in-time code-level audit note. It compares complete merge-base diffs and current/merged code; it does not treat a shared topic as duplication or partial coverage as completion. Relationship findings
No PR, Issue, label, branch, or review state was changed by the relationship-note portion of this audit. |
Problem / Motivation
dashboard/state.pyconcentrated slot buffering, queue delivery, serialization,interaction state, persistence, registry, and WebSocket transport in two classes
with more than 6,600 lines between them. The facade is heavily monkeypatched and
source-inspected, so changing one concern required reasoning about unrelated
state and made behavior-preserving maintenance unusually risky.
Why it matters
Dashboard state owns concurrency, cancellation, rollback, and on-disk contracts
used by chat, sessions, REST, and WebSocket clients. Keeping those responsibilities
interleaved increases the chance that a local change alters lock scope, wire shape,
or persisted bytes without an obvious failure at the call site.
What changed (motivation → approach → change)
kiro_crew.dashboard.stateas the compatibility facade while extractingcohesive owner-driven components for folder storage, slot buffers, queue and
delivery state, slot projection, approvals/questions, notifications, slot
registry operations, persistence, and WebSocket transport.
monkeypatch and source-inspection seams, REST/WS JSON fields, file modes and
bytes, and the existing lock, rollback, cancellation, and close ordering.
that runs under the repository lock only after persistence is confirmed; no-op
and failed transactions do not advance the generation.
can continue replacing facade dependencies after construction.
Tests
trimming, replay behavior, queue metadata, exact slot serialization, and source
links.
and folder-generation behavior.
posture run: 127 passed, 1 skipped.
and the 245-file documentation scan passed.
lockdown-before-publish, brand, harness-parity, loop-lock, testpaths,
changelog-history, and focus-cue gates passed locally.
Manual verification
N/A — this is an internal behavior-preserving backend refactor with no rendered
UI delta; facade characterization and transport/persistence tests cover the
observable contracts.
Related Issues
no linked issue: this behavior-preserving refactor was requested directly.
Checklist
feat|fix|docs|refactor|perf|test|chore|ci|build|revert: ...)