@weftlet/toolkit 0.3.0 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (68) hide show
  1. package/README.md +26 -1
  2. package/dist/application/application.js +7 -4
  3. package/dist/application/cache-adoption.d.ts +43 -0
  4. package/dist/application/cache-adoption.js +129 -0
  5. package/dist/application/extraction-identity.d.ts +6 -0
  6. package/dist/application/extraction-identity.js +15 -0
  7. package/dist/application/hydration-failure.d.ts +41 -0
  8. package/dist/application/hydration-failure.js +43 -0
  9. package/dist/application/hydration-plan.d.ts +4 -7
  10. package/dist/application/hydration-plan.js +7 -15
  11. package/dist/application/hydrator.d.ts +5 -5
  12. package/dist/application/hydrator.js +37 -52
  13. package/dist/application/overlay.d.ts +3 -1
  14. package/dist/application/overlay.js +13 -4
  15. package/dist/application/saved-evidence.d.ts +6 -3
  16. package/dist/application/saved-evidence.js +7 -1
  17. package/dist/application/semantic-artifact-store.d.ts +4 -0
  18. package/dist/application/semantic-artifact-store.js +7 -0
  19. package/dist/application/semantic-run.d.ts +32 -0
  20. package/dist/application/semantic-run.js +111 -0
  21. package/dist/application/semantic-scope.d.ts +13 -0
  22. package/dist/application/semantic-scope.js +12 -0
  23. package/dist/application/snapshot-checks.d.ts +2 -1
  24. package/dist/application/snapshot-checks.js +8 -1
  25. package/dist/configuration/cache.d.ts +6 -0
  26. package/dist/configuration/cache.js +18 -0
  27. package/dist/configuration/config.js +1 -1
  28. package/dist/extraction/document.js +1 -1
  29. package/dist/extraction/providers.js +10 -3
  30. package/dist/extraction/repository-nodes.d.ts +2 -3
  31. package/dist/extraction/repository-nodes.js +5 -11
  32. package/dist/extraction/routing.d.ts +1 -1
  33. package/dist/extraction/routing.js +3 -6
  34. package/dist/extraction/semantic-cache.d.ts +1 -0
  35. package/dist/extraction/semantic-cache.js +9 -2
  36. package/dist/extraction/semantic-diagnostics.d.ts +9 -0
  37. package/dist/extraction/semantic-diagnostics.js +15 -0
  38. package/dist/extraction/semantic.d.ts +5 -1
  39. package/dist/extraction/semantic.js +39 -6
  40. package/dist/extraction/static.d.ts +13 -5
  41. package/dist/extraction/static.js +8 -15
  42. package/dist/governance/governance.js +11 -7
  43. package/dist/graph/identity-preflight.d.ts +57 -0
  44. package/dist/graph/identity-preflight.js +71 -0
  45. package/dist/graph/query.js +2 -0
  46. package/dist/graph/rdf.d.ts +4 -1
  47. package/dist/graph/rdf.js +10 -6
  48. package/dist/graph/validation-progress.d.ts +14 -0
  49. package/dist/graph/validation-progress.js +18 -0
  50. package/dist/index.d.ts +5 -0
  51. package/dist/index.js +5 -0
  52. package/dist/interfaces/cli.js +52 -22
  53. package/dist/storage/storage.d.ts +7 -1
  54. package/dist/storage/storage.js +15 -3
  55. package/dist/visualization/visualization.js +1 -0
  56. package/docs/ADR-016-hydration-preview.md +1 -1
  57. package/docs/ADR-017-shacl-validation-union.md +1 -1
  58. package/docs/ADR-018-operational-semantic-cache.md +100 -0
  59. package/docs/ADR-019-semantic-failure-diagnostics.md +82 -0
  60. package/docs/ADR-020-canonical-physical-file-producers.md +97 -0
  61. package/docs/ADR-021-identity-preflight-and-validation-timing.md +81 -0
  62. package/docs/PROVIDERS.md +58 -1
  63. package/docs/RELEASE-1.0-PLAN.md +100 -34
  64. package/docs/RELEASING.md +4 -2
  65. package/docs/ROADMAP.md +40 -15
  66. package/docs/VALIDATION.md +351 -4
  67. package/docs/extraction-manifest.json +50 -23
  68. package/package.json +2 -2
@@ -8,10 +8,357 @@ The milestone entries below record the original cloud checks. Subsequent
8
8
  establishes live Codex success on Windows and the full deterministic checks on WSL,
9
9
  while identifying remaining native Windows issues.
10
10
 
11
+ ## Ten-minute timeout blocker, 2026-10-27
12
+
13
+ The maintainer reports that published 0.4.0 rejects the approved `semantic.timeoutMs: 600000`.
14
+ The consumer's ten-minute retry has **not run**. This is a configuration ceiling defect, separate
15
+ from the corrected physical-file kinds and earlier positive consumer update below.
16
+
17
+ The source patch raises only the accepted maximum from 300000 to 600000 ms. Omitted timeout
18
+ still defaults to 120000; finite positive integer validation, retries, cancellation and the
19
+ separate authentication/discovery limits are unchanged. No provider/prompt/artifact identity
20
+ changes or forced model re-extraction are introduced.
21
+
22
+ Focused checks pass: config acceptance/boundary rejection, Codex propagation across retries,
23
+ per-call override/cancellation, a cancellable module deadline, and real artifact reuse/preview
24
+ after an interrupted run switches to 600000. The provider tests use an injected runner/local
25
+ module and finish immediately; they are not a live ten-minute extraction. Independent review
26
+ found no blocker. Local `pnpm context-graph:publication-check` passed: 408 deterministic tests
27
+ (17 core, 391 toolkit), one optional OML skip, 13 unchanged advisory architecture findings,
28
+ inventory, licenses and fresh packed-consumer checks. The installed CLI accepts 600000 in
29
+ no-model preview and reports the same limit on an immediate missing-provider failure.
30
+ All 79 original source path/hash pairs remain intact. Hosted checks and publication are recorded
31
+ after completion; the consumer's live ten-minute retry remains unrun.
32
+
33
+ ## Consumer update after 0.4.0, 2026-10-27
34
+
35
+ The maintainer reports that the consumer updated and appears to be working. This is positive
36
+ consumer feedback after the T08 release. No exact consumer commit, graph scope, adapter test
37
+ report, full-run timing or repeated-hydration report was supplied with that update, so those
38
+ detailed acceptance results remain unrecorded. No private consumer files were inspected or changed.
39
+
40
+ ## T05a identity preflight and validation phase timing, 2026-10-27
41
+
42
+ Implemented in development source after 0.4.0; no new publication is claimed.
43
+ [ADR 021](ADR-021-identity-preflight-and-validation-timing.md) records the bounded scope:
44
+ complete identity/kind attribution before compilation/RDF, explicit local diagnostic detail,
45
+ and elapsed phase boundaries. Full SHACL shapes, accepted facts and cache identities are unchanged.
46
+
47
+ - Twelve pure preflight cases pass: both endpoints, cross-source kinds, conceptual IDs,
48
+ duplicates/self-references, all late conflicts, exact copied provenance/authority, absent
49
+ authority preservation and opaque defaults including unknown kinds. A pass explicitly says
50
+ `shaclValidated: false`; it does not infer canonical classification or approved intent.
51
+ - Two hydration composition cases pass with actual committed file/contract/document producers
52
+ and a deterministic semantic provider. A kind conflict skips compilation, invariants and RDF;
53
+ previous head/snapshot and completed artifact bytes remain intact. Correcting the fixture
54
+ reuses the artifact and runs full SHACL. Invalid confidence with consistent kinds still fails
55
+ real SHACL. Indexing is stubbed in these scheduling cases; real SCIP is covered separately.
56
+ - Four CLI subprocess cases pass with real SCIP and public adapters: default human/JSON privacy,
57
+ explicit exact attribution, empty failure stdout, preserved artifacts/snapshots, overlay detail
58
+ propagation and valid full-validation timing. The existing four semantic-failure CLI cases pass.
59
+ - All 26 full SHACL parity/timing cases pass, including original named-dataset positive/negative
60
+ equivalence and the 2,200-fact late failure. Phase events do not change verdicts or serialization;
61
+ completed means the operation returned, not that its graph conformed.
62
+ - Local `pnpm context-graph:publication-check` passed: 403 deterministic tests (17 core,
63
+ 386 toolkit), one optional OML skip, 13 unchanged advisory architecture findings, inventory,
64
+ licenses and fresh packed-consumer checks. The installed public API detects kind conflicts,
65
+ preserves exact opt-in citations, reports phase timing and still rejects the same pair under
66
+ full SHACL. All 79 original extraction source path/hash pairs remain intact.
67
+ - Independent runtime/test review found no blocker. No live model or private consumer
68
+ performance result is implied.
69
+
70
+ [PR 30](https://github.com/jchewitt/weftlet/pull/30) merged at
71
+ `c8db1f0b871f5e6f3d1d2e9eda1b045aa45469df`. Exact feature head
72
+ `dc01421aa3953963e411430266b9035f2852cfd8` passed hosted Ubuntu and native Windows checks
73
+ in [push run 40451305862](https://github.com/jchewitt/weftlet/actions/runs/40451305862) and
74
+ [PR run 40451332221](https://github.com/jchewitt/weftlet/actions/runs/40451332221).
75
+ T05a is merged but unpublished; npm 0.4.0 remains the verified public release.
76
+
77
+ A bounded public profile ran the unique-node fixture in three fresh processes: 500 facts,
78
+ the same 500 facts again, then 501 facts. Command: `node scripts/benchmark-shacl.mjs --counts 500
79
+ --topologies unique --modes optimized --deadline-ms 15000` (use 501 for the final case), after
80
+ `pnpm build`. Linux x64, Node 24.19.0, N3 2.7.2 and rdf-validate-shacl 0.6.5; built RDF module
81
+ SHA-256 `8a66e0266d812b742103d42de3572faf4ab9873d0f37424b563962ea7473fae1`.
82
+
83
+ | Facts / nodes | Preflight ms | RDF construction ms | Union ms | SHACL ms | Process peak RSS KiB |
84
+ | --- | ---: | ---: | ---: | ---: | ---: |
85
+ | 500 / 1,000 | 0.84 | 67.90 | 32 | 186 | 330,496 |
86
+ | 500 / 1,000 repeat | 0.74 | 57.15 | 32 | 174 | 334,356 |
87
+ | 501 / 1,002 | 0.74 | 59.88 | 54 | 185 | 333,584 |
88
+
89
+ All three ran full validation and preserved serialization; the repeated input's serialization
90
+ digest matched, and the added-fact digest differed. These single-run smoke measurements establish
91
+ phase visibility, not a speedup or production capacity. RSS includes imports, fixture and
92
+ serialization; no successful-result reuse or dependency-aware incremental validation was used.
93
+
94
+ ## 0.4.0 publication and installed-package checks, 2026-10-26
95
+
96
+ `@weftlet/core@0.4.0` and `@weftlet/toolkit@0.4.0` ship T03 operational cache reuse,
97
+ T04 semantic failure diagnostics and T08 canonical physical-file kinds. This is an upstream
98
+ release; private consumer adapter migration and full hydration acceptance remain pending.
99
+
100
+ [Release PR 23](https://github.com/jchewitt/weftlet/pull/23) merged at
101
+ `9c6c2625ce2f5d3a28d2be40610130c745b416d4`. Trusted publishing
102
+ [run 40421791942](https://github.com/jchewitt/weftlet/actions/runs/40421791942)
103
+ completed preparation, publication and release records on attempt 1. Both versions are public
104
+ and tagged `latest`; downloaded registry archives are byte-identical to the independently
105
+ reviewed archives. npm provenance identifies that merge commit and workflow attempt. The
106
+ [core](https://github.com/jchewitt/weftlet/releases/tag/%40weftlet/core%400.4.0) and
107
+ [toolkit](https://github.com/jchewitt/weftlet/releases/tag/%40weftlet/toolkit%400.4.0)
108
+ package tags and GitHub Releases resolve to the same commit.
109
+
110
+ - Exact reviewed version head `8ea26c7f538202b4acb67ceeda6adbf220a85e93` passed
111
+ `pnpm release:prepare`: 384 deterministic tests (17 core, 367 toolkit), one optional OML skip,
112
+ 13 advisory architecture findings, inventory, licenses and fresh packed-consumer checks.
113
+ Hosted Ubuntu and native Windows checks passed in
114
+ [run 40421253221](https://github.com/jchewitt/weftlet/actions/runs/40421253221).
115
+ - Independent source/archive review found no release blocker. Core contains 13 files/8,212 bytes;
116
+ toolkit contains 213 files/244,424 bytes. Archive digests match the reviewed manifest; all
117
+ non-manifest files match the reviewed checkout. Public exports, CLI/runtime assets, Apache-2.0
118
+ licenses and attribution are present. Core has no runtime dependencies; toolkit requires
119
+ core `^0.4.0`. No forbidden local-state entries or credential-signature matches were found.
120
+ All 79 original extraction source path/hash pairs are unchanged.
121
+ - A separate offline rehearsal installed those exact archives with lifecycle scripts disabled.
122
+ Its public fixture produced 54 facts, including four contract consumers, 24 SCIP facts and two
123
+ public adapter facts. Strict SHACL, immutable repeat reuse and provider-unavailable saved reads
124
+ passed. This rehearsal is distinct from public-registry acceptance.
125
+ - Fresh public-registry installation passed on Linux/Node 24.19.0 with lifecycle scripts disabled.
126
+ Its lockfile registry URLs and SHA-512 values match the reviewed archives. The committed public
127
+ fixture produced 54 total facts, including two semantic facts, four contract consumers, 24 real SCIP facts,
128
+ two public adapter facts and nine document facts; the impact query returned 53 facts.
129
+ Cold hydration extracted two artifacts; repeat hydration extracted zero and reused both with
130
+ identical snapshot identity, content digest and stored bytes. Removing the provider module
131
+ preserved no-model preview and saved queries, with no additional provider invocations.
132
+ Fixture commit: `41d0c4fa68f7a358d52471dbbd2a6186adb22fa5`; content digest:
133
+ `f5a8fbde346d070074164edf970bfd98246c4e34718b43f5850757501daf50ca`.
134
+
135
+ The installed-package fixture uses a deterministic public provider, actual contract/document
136
+ extractors, real TypeScript SCIP and a public adapter that imports only the core file factory.
137
+ It checks retained citations, digests and authority, strict RDF/SHACL, projection/query results,
138
+ repeat artifact reuse and unchanged snapshot bytes. It makes no live model calls and does not
139
+ establish private adapter correctness, semantic quality or the consumer's full-graph performance.
140
+ The T03/T04 test checkpoints below remain the evidence for operational Codex cache partitioning
141
+ and structured failure handling; ordinary fixture reuse is not a substitute for those tests.
142
+
143
+ Reviewed and public archive integrity:
144
+
145
+ | Package | SHA-512 integrity |
146
+ | --- | --- |
147
+ | `@weftlet/core@0.4.0` | `sha512-hNiLpfFaL/o+uQJlRdW+jN/cdMIY8QxTAgwTA7F1kN8f1KhHWH8qsxc4RgC8mP+4huLsWLk8m0v14xrq5prMdA==` |
148
+ | `@weftlet/toolkit@0.4.0` | `sha512-UrHRBuz3v7Olfqk0iaSyvZ1+9xnCHMAjh0ZGj+HWde4zAR0M2zEHjeOxkyC2B2d63gPAqttlQ5kzpauRdfd0Jg==` |
149
+
150
+ ## T08 deterministic physical-file kinds, 2026-10-26
151
+
152
+ Implemented after 0.3.0; this checkpoint does not claim npm publication or private consumer
153
+ acceptance. [ADR 020](ADR-020-canonical-physical-file-producers.md) separates the neutral fix from
154
+ the consumer-owned framework adapter migration. The reported 120-ID partition is consumer
155
+ evidence; the upstream tests below are independent public reproductions, not that private replay.
156
+
157
+ - Local `pnpm context-graph:publication-check` passed: 384 deterministic tests (17 core,
158
+ 367 toolkit), one optional OML skip, 13 advisory architecture findings, inventory, licenses and
159
+ fresh packed-consumer checks. No rule, baseline, exception or SHACL shape was relaxed.
160
+ - Sixteen new core cases verify the exported pure physical-file mapping, exact path spelling,
161
+ document/test/production distinctions and absence of inferred existence or intent. The package
162
+ retains no runtime package dependencies. Its public JS/declaration assets are required in the archive.
163
+ - Three public composition cases use actual file and contract extraction from committed Prisma
164
+ schema/production/spec/test/Markdown consumers, actual bundled SCIP indexing and document links.
165
+ They assert exact retained citations/digests, confidence, authority and conceptual contract IDs.
166
+ A kind-only historical control restores the old Component label on an actual test-consumer fact
167
+ and fails strict SHACL; unchanged current producer output conforms. This control is not claimed
168
+ as execution of the installed 0.3.0 package. A public adapter-shaped fixture imports only core's
169
+ factory for its physical nodes; it is not the private framework implementation.
170
+ - The overlay case reindexes real source changes without routing configured, retains canonical
171
+ kinds/draft authority, and proves its new identity differs from the frozen 0.3.0 formula.
172
+ A separately labeled retained-inference fixture still fails strict SHACL when incompatible;
173
+ previous heads, snapshots and assertion bytes remain intact. It is neither rewritten nor suppressed.
174
+ - Routing and governance regressions compose real producer facts with neutral extraction and
175
+ strict SHACL. They retain routing binding IDs, provenance/authority and architectural attributes;
176
+ document endpoints join canonical Document identities, test files remain Evidence, and business
177
+ module/contract identities stay separate. Governance analyzer 3 differs from the frozen prior ID.
178
+ - Twelve compatibility cases reject old/missing assembly, contract, SCIP-fact and configured
179
+ routing metadata for current validation. Production application tests still query historical
180
+ facts unchanged at the same commit/configuration, label extraction incompatibility separately
181
+ from checkout staleness, and invoke no provider, indexer, hydration or graph refresh.
182
+ - Existing hydration/reuse/rename/delete tests pass with graph-v7 and preserve older snapshot
183
+ records. Semantic artifact/provider/prompt identity stays unchanged; no model call or private
184
+ cache rewrite is required by this deterministic fix. Non-document model kinds remain unreviewed
185
+ assertions and can still fail strict SHACL; this increment does not silently reinterpret them.
186
+ - Fresh packed installation checks a public `@weftlet/core` adapter import against actual neutral
187
+ contract test-consumer facts, strict SHACL, real SCIP, RDF/SPARQL projection, CLI/npx and MCP.
188
+ Independent review found no remaining blocker. All 79 original source path/hash pairs are intact.
189
+
190
+ [PR 27](https://github.com/jchewitt/weftlet/pull/27) merged at
191
+ `7b3b0a4af260a6fa70f1107b3c5c315826c22c0e`. Exact feature head
192
+ `493c68faada31f35e4c7dd5d047e70ac5c96b2ad` passed hosted Ubuntu and native Windows checks
193
+ in [push run 40420049204](https://github.com/jchewitt/weftlet/actions/runs/40420049204) and
194
+ [PR run 40420084937](https://github.com/jchewitt/weftlet/actions/runs/40420084937).
195
+ Publication is pending the separately reviewed 0.4.0 release. No private application files
196
+ or installed consumer packages were modified. The consumer must upgrade both released packages,
197
+ migrate/version its framework extractor, run composed adapter tests, then complete full hydration
198
+ and repeat acceptance before its adoption blocker can be declared resolved.
199
+
200
+ ## T04 semantic failure diagnostics, 2026-10-26
201
+
202
+ Implemented in development source after 0.3.0; no new npm publication is claimed.
203
+ [ADR 019](ADR-019-semantic-failure-diagnostics.md) records the safe failure envelope, opaque
204
+ source correlation, settled progress and recovery boundaries. T04 does not change prompts,
205
+ artifact keys, source/assertion authority, timeout defaults or graph validation.
206
+
207
+ - Local `pnpm context-graph:publication-check` passed: 351 deterministic tests (1 core,
208
+ 350 toolkit), one optional OML skip, inventory, licenses and fresh packed-consumer checks.
209
+ - 20 new application cases use committed public fixtures and real artifact/snapshot storage.
210
+ They cover retained completed work, resumed reuse, cache hits, timeout/root-cause ordering,
211
+ synchronous sibling cancellation, late provider results, in-flight writes, late storage failure,
212
+ cancellation between sources and final completed/remaining counts. The previous snapshot/head
213
+ remains intact after failure. An injected Codex runner verifies elapsed time across retries
214
+ is separate from the configured per-attempt limit; no real model is called.
215
+ - Unknown provider messages, private abort reasons and unrecognized error codes are excluded
216
+ from public reports. Missing infrastructure, invalid output, unresolved mappings, low confidence
217
+ and cache problems retain distinct safe diagnoses. The existing RDF regression now checks the
218
+ typed unresolved-policy error and unchanged prior head; its positive, missing-link, contradiction
219
+ and full SHACL checks remain in place.
220
+ - Four CLI subprocess cases cover actual module timeouts, unknown module errors, missing provider
221
+ infrastructure, source-ID mapping through local preview, progress/error privacy, empty failure
222
+ stdout, JSON-only stderr with `--quiet`, and preserved previous snapshot bytes. The installed
223
+ consumer verifies public error/helper exports, required runtime assets, matching preview IDs and
224
+ safe structured failure from an unavailable provider. Existing installed CLI/npx, real SCIP,
225
+ RDF/SPARQL/SHACL, viewer and MCP initialization/missing-snapshot checks pass.
226
+ - Governance reports 13 advisory findings: the 12 prior findings plus a new `semantic.ts` size
227
+ signal (510 nonblank/noncomment lines against the 500-line threshold). Independent review
228
+ considered the addition; scheduling/reporting is separated into its own module. The warning
229
+ remains visible. No rule, baseline or exception was changed; line count is not proof of
230
+ modularity or a product violation.
231
+ - Independent review found no remaining blocker. All 79 original source path/hash pairs are
232
+ unchanged. [PR 25](https://github.com/jchewitt/weftlet/pull/25) merged at
233
+ `a919b82eab35808985d5c497bbe59ccfcba8bfcb`. Exact feature head
234
+ `a755dcdd2c0f97a7507f02f64b907a231162bf78` passed hosted Ubuntu and native Windows checks
235
+ in [push run 40417172248](https://github.com/jchewitt/weftlet/actions/runs/40417172248)
236
+ and [PR run 40417209468](https://github.com/jchewitt/weftlet/actions/runs/40417209468).
237
+ Both runs completed successfully; the Windows suite includes the new application/CLI failure
238
+ tests and existing provider/process tests, plus inventory and license checks.
239
+
240
+ These checks use public deterministic fixtures and local child processes, not live models or
241
+ private consumer data. Genuine consumer acceptance remains separate. Native Windows is covered
242
+ by the hosted runs above; the local run is Linux/Node 24.19.0/pnpm 10.18.2.
243
+ Published packages remain at 0.3.0 at this checkpoint. Broader T05, T06 and T07 remain separate
244
+ 1.0 increments.
245
+
246
+ ## T03 operational semantic-cache reuse, 2026-10-26
247
+
248
+ Implemented in development source after 0.3.0; no new npm publication is claimed here.
249
+ [ADR 018](ADR-018-operational-semantic-cache.md) records the built-in Codex user-cache partition,
250
+ the five operational settings that may share artifacts, and conservative custom-provider behavior.
251
+ Snapshot profiles, full configuration digests, workspace paths and the 0.2.1/0.3.0 artifact-key
252
+ contract remain unchanged. No credential environment values are read to construct cache identity.
253
+
254
+ - [PR 22](https://github.com/jchewitt/weftlet/pull/22) merged at
255
+ `5b889854e8a4b3a84653770e3244dee39d4b7d37`. Exact feature head
256
+ `c92689699fb09c80246edd61b692fca086ff6e83` passed hosted Ubuntu and focused native Windows
257
+ checks in [push run 40411921483](https://github.com/jchewitt/weftlet/actions/runs/40411921483)
258
+ and [PR run 40411954882](https://github.com/jchewitt/weftlet/actions/runs/40411954882).
259
+ Both runs completed successfully; Windows includes all four new cache test suites plus
260
+ inventory and license checks. Independent review found no remaining blocker. All 79 original
261
+ source path/hash pairs remain unchanged.
262
+ - Local `pnpm context-graph:publication-check` passed: 327 deterministic tests (1 core,
263
+ 326 toolkit), one optional OML skip, 12 existing advisory architecture findings, inventory,
264
+ licenses and fresh packed-consumer checks. No new architecture baseline or exception was added.
265
+ - 28 configuration cases distinguish supported operational/default settings from model/policy/
266
+ authentication descriptors, unknown fields, repository/checkout and custom-provider changes.
267
+ The full snapshot storage profile still changes when its configuration changes.
268
+ - 11 integration/storage cases cover an interrupted run followed by a longer timeout: the
269
+ completed source is reused, the unfinished source is extracted, and the new snapshot records
270
+ the complete current configuration. Old-configuration evidence fails current snapshot checks;
271
+ a saved query can still label it as historical. An actual application hydration uses real
272
+ bundled SCIP and cached semantic artifacts with a tripwire against unexpected Codex calls.
273
+ - Legacy fixtures independently reproduce the frozen 0.3.0 profile/key formulas. Planning
274
+ neither copies artifacts nor creates directories; hydration promotes only validated entries
275
+ from the exact compatible legacy profile. Unrelated profiles and incomplete temporary files
276
+ are ignored. Old artifact bytes, raw output and provenance remain intact.
277
+ - 21 adoption cases exercise explicit previous-config recovery, dry-run/index/filesystem
278
+ preservation, current and historical agent scope, budgets, source changes and omitted coverage.
279
+ Incompatible policies, authentication descriptors, unknown fields, providers and checkouts are
280
+ refused. Corrupt, unreadable and conflicting entries are reported without overwriting them.
281
+ - Concurrent-writer tests cover matching/different outputs and malformed identity metadata with
282
+ a deceptively matching output-digest field. Both adoption and hydration promotion fully inspect
283
+ the retained entry before claiming success. Forced extraction preserves the old artifact.
284
+ - Three CLI subprocess cases verify that adoption runs before provider/adapter initialization,
285
+ preserves the active checkout, supports historical refs, rejects malformed invocation, and
286
+ returns structured nonzero results for cache or budget problems. The fresh packed consumer
287
+ checks the public API/runtime helpers and installed adoption command with unavailable provider
288
+ and adapter modules; its dry run selects the committed source without storage writes.
289
+
290
+ These are public deterministic fixtures, including an injected Codex runner, not live model
291
+ extractions or private consumer acceptance. Existing full SHACL and fresh snapshot publication
292
+ remain required after cache reuse. Published packages remain at 0.3.0 at this checkpoint;
293
+ the minor changeset is pending a separate release. T04 timeout diagnostics and the remaining
294
+ 1.0 work are separate increments.
295
+
296
+ ## Weftlet 0.3.0 preview and SHACL performance release, 2026-10-26
297
+
298
+ T02 and the focused cold-validation portion of T05 shipped ahead of the remaining 1.0 work.
299
+ Both `@weftlet/core@0.3.0` and `@weftlet/toolkit@0.3.0` are public npm `latest` at this
300
+ checkpoint. Core advances with the fixed release group and has no code change in this release.
301
+
302
+ - [Preview PR 18](https://github.com/jchewitt/weftlet/pull/18) merged at
303
+ `63c70f85b26a6cc60f8bc0615a86f6042a61ecd0`.
304
+ [SHACL PR 20](https://github.com/jchewitt/weftlet/pull/20) merged at
305
+ `e45fda59037293a6ded20da70b812bbd385500a5`. Its final head
306
+ `ec7bb87ea3287a6322eeb09fa72ba53b3f1eec4e` passed hosted Ubuntu and focused Windows
307
+ checks in [run 40402839679](https://github.com/jchewitt/weftlet/actions/runs/40402839679)
308
+ and [run 40402826889](https://github.com/jchewitt/weftlet/actions/runs/40402826889).
309
+ - [Release PR 19](https://github.com/jchewitt/weftlet/pull/19) advanced both versions to 0.3.0.
310
+ Exact head `897e731222180cc58ccf8acfe9cc2cd6252245b5` passed local `pnpm release:prepare`
311
+ and [dispatched Ubuntu/Windows checks](https://github.com/jchewitt/weftlet/actions/runs/40403315203).
312
+ The bot's automatic PR run required GitHub approval and ran no jobs; the explicit dispatch
313
+ validated that same head. The version PR contains only generated release metadata/changelogs
314
+ and consumed changesets, with no implementation changes.
315
+ - [Trusted-publishing run 40403950446](https://github.com/jchewitt/weftlet/actions/runs/40403950446)
316
+ completed preparation, publication and release records on attempt 1 at merged commit
317
+ `ffc332adb84b8f9e854370ff4799aab32e189356`. Both package-specific tags and GitHub Releases
318
+ identify that commit, and main's package versions agree with npm.
319
+ - Local publication checks passed 264 deterministic tests (1 core, 263 toolkit), one optional
320
+ OML skip, 12 existing advisory architecture findings, inventory, licenses and fresh packed-consumer
321
+ CLI/npx/MCP, preview, real SCIP, RDF/SPARQL/SHACL and viewer checks. Independent code review
322
+ found no remaining blocker. No shape, assertion, baseline or exception was removed or added to
323
+ conceal a failure. The 79 original source path/hash pairs remain unchanged.
324
+ - Independent archive review covered core's 11 entries and toolkit's 196 entries. Runtime assets,
325
+ declarations, examples, README, Apache license and attribution/notices are present. No Git state,
326
+ credentials, caches, private consumer payloads or compiled tests were included. Toolkit's packed
327
+ core dependency is `^0.3.0`. Public archives match both the hosted prepared archives and locally
328
+ reviewed archives byte for byte. Public SLSA provenance subjects match their SHA-512 hashes and
329
+ identify the expected source, repository, `publish.yml` and workflow attempt. This is a provenance
330
+ content/source check, not a separate cryptographic signature audit.
331
+ - A fresh Linux/Node 24.19.0 consumer installed only toolkit 0.3.0 directly from npm with
332
+ `--ignore-scripts`; core resolved transitively to 0.3.0. Both package-lock registry URLs and
333
+ integrity hashes matched the reviewed archives. The public two-document fixture retained
334
+ 2 semantic facts within 17 total facts, including 4 real SCIP facts. Impact returned 17 facts;
335
+ SPARQL returned four canonical document references. Cold hydration extracted 2/reused 0;
336
+ the repeat extracted 0/reused 2 with identical snapshot identity, content digest and bytes.
337
+ - Installed cold/warm `hydrate --plan --json` worked with the provider module unavailable,
338
+ reported 2 expected extractions then 2 reusable artifacts, preserved source authority and
339
+ performed no preview storage writes or provider calls. Saved queries still worked with the
340
+ provider disabled. Hydration used a deterministic fixture provider; no external model calls
341
+ were made during these checks.
342
+
343
+ The installed public `RdfEvidenceGraph.validate()` also passed bounded, fresh-process public
344
+ synthetic checks, preserving exact canonical serialization:
345
+
346
+ | Facts / topology | Original quads | Validation including union | Whole-process maximum RSS |
347
+ | --- | ---: | ---: | ---: |
348
+ | 2,000 unique | 56,003 | 0.632 s | 492 MiB |
349
+ | 10,000 unique | 280,003 | 2.903 s | 1,640 MiB |
350
+
351
+ These are single-run synthetic measurements. Memory includes imports, fixtures and serialization;
352
+ the extra union has a material memory cost. This installed-package probe ran on Linux; hosted
353
+ Windows covers the new parity tests separately. Neither establishes the private consumer's total
354
+ generation time. Full consumer hydration/repeat acceptance, live semantic quality, broader T05
355
+ progress/reuse work and the remaining [1.0 tasks](RELEASE-1.0-PLAN.md) remain open. The SHACL
356
+ change preserves compatible 0.2.1 semantic artifacts and does not require forced re-extraction.
357
+
11
358
  ## T05 cold SHACL validation improvement, 2026-10-26
12
359
 
13
- Implemented in development source following the T02 preview merge. Published npm packages
14
- remain 0.2.1 until a separately recorded release succeeds. [ADR 017](ADR-017-shacl-validation-union.md)
360
+ Pre-release source checkpoint following the T02 preview merge; npm was still at 0.2.1.
361
+ The subsequent 0.3.0 publication is recorded above. [ADR 017](ADR-017-shacl-validation-union.md)
15
362
  records the measured graph-wildcard lookup cost and the temporary all-triples union used by the
16
363
  unchanged JavaScript SHACL validator. The canonical named dataset and every assertion remain intact.
17
364
 
@@ -53,14 +400,14 @@ repeated validation. A 2,200-fact case detects the invalid final assertion witho
53
400
  The existing full hydration integration still verifies that failed SHACL preserves the last head.
54
401
  The shape Turtle is byte-for-byte unchanged from the T02 merge; no shape or assertion was dropped.
55
402
 
56
- Hosted checks and release status remain pending at this source checkpoint.
403
+ Hosted checks and release status were pending at this source checkpoint; their results are above.
57
404
  Early identity preflight, in-phase progress, validation-result reuse and incremental validation
58
405
  remain separate work. Each hydration still performs full SHACL before publishing; saved queries
59
406
  do not repeat validation. Private consumer full hydration/repeat acceptance remains pending.
60
407
 
61
408
  ## T02 no-model hydration preview, 2026-10-26
62
409
 
63
- Implemented in development source; published npm packages remain 0.2.1. See
410
+ Pre-release source checkpoint, while npm was still at 0.2.1. Subsequent 0.3.0 publication is above. See
64
411
  [ADR-016](ADR-016-hydration-preview.md) for source, cache and readiness semantics.
65
412
 
66
413
  [PR 18](https://github.com/jchewitt/weftlet/pull/18) merged at