@weftlet/toolkit 0.5.0 → 0.6.1

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 (82) hide show
  1. package/README.md +139 -14
  2. package/dist/application/cache-adoption.d.ts +2 -1
  3. package/dist/application/cache-adoption.js +12 -5
  4. package/dist/application/document-coverage.d.ts +28 -0
  5. package/dist/application/document-coverage.js +58 -0
  6. package/dist/application/document-overlay.d.ts +14 -0
  7. package/dist/application/document-overlay.js +31 -0
  8. package/dist/application/extraction-identity.d.ts +2 -1
  9. package/dist/application/extraction-identity.js +7 -0
  10. package/dist/application/hydration-inputs.d.ts +15 -0
  11. package/dist/application/hydration-inputs.js +55 -0
  12. package/dist/application/hydration-plan.d.ts +7 -0
  13. package/dist/application/hydration-plan.js +18 -5
  14. package/dist/application/hydrator.js +26 -14
  15. package/dist/application/overlay.js +26 -8
  16. package/dist/application/saved-evidence.d.ts +2 -2
  17. package/dist/application/semantic-scope.d.ts +1 -1
  18. package/dist/application/semantic-scope.js +2 -2
  19. package/dist/configuration/cache.js +13 -1
  20. package/dist/configuration/config.d.ts +2 -0
  21. package/dist/configuration/config.js +5 -0
  22. package/dist/configuration/document-traversal.d.ts +7 -0
  23. package/dist/configuration/document-traversal.js +13 -0
  24. package/dist/extraction/canonical-document-links.d.ts +28 -0
  25. package/dist/extraction/canonical-document-links.js +95 -0
  26. package/dist/extraction/document-classification.d.ts +44 -0
  27. package/dist/extraction/document-classification.js +161 -0
  28. package/dist/extraction/document-evidence.d.ts +21 -0
  29. package/dist/extraction/document-evidence.js +83 -0
  30. package/dist/extraction/document-traversal.d.ts +76 -0
  31. package/dist/extraction/document-traversal.js +210 -0
  32. package/dist/extraction/document.d.ts +3 -1
  33. package/dist/extraction/document.js +3 -1
  34. package/dist/extraction/ontology.js +2 -2
  35. package/dist/extraction/static.js +25 -20
  36. package/dist/graph/authority.js +3 -0
  37. package/dist/graph/coverage.d.ts +8 -0
  38. package/dist/graph/coverage.js +96 -0
  39. package/dist/graph/document-role-description.d.ts +5 -0
  40. package/dist/graph/document-role-description.js +18 -0
  41. package/dist/graph/query.d.ts +2 -2
  42. package/dist/graph/query.js +22 -62
  43. package/dist/graph/rdf.js +11 -0
  44. package/dist/graph/shacl-shapes.js +26 -0
  45. package/dist/index.d.ts +5 -0
  46. package/dist/index.js +4 -0
  47. package/dist/infrastructure/artifact-paths.d.ts +4 -0
  48. package/dist/infrastructure/artifact-paths.js +14 -0
  49. package/dist/interfaces/cli.js +18 -1
  50. package/dist/interfaces/document-coverage.d.ts +9 -0
  51. package/dist/interfaces/document-coverage.js +117 -0
  52. package/dist/repository/git.d.ts +11 -0
  53. package/dist/repository/git.js +38 -0
  54. package/dist/storage/storage.js +41 -13
  55. package/dist/visualization/visualization.js +21 -6
  56. package/docs/ADR-017-shacl-validation-union.md +4 -0
  57. package/docs/ADR-021-identity-preflight-and-validation-timing.md +5 -2
  58. package/docs/ADR-022-release-documentation.md +44 -0
  59. package/docs/ADR-023-document-coverage-preview.md +64 -0
  60. package/docs/ADR-024-implementation-coverage.md +51 -0
  61. package/docs/ADR-025-document-classification.md +78 -0
  62. package/docs/ADR-026-traversal-hydration.md +94 -0
  63. package/docs/ADR-027-validation-closeout.md +155 -0
  64. package/docs/ADR-028-bounded-artifact-paths.md +58 -0
  65. package/docs/CONSUMER-TRIAL.md +7 -5
  66. package/docs/GRAPHIFY-EVALUATION.md +70 -0
  67. package/docs/MIGRATING-TO-WEFTLET.md +1 -1
  68. package/docs/PRE-1.0-BASELINE.md +94 -0
  69. package/docs/PROVIDERS.md +10 -1
  70. package/docs/RELEASE-1.0-PLAN.md +145 -23
  71. package/docs/RELEASING.md +46 -8
  72. package/docs/ROADMAP.md +48 -16
  73. package/docs/VALIDATION.md +390 -0
  74. package/docs/assessments/pre-1.0-2026-10-28.json +200 -0
  75. package/docs/benchmarks/validation-2026-10-28/README.md +25 -0
  76. package/docs/benchmarks/validation-2026-10-28/large.json +1 -0
  77. package/docs/benchmarks/validation-2026-10-28/lifecycle.json +1 -0
  78. package/docs/benchmarks/validation-2026-10-28/native.json +1 -0
  79. package/docs/benchmarks/validation-2026-10-28/rich.json +1 -0
  80. package/docs/extraction-manifest.json +78 -20
  81. package/examples/generic-typescript/document-policy.json +9 -0
  82. package/package.json +7 -4
@@ -1,20 +1,32 @@
1
1
  # Consumer hardening and the 1.0 release plan
2
2
 
3
- Status: maintainer-directed work; release checkpoint on 2026-10-26 after verified 0.4.0 publication.
3
+ Status: original T01–T10 engineering work complete; 0.6.0 candidate publication verified on 2026-10-28.
4
+ The maintainer has requested additional [business-context baseline work](PRE-1.0-BASELINE.md)
5
+ before official 1.0: precise exploration, symbol-level implementation links, cross-boundary
6
+ obligations, monorepo coverage and a measured Graphify/SCIP decision. Its A1–A3 public checks
7
+ pass within recorded limits; B1–B6 remain open. Both npm packages remain available for
8
+ TradePilot acceptance while this additional scope is assessed.
4
9
  **T08's upstream deterministic physical-file fix has shipped; the maintainer reports the consumer
5
10
  updated and working on 2026-10-27. Detailed full hydration/repeat evidence remains pending.** T04 was completed before
6
11
  the T08 fix as requested.
7
12
 
8
- **Release priority T09:** 0.4.0 rejects the approved ten-minute extraction timeout. Support for
9
- `semantic.timeoutMs: 600000` is implemented for the next release alongside ready T05a work;
10
- the consumer's ten-minute retry has not run. This bounded blocker precedes T06/T07.
13
+ **T09 shipped in 0.5.0:** the configuration accepts `semantic.timeoutMs: 600000`,
14
+ alongside T05a identity preflight and validation phase timing. The two-minute default is unchanged.
15
+ The consumer's approved ten-minute retry has not run; that outcome remains separate acceptance.
11
16
 
12
17
  The original report concerned `@weftlet/toolkit@0.2.0`. T01's upstream document-identity patch
13
18
  shipped in 0.2.1; T02 and T05's focused cold-validation optimization shipped in 0.3.0.
14
19
  T03 operational cache reuse, T04 semantic failure diagnostics and T08's public core file factory
15
- shipped in 0.4.0. Broader T05 follow-ups, T06 documentation consistency and T07 document coverage
16
- remain open. Official 1.0 follows the agreed remaining scope and genuine consumer acceptance,
17
- with its exact release scope reviewed when the evidence is available.
20
+ shipped in 0.4.0. T09 and T05a shipped in 0.5.0. T06, T07 and T10 shipped in 0.6.0.
21
+ T07a prospective coverage is implemented separately from hydration;
22
+ T07b classification and deterministic document evidence merged in PR 42 after local/hosted checks
23
+ and independent review. T07c hydration/cache integration merged in PR 44 with local and hosted checks passed;
24
+ T05's remaining engineering evaluation is recorded in
25
+ [ADR 027](ADR-027-validation-closeout.md), retaining full direct validation after measurements.
26
+ The reviewed 0.6.0 candidate is published with verified registry archives, provenance and tags.
27
+ Validate it in TradePilot, address any acceptance blockers and the newly requested baseline
28
+ tasks, then review official 1.0. Consumer acceptance and the additional baseline are not closed
29
+ by completion of the original engineering task list.
18
30
 
19
31
  This is the near-term release task list. The [Weftlet 2.0 product plan](WEFTLET-2.0-PLAN.md)
20
32
  remains a separate future direction for generation, approvals, a companion website and hosted
@@ -41,24 +53,59 @@ integration. Consumer acceptance is reported separately from upstream determinis
41
53
 
42
54
  | ID | Task | Priority/status | Dependencies and release boundary |
43
55
  | --- | --- | --- | --- |
44
- | **T09** | Accept the approved ten-minute extraction timeout | **Source fix implemented; release pending** | Raise only the config ceiling to 600000; preserve defaults/cache/retry behavior; consumer retry has not run |
56
+ | **T10** | Correct implementation coverage for returned code relationships | **Shipped in 0.6.0; consumer acceptance pending** | Separate evidence counts from display groups; preserve facts, authority, ranking and saved snapshots; scope gaps to returned page |
57
+ | **T09** | Accept the approved ten-minute extraction timeout | **Shipped in 0.5.0; consumer ten-minute retry unrun** | Raise only the config ceiling to 600000; preserve defaults/cache/retry behavior; consumer retry has not run |
45
58
  | **T08** | Canonical physical-file kinds and public adapter factory | **Shipped in 0.4.0; consumer reported working; detailed acceptance pending** | Public core factory and neutral producers agree; record consumer commit, adapter tests and full hydration/repeat evidence |
46
59
  | **T01** | Coherent repository-document identity and kind | **Upstream patch shipped in 0.2.1; consumer acceptance pending** | SHACL and assertions preserved; genuine consumer re-run is still required |
47
60
  | **T02** | No-model hydration/setup preview | Shipped in 0.3.0 | Shared selection/cache inspection, human/JSON plans; extend with T07 traversal coverage |
48
61
  | **T03** | Artifact reuse across operational configuration changes | Shipped in 0.4.0 | Built-in Codex user artifacts share five operational changes; custom providers remain conservative; exact legacy recovery without model calls |
49
62
  | **T04** | Actionable, privacy-safe timeout diagnostics | Shipped in 0.4.0 | Safe source IDs, settled counts, failure classification and T02/T03 recovery; no extraction/cache identity change |
50
- | **T05** | Early identity checks and validation progress/profiling | **Cold fix shipped in 0.3.0; T05a merged with local/hosted checks passing, unreleased** | Full validation preserved; worker progress, reuse and broader profiling remain separate |
51
- | **T06** | Packaged release-documentation consistency | Open; README version pins removed in 0.2.1 | Automated archive/version consistency check remains to be implemented |
52
- | **T07** | Coverage-aware traversal from SOT/roadmap entry points | Planned bounded feature work | Use canonical identity from T01, preview from T02 and incremental reuse from T03; split selection/classification/extraction changes |
63
+ | **T05** | Early identity checks and validation progress/profiling | **Cold fix shipped in 0.3.0; T05a in 0.5.0; engineering closeout evaluated in ADR 027** | Cold/repeat/edits, worker, reuse, incremental and Rust evaluated; retain full direct validation; private consumer acceptance required |
64
+ | **T06** | Packaged release-documentation consistency | **Shipped in 0.6.0** | Generated current sections, checked actual tarballs, historical records preserved, fresh documented installation commands |
65
+ | **T07** | Coverage-aware traversal from SOT/roadmap entry points | **All three increments shipped in 0.6.0; consumer acceptance pending** | Committed closure, source roles/ownership, validation separation and draft invalidation implemented and published |
53
66
 
54
67
  T02 and the focused T05 fix shipped in 0.3.0; T03, T04 and T08 shipped in
55
68
  [0.4.0](https://github.com/jchewitt/weftlet/releases/tag/%40weftlet/toolkit%400.4.0), following
56
69
  local/hosted checks, independent archive review and fresh packed/public-registry installation.
70
+ T09 timeout support and T05a identity preflight/phase timing shipped in
71
+ [0.5.0](https://github.com/jchewitt/weftlet/releases/tag/%40weftlet/toolkit%400.5.0).
57
72
  Source, registry integrity, provenance and release tags are recorded in [validation](VALIDATION.md).
58
- Broader T05, T06 and T07 remain bounded follow-ups.
73
+ T05 closeout measurements and decisions are recorded in ADR 027; T06 and T07 shipped in the 0.6.0 candidate.
59
74
  The consumer must migrate its framework adapter to the public core factory, then complete full
60
75
  hydration and repeat reuse; upstream fixtures do not establish that result.
61
76
 
77
+ ## T10 — Correct implementation coverage reporting
78
+
79
+ The consumer reports code relationships accompanied by zero implementation coverage. Actual public
80
+ contract-extractor and SCIP reproductions confirm that exclusive display-group counts caused the
81
+ false gap. [ADR 024](ADR-024-implementation-coverage.md) separates coverage from presentation,
82
+ retains evidence authority and scopes absence to the returned page. Existing snapshots can be queried
83
+ with the fix without hydration or model work. The exact consumer package/output was requested;
84
+ the public reproduction does not claim a completed private consumer acceptance run.
85
+
86
+ The fix merged in [PR 40](https://github.com/jchewitt/weftlet/pull/40), with local publication checks
87
+ and hosted Ubuntu/native Windows validation. Exact evidence and release status are recorded in
88
+ [validation](VALIDATION.md). T05 performance/validation closeout
89
+ remains separate; this reporting correction does not activate document traversal in hydration.
90
+
91
+ ## T09 — Accept the approved ten-minute extraction timeout
92
+
93
+ Shipped in 0.5.0: `semantic.timeoutMs` accepts integers from 1 through 600000.
94
+ The default remains 120000; retry policy, cancellation,
95
+ authentication/discovery bounds and compatible artifact identities are unchanged. This is a
96
+ per-attempt Codex limit or whole-module-execution limit, not an overall hydration or CI timeout.
97
+
98
+ For recovery, upgrade both `@weftlet/core` and `@weftlet/toolkit` to 0.5.0,
99
+ set `semantic.timeoutMs: 600000`, and run `hydrate --plan` with the same committed ref and scope
100
+ as the interrupted run. Then rerun ordinary hydration, preserving compatible artifacts and
101
+ avoiding forced re-extraction. Follow [provider limits and reuse](PROVIDERS.md#limits-and-reuse).
102
+
103
+ Boundary, provider propagation, cancellation, cache reuse and packed/public-registry consumer checks passed;
104
+ release evidence is in [validation](VALIDATION.md). The consumer's approved ten-minute retry
105
+ has **not run**. No ten-minute wall-clock execution, paid/model call or private acceptance is
106
+ claimed by these deterministic upstream checks. T06/T07 shipped in 0.6.0;
107
+ T05 engineering evaluation is recorded separately in ADR 027.
108
+
62
109
  ## T08 — Resolve deterministic physical-file kind conflicts
63
110
 
64
111
  The consumer reports 120 IDs reproduced by actual 0.3.0 deterministic producers: 34 neutral
@@ -117,8 +164,9 @@ Upstream completion evidence:
117
164
  [validation record](VALIDATION.md) for commits, checks and result boundaries.
118
165
 
119
166
  The private consumer has not yet supplied a successful full hydration/repeat with the identity
120
- patch. Use both 0.4.0 packages and migrate the framework adapter to the public core factory;
121
- this release retains the cold-validation improvement and adds the T08 deterministic producer fix.
167
+ patch. Use both 0.5.0 packages and migrate the framework adapter
168
+ to the public core factory; this release retains the cold-validation/T08 fixes and adds T09
169
+ timeout support and T05a identity preflight/phase timing.
122
170
  Upstream publication and regression success do not close that acceptance gate or diagnose the
123
171
  separate full-graph validation latency observation.
124
172
 
@@ -213,13 +261,14 @@ Acceptance:
213
261
 
214
262
  ## T05 — Detect inexpensive conflicts early and explain validation work
215
263
 
216
- T05a implements [early identity attribution and phase timing](ADR-021-identity-preflight-and-validation-timing.md)
217
- after 0.4.0, merged with local and hosted Ubuntu/Windows checks passing but not yet published.
264
+ T05a shipped [early identity attribution and phase timing](ADR-021-identity-preflight-and-validation-timing.md)
265
+ in 0.5.0 after local and hosted Ubuntu/Windows checks and independent archive review.
218
266
  Hydration and overlays reject all conflicting subject/object kinds before RDF construction;
219
267
  opaque default reports have explicit local detail opt-in.
220
268
  Completed semantic artifacts and prior snapshots remain intact. Valid preflight results still
221
269
  require full SHACL. Timings report actual phase boundaries, not in-phase heartbeat or percentage.
222
- This does not close the broader evaluation/reuse/backend items below or claim publication.
270
+ This does not close the broader evaluation/reuse/backend items below or establish the consumer's
271
+ full-run performance.
223
272
 
224
273
  The implementation uses JavaScript on Node:
225
274
  `rdf-validate-shacl` validates an in-memory N3 dataset. Hydration constructs and validates the
@@ -232,7 +281,7 @@ cold validation a release priority ahead of the remaining 1.0 work. Upstream has
232
281
  named-graph lookup cost in public synthetic fixtures, but has not measured that consumer graph or
233
282
  diagnosed its complete timeout. The focused cold-validation fix shipped in 0.3.0, ahead of the
234
283
  remaining 1.0 tasks. The consumer is now reported working after 0.4.0; exact performance and
235
- repeat-hydration acceptance evidence remains unrecorded. Broader T05 items stay open.
284
+ repeat-hydration acceptance evidence remains unrecorded. ADR 027 records the broader engineering evaluation.
236
285
 
237
286
  [ADR 017](ADR-017-shacl-validation-union.md) records the implemented cold-validation optimization:
238
287
  build a temporary union of every SPO triple for the same validator/shapes, while keeping original
@@ -244,7 +293,7 @@ are synthetic phase measurements, not a private consumer reproduction or end-to-
244
293
 
245
294
  The focused change still validates the whole graph each time. It does not add Rust, GraphDB,
246
295
  incremental validation or a validation-result cache. T05a now adds early checks and phase timing;
247
- worker progress and broader observability/reuse remain follow-ups. Native code or a database does
296
+ worker progress and reuse remain unsupported, with the decision evaluated in ADR 027. Native code or a database does
248
297
  not by itself establish faster or correct incremental SHACL.
249
298
 
250
299
  Acceptance:
@@ -276,12 +325,27 @@ Acceptance:
276
325
  failure must preserve the prior snapshot. Keep model-independent profiling separate from live
277
326
  extraction performance and from the reported two-fact correctness defect.
278
327
 
328
+ The bounded closeout is recorded in [ADR 027](ADR-027-validation-closeout.md): 258 public
329
+ direct/worker cases cover cold/repeat/rebuilt and changed inputs; all 18 paired sample groups
330
+ match exact verdicts and data. Dense metadata and 10,000-fact memory measurements justified a
331
+ Rudof 0.3.35 evaluation: all 29 conformance/location cases agree, two diagnostic multiplicities
332
+ differ, and 12 native timings establish no clear overall file-transfer benefit. Retain direct full
333
+ validation. No cache, worker, incremental or native runtime capability is delivered. Exact-key
334
+ costs/misses and a changed-facts-only counterexample support the reuse/incremental decisions.
335
+ Consumer performance acceptance remains required; public fixtures do not silently replace it.
336
+
279
337
  ## T06 — Keep packaged documentation consistent with the release
280
338
 
281
- The consumer installed 0.2.0 while its packaged README still named 0.1.2 and some archive examples
282
- used 0.1.1. Release 0.2.1 removes the README version pins; immutable 0.2.0 archives retain their
283
- original text. The automated release-documentation consistency check remains open. Add that
284
- repeatable check rather than relying on manual edits alone.
339
+ Shipped in 0.6.0, with [ADR 022](ADR-022-release-documentation.md) defining the checked
340
+ scope. Changesets regenerates current-version sections in both READMEs and the release guide.
341
+ The dependency-free checker verifies source instructions and both actual tarballs before
342
+ publication; the fresh-consumer smoke exercises the checked pinned commands and archive pair
343
+ with an isolated npm/npx cache. Historical records and feature-introduction versions stay intact.
344
+ Source and publication validation are recorded in [validation](VALIDATION.md).
345
+
346
+ The original consumer installed 0.2.0 while its README still named 0.1.2 and some archive examples
347
+ used 0.1.1. Release 0.2.1 removed README version pins. T06 adds automation and replaces the release
348
+ guide's stale 0.2.1 current-install example. Immutable earlier archives retain their original text.
285
349
 
286
350
  Acceptance:
287
351
 
@@ -306,6 +370,39 @@ traversal. Classify sources/claims explicitly; flag rules without clear SOT owne
306
370
  their inferred/unreviewed state. Validation documents are excluded from product-intent extraction
307
371
  by default and retained through a separately classified validation-evidence path.
308
372
 
373
+ Delivery increments:
374
+
375
+ 1. **T07a implemented:** committed Markdown-link selection and an opt-in, no-model coverage preview: canonical targets,
376
+ cycles/deduplication, ambiguous or unresolved links, exclusions and explicit budget status.
377
+ Label this as prospective coverage until it drives hydration; existing hydration-plan documents
378
+ and cache estimates must continue to describe actual execution inputs. The current graph linker
379
+ also recognizes bare/code paths and is not itself a canonical traversal policy.
380
+ 2. **T07b merged with local/hosted checks and review passed:** explicit roles/ownership and separate
381
+ deterministic document presence/reference evidence. Optional per-fact metadata survives RDF,
382
+ query and viewer projection without changing canonical Document identities. Reaching an owner
383
+ does not approve a child or assertion; direct-source hydration remains unchanged.
384
+ 3. **T07c merged with local/hosted checks passed:** opt-in hydration integration, incremental artifact reuse and cross-source linkage, with
385
+ delete/rename handling and positive/negative real-extractor fixtures. Coverage failures stop
386
+ new model work without discarding completed artifacts or the last valid snapshot.
387
+
388
+ [ADR 023](ADR-023-document-coverage-preview.md) records the T07a public API and `documents plan`
389
+ command. Entry points, document roots and read limits are operation arguments, with existing
390
+ semantic budgets used only for comparison. No configuration/cache identity or hydration selection
391
+ is changed. [PR 38](https://github.com/jchewitt/weftlet/pull/38) merged T07a with hosted Ubuntu
392
+ and native Windows checks; exact source validation is recorded in [validation](VALIDATION.md).
393
+ All three increments are now published in 0.6.0; registry verification is recorded separately in [validation](VALIDATION.md).
394
+
395
+ [ADR 025](ADR-025-document-classification.md) records T07b's shared classification contract
396
+ and standalone deterministic document-evidence API. `documents plan --document-policy <json-file>`
397
+ reads an operation-time sidecar; it adds no hydration configuration. The top-level `ready` checks
398
+ traversal/budgets, while `classification.complete` independently reports role/ownership gaps.
399
+ A resolved owner must be available, approved and an unambiguous intent source; an approved
400
+ validation/plan/reference or ambiguous-role owner is ineligible. Neither ownership nor links
401
+ transfer approval. Presence and references retain validation documents even without semantic
402
+ artifacts or outgoing links, without asserting test success. T07c now invokes these APIs from explicitly configured hydration and overlays; validation
403
+ evidence is preserved separately from semantic source selection. [ADR 026](ADR-026-traversal-hydration.md)
404
+ records cache compatibility, coverage gates, draft invalidation and source/assertion authority.
405
+
309
406
  Acceptance:
310
407
 
311
408
  - Split delivery into canonical selection/traversal, role/ownership classification and semantic
@@ -327,6 +424,10 @@ Acceptance:
327
424
 
328
425
  ## Official 1.0 acceptance
329
426
 
427
+ Also review the [A1–A3 assessment and B1–B6 task list](PRE-1.0-BASELINE.md), added after the
428
+ 0.6.0 candidate was published. The original list below remains necessary; a successful consumer
429
+ hydration alone does not close the requested business-context and exploration improvements.
430
+
330
431
  With T01's upstream patch published, work through T02–T07 in bounded increments and record implementation
331
432
  PRs and validation evidence here or in the linked validation record. Review the exact 1.0 scope
332
433
  against completed evidence; any deferral needs an explicit maintainer decision and must remain
@@ -350,5 +451,26 @@ Before calling the consumer migration accepted or publishing 1.0:
350
451
  5. Review the changelog, compatibility/migration guidance and remaining known issues, then use the
351
452
  normal reviewed version PR and trusted-publishing workflow. No 1.0 publication is claimed now.
352
453
 
454
+ For the reviewed minor candidate, retain a private consumer bundle and share only a sanitized
455
+ summary using the [consumer trial](CONSUMER-TRIAL.md):
456
+
457
+ - Record both package versions, consumer/adapter SHA, platform/provider/model, configuration and
458
+ source scope; verify the no-model plan's roles, ownership, exclusions and budgets match execution.
459
+ - Complete genuine full hydration and SHACL publication with the approved timeout, then repeat
460
+ unchanged inputs: zero new extraction, expected reuse and unchanged snapshot identity/content.
461
+ Record total and phase timing; the ten-minute extraction limit does not extend an outer job deadline.
462
+ - Retain actual MCP requests/responses and continuations for predeclared changes, including a queue
463
+ boundary. Review downstream consumers, contracts, implementations/tests and page-scoped coverage;
464
+ a display group or a missing returned fact must not be mistaken for complete repository coverage.
465
+ - Independently inspect citations and semantic usefulness: misses, irrelevant results, conflicting
466
+ claims, ownership gaps and misleading authority. Structural conformance is not a semantic-quality pass.
467
+ - Check browser interaction against the same JSON pack/snapshot using the
468
+ [browser checklist](ENVIRONMENT-VALIDATION.md#browser-run-through-browser-mcp); keep deferred or
469
+ untested environments explicit. Preserve saved queries and prior snapshots during a failed refresh.
470
+
471
+ Keep raw snapshots, artifacts, configuration and transcripts with the private consumer; do not
472
+ export credentials or private product content. Upstream fixtures and a published candidate do not
473
+ replace these consumer results or authorize an automatic 1.0 release.
474
+
353
475
  The patch's upstream pass is necessary but does not replace consumer acceptance. Track follow-up
354
476
  results without auditing or refactoring the source application's business logic from this repository.
package/docs/RELEASING.md CHANGED
@@ -41,14 +41,14 @@ preparation route; native Windows has focused CI coverage. See [validation](VALI
41
41
  need an npm release can omit a changeset.
42
42
  2. On main pushes, **Release version PR** opens or updates a bot PR. Core and toolkit are a fixed
43
43
  release group: a release of either advances both to the same version. The PR contains package
44
- versions, dependency/lockfile updates, changelogs, a generated `.changeset/release-plan.json`,
44
+ versions, dependency/lockfile updates, changelogs, generated current-version documentation, a `.changeset/release-plan.json`,
45
45
  and an updated extraction inventory. Original source hashes remain unchanged.
46
46
  3. Review the version PR and its checks, then merge it. This commits the versions to `main`
47
47
  **before** npm publication. Do not manually bump manifests or edit the generated plan.
48
48
  4. The plan change triggers **Weftlet release**. It validates and prepares both archives, publishes
49
49
  core followed by toolkit using npm trusted publishing, then verifies registry integrity.
50
- 5. After both versions are verified, a separate job creates tags such as `@weftlet/core@0.2.1`
51
- and `@weftlet/toolkit@0.2.1`, plus corresponding GitHub Releases, at that exact source commit.
50
+ 5. After both versions are verified, a separate job creates package-specific version tags
51
+ and corresponding GitHub Releases at that exact source commit.
52
52
  Existing tags are never moved. The publication job does not commit back to main.
53
53
 
54
54
  The bot uses GitHub's built-in token, not a personal access token. GitHub may require Settings →
@@ -95,7 +95,7 @@ pnpm install --frozen-lockfile
95
95
  pnpm context-graph:publication-check
96
96
  ```
97
97
 
98
- It runs build, deterministic tests, architecture, inventory, licenses and a fresh packed-consumer
98
+ It runs release-documentation checks, build, deterministic tests, architecture, inventory, licenses and a fresh packed-consumer
99
99
  smoke. The smoke exercises setup/config, automatic core installation, real TypeScript SCIP,
100
100
  RDF/SHACL, visualization and MCP. No live model or public npm upload is invoked.
101
101
 
@@ -104,6 +104,8 @@ resolves workspace ranges, dry-runs unpublished versions and records source comm
104
104
  SHA-512 integrity in `.release/manifest.json`. Review the manifest, tarball file lists and extraction
105
105
  inventory. Preparation refuses pending changesets and stale release plans. It requires a clean
106
106
  checkout. An existing npm version must match exactly; different bytes stop the release.
107
+ Both actual archives must also pass the documentation checks before preparation completes and
108
+ again before publication starts.
107
109
 
108
110
  Actions → **Weftlet release** → **Run workflow** remains available on main. Leave **publish**
109
111
  unchecked for preparation only, or select it for an intentional release of the committed plan.
@@ -118,6 +120,31 @@ tokens are rejected and npm configuration is isolated. `npm whoami` is skipped b
118
120
  validate trusted publishing. npm verifies the identity and creates provenance. There is no token
119
121
  fallback. JavaScript pnpm and standalone `@pnpm/exe` are supported for local tooling.
120
122
 
123
+ ## Keeping installation documentation current
124
+
125
+ The manifests own versions for this checkout/archive; registry publication is a separate fact.
126
+ Changesets versioning regenerates the sections between `weftlet:release:start` and
127
+ `weftlet:release:end` in both package READMEs and this guide. Do not edit those sections by hand.
128
+ To check them or regenerate after a deliberate template change:
129
+
130
+ ```sh
131
+ pnpm docs:release:check
132
+ pnpm docs:release:update
133
+ pnpm inventory:update
134
+ ```
135
+
136
+ The checker also covers active installation examples in these files, the migration guide and
137
+ the consumer-trial guide. Keep current explicit pins in sync; unpinned setup remains supported.
138
+ An intentionally historical installation example uses a fenced block with info
139
+ `sh weftlet-history` and explanatory historical prose. Feature-introduction versions and
140
+ validation/changelog history do not become current version requirements.
141
+
142
+ The publication gate checks actual packed manifests and documentation, including required
143
+ documents and the toolkit/core version relationship. Its fresh-consumer smoke installs the
144
+ documented archive pair and runs checked setup/validation argument arrays; Markdown is never
145
+ executed as shell code. See [ADR 022](ADR-022-release-documentation.md) for the checked scope
146
+ and limits. This does not establish that a prepared version is already on npm.
147
+
121
148
  ## Delayed visibility and failed releases
122
149
 
123
150
  Publication is sequential, not atomic across packages. Registry visibility and integrity of core
@@ -157,7 +184,8 @@ record job is the normal route.
157
184
 
158
185
  ## Inspecting and consuming releases
159
186
 
160
- Package-specific tags identify the exact published source, for example:
187
+ Package-specific tags identify the exact published source. This historical inspection example
188
+ selects the earlier 0.2.1 release:
161
189
 
162
190
  ```sh
163
191
  git fetch --tags
@@ -167,13 +195,23 @@ git switch --detach '@weftlet/toolkit@0.2.1'
167
195
  Tags support inspection and reproduction, not mutation of npm history. To roll a consumer back,
168
196
  install an earlier published version; fixes to a release need a new changeset/version.
169
197
 
170
- Verify a new public release in a fresh disposable project, substituting its version:
198
+ <!-- weftlet:release:start -->
199
+ These instructions use the package versions in this checkout/archive, not a claim about npm's latest tag.
200
+
201
+ Verify the matching public version in a fresh disposable project after publication:
171
202
 
172
203
  ```sh
173
204
  npm init -y
174
- npx --yes @weftlet/toolkit@0.2.1 init --yes
175
- npx --yes @weftlet/toolkit@0.2.1 config validate
205
+ npx --yes @weftlet/toolkit@0.6.1 init --yes
206
+ npx --yes @weftlet/toolkit@0.6.1 config validate
207
+ ```
208
+
209
+ For local installation, use both prepared archives from the same reviewed release:
210
+
211
+ ```sh
212
+ npm install --save-dev "/path/to/weftlet/.release/weftlet-core-0.6.1.tgz" "/path/to/weftlet/.release/weftlet-toolkit-0.6.1.tgz"
176
213
  ```
214
+ <!-- weftlet:release:end -->
177
215
 
178
216
  Check registry hashes, transitive core resolution and provenance. Deprecating the previous
179
217
  `@launch-echo` names is a separate action after replacement verification; never unpublish them.
package/docs/ROADMAP.md CHANGED
@@ -1,25 +1,54 @@
1
1
  # Delivery roadmap
2
2
 
3
- Release checkpoint: 2026-10-26, after verified 0.4.0 publication. Evidence is recorded in
4
- [validation](VALIDATION.md); this roadmap is not a live registry status.
3
+ Release checkpoint: 2026-10-28, after verified 0.6.0 candidate publication.
4
+ Evidence is recorded in [validation](VALIDATION.md); this roadmap is not a live registry status.
5
5
 
6
6
  Project: `jchewitt/weftlet`. Extraction provenance is recorded in the
7
7
  [source inventory](SOURCE-INVENTORY.md).
8
8
 
9
- Current release priority: the consumer's approved ten-minute retry is blocked by 0.4.0's
10
- five-minute configuration ceiling. T09 raises the accepted timeout to 600000 ms and will ship
11
- with ready T05a work. The actual consumer retry has not run; this does not change default limits.
9
+ The maintainer's subsequent [pre-1.0 business-context baseline](PRE-1.0-BASELINE.md) records
10
+ three bounded public acceptance checks and the additional B1–B6 task list. Exact-node exploration,
11
+ function-level intent bindings, cross-boundary obligations, monorepo coverage and a measured
12
+ [Graphify/SCIP evaluation](GRAPHIFY-EVALUATION.md) are open before the official release decision.
13
+ The published 0.6.0 candidate remains available for the separate private consumer report.
14
+
15
+ T09 shipped in 0.5.0 with T05a work, accepting the consumer's approved
16
+ `semantic.timeoutMs: 600000`. The default remains 120000 and retry/cancellation behavior is
17
+ unchanged. The consumer's actual ten-minute retry has not run; upstream installation and
18
+ deterministic checks do not establish that outcome. See [provider limits and recovery](PROVIDERS.md#limits-and-reuse).
12
19
 
13
20
  Forward direction is captured in the [Weftlet 2.0 product plan](WEFTLET-2.0-PLAN.md):
14
21
  consumer hardening, cited code-derived drafts, scoped approvals and reconciliation, an optional
15
22
  review website, source publication, managed AI and guided setup. “2.0” is a planning label;
16
- the verified release at this checkpoint is 0.4.0. The received consumer findings are tracked in the
23
+ the verified release at this checkpoint is 0.6.0. The received consumer findings are tracked in the
17
24
  [consumer hardening and 1.0 task list](RELEASE-1.0-PLAN.md): the document-identity patch is
18
25
  published and passes upstream checks; genuine consumer acceptance remains pending. T02's
19
26
  no-model preview and T05's cold-validation improvement shipped in 0.3.0. T03 operational cache
20
27
  reuse, T04 timeout diagnostics and T08 deterministic physical-file consistency shipped in 0.4.0.
21
- Document coverage, broader validation follow-ups and genuine consumer acceptance remain open
22
- before official 1.0. The 2.0 plan distinguishes proposed work from delivered capability.
28
+ T09 timeout support and T05a identity preflight/phase timing shipped in 0.5.0.
29
+ T06 [release-documentation consistency](ADR-022-release-documentation.md) shipped in 0.6.0:
30
+ generated current examples, actual archive checks and fresh documented installation.
31
+ T07a [prospective document coverage](ADR-023-document-coverage-preview.md) is implemented separately
32
+ from hydration. It follows committed Markdown links and reports coverage/budget gaps without
33
+ model calls or graph writes. T07b [document roles and ownership](ADR-025-document-classification.md)
34
+ and the standalone deterministic document-evidence API merged in PR 42 after local/hosted checks
35
+ and independent review. `documents plan --document-policy` accepts an operation-time JSON sidecar;
36
+ classification completeness is separate from traversal/budget readiness. Ownership never transfers
37
+ approval. T07c [traversal hydration](ADR-026-traversal-hydration.md) connects these APIs through
38
+ explicit configuration, a shared no-model plan, compatible artifact reuse and draft invalidation.
39
+ Direct-mode configuration retains its existing behavior; validation sources are excluded from
40
+ model work in traversal mode. T07c merged in PR 44 after local and hosted Ubuntu/Windows checks;
41
+ exact evidence is in [validation](VALIDATION.md). All three T07 increments shipped in 0.6.0.
42
+ T10 [implementation coverage reporting](ADR-024-implementation-coverage.md) shipped in 0.6.0:
43
+ actual code relationships can count as both contract and implementation evidence while
44
+ display groups remain stable. Existing snapshots benefit without hydration; gaps are page-scoped.
45
+ T05 [performance/validation closeout](ADR-027-validation-closeout.md) records the remaining
46
+ engineering evaluations: cold/repeat/changed inputs, worker isolation, exact-result reuse,
47
+ incremental dependencies and a bounded Rust comparison. Retain full direct validation; no worker,
48
+ cache, incremental or native runtime capability is claimed. The original T01–T10 engineering
49
+ work is complete and the reviewed 0.6.0 candidate is published. Validate it in TradePilot and
50
+ address acceptance blockers alongside the newly requested B1–B6 baseline work before reviewing
51
+ official 1.0. The 2.0 platform plan remains a separate future direction.
23
52
 
24
53
  The maintainer reported SHACL pushing generation past a 30-minute timeout before graph
25
54
  publication. T02 and the focused T05 optimization shipped together in 0.3.0 through
@@ -36,11 +65,14 @@ in one temporary validation graph, preserving the same shapes and canonical name
36
65
  Bounded public experiments measured substantial cold-path improvement, alongside about 1.3 GiB
37
66
  RSS in the prototype at 10,000 unique-node facts; the production harness including serialization
38
67
  peaked near 1.6 GiB. They do not reproduce the private consumer's overall timeout.
39
- T05a adds [early identity checks and phase timing](ADR-021-identity-preflight-and-validation-timing.md)
40
- after 0.4.0, merged with local/hosted checks passing and publication pending. Full validation
41
- remains mandatory. In-phase worker progress, result reuse and incremental validation remain
42
- open; no Rust engine, graph database or
43
- validation-result cache is introduced by these increments.
68
+ T05a shipped [early identity checks and phase timing](ADR-021-identity-preflight-and-validation-timing.md)
69
+ in 0.5.0 after local/hosted checks and independent archive review. Full validation remains mandatory.
70
+ In-phase worker progress, result reuse and incremental validation remain unsupported. ADR 027
71
+ records 258 direct/worker cases and 29 native correctness cases, with full graph/data preservation.
72
+ The Rust file-transfer prototype showed no clear overall performance/resource advantage and
73
+ differed on diagnostic multiplicity in two cases. Full direct validation remains the evaluated
74
+ choice; private consumer performance acceptance remains required. No Rust engine, graph database
75
+ or validation-result cache is introduced into the runtime.
44
76
 
45
77
  [T03 operational cache reuse](ADR-018-operational-semantic-cache.md) shipped in 0.4.0. Built-in
46
78
  Codex user artifacts can survive changes to timeout/retry/concurrency/document/byte limits while
@@ -48,7 +80,7 @@ snapshots retain their full configuration identity. Exact legacy reads and expli
48
80
  adoption preserve prior artifacts; custom providers remain conservative.
49
81
  [T04 diagnostics](ADR-019-semantic-failure-diagnostics.md) shipped in the same release, adding
50
82
  safe failure reports, opaque source mapping and settled progress without changing extraction/cache
51
- identity. Broader T05 and T06/T07 work remain open.
83
+ identity. T05 engineering evaluation is recorded; T06 and T07 shipped in the 0.6.0 candidate.
52
84
 
53
85
  [T08 physical-file kind consistency](ADR-020-canonical-physical-file-producers.md) also shipped in
54
86
  0.4.0 after local/hosted Ubuntu/Windows checks, independent archive review and fresh packed and
@@ -144,8 +176,8 @@ preparation/publication under `@launch-echo`; the maintainer completed the 0.1.0
144
176
  source-application reintegration remain outside the authorized scope. See [release instructions](RELEASING.md).
145
177
 
146
178
  The maintainer authorized the Weftlet migration on 2026-10-21. Both `@weftlet/core` and
147
- `@weftlet/toolkit` are published at 0.3.0 through GitHub OIDC; the publication and verification
148
- record is in [validation](VALIDATION.md). Changesets prepares reviewed version PRs for the fixed package group;
179
+ `@weftlet/toolkit` use GitHub OIDC publication; current and historical publication/verification
180
+ records are in [validation](VALIDATION.md). Changesets prepares reviewed version PRs for the fixed package group;
149
181
  merging a release plan triggers publication and package-specific tags/GitHub Releases.
150
182
  See [ADR 009](ADR-009-release-automation.md) and [release instructions](RELEASING.md).
151
183
  Earlier Tently packages remain available and undeprecated.