Repository navigation
Description
Parent: #3083. Phase P02, design-bearing. Owner: ac-dev-webpage-ui-v5. Depends on #3092 (P01) merged into main; coordinator supplies verified parent-child dependency mapping and merge SHA.
Outcome
Emit one immediate scoped rail diagnostic record when generated, without awaiting backend response in product handlers. Instrument rail press/release/click, real node lifecycle, focus/selection and relevant refresh operations. The original intermittent bug remains under investigation.
Scope
Exactly ten paths: src/shared/ipc.ts, src/shared/ipc.transport.test.ts, src/shared/console-capture.ts, src/sidebar/rail-diagnostics.ts (new), src/sidebar/rail-diagnostics.test.ts (new), src/sidebar/components/WorkgroupGroupRail.tsx, src/sidebar/App.tsx, src/sidebar/stores/project.ts, src/sidebar/components/WorkgroupGroupRail.test.tsx, src/sidebar/stores/project.test.ts.
Preserve selection, For/DOM identity, focus, reorder/capture and product scheduling. Reuse Debug/Trace gate and P01 backend. No diagnostic timer/batch/retry/queue, general console forwarding, setting/dependency/logger, selector fix or version bump.
Acceptance and verification
Real gate/FakeTransport positive controls, immediate send despite pending Promise, Info negative and contained rejection. Observe press -> data update/node replacement -> release even without click; config-only identity changes, two rails/dispose, selection reversal and resource cleanup. Bound refresh records without per-room fan-out. Payloads contain no paths/terminal/keys/secrets.
Run the frozen focused tests (all WorkgroupGroupRail variants), typecheck and structural gates; prove no new dependency cycles and preserve Rust arcs/guards. Collect [rail-diag] from existing app.log and rotated files; do not equate IPC ACK with durable disk. No interactive testing or final build requested.
Frozen specification
Shared canonical plan root: D:/0_repos/AgentsCommander_iac/.ac/plans/3083-rail-click-diagnostics/
Master plan-v4-rail-click-diagnostics.md: 6ED298A7229545E0F67DC632DC7CFF19E74E13374DE7D5561708B9AE6F38A50A
Index v4/epic.md: 2134B78C32A4E73D24537243A42C469BE379719D2BBCE85D06C6CEFFBFCEDC31
Sole cold-start phase specification v4-P02-frontend.md:
787AAD2AAD97444D23FE3A7CC4476FAC09042A7702E6A736431E00E8CD4DF618
All five exact-version participants approved in round4. P03 was absorbed/retired; no third phase. This issue does not close the parent.
V4 compatibility continuation
P01 is delivered by PR3094 at 9813d6a; child3092 is closed and is not reopened. V4 replaces only pending P02: guard the two existing window listener registrations while preserving browser callbacks, run both original Node archive suites unchanged, and prove browser capture in an already permitted test path. Ten P02 paths and all original acceptance remain. Five fresh exact-version approvals are in approval-v4.json; phase-issues.json reconciles the same child/branch/base with preserved WIP. Implementation is subject to the fresh V4 cold gate and subsequent candidate checks/reviews/CI; no passing candidate or delivery is claimed by plan approval.
Activity
mblua commentedon Oct 18, 2026
I3093 / E3083: remaining compatibility delta re-score
Original immediate-diagnostic task remains historical raw62/final28, Full for additive IPC and two owners. Round4 concrete delta from author report3083-author-r4.md: guard two existing listener registrations in already-owned capture file, one browser control of two callbacks in existing helpertest, run two unchanged Node suites; no IPC/backend/reference/dependency change. Pending original acceptance and independent proof reviews remain required. This re-score describes the correction delta, not a claim that incomplete WIP is delivered.
Raw31. Final round((31-10)/190*99)+1 =12/100. Excluded ceremony: issue/branch/push/PR/CI wait, planning/review rounds, delegation, purge, approval receipts, merge and cleanup. Full existing workflow and all five exact-version participants retained; no gate reduced by this correction score. Verification difficulty8 keeps both Grinches' positive-proof review. Architect-authored V4 identity contract retained. One category may be disputed by owner before resuming implementation. Arithmetic correction: originally typed raw32; the ten displayed categories sum31. Final12 unchanged.
Merge pull request #3103 from mblua/chore/3093-rail-click-observation
mblua commentedon Oct 18, 2026
Delivered both diagnostic phases to
mainat1892e47c1896879402fd22197b98b79510798dcb:Validation: six backend focused tests including real append/rotation/gate negatives; 377 frontend focused tests plus 18 unchanged Node archive tests; typecheck/dependencies/arcs/cycles pass. Both independent Grinches approve the final code and positive proofs. Full Rust graph/SCC sets/1,211 arc pairs match and three guards pass all nine tests; review confirms retained Rust evidence applies across the final two-file frontend correction. Exact P02 head
58e9dda23057267005f44a901606bc5627735424completed all triggered CI successfully (regression run39090101153, run3407); conditional full-tier jobs were skipped by verifiedci-tier full=false, not claimed executed. P01 CI is also verified. Local main equals origin/main and is clean; feature refs removed. Final room dry-run/purge succeeded after all reports and commands completed.Integrated acceptance and receipts:
.ac/plans/3083-rail-click-diagnostics/integrated-acceptance-1892e47.md,P02-code-review-receipt.json,P02-ci-final-58e9dda.md,final-room-purge-receipt.txt. No remaining child or implementation work. No final packaged build was requested; none was installed or released. A running application needs a build containing these commits to record the new traces.To collect: enable Settings → Logging → Debug (or Trace) before reproduction. Locate the instance's effective log directory from the existing startup
[log] file logging to …message. Reproduce, immediately copyapp.logandapp.log.1through.5, and restore the previous level. Filter[rail-diag], group bywindowId, orderseqwithin that window, and include version/SHA/surface. Browser clients without a live level listener must reload after changing the backend setting; anyRUST_LOGoverride must allow the Debug target.Retention is shared: 50 MiB per file plus five rotations (~300 MiB), without a minimum time guarantee. Dispatch ACK is not durable file receipt; pending/rejected IPC, crash/closing/filter/file errors can lose records. Share scoped diagnostic excerpts rather than unrelated whole logs. Instrumentation supports future reproductions; the original intermittent click cause remains undetermined.