Skip to content

feat(packages): the bootstrap pilot imports the stdlib; the vendored Text is deleted (PK-05, #161) - #165

Merged
afflom merged 2 commits into
mainfrom
claude/issue-161-pk-05
Oct 17, 2026
Merged

afflom merged 2 commits into
mainfrom
claude/issue-161-pk-05

Conversation

@afflom

@afflom afflom commented Oct 17, 2026

Copy link
Copy Markdown
Member

Closes #161

Second and last part of #161, on main ea0a4ed (which has #162: source packages, PK-01..PK-04, and the one language-1.2 identity move). This PR moves no identity; only bootstrap/'s records change.

What is here (PK-05, register 403)

  • bootstrap/lexlean.toml declares stdlib as a source package (std); AxiomOutput imports LexLeanStd.Text and calls LexLeanStd.Text::…. bootstrap/src/Text.lex.tex (the vendored copy) is deleted.
  • BS-01 loses vendored_text and its equivalence assertion, and asserts the project holds no Text of its own and links LexLeanStd.Text.
  • Root lexlean-workspace.toml (members = ["bootstrap", "stdlib"]).
  • P::bootstrap() stages bootstrap/, stdlib/ and the workspace file; xtask stages a project that declares source packages with the members it needs (check-golden, check-reproducibility, verify-examples).
  • SPEC §17.23 and bootstrap/README.md no longer call anything temporary; SPEC §10.5 records that the two limits (version required in [[source_package]]; a package manifest declares builtin lexicon sources only and no artifact_source/[pdf]) are deliberate and what lifts them.
  • bootstrap/ locks, oracles, verification records and the production-export packages are regenerated; nothing else moves.

Acceptance of #161, by item

Local evidence

Linux x86-64, Lean 4.32.1: conformance_pk_01, pk_05, bs_01, sl_01, rp_07, rp_11, rp_14; validate-model (403 ids, 85 codes), validate-spec-links, check-test-inventory, check-golden, cargo fmt --check, clippy -D warnings.


Generated by Claude Code

…xt as a source package (PK-05, Refs #161)

Deletes bootstrap/src/Text.lex.tex and the equivalence assertion of BS-01,
declares stdlib as a source package of bootstrap/, adds the root
lexlean-workspace.toml, stages a project with its packages in xtask, and
regenerates the bootstrap/ records. SPEC 10.5 states why version is required
and why a package manifest declares builtin lexicon sources only.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AinddrUH9xHeNmR6FTWypN

afflom commented Oct 17, 2026

Copy link
Copy Markdown
Member Author

Maintainer review: approved at 7440de2.

Checked against #161's acceptance, item by item, on this head (which contains main ea0a4eda; all 26 checks of the run are green, including the four host legs, examples and the Atlas shards):

R3 order holds (register row + SPEC §31 row, scenario, conformance_pk_05, then the change); counts are 403 in all four places. The xtask change stages a project that declares source packages with the workspace file and the members it needs, so check-golden, check-reproducibility and verify-examples resolve packages exactly as in the checkout; projects without source packages take the old path unchanged. The two deliberate limits recorded in SPEC §10.5 (a required version; a package manifest declares builtin lexicon sources only) are stated with what lifts them and are not hidden defaults.

"Closes #161" is justified. Merging with a merge commit, pinned to this head.


Generated by Claude Code

@afflom
afflom merged commit 243f0c7 into main Oct 17, 2026
26 checks passed
afflom pushed a commit that referenced this pull request Oct 17, 2026
…3f0c7 into #155)

Main moved under this branch with #162 (source packages), #153 (stdlib), #160
(bootstrap) and #165 (PK-05). The merge keeps this branch's side of the four points
that matter (the 53 renamed private names of LexLeanText.lex.tex, legacy certificate
E rendered with legacy_decoder() and no `import all`, SM-33, the decoder) and takes
main's tree for every generated record, which is regenerated here.

- register 404 (403 on main + SM-33): README, SPEC §31 total, table.len(),
  spec_links.rs set by hand;
- language-1.2 compiler-semantics ID 91b3cb51... -> 63dd4c08...: every lock that
  carried the old one is substituted and `lock --check` is current;
- regenerated in order: check-golden, check-fixtures, check-calculus,
  check-production-export, verify-examples (the language-1.2 examples, compiler,
  stdlib, bootstrap; languages 1.0/1.1 examples are untouched by this branch and
  were not rewritten), validate-model --write;
- local checks passed: validate-model, validate-spec-links, check-test-inventory,
  check-golden, conformance_{sm_33,lm_02,sp_14,rt_02,rt_04,bs_01,pk_05,rp_07,rp_14,
  rp_11,sl_01,sp_05,sp_09}.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013QppGKetUURseXowZun9KY
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.

[v0.4] Source packages: a project imports the modules of a locked, content-addressed package (needed by #92's stdlib and #32)

2 participants