You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Nov 4, 2026. It is now read-only.
Repository navigation
This repository was archived by the owner on Nov 4, 2026. It is now read-only.
Re-homed from #3339 (comment 5232664054 recorded the same ECONNREFUSED noise class in these two packages) at that card's close — PR #4105 fixed the plugin-detail escape and its dev VERIFIED these two have a different root cause: neither package reaches useRecordEditable or DetailView at all, so the #4105 fix does not cover them and the bisect must start fresh.
The fix discipline is also on record: test-side doubles scoped to the escaping files, recording every URL so new escapes fail an assertion; NO global error swallowing; product fallbacks stay untouched; MSW only if the repo ever stands up a real MSW harness (it has none today — declared devDependency, zero imports).
Acceptance bar: the packages' suites run from repo root with zero ECONNREFUSED lines in stderr, no assertion weakened.
Not yet known
Which test files / call sites in plugin-charts and plugin-dashboard emit the requests, and what endpoint(s) they hit. That is this card's work.
Filed unassigned for the queue; observation provenance stays on #3339's thread.
Claim: PM loop round 5 (rolling slot refill — batch mode retired per maintainer, seat keeps 5 concurrent)
Session: session_017Qqyix2QcnpUC9XeYVDzx3 · Branch: claude/issue-4106-charts-dashboard-net-escape · Worktree: objectui-issue-4106
File surface: packages/plugin-charts + packages/plugin-dashboard test files (product code only if a bug is FOUND, which then needs its own premise verification). Serial constraints: disjoint from #3528/#3853/#3830/#3810 in flight.
Container & model: S, mode:subagent, model: opus
Attribution closed the count exactly (12 escapes × 2 lines = 24, zero unexplained) and corrected both of the card's assumptions with measurements: plugin-dashboard emits nothing (it already answers the endpoint from a double — which became the precedent this fix follows), and the escape is one effect in four files, not scattered. The doubles reproduce the exact observable state the swallowed rejection produced ({} → null maps), so no assertion changed meaning; each file's afterEach turns any NEW escape into a failing assertion. Reverse verification restores exactly 24 lines with the suite still green — the escape never had a watcher, now it does.
The real find is #4114: the bare-fetch read is a genuine product bug (ObjectChart reads SchemaRendererContext at :253 yet ignores its apiFetch, bypassing the hosted console's authenticated channel — the convention is documented in useRecordEditable and implemented in ObjectGantt and useViewData), demonstrated by a test mounting a real provider whose probe still escapes. Correctly reported instead of silently fixed in a hygiene card. This seat is grading it bug and dispatching it into the freed slot now.
Activity
yinlianghui commentedon Aug 10, 2026
Claim: PM loop round 5 (rolling slot refill — batch mode retired per maintainer, seat keeps 5 concurrent)
Session:
session_017Qqyix2QcnpUC9XeYVDzx3· Branch:claude/issue-4106-charts-dashboard-net-escape· Worktree:objectui-issue-4106File surface:
packages/plugin-charts+packages/plugin-dashboardtest files (product code only if a bug is FOUND, which then needs its own premise verification). Serial constraints: disjoint from #3528/#3853/#3830/#3810 in flight.Container & model: S,
mode:subagent,model: opusGenerated by Claude Code
yinlianghui commentedon Aug 10, 2026
ACCEPT (objectui seat PM, session
session_017Qqyix2QcnpUC9XeYVDzx3, review of record) — PR #4115.Attribution closed the count exactly (12 escapes × 2 lines = 24, zero unexplained) and corrected both of the card's assumptions with measurements: plugin-dashboard emits nothing (it already answers the endpoint from a double — which became the precedent this fix follows), and the escape is one effect in four files, not scattered. The doubles reproduce the exact observable state the swallowed rejection produced (
{}→ null maps), so no assertion changed meaning; each file's afterEach turns any NEW escape into a failing assertion. Reverse verification restores exactly 24 lines with the suite still green — the escape never had a watcher, now it does.The real find is #4114: the bare-
fetchread is a genuine product bug (ObjectChart reads SchemaRendererContext at :253 yet ignores itsapiFetch, bypassing the hosted console's authenticated channel — the convention is documented inuseRecordEditableand implemented in ObjectGantt and useViewData), demonstrated by a test mounting a real provider whose probe still escapes. Correctly reported instead of silently fixed in a hygiene card. This seat is grading itbugand dispatching it into the freed slot now.Flipping ready + auto-merge.
Generated by Claude Code
test(plugin-report): serve the dimension-metadata probe from a double…
test(plugin-dashboard): close DashboardGridLayout's object-chart meta…
test(plugin-report): serve the dimension-metadata probe from a double…
test(plugin-dashboard): close DashboardGridLayout's object-chart meta…