Skip to content

feat(loader): a version entry's floor -- the oldest installed revision still usable (0.0.65) - #50

Merged
Sunrisepeak merged 1 commit into
mainfrom
feat/version-floor
Oct 17, 2026
Merged

Sunrisepeak merged 1 commit into
mainfrom
feat/version-floor

Conversation

@Sunrisepeak

Copy link
Copy Markdown
Member

floor = N on a version entry (0 <= N <= revision) is parsed into
PlatformResource::floor, and resolve_resource reports the floor of the
entry an alias resolves to. Absent is 0; a floor above the revision reads as
the revision.

Why: a raised revision used to mean "every installed payload of this
version is stale", so a client replaced llvm, gcc and glibc on a user's next
build for revisions that only removed hard links for Android or regenerated a
cfg. Only the recipe's author knows whether a revision fixes something every
installed payload has; floor lets the author say so, and a client keeps a
payload at or above it (mcpp design 2026-10-17, L1).

Tests: LoaderTest.V2_Floor_ParsedAndBoundedByRevision.

Co-authored-by: speak-agent 248744407+speak-agent@users.noreply.github.com

…n still usable (0.0.65)

`floor = N` on a version entry (0 <= N <= revision) is parsed into
`PlatformResource::floor`, and `resolve_resource` reports the floor of the
entry an alias resolves to. Absent is 0; a floor above the revision reads as
the revision.

Why: a raised `revision` used to mean "every installed payload of this
version is stale", so a client replaced llvm, gcc and glibc on a user's next
build for revisions that only removed hard links for Android or regenerated a
cfg. Only the recipe's author knows whether a revision fixes something every
installed payload has; `floor` lets the author say so, and a client keeps a
payload at or above it (mcpp design 2026-10-17, L1).

Tests: LoaderTest.V2_Floor_ParsedAndBoundedByRevision.

Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
@Sunrisepeak
Sunrisepeak merged commit a373556 into main Oct 17, 2026
1 check passed
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