Icod.TermInfo 1.15.0 — Berkeley DB / Hashed Terminfo Acquisition - #45
Merged
Merged
Conversation
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
Develops
Icod.TermInfo 1.15.0as Berkeley DB / Hashed Terminfo Acquisition.The accepted production architecture is now:
The release is intentionally acquisition-first, read-only, and pure managed.
CompiledTermInfoParserremains the sole owner of compiled terminfo semantics.Planning baseline
Icod.TermInfo-1.15.0-Berkeley-DB-Hashed-Terminfo-Acquisition-Roadmap.md.Icod.TermInfo-Post-1.0-Development-Roadmap.mdto select 1.15 as the active line while preserving the completed 1.14 contract.Icod.TermInfo.BerkeleyDbpackage boundary.Icod.TermInfoRuntime.tichashed publication explicitly deferred.HDB00 — interoperability research and backend decision — COMPLETE / ACCEPTED
Accepted exact head:
15fd7dab601c6b8d0d69fe973d1faa5404c32c88Qualification:
34997185592— all 3 jobs green.34997185765— all 12 jobs green.Decision record:
docs/1.15.0-HDB00-BERKELEY-DB-INTEROPERABILITY-AND-BACKEND-DECISION.mdHDB00 selected a narrowly scoped managed Berkeley DB Hash-v9 reader for production. Native Berkeley DB remains only a CI/development fixture producer and differential oracle.
HDB01 — optional package foundation — COMPLETE / ACCEPTED
Accepted exact head:
407fcea3a0a40e43c654a6a5ae365ee2c814ecd5Accepted prerelease:
1.15.0-Alpha-1Qualification:
35004417605— all 3 jobs green.35004417586— all 12 jobs green, including exact Staging package verification, isolated consumer, installed-tool smoke on Windows/Linux/macOS, and all six archive RIDs.Closure record:
docs/1.15.0-HDB01-OPTIONAL-PACKAGE-FOUNDATION.mdHDB01 establishes:
Icod.TermInfo.BerkeleyDbtargeting net8/net9/net10;1.0.0.0;.nupkg, 6 reusable-library.snupkg, 6 archives, 19 binaries before checksums, and 20 final GitHub Release assets.1.15 tranche sequence
1.15.0-Alpha-3)1.15.0-Alpha-4)1.15.0-Alpha-5)1.15.0-Alpha-6)1.15.0-Alpha-7)1.15.0-Alpha-7)1.15.0-Alpha-8)1.15.0)HDB02 page-identity/corruption checkpoint — ACCEPTED
This accepts a checkpoint within HDB02, not HDB02 completion.
4344662c62092d8212fe843f491d3df392eedef8.219555c023b53018fa79a80b3b41c4a63a36c1f0failed exactly the five page-identity cases on every host/TFM (5 failed, 34 passed).docs/1.15.0-HDB02-MANAGED-HASH-V9-READER.md; the resource-limit commit also records this accepted checkpoint's qualification.1.15.0-Alpha-2.HDB02 resource-limit/file-ownership checkpoint — ACCEPTED
This accepts a checkpoint within HDB02, not HDB02 completion.
d5c52b2043f15f6d953ee440909ac3d5674c5ef2.87e69b5e195fbed4b8a58696564ff3803755b6f6, PR #1038 / 35012764739: CS1739 for missing parameters on every host/TFM.b3416a1bd1d0aceb2a54b2de51539b7e0b3043ec, PR #1039 / 35013180048: exactly 9 failed, 50 passed, 59 total per host/TFM. Enforcement was implemented only after the expected Linux RED was observed.docs/1.15.0-HDB02-MANAGED-HASH-V9-READER.md. Its GREEN-pending statement describes the state at commit creation; this exact-head result supplies qualification.HDB02 valid-layout/64 KiB checkpoint — ACCEPTED
This accepts a checkpoint within HDB02, not HDB02 completion.
27d52a02491f8bf38d24f92529d03259bcb220d7.792162df22cc3ff4760e74aa28122378e9486e26, PR #1041 / 35015617182: exactly 4 failed, 93 passed, 97 total on every host/TFM. All four failures rejected valid empty 64 KiB Hash pages with free offset zero.P_INIT's 16-bit cast. The regression fix was written only after the expected RED was observed.docs/1.15.0-HDB02-MANAGED-HASH-V9-READER.md. Its GREEN-pending statement describes the state at commit creation; this exact-head result supplies qualification. It also records the prior resource-limit checkpoint's accepted results.HDB02 unsupported-layout/filesystem checkpoint — ACCEPTED
This accepts a checkpoint within HDB02, not HDB02 completion.
c06a5c8ce60b2913e058b0fe58c3aa8de92c3a03.1d46d6eb71568e50bfd1dab0bae35ca960f8af5d, PR #1043 / 35018087138: exactly 28 failed, 118 passed, 146 total on every host/TFM. Only the 18 unsupported metadata and 10 unsupported scanned-page cases failed, because no exception was thrown.docs/1.15.0-HDB02-MANAGED-HASH-V9-READER.md. It records prior layout-checkpoint acceptance; its new GREEN-pending statement describes commit-creation state, qualified by this exact-head result.HDB02 direct native-oracle checkpoint — ACCEPTED
This accepts a checkpoint within HDB02, not HDB02 completion.
abdf0c46077be23a7127721c6a1a31926c2defbc.081f460ee814fd40b80991a23f85dea79f63875e, HDB00 #74 / 35020360943: CS0122 access RED verified on Linux/macOS for every TFM, after native fixture generation and dump export. Windows correctly skipped because Linux had not qualified.Icod.TermInfo.BerkeleyDb.Interop.Tests. The reader implementation and test/workflow code remained unchanged after the observed access failure. This was access RED, not a newly demonstrated storage bug.db_dumpsupplies every opaque key/value pair: three records in the primary/alias store and two in the forced-overflow store. Tests compare all pairs directly, verify clean misses against the native record set, and reject native Btree/invalid-file inputs.docs/1.15.0-HDB02-MANAGED-HASH-V9-READER.md; its GREEN-pending statement describes commit-creation state, qualified by this exact-head result.Earlier HDB00 runs qualified the research probe; this checkpoint additionally qualifies the production reader. The following closure completes residual acquisition coverage and HDB02 acceptance.
HDB02 — managed Hash-v9 reader — COMPLETE / ACCEPTED
Accepted implementation head:
0495addc76c0655ab99d716b19bcc303b05a6f0c.51f5eb5c5caec99275ed114f9e60e732df65e4c6, PR #1048 / 35023681267, CS0117 for the missing internal stream overload on every host/TFM.1.15.0-Alpha-2. The suite remains at that version.Closure record:
docs/1.15.0-HDB02-MANAGED-HASH-V9-READER.md. The main 1.15 roadmap now marks HDB02 accepted. Documentation-only closure head5d569746ffa73304cef89a608326765888e1c727is also fully qualified:Accepted limits: validation covers encountered pages/items; file/item caps bound individual allocations rather than aggregate lookup work; same-length external writes have no atomic snapshot guarantee; native big-endian production is unqualified, and Windows consumes Linux-generated native fixtures.
HDB03 has now begun at
1.15.0-Alpha-3; see its record-resolution checkpoint below. PR remains open, draft, and unmerged.HDB03 record-resolution checkpoint — ACCEPTED
Accepted exact head:
ad4e2b71bb315370c34eadd8db53b28f238d3c6b.Coordinated prerelease:
1.15.0-Alpha-3.0c260fd71a770f7fd817cc9164b3cc81351921ea: HDB00 #80 / 35027878618 proved 3 failed / 6 passed per TFM on Linux/macOS, all new failures from the declaration-only NotImplementedException. Normal CI exposed formatting errors in nested test calls.b4fecd86ab123849693df08796056d311590dc77: PR #1052 / 35028232741 proved 31 failed / 165 passed per TFM on all three hosts, with expected NotImplementedException failures. No resolution behavior was implemented until the Linux unit RED had been observed.docs/superpowers/plans/2026-09-15-hdb03-record-resolution.md.The record-resolution checkpoint was completed by the accepted public-provider
tranche below.
HDB03 — explicit hashed terminal provider — COMPLETE / ACCEPTED
Accepted exact head:
e2b55290f97014086b1de89f5b466e8c083ed1d3.Coordinated prerelease:
1.15.0-Alpha-3.BerkeleyDbTerminalDescriptionProvider, immutable options, andBerkeleyDbDatabaseFormatException.CompiledTermInfoParser, verifies canonical/alias identity, caches successes, and retries misses/failures.docs/1.15.0-HDB03-EXPLICIT-HASHED-TERMINAL-PROVIDER.md.de147a376698d45c44ec74f5373f9dd0bfe12103.HDB04 system discovery is next. PR remains open, draft, and unmerged.
HDB02 boundary
HDB02 productionizes the validated storage logic as an internal-only container reader:
HDB02 does not own ncurses marker-2/marker-0 resolution, terminal identity,
TerminalDescription, provider caching, or public acquisition APIs. Those remain HDB03 responsibilities.Key constraints
Icod.TermInfo.tichashed publication in 1.15.HDB04 — hashed-aware system discovery — COMPLETE / ACCEPTED
Accepted exact implementation/qualification head:
c6e05caa4cc5158f1200050e3ba3c97e4f7aa486.Coordinated prerelease:
1.15.0-Alpha-4.BerkeleyDbSystemTerminalDescriptionProviderand immutable options.TERMINFO, logical-location precedence, emptyTERMINFO_DIRSdefaults, and deduplication..dbcompanions. Missing sources continue; reached malformed sources fail explicitly.SystemTerminalDescriptionProviderbehavior are unchanged.docs/1.15.0-HDB04-HASHED-AWARE-SYSTEM-DISCOVERY.md.0d591fbf0de944555e96075428a8cf38b5436e99.HDB05 catalog enumeration is next. PR remains open, draft, and unmerged.
HDB05 — hashed catalog enumeration — COMPLETE / ACCEPTED
Accepted exact implementation/qualification head:
819ca194b51baa78f52a6464a2e64c45418eebc6.Coordinated prerelease:
1.15.0-Alpha-5.BerkeleyDbTerminalCatalogReader, immutableBerkeleyDbTerminalCatalogReaderOptions,BerkeleyDbTerminalCatalogEntry, andBerkeleyDbTerminalCatalogEntryKind.BerkeleyDbDatabaseFormatException; parser, identity, I/O, and cancellation boundaries remain distinct.docs/1.15.0-HDB05-HASHED-CATALOG-ENUMERATION.md.ff00df2b013828d5296eb5ba0d6f9eb4c1cac9ed.HDB06 — Inspection and tool integration — COMPLETE / ACCEPTED
Accepted implementation/qualification head:
c273b99df920e8a71cd31e0e23bc6700ef9ce456.Coordinated prerelease:
1.15.0-Alpha-6.Documentation-complete closure head:
37fe736b01096a2629d1fb5fdbba35c123469ddf.Final exact-head qualification:
infocmp: 108/108 on Windows, Linux, and macOS.toe: 62/62 on Windows, Linux, and macOS.Icod.TermInfo.Tools 1.15.0-Alpha-6smoke passed on Windows, Linux, and macOS.Accepted behavior:
infocmp -A/-Bpaths dispatch to the accepted BerkeleyDb provider; directories and unclassified paths retain conventional behavior.toefile operands dispatch to the accepted logical catalog and may mix with conventional directories in caller order.infocmp --all-candidatesremains conventional-directory-only.toediscovery and frozen JSON schemas remain unchanged.ticremains conventional-directory-write-only.TDD and correction evidence:
762a05d65b9c9e098e89d3a7acf69efae2e23319.infocmpcorrected RED: run35117709499; GREEN implementation:ccea36942165bad161a84a9fd5e74b73a79dfea4.toecorrected RED: run35119182109; accepted GREEN fix:96ba5313e2662679c650830962b599637b134d92.e9773c3cfff9137aee9e1fd5a57512e87de61334,f7f17fd0ebc97db6302e62d76c548aee13209e8b,4858fbb88736bbbc195152267769dfa34aaf0438, and the acceptedimplementation head.
Closure record:
docs/1.15.0-HDB06-INSPECTION-AND-TOOL-INTEGRATION.mdHDB07 — adversarial and compatibility hardening — COMPLETE / ACCEPTED
Accepted implementation/qualification head:
ab059acf27a5bc7fb1e8cef390d47085be33b5afCoordinated prerelease:
1.15.0-Alpha-7Qualification:
35145593802— all 12 jobs green;35145593852— Linux, macOS, and Windows all green;infocmp, 66toe, and 47 router cases per host;Accepted scope:
Records:
Those statements remain the HDB07 claim boundary. HDB07C subsequently qualifies a native big-endian container, an exact Latin-1 producer subset, and unequal two-observation read rejection under its own evidence without rewriting HDB07's accepted head.
PR remains open, draft, and unmerged.
HDB07C — compatibility expansion — COMPLETE / ACCEPTED
Accepted implementation/qualification head:
2c122abd7e4e63397b474f248d51273a1b7fc006Documentation closure head:
a5a29cd1342185a9dca77a98cd17ad29862bc0b3Final closure-checklist / exact PR head:
048aaeba39e5659cc4b549dc06d4fdc7c85a08feCoordinated prerelease:
1.15.0-Alpha-7Final implementation qualification:
Documentation-head qualification:
Final exact-head qualification:
Accepted scope:
6864623037632D636166E9and alias key6864623037632D616C69E9; andRED/GREEN checkpoints:
5c81ab9; GREENe20a0a1;461d77c; GREEN5fa8f25;734cb9f; accepted stackd1fbb0c;74de983; corrected GREEN0f84b9f;82f4436; GREEN5936f92;2c122ab.Residual limits remain explicit: two observations do not provide an atomic snapshot or arbitrary writer coordination; identical bytes restored between observations and mutation after verification are not detected. The encoding policy is not general encoding detection, normalization, transliteration, best-fit mapping, or locale-code-page support. The big-endian container evidence does not claim execution on a big-endian host.
Records:
The suite remains
1.15.0-Alpha-7. HDB08 packaging and cross-platform qualification is next and advances to Alpha-8.PR remains open, draft, and unmerged.
HDB08 — packaging and cross-platform qualification — COMPLETE / ACCEPTED
Coordinated prerelease:
1.15.0-Alpha-8Accepted implementation/qualification head:
b25733851c963585b56fcf064e9e27c6fdd47ee5Documentation-complete closure head / exact PR head:
78168f06a357034315fbe3de472375af1c7b0fbbPlanning records:
d5a592db2052f327d1dced121c1d03e5d854b299;9d6e021db36b2f7cefa5d0de2f0e999c4d2afb3a;RED/GREEN checkpoints:
a60d905, normal run 35167991425; GREEN stackf3a61fc+3b8551a, normal run 35169060492 12/12, HDB00 35169060393 3/3;1089e2d, normal run 35169725721; GREENb3be5cb, normal run 35170146172 12/12, HDB00 35170146181 3/3;69aa73c, normal run 35170813640; accepted GREENb257338, normal run 35171310997 12/12, HDB00 35171310971 3/3; anda91ed0eexposed that HDB00 run 35172185609 performed only two classifier jobs and skipped Windows; classifier REDc817d28failed the intended case in 35173010354; GREEN5306f80passed normal 35173151397 12/12 and genuine HDB00 35173151442 3/3.Accepted Alpha-8 evidence:
1.0.0.0, portable symbols, Source Link, cross-TFM public API equivalence, and no native assets;Icod.TermInfo.Toolsand DA07 smoke on all three package hosts;win-x64,win-arm64,linux-x64,linux-arm64,osx-x64, andosx-arm64; andFinal documentation-complete exact-head qualification:
HDB08 changes no acquisition behavior, public API, dependency direction, assembly identity, frozen JSON schema, command contract, native-production boundary, or read-only boundary. It adds no Python, C, or C++ source or dependency.
PR #45 remains open, draft, and unmerged. No tag, package publication, stable promotion, or ready-for-review transition has occurred.
HDB09 is next: final API/dependency freeze, acquisition and compatibility documentation, security/resource and ecosystem audits, release audit, stable
1.15.0promotion, and release-candidate closure.HDB09 — API freeze, documentation, and stable promotion — COMPLETE / ACCEPTED
Stable coordinated version:
1.15.0Accepted feature/API source:
1.15.0-Alpha-8Exact BerkeleyDb public API freeze:
f519600aa4085d07c2d20bd8dc7a32c4dc06a43f4e361554b205ce2f97a8bf36;1.0.0.0, pure-managed deployment, and no native assets.TDD and Alpha-8 closure evidence:
1525096d1a5925c2816159f7f7b7c826dfd7013b: normal run 35176822414 failed on the absent HDB09 authorities; HDB00 run 35176822401 failed the intended classifier case.406891bff059bafb4dba82b1de64e33861c78773: normal run 35178539117 passed 12/12.5f0be1100f3b2c7db2f5a3198e4a08e7229c86c2: normal run 35179100564 passed 12/12 and genuine HDB00 run 35179100607 passed 3/3.6b80bdb88801ac5158e967c5e4615f20609944cc: normal run 35179692542 failed on the intended Alpha-8 identity mismatch.10851c380b2df7eba35ea2151ecb7b982a8a7a2d: normal run 35182018598 passed 12/12 and genuine HDB00 run 35182018597 passed 3/3.f3dabb95645e33483d0605403258d352b30a4370: normal run 35182827014 passed 12/12 and genuine HDB00 run 35182826929 passed 3/3, with native Linux/macOS and transported-fixture Windows execution.HDB09 adds the exact API baseline/freeze, deterministic public-boundary sample, acquisition and Hash-v9 compatibility guides, security/resource and ecosystem audits, release audit, changelog, synchronized package documentation, and stable package identity. Stable promotion changes no production behavior, public API, dependency direction, JSON schema, command contract, target framework, package topology, archive RID, pure-managed boundary, or read-only boundary.
The exact family is seven nupkg files, six reusable-library snupkg files, and six standalone archives. Independent completion review found no remaining critical or important findings.
PR #45 remains open, draft, and unmerged. No
v1.15.0tag, GitHub Release, or package publication has been created.