Skip to content

docs(upstream-sync): add v0.46.0 and record the whole-file explore hole - #222

Merged
sunerpy merged 1 commit into
mainfrom
docs/ledger-v0.46.0
Aug 20, 2026
Merged

sunerpy merged 1 commit into
mainfrom
docs/ledger-v0.46.0

Conversation

@sunerpy

@sunerpy sunerpy commented Aug 20, 2026

Copy link
Copy Markdown
Owner

Follow-up to #219, now that content-header detection has shipped as v0.46.0.

Ledger updated

The 2026-08-20 entry's shipped table gains v0.46.0 (#220, content-header generated detection, upstream #1500 + 57e0854), and the header's release range plus the entry title move from four tiers through v0.45.0 to five tiers through v0.46.0.

A defect recorded ahead of its port

The still-open section previously said the explore epic and content-header detection were both unshipped. One of those is now done, and the review of the other surfaced something worth writing down rather than leaving in a plan file:

engine.rs's whole-file rule returns a complete section before any budget, ceiling, or focus logic exists — and its two thresholds are independent:

const WHOLE_FILE_MAX_LINES: usize = 220;
let whole_file_max_chars = budget.max_chars_per_file * 3;
if total_lines <= WHOLE_FILE_MAX_LINES && content.len() <= whole_file_max_chars

So a file can pass the line gate, fail the character gate, fall through to clustering, and then be rejected whole. Measured:

src/big.ts   63 lines / 19,245 bytes, holds the named target
$ codegraph explore namedTarget
  615 bytes, 0 `####` sections, 0 occurrences of the definition

615 bytes with zero sections is byte-identical to the original CG-38 defect, reached by a different route — and a MIN_WINDOW focus slice would have fit comfortably. It matters because a fix that only funds headroom inside the clustering path leaves this hole open, and a test that oversizes only line count will never reach it.

Recording it here means the next person to touch explore budgeting finds it without re-deriving it, whether or not the current Tier 5 plan lands.

Docs only: one file, oxfmt idempotent, tracked parity unchanged at 1.5.0.

Content-header generated detection shipped, so the entry's table, the header's
release range, and its title all move to five tiers through v0.46.0.

The still-open section now carries what the explore review turned up, because it
is the kind of thing a future port would otherwise rediscover: the whole-file
rule returns a complete section before any budget or focus logic runs, and its
line and character thresholds are independent. A 63-line file over the character
cap therefore falls through to clustering and can be rejected whole, so an
explicitly named symbol answers with 615 bytes and no sections — the same empty
result CG-38 exists to prevent, by a route a clustering-only fix leaves open.
@codecov

codecov Bot commented Aug 20, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

Impacted file tree graph

@@           Coverage Diff           @@
##             main     #222   +/-   ##
=======================================
  Coverage   95.31%   95.31%           
=======================================
  Files         141      141           
  Lines       78022    78022           
=======================================
  Hits        74367    74367           
  Misses       3655     3655           
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@sunerpy
sunerpy merged commit d2e7c06 into main Aug 20, 2026
7 checks passed
@sunerpy
sunerpy deleted the docs/ledger-v0.46.0 branch August 20, 2026 16:49
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