Skip to content

1.17.0: Unified directory/hashed catalogs — UC07 candidate qualified - #48

Merged
uniblab merged 32 commits into
mainfrom
1.17.0-unified-catalogs
Sep 28, 2026
Merged

uniblab merged 32 commits into
mainfrom
1.17.0-unified-catalogs

Conversation

@uniblab

@uniblab uniblab commented Sep 27, 2026 •

Copy link
Copy Markdown
Owner

Icod.TermInfo 1.17.0 stable candidate

UC00–UC07 are accepted. This draft PR delivers one explicit, bounded, read-only catalog over a conventional terminfo directory or ncurses Hash-v9 file, plus the existing two-format sample, package-only consumer, and usage guide. The approved contract and roadmap define the boundary.

Qualified exact-code PR commit: b69534d58899fc3c5b0b81b974ec9eb34d44dde0, tree 273f470e9717ce700814936efe3c6c9a9e738c4c. Local package/PDB source 238a8c01d6cbbd3532e1669ca21f15a04609a53f has the identical tree. UC07 changed no production C# implementation files from the accepted UC06 Alpha-6 code.

Qualification

  • Complete public API freezes on net8.0/net9.0/net10.0: Catalogs 11 types (a329380ff1c9543f822703e45cdb5158d36319bdd1317786128c1a70960c0d6f), Inspection 108 (930542bb475a5d8e06d68ae24d986893880c167a784e0e657ba5a1b034fd9c9f), BerkeleyDb 14 (9a9a7479bbaa5f3e3ccfa0c15cfee681e665d22f727e160f9e3f632709dbdaf5); historical reconstructions and JSON v1–v6 remain checked.
  • Local warnings-as-errors Release rebuild: zero warnings/errors. 7,731 tests passed (5,736 solution plus 1,995 separate BerkeleyDb); eight nupkg and seven snupkg passed complete package verification, isolated consumers and sample on three TFMs. Six archive compositions passed, and all five commands executed from the Linux x64 archive.
  • PR workflow 36366894647: 12/12 jobs green on the exact candidate. Windows/Linux/macOS builds and tests passed; Linux Staging/Release package verification, three installed-tool smokes, and six matching-host archive/automation smokes passed. Windows PowerShell Inspection verification ran on Windows. Package steps on Windows/macOS and the Windows-only Inspection step on Linux/macOS were intentionally skipped.
  • Interoperability workflow 36366894688: 3/3 jobs green. Actual Linux/macOS Berkeley DB/ncurses native probes and reader/writer/command checks passed; Windows read Linux-generated fixtures without native Berkeley DB. No applicable native step was skipped.
  • CI artifact zip digests: packages 10948066298 SHA-256 6827a90873260bf516249590610b20c2a271d7a2f415e99323739a4cd9af9e51; tool archives 10947857532 912ca64f6ea0d4215d63b814e8f3ec0e62480e3afa2478abc23985099eb9f7f3; Linux native 10948165334 c38a3470839937ac92e2de2788d682e4b014c71c57ff8840f00095d782301d0a; macOS native 10946809551 f68ea0787b3a8cb41d0d84dca595a73ce94776d4841d30c58faa97bef9f39035.

The release audit records local and CI commands, observed skips, artifact provenance, and known limits. Each read reacquires its source; concurrent replacement does not give an atomic snapshot, and cancellation cannot interrupt a blocked synchronous filesystem call. Migration, mixed-source sets, JSON v7 and new CLI switches remain outside 1.17.

Publication boundary: 1.17.0 is a qualified, unpublished stable candidate. The root installation examples remain on published 1.16.0 until 1.17.0 is available; the versioned guide shows the 1.17.0 Catalogs command after publication. The Catalogs package README contains no ephemeral candidate status. Keep this PR draft and unmerged; merge, tag, GitHub Release, NuGet/GitHub Packages publication, and making it ready for review require separate maintainer authorization.

Documentation acceptance head

The documentation-only acceptance head 9438208, tree de27e9e666c72aaef663b8e46c241ad8cfd681ec, changes six documentation paths, including the package README wording. Its PR workflow 36373977944 passed 12/12 jobs, including Linux Staging/Release package verification, three installed-tool consumers, and six archive smokes. Its interoperability workflow 36373977955 completed successfully with Linux/macOS native probe steps scope-skipped and the Windows managed job skipped. The preceding exact-code 3/3 run 36366894688 is the actual native/managed qualification.

Publication-ready documentation head

The root/sample index correction at 9900f71 was green. Release-documentation edits at 834246e removed temporary candidate wording from the packaged Catalogs README, changelog and guide. Linux CI found two stale documentation assertions during this preparation: the root install commands had changed before 1.17 publication, and a historical BerkeleyDb test required the README to say “stable candidate” verbatim. 0f13803 restored the published 1.16 commands; final head d9fadb2 updated the single outdated historical assertion.

On d9fadb2, PR workflow 36378708031 is 12/12 green, including packaged payload verification, installed-tool consumers and six archive smokes. Interoperability workflow 36378708037 is 3/3 green, with actual Linux/macOS native probes and Windows managed readback. The final head changes no production C# or public API from the qualified code candidate. The PR remains draft, unmerged and unpublished; tagging v1.17.0 on a commit in main will start the automatic NuGet.org, GitHub Packages and GitHub Release workflow after its release gates.

@uniblab uniblab changed the title 1.17.0: Unified directory/hashed catalogs roadmap 1.17.0: Unified directory/hashed catalogs — UC01 foundation Sep 27, 2026
@uniblab uniblab changed the title 1.17.0: Unified directory/hashed catalogs — UC01 foundation 1.17.0: Unified directory/hashed catalogs — UC02 directory adapter Sep 27, 2026
@uniblab uniblab self-assigned this Sep 27, 2026
@uniblab uniblab changed the title 1.17.0: Unified directory/hashed catalogs — UC02 directory adapter 1.17.0: Unified directory/hashed catalogs — UC03 implementation plan Sep 27, 2026
Add opt-in bounded BerkeleyDb acquisition and logical reads, the internal
hashed Catalogs adapter, exact additive API reconstruction, documentation,
and coordinated Alpha-3 metadata.

Local qualification: 7,581 tests passed; full Release build has zero
warnings/errors; eight nupkg and seven snupkg pass distribution checks.

Tree matches local qualification commit 46b3f4c5e2956f31b5ffea2b46d2a3bf0d83fdf1.
Local implementation checkpoints: fb9a5dc, a1e9e30, d827208, 1017b18.
Uploaded through the connected GitHub plugin because local Git has no credentials.
@uniblab uniblab changed the title 1.17.0: Unified directory/hashed catalogs — UC03 implementation plan 1.17.0: Unified directory/hashed catalogs — UC03 bounded hashed adapter Sep 27, 2026
@uniblab uniblab changed the title 1.17.0: Unified directory/hashed catalogs — UC03 bounded hashed adapter 1.17.0: Unified directory/hashed catalogs — UC03 accepted; UC04 planned Sep 27, 2026
@uniblab uniblab changed the title 1.17.0: Unified directory/hashed catalogs — UC03 accepted; UC04 planned 1.17.0: Unified directory/hashed catalogs — UC04 Alpha-4 qualification Sep 27, 2026
@uniblab uniblab changed the title 1.17.0: Unified directory/hashed catalogs — UC04 Alpha-4 qualification 1.17.0: Unified directory/hashed catalogs — UC04 accepted; UC05 next Sep 27, 2026
@uniblab uniblab changed the title 1.17.0: Unified directory/hashed catalogs — UC04 accepted; UC05 next 1.17.0: Unified directory/hashed catalogs — UC04 accepted; UC05 plan for review Sep 27, 2026
@uniblab uniblab changed the title 1.17.0: Unified directory/hashed catalogs — UC04 accepted; UC05 plan for review 1.17.0: Unified directory/hashed catalogs — UC05 Alpha-5 qualification Sep 27, 2026
@uniblab uniblab changed the title 1.17.0: Unified directory/hashed catalogs — UC05 Alpha-5 qualification 1.17.0: Unified directory/hashed catalogs — UC05 Alpha-5 accepted Sep 27, 2026
@uniblab uniblab changed the title 1.17.0: Unified directory/hashed catalogs — UC05 Alpha-5 accepted 1.17.0: Unified directory/hashed catalogs — UC06 Alpha-6 qualification Sep 27, 2026
@uniblab uniblab changed the title 1.17.0: Unified directory/hashed catalogs — UC06 Alpha-6 qualification 1.17.0: Unified directory/hashed catalogs — UC06 Alpha-6 accepted Sep 28, 2026
@uniblab uniblab changed the title 1.17.0: Unified directory/hashed catalogs — UC06 Alpha-6 accepted 1.17.0: Unified directory/hashed catalogs — UC07 plan proposed Sep 28, 2026
@uniblab uniblab changed the title 1.17.0: Unified directory/hashed catalogs — UC07 plan proposed 1.17.0: Unified directory/hashed catalogs — UC07 candidate qualified Sep 28, 2026
@uniblab
uniblab marked this pull request as ready for review September 28, 2026 04:52
@uniblab
uniblab merged commit 1ac70c4 into main Sep 28, 2026
15 checks passed
@uniblab
uniblab deleted the 1.17.0-unified-catalogs branch September 28, 2026 04:52
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