Repository navigation
Umbrella: standard library roadmap (50 items, 5 tiers) #412
Copy link
Copy link
Open
Labels
enhancementNew capability or improvement to existing behaviourNew capability or improvement to existing behaviourfeeds:valence-shellFeeds valence-shell's proofs/engineering (D127): judge progress by what it contributes thereFeeds valence-shell's proofs/engineering (D127): judge progress by what it contributes theremeta:umbrellaParent issue aggregating child issuesParent issue aggregating child issuespriority:p3Low - nice to haveLow - nice to havescope:repoConfined to this repositoryConfined to this repository
Description
Umbrella tracker for docs/stdlib-roadmap.adoc (landed in #410).
50 stdlib items across 5 tiers — the .affine files in stdlib/, sequenced runtime gaps → RSR rewires → universals → concurrency → conformance.
Tier summary
| Tier | Theme | Count |
|---|---|---|
| 1 | Idaptik runtime gaps (List len/++, dict, cross-file use, Option reach, etc.) |
10 |
| 2 | Estate convergence (Crypto/Http/Json/GitHub RSR rewires, Result/Option helpers, traits, math, io) | 10 |
| 3 | Universals (Time, UUID, Regex, URL, Base64/hex, Logging, Date, Number fmt, Float utils, Bytes) | 10 |
| 4 | Concurrency/async/effects (async, Task, Channel, Mutex, Atomic, Cancel, Timer, Select, Stream, Actor) | 10 |
| 5 | Conformance/introspection (aLib, effects calc, capabilities, borrow helpers, diagnostics, reflect, serde, testing, bench, doc-comments) | 10 |
Status legend
○nothing built ·◐scaffold ·◑partial ·●usable ·◯blocked by non-stdlib issue
Doc
See docs/stdlib-roadmap.adoc (in repo) for the full per-item table with status, file location, and rationale, plus the inventory snapshot of stdlib/.
Sequencing (from the doc)
- Phase A (unblock idaptik PR Cross-module imports: TopConst not threaded by gen_imports / flatten_imports #107 successor): ci: Bump actions/github-script from 7.0.1 to 8.0.0 #5 (cross-file
use) → ci: Bump trufflesecurity/trufflehog from 3.92.5 to 3.94.1 #6 (Option reach) → ci: Bump actions/setup-node from 4.0.2 to 6.3.0 #1 (List.len runtime) → ci: Bump dtolnay/rust-toolchain from f7ccc83f9ed1e5b9c81d8a67d7ad1a747e22a561 to efa25f7f19611383d5b0ccf2d1c8914531636bf9 #2 (List.++ runtime) → ci: Bump github/codeql-action from 4.31.10 to 4.35.1 #7 (Dict runtime) - Phase B (RSR convergence): bindings refactor(manhattan-recovery): scope recovery + complete grammar refactor + rip dependent-type creep #19 (Zig FFI doc) → ci: Bump trufflesecurity/trufflehog from 3.94.1 to 3.94.2 #11 (Crypto) → ci: Bump webfactory/ssh-agent from 0.9.1 to 0.10.0 #12 (Http) → ci: Bump actions/configure-pages from 5.0.0 to 6.0.0 #13 (Json) → ci: Bump actions/deploy-pages from 4.0.5 to 5.0.0 #14 (GitHub)
- Phase C (helper coverage): Rename AffineScript file extension from .as to .affine #15 (Result helpers) → feat: migrate file extension from .as to .affine for GitHub Linguist … #16 (Option helpers) → refactor(manhattan-recovery): scope recovery + complete grammar refactor + rip dependent-type creep #19 (Math expanded) → ci: bump trufflesecurity/trufflehog from 3.94.2 to 3.94.3 #20 (Io expanded)
- Phase D (universals): ci: bump actions/upload-pages-artifact from 4.0.0 to 5.0.0 #21 (Time) → ci: bump editorconfig-checker/action-editorconfig-checker from 2.1.0 to 2.2.0 #23 (Regex) → ci: bump ocaml/setup-ocaml from 3.4.8 to 3.6.0 #24 (URL) → feat: migrate file extension from .as to .affine for GitHub Linguist … #25 (Encoding) → a2ml: rename runbook out of .launcher.a2ml namespace #26 (Logging)
- Phase E (demand-driven): Tier 4 + 5 as consumers ask.
Child issues
Tier-1 starting point:
- Cross-file
useresolvability from standalone check (stdlib ci: Bump actions/github-script from 7.0.1 to 8.0.0 #5) — name-resolver / prelude organisation
Item numbers in docs/stdlib-roadmap.adoc are stable; reference as stdlib #N.
Notes
- Tier 1 items ci: Bump actions/setup-node from 4.0.2 to 6.3.0 #1-4, ci: Bump github/codeql-action from 4.31.10 to 4.35.1 #7-10 are mostly runtime / codegen work, not new
.affinesurface — they exist at the type-checker level but fail ateval/ wasm-codegen. - Tier 4 is heavily tracked-by-main-ROADMAP (language-level async, effects, capabilities); the stdlib surface is the visible API.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew capability or improvement to existing behaviourNew capability or improvement to existing behaviourfeeds:valence-shellFeeds valence-shell's proofs/engineering (D127): judge progress by what it contributes thereFeeds valence-shell's proofs/engineering (D127): judge progress by what it contributes theremeta:umbrellaParent issue aggregating child issuesParent issue aggregating child issuespriority:p3Low - nice to haveLow - nice to havescope:repoConfined to this repositoryConfined to this repository
Activity
hyperpolymath commentedon May 28, 2026
Tier-1 child issues opened:
useresolvability from standalone check #415 — stdlib ci: Bump actions/github-script from 7.0.1 to 8.0.0 #5: cross-fileuseresolvability from standalone check (covers ci: Bump actions/github-script from 7.0.1 to 8.0.0 #5/ci: Bump trufflesecurity/trufflehog from 3.92.5 to 3.94.1 #6/ci: Bump erlef/setup-beam from 1.17.5 to 1.24.0 #10 family)Other Tier-1 items (List.len/++ runtime, dict runtime, for-in codegen #255, String.length/concat runtime) remain in
docs/stdlib-roadmap.adoc; open child issues for them when work starts.docs(stdlib+alib-roadmap): fill in Tracking sections with live umbrel…
feat(stdlib): async sequencing combinators + Async effect (Refs echid…
docs(stdlib+alib-roadmap): fill in Tracking sections with live umbrel…
docs(stdlib+alib-roadmap): fill in Tracking sections with live umbrel…
Roadmap tracking + Zig-FFI doc (#19) + hex/base64 encoding (#25) + In…
hyperpolymath commentedon May 31, 2026
stdlib #25 (Base64 / Hex encoding) landed partial via PR #474 (
fb7e855)stdlib/encoding.affinenow provides:to_hex/from_hex/to_hex_padded/hex_digit/hex_value(lowercase, 32-bit)to_base64/to_base64_url/from_base64/from_base64_urlRoadmap row ○ → ◑. Built on the string-primitive layer + integer bit-ops, plus two new byte builtins (
string_char_code_at/string_from_char_code, wired through resolve/typecheck/interp/codegen_deno). Verified bytests/codegen-deno/encoding_smoke(RFC 4648 §10 vectors round-trip under Node).Deferred: byte-oriented overloads for a
Bytestype (stdlib #30) — the current forms operate on Latin-1-byteStrings.Tangentially, this work surfaced + fixed a real codegen bug (#478): integer
/was lowering to JS float division on the Deno-ESM backend, which had silently brokenstdlib/math.affine'spow/sum_naturals/binomial/lcm/div_floor. Now fixed (Int/Int →Math.trunc).Generated by Claude Code