Repository navigation
feat(DEN-3488): materialize finite exact-version circular dependency graphs - #315
ORESoftware wants to merge 39 commits into
Conversation
Linear: DEN-3488
Linear: DEN-3488
Linear: DEN-3488
Linear: DEN-3488
Linear: DEN-3488
Linear: DEN-3488
Linear: DEN-3488
Linear: DEN-3488
Linear: DEN-3488
Linear: DEN-3488
Linear: DEN-3488
Linear: DEN-3488
Linear: DEN-3488
Linear: DEN-3488
Linear: DEN-3488
Linear: DEN-3488
Linear: DEN-3488
2026-09-03 exact-head validationThe macOS ARM regression was a path-representation issue, not a store escape: the test canonicalized the node source through Focused workflow run 33791388236 is green on the corrected exact head:
This preserves the containment check rather than weakening or removing it. The PR is not being merged here: it still has no independent OpenAI/Claude reviews, and several repository-wide workflows remain red or in progress outside this focused graph lane. |
Semantic two-parent reconciliation of DEN-3488 with released v0.3.0. Preserve the current release manifest, interfaces/lock pins, CLI hardening, generated runtime surfaces, and existing package-manager behavior while adding the exact-version graph materializer, deterministic cycle diagnostics, finite symlink reuse, public graph command, documentation, and focused workflow/tests. Overlapping install-graph imports were resolved by meaning. Cargo.lock remains the current v0.3.0 lock temporarily and will be regenerated by a bounded branch-only workflow for the exact logger dependency before product validation. No rebase, reset, force-push, or side-selection was used.
Apply the only source delta reported by the first merged-graph validation run. The lock generator itself succeeded and resolved zed-cli 0.3.0 plus the exact ORES logger revision; no warning, test, or policy gate is weakened.
DEN-3488 current-main integration receiptThe exact circular-graph implementation is now semantically integrated with current
The six newly integrated mainline commits touched only formal-review/source-policy files plus Current-head independent acceptance:
Promotion remains blocked until the exact current-head product and both acceptance workflows are terminal and green. The scope boundary is unchanged: ordinary |
|
/ores-review |
DEN-3488 final certification receiptThe exact product head remains Current-head product validationFocused run
Independent test-org certificationBoth acceptance PRs pin this exact product SHA and are merged:
Remaining promotion gate
Explicit follow-up boundaryOrdinary |
|
/ores-review Re-requesting exact-head review for |
Summary
Add finite exact-version circular dependency materialization, including:
A@1andA@2are distinct exact nodes. The closingB@0 -> A@2edge points to the existing canonical A2 node through a symlink; it does not recursively copy another dependency subtree.Linear: DEN-3488
Normal-install/lockfile-v2 follow-up: #330
Logger prerequisite: ores-otel/ores.otel.log#45
Implementation
zed_modules/boundaryFor the canonical fixture there are exactly four payload nodes and four dependency links. The closing B0→A2 link resolves to the first A2 node; no fifth payload or recursive tree is created.
Diagnostics
The CLI pins the Rust logger from
github.com/ores-otel/ores.otel.logand enables console output. Each cycle emitszed.install.circular_dependencywithcycle_id, exact path, closing nodes, target node key/digest,resolution=exact-node-symlink, and graph/materialization digests. The terminal message names the cycle and explains that the closing edge reuses the existing exact node through a symlink.Public surface and tests
zed graph materializeaccepts either a canonical digest-verified resolved graph backed by the immutable Zed store or a local exact-node source-binding plan.Product tests cover the canonical fixture, self/two-node cycles, version skew, diamonds/shared completed nodes, deterministic witnesses, bounds, malformed graphs, exact back-edge reuse, no recursive copies, replay, copy-mode rejection, symlink/path containment, macOS path canonicalization, and ORE memory-transport plus terminal diagnostics.
Current-head validation
Product head:
86d499aff19807cee3500777ee4a9e48ea646821Current main integrated as second parent:
5d0cbc0609703e7516e2185ea3c1749c9feda482The branch is ahead-only on current main. Focused run 34060370621 is green on Ubuntu, macOS, and Windows for the applicable exact-node, parser, ORE logging, public-executable symlink, platform-safety, and focused-Clippy lanes:
https://github.com/zed-pkg/zed-cli/actions/runs/34060370621
Independent exact-head suites are green and merged:
53e41714d99c1de5aee38fea95b552296e8baa8a06be3471fe4c460fdf4f751f3464b9005c29d4eaThe Linux/macOS black-box suite built the exact release binary, drove the public CLI, verified the four-node finite symlink graph and B0→A2 reuse, checked visible diagnostics and replay, rejected copy mode, and reran product regressions at the same SHA.
Scope boundary
This PR does not claim ordinary
.zpkg.tomlresolution and.zpkg.lockv1 can select multiple versions of one coordinate. Issue #330 tracks lockfile v2 plus normal install/prefetch/frozen-replay integration and must reuse this exact graph/materializer.Promotion gate
/ores-reviewwas requested on the current head. Do not merge until current-SHAores-review/openai,ores-review/claude, andores-review/gateresults satisfy repository governance.