diff --git a/docs/upstream-sync/UPSTREAM.md b/docs/upstream-sync/UPSTREAM.md index 95c8e03e..9c6ec550 100644 --- a/docs/upstream-sync/UPSTREAM.md +++ b/docs/upstream-sync/UPSTREAM.md @@ -7,11 +7,13 @@ ## Current alignment -- **Tracked colby release:** `v1.6.1`. All portable in-scope behavior audited - through that release is closed: ported, already present, recorded N/A, or - deferred by the owner, as the 2026-10-01 CLOSEOUT entry below lists. The - official codegraph-rs `v0.51.0` binaries passed the release smoke recorded - there. +- **Tracked colby release:** `v1.6.2`. All portable in-scope behavior audited + through that release, and through the `main` commits after it up to the last + discovery audit, is closed: ported, already present, recorded N/A or + KEEP-RUST, excluded by the owner, or moved by the owner to the follow-up pull + request, as the 2026-10-22 CLOSEOUT entry below lists. The official + codegraph-rs `v0.55.0` binaries passed the black-box acceptance in the + 2026-10-22 release entry. - **Last discovery audit:** colby `main` at `b635dd467f0578926a9c01a37b9d28d2b26689f1` (2026-10-07), audited on 2026-10-10 in [`V1_6_2_AUDIT_2026-10-10.md`](V1_6_2_AUDIT_2026-10-10.md): 268 @@ -23,15 +25,17 @@ - **Next discovery starts here:** `b635dd467f0578926a9c01a37b9d28d2b26689f1..origin/main`. Do not re-triage the audited range. -- **Planned for codegraph-rs `v0.55.0`:** the 2026-10-10 audit's rows under - waves W0 to W6 and W10 of its program. By the owner's decision of 2026-10-16 - the rows under W7, W8 and W9 (the UI family F1–F12 with the synthesis stage - and the framework resolvers, VB.NET, `codegraph context`, #1617 and the 26 - v1.5.0 performance strategies) move to a follow-up pull request; the audit - marks them `PLANNED (follow-up PR)`, and a row that lands only partly in - `v0.55.0` names both halves. See the 2026-10-16 entry below. The tracked - release stays `v1.6.1` until `v0.55.0` ships and its downloaded binaries are - verified. +- **Shipped in codegraph-rs `v0.55.0`, 2026-10-22:** #322, the 2026-10-10 + audit's rows under waves W0 to W6 and W10 of its program, with extraction + version 22. The audit's `LANDED` rows name the commits and #322. See the + 2026-10-22 release and CLOSEOUT entries below. +- **Planned for the follow-up pull request:** the rows under W7, W8 and W9 + (the UI family F1–F12 with the synthesis stage and the framework resolvers, + VB.NET, `codegraph context`, #1617 and the 26 v1.5.0 performance + strategies), by the owner's decision of 2026-10-16. The audit marks them + `PLANNED (follow-up PR)`, and a row that landed only partly in `v0.55.0` + names both halves. That pull request moves the extraction version from 22 to + 23. See the 2026-10-16 entry below. - **Upstream repository:** . - **Shipped in codegraph-rs `v0.52.0`, 2026-10-01:** - #286, which makes a full `sync` keep what `index` keeps; @@ -84,7 +88,7 @@ deferred, scheduled as phases 2–4: F10/F11 first, then F1–F6 with Screens and Steps, then F7–F9 and F12. The 2026-10-10 program planned all of them for `v0.55.0`; on 2026-10-16 the owner moved them, with the rest of W7, to the - follow-up pull request. `v0.55.0` lands from them only `950686de`'s test-file + follow-up pull request. `v0.55.0` landed from them only `950686de`'s test-file classifier and `b1f40c57`'s `e2e/` test path (one predicate with the resolver's), and the route roots its routes list reads. @@ -92,6 +96,32 @@ The Rust product and upstream release versions are independent. This Current alignment block is the only place that states release parity; dated log entries below remain immutable historical evidence. +> **1.6.1 → 1.6.2 sync: COMPLETE** (codegraph-rs `v0.54.0` → `v0.55.0`). +> Every portable, in-scope behavior of the audited range — the `v1.6.2` +> release and the 88 `main` commits after it, through `b635dd46` — landed in +> #322, except the exceptions below, and the official `v0.55.0` binaries passed +> the black-box acceptance in the 2026-10-22 release entry below. The explicit +> exceptions are: +> +> - **COBOL is OWNER-EXCLUDED** (2026-10-10): the extraction (#1161), the CICS +> resolver, #2272 and #2358. crates.io's `tree-sitter-cobol` is a placeholder, +> and the grammar manifest forbids vendoring a grammar. +> - **G16 and G17 are OWNER-EXCLUDED** (2026-10-12): two older C/C++ +> extraction gaps found while porting #2446 and only recorded. A variable at +> namespace scope, and a struct or union defined inside a function body, get +> no node. +> - **Refusing a schema newer than the binary (OD-19) is PLANNED (follow-up +> PR)**, with the design constraints the audit records. +> - **The rows under W7, W8 and W9 are PLANNED (follow-up PR)** (2026-10-16): +> the UI family F1–F12 with the synthesis stage and the framework resolvers, +> VB.NET, `codegraph context`, #1617 and the 26 v1.5.0 performance +> strategies. +> - **KEEP-RUST divergences** are recorded row by row in the audit. Three of +> them add behavior upstream does not have: property type references for +> Kotlin and PHP, C# extension methods reached from an outside receiver +> type, and C/C++ alias signatures. +> - The `1.6.0 → 1.6.1` and older caveats below carry forward unchanged. + > **1.6.0 → 1.6.1 sync: COMPLETE** (codegraph-rs `v0.50.3` → `v0.51.0`). > Every audited portable, in-scope behavior landed in six porting PRs (#275, > #277–#279, #281, #282) on the #271 engineering baseline, and the official @@ -186,6 +216,159 @@ below remain immutable historical evidence. ## Sync log +### 2026-10-22 — CLOSEOUT: `v1.6.1 → v1.6.2` sync COMPLETE in codegraph-rs `v0.55.0` (tracked parity advanced to `v1.6.2`) + +The 2026-10-10 audit covered `f4ddf508..b635dd46`: 268 commits, of which the +first 180 make up `v1.6.2`. #322 landed every row the program kept for +`v0.55.0`, waves W0 to W6 and W10, in 206 commits squashed into `0796c8a`. +The audit's status column now reads `LANDED` with those commits and #322, +`ALREADY-HAVE`, `KEEP-RUST`, `N/A`, `OWNER-EXCLUDED`, or `PLANNED (follow-up +PR)`; no row is still `PLANNED` for this release. + +The tracked release moves to `v1.6.2`, the newest formal tag before +`b635dd46`. Everything portable through it has landed, except the owner's +exceptions in Current alignment, and the downloaded `v0.55.0` binaries are +verified in the release entry below. The rows `PLANNED (follow-up PR)` get +their own entry when that pull request lands. The next discovery starts at +`b635dd467f0578926a9c01a37b9d28d2b26689f1..origin/main`. + +### 2026-10-22 — `v0.55.0` RELEASED: #322 shipped + +The implementation PR #322 merged as `0796c8a`, with the tree of its reviewed +head `f5287d0` (`93c051b…`). The final kirocodex goal review failed on the +previous head `d21291b` with two blocking items and passed on `f5287d0` with +none. Main CI run +[`39599579698`](https://github.com/sunerpy/codegraph-rust/actions/runs/39599579698) +passed. + +Release-please PR [#325](https://github.com/sunerpy/codegraph-rust/pull/325) +merged as `5f96a741504e656fd9f6bed138b288ab22a490a0`, with the tree of its head +`67a9a9d`, `029198b…`. + +- The owner approved it as code owner. One Linux test failed in its CI run + [`39605156993`](https://github.com/sunerpy/codegraph-rust/actions/runs/39605156993) + (`plain_output`, a temporary directory two tests can share); the re-run of + the failed jobs passed, so attempt 2 is all green. +- GitHub never delivered the push event of that merge. The commit has no + workflow run and no check suite, and the repository activity log has no + merge entry for it, though every earlier merge has one. Release Please runs + only on push, and the exact-SHA gate needs a CI push run on the release + commit, which `ci.yml` cannot produce later. The release stalled. +- #327 merged as `b02b563`. A manual Release dispatch may now name the release + PR's own CI run; it is accepted only while the release commit has no CI push + run, and only for a run on the same tree, and a CI push run that appears + later must pass before publication. That merge's push was delivered: Release + Please created tag `v0.55.0` at `5f96a74` and the draft. Its run + [`39698159119`](https://github.com/sunerpy/codegraph-rust/actions/runs/39698159119) + was cancelled once the draft existed, because its exact-SHA gate could not + pass. + +Release workflow run +[`39698634632`](https://github.com/sunerpy/codegraph-rust/actions/runs/39698634632), +dispatched on `main` with `tag_name=v0.55.0` and `ci_run_id=39605156993`, +passed all twelve jobs on its first attempt. + +- The CI gate accepted #325's run `39605156993` (attempt 2, head `67a9a9d`, + tree `029198b…`), since `5f96a74` has no CI push run; the publish-time check + found none either. +- Every build job checked out tag `v0.55.0` and verified that it resolves to + `5f96a74`. The attestations name the dispatch run and its commit `b02b563`. +- The release was published at 2026-10-22T00:34:16Z UTC. +- The official `codegraph-0.55.0-x86_64-unknown-linux-musl.tar.gz` digest is + `c3503ff2f91c863b65d9d0c8c148eea047c92fd1553cfd0eb4be62e22c0357cc`. + +Black-box acceptance of the downloaded release, against the official `v0.54.0`: + +- **Artifacts.** `SHA256SUMS` and `gh attestation verify` passed for all six + archives. The binary reports `codegraph 0.55.0`, and its `.comment` section + names rustc 1.98.0. +- **Upgrade.** On this repository's `14c4f93` tree, an index built by + `v0.54.0` (extraction version 21) is `outdated` to `v0.55.0`. One `sync` + makes it current at extraction version 22 with nothing pending, and its + `export` is byte-identical to a fresh `init` (20,241 nodes, 67,962 edges). + `v0.54.0` reports the `v0.55.0` index as `future`, refuses `sync` and + `search`, and leaves every file of the index byte-identical. +- **Daemon.** A `v0.54.0` session and its daemon run on a `v0.54.0` index. + After `codegraph sync`, a `v0.55.0` session replaces that daemon ("replaced + the daemon an older codegraph install left running"), and a write reaches the + index. Without the `sync`, see the known issue below. +- **Cold start.** With the idle timeout at 4 s, the daemon of a cold + `v0.55.0` session is still alive after 8 s, and an edit then reaches the + index. `v0.54.0`'s daemon idle-exits under the open session, and the edit + never arrives. +- **Bulk rename.** With a live session, 600 files renamed at once leave + nothing pending after 4.9 s, and the index equals a fresh `init` of the + renamed tree. +- **Graph.** 20 seeds from the program's inputs hold on `v0.55.0`; 14 of them + do not hold on `v0.54.0`. The 20 include a C# base list, a Vue + `