Skip to content

Refinement note: content-accessor-guards Rule 1 gap (docs only) - #276

Open
dk107dk wants to merge 1 commit into
mainfrom
docs/content-accessor-guards-refinement
Open

dk107dk wants to merge 1 commit into
mainfrom
docs/content-accessor-guards-refinement

Conversation

@dk107dk

@dk107dk dk107dk commented Aug 29, 2026

Copy link
Copy Markdown
Collaborator

Summary

No code changes -- documentation only. Investigated whether the '*'-
traversal/GROUP-mode content-accessor rejection (FILES) was safe to
convert to the deferred ambiguous_content_read pattern, the same way
this session's other three field-accessor fixes were (#274, #275, plus
the RESULTS narrowing fix in #273), without a check-in first -- since
none of them needed one.

It is not a safe blind conversion. Wrote up the exact reasoning and the
fix direction in deferred_work_bucket_list.md for review rather than
build it unreviewed while unavailable overnight, per the bucket list's
own existing warning on this item ("not obviously safe to convert...
not a blind port").

What's documented

  • Why the existing ambiguous_content_read flag is a naive count check,
    unsafe to rely on for :manifest() once GROUP-mode + pointer is
    allowed through (it cannot currently tell "several groups, each
    already reduced to one via its own pointer" apart from "several raw,
    unreduced candidates").
  • Why field accessors were unaffected by this (they never set
    has_manifest, so the flag stays False regardless of count) --
    confirming the three field-accessor PRs already merged are not at
    risk.
  • The fix direction: make the flag partition-aware, mirroring the
    reasoning CSVPATHS' own already-shipped equivalent fix used.
  • Likely-affected sibling call sites (RESULTS' own GROUP-mode content-
    accessor check, possibly its literal-root match_all check).
  • The scope decision needed before building: FILES-only vs. also
    RESULTS/CSVPATHS in one pass.

Test plan

N/A -- no code changed.

https://claude.ai/code/session_013gPjejPWvbWtjz2dw9h14M

Investigated whether the '*'-traversal/GROUP-mode content-accessor
rejection (FILES) was safe to convert to the deferred
ambiguous_content_read pattern the same way this session's other three
field-accessor fixes were, without a check-in first, since none of them
needed to.

It is not a safe blind conversion: the existing ambiguous_content_read
flag is a naive count check that does not know whether candidates were
already individually reduced one-per-partition (legitimate, per this
bucket-list item's own CSVPATHS precedent) versus genuinely unreduced
and sharing one accessor (a real Rule 1 violation). Field accessors
never trip this flag at all, which is why narrowing to field-accessors-
only was safe without touching it. Making :manifest() safe here too
needs the flag itself to become partition-aware first.

Documented the exact fix direction, likely affected call sites
(RESULTS' own equivalent GROUP-mode check, possibly its literal-root
match_all check), and the scope decision needed before building
(FILES-only vs. also RESULTS/CSVPATHS in one pass) -- no code changed.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013gPjejPWvbWtjz2dw9h14M
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