package manager: two majors of one package in one graph #28
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Context
Resolution allows one version per major (CONCEPT, "Packages and the Supply Chain"); two majors of one package in one graph are not supported yet.
Source
Acceptance criteria
Dependencies
None known.
Moved from the planning lists of the docs; the design record stays the specification.
[loop:torbscript] intake: in scope as an issue (author orion, label loop), with an owner question: CONCEPT "Packages and the Supply Chain" states one version per major; two majors in one graph changes the resolution model (breaking, language design choice). Not ready until Torben decides, to be filed in refine. Release freeze for 0.1.0 (2026-10-06) holds new PRs, next: refine (owner decision expected)
[loop:torbscript] refine: still queued behind the intake order. next: waiting (ready buffer full: #4, #163, #164, #223 are ready) until 2026-10-10T04:00:00Z
[loop:torbscript] claim refine by session:loop-torbscript-20261012 until 2026-10-12T10:23Z
[loop:torbscript] decided by the loop: this is not an owner question. CONCEPT "Packages and the Supply Chain" already promises one version per major, docs/design/PROJECT.md section 6a calls today's single version the stricter subset and names the change (resolver package becomes (name, major), per-package resolution of
usespecifiers). It lifts a restriction, existing graphs resolve and build as before, and no published contract breaks. Technical choices: source specifiers stay version-free; the importing package's own dependency line picks the major; single-major packages keep today's names and lock bytes. Too large for one PR (resolver and lock, workspace and checker identity, lowering and back ends), so it is split by dependency: #323 (resolve and lock, ready) -> #324 (load side by side) -> #325 (keep modules apart, end to end, docs). #28 stays the umbrella and closes when #325 has landed. Its three acceptance criteria map to #323 (PubGrub and lock), #325 (modules apart), #323+#325 (test graph).[loop:torbscript] refine: split into #323 (ready), #324, #325; no owner question, next: implement #323 (this issue: waiting (dependency #325)). Tokens: ~75k
[loop:torbscript] close: all three slices have landed: #323 (resolve and lock), #324 (PR #360, load side by side) and #325 (PR #361, commit
d8e9b575bf, modules kept apart end to end withtwo-majors.test.trb).mainCI is green. Issue closed. next: done