Close the standard foundation roadmap. - #21
Merged
Merged
Conversation
Move a nursery object to the mature generation as part of pin creation.\nThis guarantees a stable physical token before an unsafe foreign boundary\ncan observe the object, as required by the relocating nursery contract.\n\nAdd a regression test that forces a minor collection after pinning and\nverifies that the pinned token does not move.
Compose the relocating nursery with precise snapshot-at-the-beginning\nmarking and bounded mature sweeping. Preserve overwritten snapshot edges,\nshade late roots, pins, and newly published objects, and defer nursery\nrelocation while physical tokens remain in an active major snapshot.\n\nKeep the runtime labeled as relocation conformance until background workers,\npage/TLAB allocation, pacing, and production backend relocation support are\nproven.
Track validated region, page, and TLAB geometry in the generational\nconformance runtime. Use monomorphic page descriptors for precise layouts,\npointer-bump local Eden placement, and distinct mature, large, and pinned\ndomains.\n\nReconcile physical placement after nursery copying and promotion, remove dead\nplacements during mature sweep, and move pins to stable pinned space before\nforeign exposure. Keep production profile selection disabled until parallel\nallocation and backend relocation gates are proven.
Define the exact initial prelude and record the current public surface in a bounded, versioned API baseline. This prevents planned catalog entries and Rust-only prototypes from appearing as stable Pop APIs.\n\nResolve the trusted Sequence namespace as a low-priority prelude alias, add the accepted CancelToken identity, and cross-check baseline identities against bootstrap metadata.
Document the portable Sequence adapters with their exact generic roles, lazy or eager behavior, allocation, dispatch, and complexity contracts. Compile one embedded Pop example per public algorithm through verified HIR and MIR so documentation drift fails the foundation source suite.
Record the foundation capabilities already proven across backends and keep byte/text views, numeric helpers, resources, and tasks open until their accepted lifetime and effect contracts are implemented.
Package library objects, canonical reference metadata, checked documentation, and exact dependency hashes into a verified .poplib during pop build. This makes build output match the accepted artifact contract while leaving dependency consumption from loaded artifacts as an explicit remaining loader step.
Align the release blocker with ADR 0058's exact bootstrap boundary. Keep planned Math, Text, Bytes, resource, and task APIs outside the implemented baseline instead of treating catalog placement as delivery. Remove stale nominal Option wording, record the ADR supersession, and add a regression test that keeps baseline authority paths and roadmap completion synchronized.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Complete the exact ADR 0058 standard-foundation baseline.
T?.Sequenceimplementations with checked documentation andcompiled examples.
.poplibartifacts during builds.2.
baseline until their dedicated contracts are complete.
Architecture traceability
T?; no nominalOption<T>is introduced.ROADMAP.mdarchitecture/16-base-libraries.mdarchitecture/22.1-core-and-portable-library-catalog.mdarchitecture/22.6-standard-library-implementation-plan.mdarchitecture/decisions/0031-public-library-tiers-and-names.mdVerification
cargo fmt --all -- --checkcargo check --workspace --all-targetscargo test --workspace --all-targetscargo clippy --workspace --all-targets -- -D warningsFocused checks passed for
pop-standard, foundation source/HIR/MIR analysis,.poplibround trips, Package builds, and local dependency execution.The architecture suite passed 14 of 15 tests in the current dirty worktree. Its
only failure comes from separate uncommitted Actor/Cluster root-inventory work
and is not included in this change.
Workspace-wide check, test, and clippy were not run.
Review notes
The broad standard-library catalog remains planned. Async/task execution remains
owned by the base-language and runtime blockers. Source-free locked dependency
selection and native implementation linking remain ordinary Package-workflow
work under ROADMAP section 4.