Skip to content

docs(rfc): Codex declines container decomposition — the partition was 46% overstated - #657

Open
pjm17971 wants to merge 1 commit into
mainfrom
rfc/codex-review
Open

docs(rfc): Codex declines container decomposition — the partition was 46% overstated#657
pjm17971 wants to merge 1 commit into
mainfrom
rfc/codex-review

Conversation

@pjm17971

Copy link
Copy Markdown
Collaborator

pjm asked for the Codex adversarial pass before acting on
#656. It returned do not build it
at high confidence, and it's right.

I re-verified every decisive claim against the source before accepting. All hold
— and my own first check was the faulty one: a backwards-searching regex
reported "not deprecated" for all five props. Codex's line citations were exact.

The defect

cursor, cursorSequence, cursorTime, crosshairSnap, cursorFormat are
already @deprecated in favour of mounted cursor components
(ChartContainer.tsx:432, 461, 576, 590, 675). §4 called only onRegionSelect
and regionSelectModifier deprecated. There are seven, not two — so half the
"shared-x effects" group is migration residue from the interaction wave, not
evidence for <Domain>. snap was also mis-filed as mapping when it gates
annotation-to-annotation guide snapping (annotations.tsx:374-388).

claimed to <Domain> 24 of 38
defensible 13 (18 counting contested)
overstatement 11 props — 46% of the claim

Every error ran the same direction: making the cluster look larger.

Two claims withdrawn

  • "Fixes Friction feat: add LiveView for composable live views #24 by construction" is false. Suppression is global
    because every row runs a query over all annotations (Layers.tsx:519).
    The fix is row-scoping it — available today, no decomposition needed.
  • "Annotations are layers" wasn't a proposal. They're already children of
    <Layers> (annotations.tsx:30). What's actually unhomed is their cross-row
    coordination, which the RFC never located. The recursion was asserted, not
    closed.

What Codex added

The third option §10.1 missed: keep ChartContainer as a single-domain
facade
and add an outer ChartGroup only for the uncommon multi-domain case —
or decompose internally via BoxContext/DomainContext with no public tree
break at all
. Also flagged that useChartFrame() exposes one xScale/xKind/
bands (useChartFrame.ts:154-191), which multiple domains would leave
undefined — I'd treated that as a footnote.

Outcome

  • RFC marked DECLINED; §1–§11 left unedited as the record, review + author
    response appended per the streaming.md convention.
  • [PND-XAXISOWN] is unblocked — the reviewer's explicit finding is that
    xAxis="auto" is not wasted work. (Consumer evidence gathered en route:
    Tidal passes showAxis at 2 of 2 sites, estela at 5 of 14.)
  • Friction feat: add LiveView for composable live views #24 now carries its located code fix instead of the doc sentence
    it proposed.
  • PLAN.md's "structural work must precede consumers" rule survives, with the
    guard this cost us: urgency is a reason to review harder, not less. That
    RFC reached "decide in weeks" while its own §10 was unresolved and its
    evidence was wrong.

Docs only.

🤖 Generated with Claude Code

…overstated

pjm asked for the Codex adversarial pass before acting on the RFC. It
returned DO NOT BUILD IT at high confidence, and it is right. I
re-verified every decisive claim against the source before accepting;
all hold, and my own first check was the faulty one (a backwards-
searching regex reported "not deprecated" for all five props — Codex's
line citations were exact).

THE DEFECT. Five of the ten "shared-x effects" props — cursor,
cursorSequence, cursorTime, crosshairSnap, cursorFormat — are ALREADY
@deprecated in favour of mounted cursor components (ChartContainer.tsx
432/461/576/590/675). §4 called only onRegionSelect and
regionSelectModifier deprecated. There are seven, not two. So half that
group is migration residue from the interaction wave, not evidence for
<Domain>. `snap` was also mis-filed as mapping when it gates
annotation-to-annotation guide snapping (annotations.tsx:374-388).

  claimed to <Domain>: 24 of 38
  defensible:          13 (18 counting contested)
  overstatement:       11 props, 46% of the claim

Every error ran in the same direction — making the cluster look larger.

TWO CLAIMS WITHDRAWN. "Fixes friction #24 by construction" is false:
suppression is global because every row runs a query over ALL
annotations (Layers.tsx:519); the fix is row-scoping it, available today
with no decomposition. And "annotations are layers" was not a proposal —
they are already children of <Layers> (annotations.tsx:30). What is
actually unhomed is their cross-row coordination, which the RFC never
located. The recursion was asserted, not closed.

Codex also supplied the third option §10.1 missed: keep ChartContainer
as a single-domain facade and add an outer ChartGroup only for the
uncommon multi-domain case, or decompose internally via
BoxContext/DomainContext with no public tree break at all.

Outcome: RFC marked DECLINED, body left unedited as the record, review
and author response appended per the streaming.md convention.
PND-XAXISOWN is unblocked — the reviewer's explicit finding is that
xAxis="auto" is NOT wasted work. Friction #24 now carries its located
code fix instead of the doc sentence it proposed.

PLAN.md's "structural work must precede consumers" rule survives, but
now carries the guard this cost us: urgency is a reason to review
harder, not less. That RFC reached "decide in weeks" while its own §10
was unresolved and its evidence was wrong.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
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