Skip to content

Icod.TermInfo 1.15.0 — Berkeley DB / Hashed Terminfo Acquisition - #45

Merged
uniblab merged 198 commits into
mainfrom
1.15.0-berkeley-db-hashed-acquisition
Sep 17, 2026
Merged

uniblab merged 198 commits into
mainfrom
1.15.0-berkeley-db-hashed-acquisition

Conversation

@uniblab

@uniblab uniblab commented Sep 15, 2026

Copy link
Copy Markdown
Owner

Summary

Develops Icod.TermInfo 1.15.0 as Berkeley DB / Hashed Terminfo Acquisition.

The accepted production architecture is now:

Berkeley DB / hashed store
          |
          v
managed Hash-v9 reader
          |
          v
optional hashed-store provider
          |
          v
compiled entry bytes
          |
          v
existing Icod.TermInfo parser
          |
          v
TerminalDescription

The release is intentionally acquisition-first, read-only, and pure managed. CompiledTermInfoParser remains the sole owner of compiled terminfo semantics.

Planning baseline

  • Adds Icod.TermInfo-1.15.0-Berkeley-DB-Hashed-Terminfo-Acquisition-Roadmap.md.
  • Updates Icod.TermInfo-Post-1.0-Development-Roadmap.md to select 1.15 as the active line while preserving the completed 1.14 contract.
  • Adds the optional Icod.TermInfo.BerkeleyDb package boundary.
  • Preserves dependency-free Icod.TermInfo Runtime.
  • Keeps hashed-store writing / tic hashed publication explicitly deferred.

HDB00 — interoperability research and backend decision — COMPLETE / ACCEPTED

Accepted exact head:

15fd7dab601c6b8d0d69fe973d1faa5404c32c88

Qualification:

  • HDB00 workflow run 34997185592 — all 3 jobs green.
  • normal PR workflow run 34997185765 — all 12 jobs green.

Decision record:

docs/1.15.0-HDB00-BERKELEY-DB-INTEROPERABILITY-AND-BACKEND-DECISION.md

HDB00 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:

407fcea3a0a40e43c654a6a5ae365ee2c814ecd5

Accepted prerelease:

1.15.0-Alpha-1

Qualification:

  • HDB00 workflow run 35004417605 — all 3 jobs green.
  • normal PR workflow run 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.md

HDB01 establishes:

  • Icod.TermInfo.BerkeleyDb targeting net8/net9/net10;
  • reusable assembly identity 1.0.0.0;
  • LGPL-3.0-or-later Icod package boundary;
  • Runtime-only dependency;
  • no native assets or third-party runtime database package;
  • no exported acquisition/provider API yet;
  • explicit PR/main/release qualification outside the large solution;
  • coordinated packaging and exact package verification;
  • current release accounting of 7 .nupkg, 6 reusable-library .snupkg, 6 archives, 19 binaries before checksums, and 20 final GitHub Release assets.

1.15 tranche sequence

  • HDB00 — interoperability research and backend decision — COMPLETE / ACCEPTED
  • HDB01 — optional package foundation — COMPLETE / ACCEPTED
  • HDB02 — managed read-only Berkeley DB Hash-v9 reader — COMPLETE / ACCEPTED
  • HDB03 — explicit hashed terminal provider — COMPLETE / ACCEPTED (1.15.0-Alpha-3)
  • HDB04 — system discovery integration — COMPLETE / ACCEPTED (1.15.0-Alpha-4)
  • HDB05 — hashed catalog enumeration — COMPLETE / ACCEPTED (1.15.0-Alpha-5)
  • HDB06 — Inspection/tool integration — COMPLETE / ACCEPTED (1.15.0-Alpha-6)
  • HDB07 — adversarial and compatibility hardening — COMPLETE / ACCEPTED (1.15.0-Alpha-7)
  • HDB07C — compatibility expansion — COMPLETE / ACCEPTED (1.15.0-Alpha-7)
  • HDB08 — packaging and cross-platform qualification — COMPLETE / ACCEPTED (1.15.0-Alpha-8)
  • HDB09 — API freeze, documentation, and stable promotion — COMPLETE / ACCEPTED (1.15.0)

HDB02 page-identity/corruption checkpoint — ACCEPTED

This accepts a checkpoint within HDB02, not HDB02 completion.

  • Exact qualified head: 4344662c62092d8212fe843f491d3df392eedef8.
  • PR workflow #1037 / 35010854178: completed/success, 12/12 jobs.
  • HDB00 workflow #66 / 35010854162: completed/success, 3/3 jobs.
  • BerkeleyDb tests: 39/39 on each of net8/net9/net10, on Windows/Linux/macOS.
  • Added 33 regression/characterization cases. Test-only RED 219555c023b53018fa79a80b3b41c4a63a36c1f0 failed exactly the five page-identity cases on every host/TFM (5 failed, 34 passed).
  • Production now rejects mismatched metadata, scanned Hash-page, and followed overflow-page identities using the file's byte order. Generic page slicing remains unchanged.
  • Independent code review found no blocking findings.
  • Progress record: docs/1.15.0-HDB02-MANAGED-HASH-V9-READER.md; the resource-limit commit also records this accepted checkpoint's qualification.
  • Main 1.15 roadmap now reflects HDB01 accepted and HDB02 at 1.15.0-Alpha-2.

HDB02 resource-limit/file-ownership checkpoint — ACCEPTED

This accepts a checkpoint within HDB02, not HDB02 completion.

  • Exact qualified head: d5c52b2043f15f6d953ee440909ac3d5674c5ef2.
  • PR workflow #1040 / 35013553841: completed/success, 12/12 jobs.
  • HDB00 workflow #69 / 35013553810: completed/success, 3/3 jobs.
  • BerkeleyDb tests: 59/59 on each of net8/net9/net10, on Windows/Linux/macOS.
  • Compile RED 87e69b5e195fbed4b8a58696564ff3803755b6f6, PR #1038 / 35012764739: CS1739 for missing parameters on every host/TFM.
  • Signature-only behavioral RED 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.
  • Production validates positive inclusive per-call limits before opening: internal defaults 64 MiB/database and 1 MiB/stored item. Stored keys, inline values, and overflow allocations are bounded.
  • One read-only handle validates file length before buffer allocation, reads exactly that length, checks for growth, and is disposed before parsing. No mutable shared limit state.
  • Twenty new cases cover limit boundaries, argument validation, empty values, file release, and independent parallel calls.
  • Independent implementation review found no blocking findings.
  • Progress record: 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.
  • Default-size boundaries and forced growth/short-read races are not directly tested. The single-handle read does not guarantee an atomic snapshot against same-length external writes.

HDB02 valid-layout/64 KiB checkpoint — ACCEPTED

This accepts a checkpoint within HDB02, not HDB02 completion.

  • Exact qualified head: 27d52a02491f8bf38d24f92529d03259bcb220d7.
  • PR workflow #1042 / 35016020964: completed/success, 12/12 jobs.
  • HDB00 workflow #71 / 35016020959: completed/success, 3/3 jobs.
  • BerkeleyDb tests: 97/97 on each of net8/net9/net10, on Windows/Linux/macOS.
  • Test-only RED 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.
  • Added 38 cases: all eight supported page sizes in both byte orders; empty pages; multiple records and sparse pages; noncontiguous two-page keys and three-page values; both byte orders for overflow; off-page-key resource limits; and invalid zero-offset controls.
  • Production normalizes zero free offset only for an empty 65536-byte Hash page, matching Berkeley DB P_INIT's 16-bit cast. The regression fix was written only after the expected RED was observed.
  • The other 34 new cases were already passing characterization coverage. These fixtures are synthetic, not native-generated interoperability evidence.
  • Independent test and implementation review found no blocking findings.
  • Progress record: 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.

  • Exact qualified head: c06a5c8ce60b2913e058b0fe58c3aa8de92c3a03.
  • PR workflow #1044 / 35018461305: completed/success, 12/12 jobs.
  • HDB00 workflow #73 / 35018461292: completed/success, 3/3 jobs.
  • BerkeleyDb tests: 146/146 on each of net8/net9/net10, on Windows/Linux/macOS.
  • Test-only RED 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.
  • Production now rejects nonzero metadata feature flags, partition counts, and Hash feature flags. Scan skips only unused/free and overflow pages; other non-Hash types fail explicitly when encountered.
  • Legacy type-2 Hash pages are legitimate but unsupported by this implementation. Validation still ends at a successful exact-key match; unvisited pages and unrelated values are not exhaustively validated.
  • Added 49 cases. The other 21 already-passing cases cover nonrecord-page controls, unsupported key/value item types, truncated off-page headers, missing/shared/directory file failures, retries, and replacement between reads after success or corruption.
  • Tests remain unchanged through GREEN. Independent test and implementation review found no blocking findings.
  • Progress record: 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.

  • Exact qualified head: abdf0c46077be23a7127721c6a1a31926c2defbc.
  • PR workflow #1046 / 35020780274: completed/success, 12/12 jobs.
  • HDB00 workflow #75 / 35020780551: completed/success, 3/3 jobs, now including direct production-reader comparisons.
  • Dedicated interoperability tests: 6/6 per TFM (net8/net9/net10) on Windows/Linux/macOS.
  • Existing BerkeleyDb tests: 146/146 per TFM on all three hosts.
  • Initial head 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.
  • The only production change is friend access for 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.
  • Native db_dump supplies 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.
  • Linux/macOS generate their own fixtures; Windows reads Linux-generated databases and matching dumps without Berkeley DB installed. Both producers retain fixture/dump artifacts for seven days.
  • Required fixture paths, expected record counts, dump framing, and nonempty data prevent skipped or vacuous qualification. The fixture-dependent project is outside ordinary solution tests.
  • Independent workflow/test/access/document review found no blocking findings.
  • Progress record: docs/1.15.0-HDB02-MANAGED-HASH-V9-READER.md; its GREEN-pending statement describes commit-creation state, qualified by this exact-head result.
  • Native big-endian stores and Windows-native Berkeley DB generation remain outside this checkpoint; synthetic big-endian tests remain in the existing suite.

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.

  • PR workflow #1049 / 35024125144: completed/success, 12/12 jobs.
  • HDB00 workflow #78 / 35024125102: completed/success, 3/3 jobs.
  • BerkeleyDb unit tests: 165/165 per TFM (net8/net9/net10) on Windows/Linux/macOS.
  • Direct native-oracle tests: 6/6 per TFM on all three hosts.
  • Exact package, dependency/native-asset, cross-TFM API, isolated-consumer, installed-tool, and six-RID archive gates passed.
  • Compile/access RED: 51f5eb5c5caec99275ed114f9e60e732df65e4c6, PR #1048 / 35023681267, CS0117 for the missing internal stream overload on every host/TFM.
  • The 19 new tests characterize partial reads, truncation, growth, original I/O exception propagation at the first read/mid-payload/EOF probe, pre-read size rejection, and borrowed-stream ownership. This was access RED, not evidence of a newly discovered storage defect.
  • Production extracts the existing bounded byte-acquisition logic into an internal helper. The path wrapper retains file ownership; allocation checks, exact read, and EOF probe are unchanged. No public API is added.
  • Independent test, extraction, and full HDB02 acceptance reviews found no blocking findings.
  • Package README/release notes now reflect 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 head 5d569746ffa73304cef89a608326765888e1c727 is also fully qualified:

  • PR workflow #1050 / 35024847138: completed/success, 12/12 jobs.
  • HDB00 workflow #79 / 35024847177: completed/success, 3/3 jobs.
  • Exact-head logs confirm 165/165 unit tests and 6/6 interoperability tests per TFM on every host.
  • Only the closure record and roadmap differ from the accepted implementation head.

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.

  • Implements internal ncurses marker-2 resolution and opaque marker-0 extraction.
  • One bounded database acquisition serves every exact-byte key lookup in a chain.
  • Initial misses return false; dangling targets, empty/unsupported records, cycles, and excessive links throw format failures.
  • Limits are validated before opening. Binary index keys preserve all bytes; cycle tracking compares byte content.
  • No public provider/API, compiled parsing, identity validation, or caching is introduced in this checkpoint.
  • 31 real-file unit cases plus 3 native compiled-byte comparisons were added; existing 165 unit and 6 raw-record native comparisons remain.
  • Initial head 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.
  • Formatting-only correction 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.
  • Tests remain unchanged through implementation. Independent design/test/implementation review found no blocking findings.
  • Cycle-detection mechanism and one-image reuse are additionally verified by source review; synthetic cycle tests alone do not distinguish cycle detection from eventual hop exhaustion.
  • Plan/progress: docs/superpowers/plans/2026-09-15-hdb03-record-resolution.md.
  • PR workflow #1053 / 35028533047: completed/success, 12/12 jobs.
  • HDB00 workflow #82 / 35028533022: completed/success, 3/3 jobs.
  • Exact-head logs confirm 196/196 unit cases and 9/9 interoperability cases per TFM (net8/net9/net10) on Windows/Linux/macOS.
  • The native comparisons include direct production resolution of canonical, alias, and forced-overflow entries to byte-for-byte matching compiled output.
  • Exact Alpha-3 package verification, cross-TFM API/dependency/native-asset checks, isolated consumer, installed-tool smoke, and all six archive RIDs passed.
  • The plan's GREEN-pending text describes commit-creation state; this exact-head evidence accepts the checkpoint. It does not accept HDB03 as a whole.

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.

  • PR workflow #1057 / 35031640798: completed/success, 12/12 jobs.
  • HDB00 workflow #86 / 35031640883: completed/success, 3/3 jobs.
  • BerkeleyDb unit tests: 234/234 per TFM on Windows/Linux/macOS.
  • Native-store interoperability tests: 15/15 per TFM on Windows/Linux/macOS.
  • Packed-package consumer: passed on net8/net9/net10 using only artifact packages.
  • Accepted API: BerkeleyDbTerminalDescriptionProvider, immutable options, and BerkeleyDbDatabaseFormatException.
  • The provider owns one canonical database path, resolves exact UTF-8 keys through bounded marker-2/marker-0 records, reuses CompiledTermInfoParser, verifies canonical/alias identity, caches successes, and retries misses/failures.
  • Container/envelope failures map to the package exception. Parser, identity, and I/O exception types remain distinct.
  • Independent implementation and qualification reviews found no blocking findings.
  • Native producer fixtures use ASCII identities; broader non-ASCII producer interoperability is not claimed.
  • Closure record: docs/1.15.0-HDB03-EXPLICIT-HASHED-TERMINAL-PROVIDER.md.
  • Documentation-only closure head: de147a376698d45c44ec74f5373f9dd0bfe12103.
  • Closure PR workflow #1058 / 35032409873: completed/success, 12/12 jobs.
  • Closure HDB00 workflow #87 / 35032409954: completed/success, 3/3 jobs.

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:

supported Hash-v9 file
    -> validate metadata/page geometry
    -> scan paired key/data items
    -> reconstruct off-page/overflow values
    -> exact key -> opaque value bytes

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

  • No mandatory Berkeley DB dependency in Icod.TermInfo.
  • No native Berkeley DB runtime or P/Invoke in production.
  • No second terminfo semantic parser.
  • No hashed-store writing or tic hashed publication in 1.15.
  • No general-purpose Berkeley DB API.
  • Existing Runtime, Source, Compiler, Termcap, Inspection, JSON, command, package, and archive contracts remain preserved unless an additive 1.15 change is separately reviewed.

HDB04 — hashed-aware system discovery — COMPLETE / ACCEPTED

Accepted exact implementation/qualification head: c6e05caa4cc5158f1200050e3ba3c97e4f7aa486.
Coordinated prerelease: 1.15.0-Alpha-4.

  • PR workflow #1060 / 35041557637: completed/success, 12/12 jobs.
  • HDB00 workflow #89 / 35041557669: completed/success, 3/3 jobs.
  • BerkeleyDb unit tests: 253/253 per TFM on Windows/Linux/macOS.
  • Native-store interoperability tests: 18/18 per TFM on Windows/Linux/macOS.
  • The isolated package-only consumer loaded the public system provider and alias on net8/net9/net10.
  • Accepted public API: BerkeleyDbSystemTerminalDescriptionProvider and immutable options.
  • Discovery reuses Runtime's internal snapshotted policy and preserves encoded TERMINFO, logical-location precedence, empty TERMINFO_DIRS defaults, and deduplication.
  • Exact directories/files precede .db companions. Missing sources continue; reached malformed sources fail explicitly.
  • Successful results are cached; misses and failures remain retryable, including replacement after malformed input.
  • Runtime's public API and frozen SystemTerminalDescriptionProvider behavior are unchanged.
  • Closure record: docs/1.15.0-HDB04-HASHED-AWARE-SYSTEM-DISCOVERY.md.
  • Documentation-only closure head: 0d591fbf0de944555e96075428a8cf38b5436e99.
  • Closure PR workflow #1062 / 35042192609: completed/success, 12/12 jobs.
  • Closure HDB00 workflow #91 / 35042192507: completed/success, 3/3 jobs.

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.

  • Qualification PR workflow 35049904561: completed/success, 12/12 jobs.
  • Qualification HDB00 workflow 35049904277: completed/success, 3/3 jobs.
  • BerkeleyDb unit tests: 308/308 per TFM on Windows/Linux/macOS.
  • Native-store interoperability tests: 20/20 per TFM on Windows/Linux/macOS.
  • The isolated package-only consumer passed on net8/net9/net10.
  • Accepted public API: BerkeleyDbTerminalCatalogReader, immutable BerkeleyDbTerminalCatalogReaderOptions, BerkeleyDbTerminalCatalogEntry, and BerkeleyDbTerminalCatalogEntryKind.
  • Each read owns one fresh bounded Hash-v9 image. Marker-0 payloads are parsed and validated, including orphans, but are not emitted; marker-2 logical publications are resolved with strict UTF-8, bounded chain/cycle checks, and canonical/alias classification against Runtime parser identity.
  • Entries share terminal identity within a snapshot and are returned in deterministic ordinal name/kind/canonical order. Successful snapshots are immutable and uncached.
  • Container/envelope failures map to BerkeleyDbDatabaseFormatException; parser, identity, I/O, and cancellation boundaries remain distinct.
  • Runtime public API and the accepted HDB03/HDB04 providers remain unchanged.
  • Closure record: docs/1.15.0-HDB05-HASHED-CATALOG-ENUMERATION.md.
  • Documentation-only closure head: ff00df2b013828d5296eb5ba0d6f9eb4c1cac9ed.
  • Closure PR workflow 35050613880: completed/success, 12/12 jobs.
  • Closure HDB00 workflow 35050613884: completed/success, 3/3 jobs.
  • Closure-head logs reconfirm 308/308 unit cases and 20/20 interoperability cases per TFM on Windows/Linux/macOS.

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:

  • Normal PR workflow 35125347430: completed/success, 12/12 jobs.
  • HDB00 workflow 35125347482: completed/success, 3/3 jobs.
  • infocmp: 108/108 on Windows, Linux, and macOS.
  • toe: 62/62 on Windows, Linux, and macOS.
  • Router: 47/47 on Windows, Linux, and macOS.
  • BerkeleyDb: 312/312 per TFM on Windows, Linux, and macOS.
  • Native-store interoperability: 20/20 per TFM on all three hosts.
  • Direct and routed HDB06 command verification passed on all HDB00 hosts.
  • Installed Icod.TermInfo.Tools 1.15.0-Alpha-6 smoke passed on Windows, Linux, and macOS.
  • Direct-command smoke passed for all six standalone archive RIDs.
  • Exact package dependency/API/assembly identity and no-native-asset verification passed.

Accepted behavior:

  • Existing-file infocmp -A/-B paths dispatch to the accepted BerkeleyDb provider; directories and unclassified paths retain conventional behavior.
  • Explicit human toe file operands dispatch to the accepted logical catalog and may mix with conventional directories in caller order.
  • Inspection remains provider-neutral and gains no BerkeleyDb dependency or public API.
  • Runtime, Inspection, and BerkeleyDb reusable public API boundaries remain unchanged.
  • infocmp --all-candidates remains conventional-directory-only.
  • Ambient toe discovery and frozen JSON schemas remain unchanged.
  • tic remains conventional-directory-write-only.
  • Production remains pure managed, read-only, and free of native Berkeley DB assets/dependencies.

TDD and correction evidence:

  • Inspection composition: 762a05d65b9c9e098e89d3a7acf69efae2e23319.
  • infocmp corrected RED: run 35117709499; GREEN implementation:
    ccea36942165bad161a84a9fd5e74b73a79dfea4.
  • toe corrected RED: run 35119182109; accepted GREEN fix:
    96ba5313e2662679c650830962b599637b134d92.
  • Distribution qualification converged through e9773c3cfff9137aee9e1fd5a57512e87de61334,
    f7f17fd0ebc97db6302e62d76c548aee13209e8b,
    4858fbb88736bbbc195152267769dfa34aaf0438, and the accepted
    implementation head.

Closure record:

docs/1.15.0-HDB06-INSPECTION-AND-TOOL-INTEGRATION.md

HDB07 — adversarial and compatibility hardening — COMPLETE / ACCEPTED

Accepted implementation/qualification head:

ab059acf27a5bc7fb1e8cef390d47085be33b5af

Coordinated prerelease:

1.15.0-Alpha-7

Qualification:

  • normal PR workflow run 35145593802 — all 12 jobs green;
  • HDB00 workflow run 35145593852 — Linux, macOS, and Windows all green;
  • 404 BerkeleyDb unit cases and 34 native-store interoperability cases per TFM on all three hosts;
  • 115 infocmp, 66 toe, and 47 router cases per host;
  • native Linux/macOS 64-entry ASCII matrices: 192 database records and 128 logical publications;
  • Windows verified the transported Linux fixture without Berkeley DB installed;
  • real permission denial and restoration passed on all three hosts; and
  • installed-tool package smoke and all six standalone archive RIDs passed.

Accepted scope:

  • rejects non-12-byte off-page headers and overflow continuation after declared length;
  • freezes metadata/page/item geometry, marker/identity, culture, lifecycle, retry/cache/refresh, replacement, cancellation, permission, provider/router, and command boundaries;
  • adds exact native dump/key/value comparison plus first/middle/last primary and alias coverage; and
  • preserves public API, package dependencies, JSON schemas, command options, pure-managed deployment, and the read-only/write boundary.

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:

2c122abd7e4e63397b474f248d51273a1b7fc006

Documentation closure head:

a5a29cd1342185a9dca77a98cd17ad29862bc0b3

Final closure-checklist / exact PR head:

048aaeba39e5659cc4b549dc06d4fdc7c85a08fe

Coordinated prerelease:

1.15.0-Alpha-7

Final implementation qualification:

  • normal PR workflow 35161853347: completed/success, 12/12 jobs;
  • HDB00 workflow 35161853443: completed/success, 3/3 jobs;
  • 422/422 BerkeleyDb unit cases per TFM on Windows, Linux, and macOS;
  • 50/50 native-store interoperability cases per TFM on all three hosts;
  • 115 infocmp, 66 toe, and 47 router cases per host;
  • package-only net8/net9/net10, installed-tool, all six archive-RID, API, dependency, assembly-identity, and no-native-asset gates passed.

Documentation-head qualification:

Final exact-head qualification:

Accepted scope:

  • production acquisition requires two complete byte-identical observations through one open file handle and rejects unequal content or length as I/O, without retry;
  • Linux and macOS independently create and natively verify a big-endian Berkeley DB Hash-v9 container containing byte-exact ncurses-produced records; Windows verifies the transported Linux fixture without Berkeley DB installed;
  • exact lookup is UTF-8-first and tries one distinct representable Latin-1 key only after a clean miss;
  • catalog publication decoding is strict UTF-8 first, with Latin-1 only for invalid UTF-8 bytes, and rejects distinct raw keys with one ordinal logical name;
  • native Latin-1 evidence contains exactly three records and two publications, with canonical key 6864623037632D636166E9 and alias key 6864623037632D616C69E9; and
  • Runtime parsing, public API, dependency direction, JSON, command options, pure-managed deployment, and the read-only boundary remain unchanged.

RED/GREEN checkpoints:

  • stability: RED 5c81ab9; GREEN e20a0a1;
  • native big-endian: RED 461d77c; GREEN 5fa8f25;
  • provider fallback: RED 734cb9f; accepted stack d1fbb0c;
  • catalog decoding/ambiguity: RED 74de983; corrected GREEN 0f84b9f;
  • native Latin-1: RED 82f4436; GREEN 5936f92;
  • package behavior: accepted implementation 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-8

Accepted implementation/qualification head:

b25733851c963585b56fcf064e9e27c6fdd47ee5

Documentation-complete closure head / exact PR head:

78168f06a357034315fbe3de472375af1c7b0fbb

Planning records:

RED/GREEN checkpoints:

  • managed exact-package verifier: RED a60d905, normal run 35167991425; GREEN stack f3a61fc + 3b8551a, normal run 35169060492 12/12, HDB00 35169060393 3/3;
  • three-host package consumption: RED 1089e2d, normal run 35169725721; GREEN b3be5cb, normal run 35170146172 12/12, HDB00 35170146181 3/3;
  • Alpha-8 authority: RED 69aa73c, normal run 35170813640; accepted GREEN b257338, normal run 35171310997 12/12, HDB00 35171310971 3/3; and
  • documentation interoperability gate: initial head a91ed0e exposed that HDB00 run 35172185609 performed only two classifier jobs and skipped Windows; classifier RED c817d28 failed the intended case in 35173010354; GREEN 5306f80 passed normal 35173151397 12/12 and genuine HDB00 35173151442 3/3.

Accepted Alpha-8 evidence:

  • exactly seven coordinated nupkg files and six reusable-library snupkg files;
  • managed verifier success for exact nupkg/snupkg payloads, Runtime-only dependencies, unsigned IL-only assembly identity 1.0.0.0, portable symbols, Source Link, cross-TFM public API equivalence, and no native assets;
  • 430/430 BerkeleyDb tests per TFM on Windows, Linux, and macOS;
  • one canonical package set consumed on net8/net9/net10 on Windows, Ubuntu, and macOS;
  • installed Icod.TermInfo.Tools and DA07 smoke on all three package hosts;
  • matching-host smoke for win-x64, win-arm64, linux-x64, linux-arm64, osx-x64, and osx-arm64; and
  • HDB00 50/50 native-store interoperability cases per TFM on Linux/macOS native stores and Windows transported Linux fixtures.

Final 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.0 promotion, and release-candidate closure.

HDB09 — API freeze, documentation, and stable promotion — COMPLETE / ACCEPTED

Stable coordinated version:

1.15.0

Accepted feature/API source:

1.15.0-Alpha-8

Exact BerkeleyDb public API freeze:

  • 9 exported public types;
  • normalized-LF SHA-256 f519600aa4085d07c2d20bd8dc7a32c4dc06a43f4e361554b205ce2f97a8bf36;
  • equal net8.0/net9.0/net10.0 surfaces;
  • Runtime-only dependency, unsigned assembly version 1.0.0.0, pure-managed deployment, and no native assets.

TDD and Alpha-8 closure evidence:

  • HDB09 RED head 1525096d1a5925c2816159f7f7b7c826dfd7013b: normal run 35176822414 failed on the absent HDB09 authorities; HDB00 run 35176822401 failed the intended classifier case.
  • Alpha-8 implementation head 406891bff059bafb4dba82b1de64e33861c78773: normal run 35178539117 passed 12/12.
  • Alpha-8 evidence-record head 5f0be1100f3b2c7db2f5a3198e4a08e7229c86c2: normal run 35179100564 passed 12/12 and genuine HDB00 run 35179100607 passed 3/3.
  • Stable-promotion RED head 6b80bdb88801ac5158e967c5e4615f20609944cc: normal run 35179692542 failed on the intended Alpha-8 identity mismatch.
  • Stable qualification head 10851c380b2df7eba35ea2151ecb7b982a8a7a2d: normal run 35182018598 passed 12/12 and genuine HDB00 run 35182018597 passed 3/3.
  • Final evidence-record head 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.0 tag, GitHub Release, or package publication has been created.

@uniblab
uniblab marked this pull request as ready for review September 17, 2026 05:46
@uniblab
uniblab merged commit 7d0cd56 into main Sep 17, 2026
15 checks passed
@uniblab
uniblab deleted the 1.15.0-berkeley-db-hashed-acquisition branch September 17, 2026 06:01
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