@weftlet/toolkit 0.5.0 → 0.6.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.
- package/README.md +139 -14
- package/dist/application/cache-adoption.d.ts +2 -1
- package/dist/application/cache-adoption.js +12 -5
- package/dist/application/document-coverage.d.ts +28 -0
- package/dist/application/document-coverage.js +58 -0
- package/dist/application/document-overlay.d.ts +14 -0
- package/dist/application/document-overlay.js +31 -0
- package/dist/application/extraction-identity.d.ts +2 -1
- package/dist/application/extraction-identity.js +7 -0
- package/dist/application/hydration-inputs.d.ts +15 -0
- package/dist/application/hydration-inputs.js +55 -0
- package/dist/application/hydration-plan.d.ts +7 -0
- package/dist/application/hydration-plan.js +18 -5
- package/dist/application/hydrator.js +26 -14
- package/dist/application/overlay.js +26 -8
- package/dist/application/saved-evidence.d.ts +2 -2
- package/dist/application/semantic-scope.d.ts +1 -1
- package/dist/application/semantic-scope.js +2 -2
- package/dist/configuration/cache.js +13 -1
- package/dist/configuration/config.d.ts +2 -0
- package/dist/configuration/config.js +5 -0
- package/dist/configuration/document-traversal.d.ts +7 -0
- package/dist/configuration/document-traversal.js +13 -0
- package/dist/extraction/canonical-document-links.d.ts +28 -0
- package/dist/extraction/canonical-document-links.js +95 -0
- package/dist/extraction/document-classification.d.ts +44 -0
- package/dist/extraction/document-classification.js +161 -0
- package/dist/extraction/document-evidence.d.ts +21 -0
- package/dist/extraction/document-evidence.js +83 -0
- package/dist/extraction/document-traversal.d.ts +76 -0
- package/dist/extraction/document-traversal.js +210 -0
- package/dist/extraction/document.d.ts +3 -1
- package/dist/extraction/document.js +3 -1
- package/dist/graph/authority.js +3 -0
- package/dist/graph/coverage.d.ts +8 -0
- package/dist/graph/coverage.js +96 -0
- package/dist/graph/document-role-description.d.ts +5 -0
- package/dist/graph/document-role-description.js +18 -0
- package/dist/graph/query.d.ts +2 -2
- package/dist/graph/query.js +22 -62
- package/dist/graph/rdf.js +11 -0
- package/dist/graph/shacl-shapes.js +26 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.js +4 -0
- package/dist/interfaces/cli.js +18 -1
- package/dist/interfaces/document-coverage.d.ts +9 -0
- package/dist/interfaces/document-coverage.js +117 -0
- package/dist/repository/git.d.ts +11 -0
- package/dist/repository/git.js +38 -0
- package/dist/visualization/visualization.js +21 -6
- package/docs/ADR-017-shacl-validation-union.md +4 -0
- package/docs/ADR-021-identity-preflight-and-validation-timing.md +5 -2
- package/docs/ADR-022-release-documentation.md +44 -0
- package/docs/ADR-023-document-coverage-preview.md +64 -0
- package/docs/ADR-024-implementation-coverage.md +51 -0
- package/docs/ADR-025-document-classification.md +78 -0
- package/docs/ADR-026-traversal-hydration.md +94 -0
- package/docs/ADR-027-validation-closeout.md +155 -0
- package/docs/CONSUMER-TRIAL.md +1 -1
- package/docs/MIGRATING-TO-WEFTLET.md +1 -1
- package/docs/PROVIDERS.md +10 -1
- package/docs/RELEASE-1.0-PLAN.md +135 -23
- package/docs/RELEASING.md +46 -8
- package/docs/ROADMAP.md +41 -16
- package/docs/VALIDATION.md +312 -0
- package/docs/benchmarks/validation-2026-10-28/README.md +25 -0
- package/docs/benchmarks/validation-2026-10-28/large.json +1 -0
- package/docs/benchmarks/validation-2026-10-28/lifecycle.json +1 -0
- package/docs/benchmarks/validation-2026-10-28/native.json +1 -0
- package/docs/benchmarks/validation-2026-10-28/rich.json +1 -0
- package/docs/extraction-manifest.json +67 -17
- package/examples/generic-typescript/document-policy.json +9 -0
- package/package.json +7 -4
package/docs/PROVIDERS.md
CHANGED
|
@@ -135,7 +135,7 @@ snapshot profiles. Changing `timeoutMs`, `retries`, `concurrency`, `maxDocuments
|
|
|
135
135
|
`maxSourceBytes` can reuse completed artifacts; selection budgets are still enforced. Snapshot
|
|
136
136
|
configuration digests remain complete and saved snapshots are not accepted as current merely
|
|
137
137
|
because their artifacts were reused. Workspace cache paths and custom-provider identities remain
|
|
138
|
-
unchanged. See [ADR 018](ADR-018-operational-semantic-cache.md) for exact isolation and recovery rules.
|
|
138
|
+
unchanged in direct mode. See [ADR 018](ADR-018-operational-semantic-cache.md) for exact isolation and recovery rules.
|
|
139
139
|
|
|
140
140
|
If an older user-cache run was interrupted and its configuration has already changed, retain an
|
|
141
141
|
exact copy of the previous configuration in its original directory. Its original `repositoryRoot`
|
|
@@ -204,3 +204,12 @@ Deterministic tests install a public synthetic CLI with npm locally and globally
|
|
|
204
204
|
doctor, login probing and isolated extraction without contacting a model or using real credentials.
|
|
205
205
|
These prove launcher plumbing, not live Codex authentication or semantic quality. Browser and live
|
|
206
206
|
authentication follow-up remain deferred at the maintainer's request.
|
|
207
|
+
|
|
208
|
+
|
|
209
|
+
Traversal hydration in the next minor candidate keeps the built-in Codex source/prompt contract
|
|
210
|
+
unchanged. Its validated `documentTraversal` controls are excluded from the Codex artifact pool
|
|
211
|
+
partition; classification is attached during assembly. Validation documents are excluded from
|
|
212
|
+
semantic calls and counted only against traversal read limits. Module providers use a separate
|
|
213
|
+
full-config namespace in traversal mode, including workspace storage. Modules with mutable
|
|
214
|
+
external inputs must version their declared identity or force extraction; unchanged source/config
|
|
215
|
+
reuse does not discover those external dependencies. See [ADR 026](ADR-026-traversal-hydration.md).
|
package/docs/RELEASE-1.0-PLAN.md
CHANGED
|
@@ -1,20 +1,26 @@
|
|
|
1
1
|
# Consumer hardening and the 1.0 release plan
|
|
2
2
|
|
|
3
|
-
Status: maintainer-directed work; release checkpoint on 2026-10-
|
|
3
|
+
Status: maintainer-directed work; release checkpoint on 2026-10-27 after verified 0.5.0 publication.
|
|
4
4
|
**T08's upstream deterministic physical-file fix has shipped; the maintainer reports the consumer
|
|
5
5
|
updated and working on 2026-10-27. Detailed full hydration/repeat evidence remains pending.** T04 was completed before
|
|
6
6
|
the T08 fix as requested.
|
|
7
7
|
|
|
8
|
-
**
|
|
9
|
-
|
|
10
|
-
|
|
8
|
+
**T09 shipped in 0.5.0:** the configuration accepts `semantic.timeoutMs: 600000`,
|
|
9
|
+
alongside T05a identity preflight and validation phase timing. The two-minute default is unchanged.
|
|
10
|
+
The consumer's approved ten-minute retry has not run; that outcome remains separate acceptance.
|
|
11
11
|
|
|
12
12
|
The original report concerned `@weftlet/toolkit@0.2.0`. T01's upstream document-identity patch
|
|
13
13
|
shipped in 0.2.1; T02 and T05's focused cold-validation optimization shipped in 0.3.0.
|
|
14
14
|
T03 operational cache reuse, T04 semantic failure diagnostics and T08's public core file factory
|
|
15
|
-
shipped in 0.4.0.
|
|
16
|
-
|
|
17
|
-
|
|
15
|
+
shipped in 0.4.0. T09 and T05a shipped in 0.5.0. T06 documentation consistency is implemented
|
|
16
|
+
for the next release. T07a prospective coverage is implemented separately from hydration;
|
|
17
|
+
T07b classification and deterministic document evidence merged in PR 42 after local/hosted checks
|
|
18
|
+
and independent review. T07c hydration/cache integration merged in PR 44 with local and hosted checks passed;
|
|
19
|
+
T05's remaining engineering evaluation is recorded in
|
|
20
|
+
[ADR 027](ADR-027-validation-closeout.md), retaining full direct validation after measurements.
|
|
21
|
+
Complete source/release checks, publish a reviewed minor candidate, validate it in TradePilot,
|
|
22
|
+
then review and publish official 1.0. These
|
|
23
|
+
release/consumer gates are separate from the engineering count; none is already accepted.
|
|
18
24
|
|
|
19
25
|
This is the near-term release task list. The [Weftlet 2.0 product plan](WEFTLET-2.0-PLAN.md)
|
|
20
26
|
remains a separate future direction for generation, approvals, a companion website and hosted
|
|
@@ -41,24 +47,59 @@ integration. Consumer acceptance is reported separately from upstream determinis
|
|
|
41
47
|
|
|
42
48
|
| ID | Task | Priority/status | Dependencies and release boundary |
|
|
43
49
|
| --- | --- | --- | --- |
|
|
44
|
-
| **
|
|
50
|
+
| **T10** | Correct implementation coverage for returned code relationships | **Merged after T07a; local/hosted checks passed; publication pending** | Separate evidence counts from display groups; preserve facts, authority, ranking and saved snapshots; scope gaps to returned page |
|
|
51
|
+
| **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
52
|
| **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
53
|
| **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
54
|
| **T02** | No-model hydration/setup preview | Shipped in 0.3.0 | Shared selection/cache inspection, human/JSON plans; extend with T07 traversal coverage |
|
|
48
55
|
| **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
56
|
| **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
|
|
51
|
-
| **T06** | Packaged release-documentation consistency |
|
|
52
|
-
| **T07** | Coverage-aware traversal from SOT/roadmap entry points |
|
|
57
|
+
| **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 |
|
|
58
|
+
| **T06** | Packaged release-documentation consistency | **Implemented after 0.5.0; publication pending** | Generated current sections, checked actual tarballs, historical records preserved, fresh documented installation commands |
|
|
59
|
+
| **T07** | Coverage-aware traversal from SOT/roadmap entry points | **T07a merged; T07b merged with local/hosted checks and review passed; T07c merged with local/hosted checks passed** | Committed closure, source roles/ownership, validation separation and draft invalidation implemented; npm publication pending |
|
|
53
60
|
|
|
54
61
|
T02 and the focused T05 fix shipped in 0.3.0; T03, T04 and T08 shipped in
|
|
55
62
|
[0.4.0](https://github.com/jchewitt/weftlet/releases/tag/%40weftlet/toolkit%400.4.0), following
|
|
56
63
|
local/hosted checks, independent archive review and fresh packed/public-registry installation.
|
|
64
|
+
T09 timeout support and T05a identity preflight/phase timing shipped in
|
|
65
|
+
[0.5.0](https://github.com/jchewitt/weftlet/releases/tag/%40weftlet/toolkit%400.5.0).
|
|
57
66
|
Source, registry integrity, provenance and release tags are recorded in [validation](VALIDATION.md).
|
|
58
|
-
|
|
67
|
+
T05 closeout measurements and decisions are recorded in ADR 027; T06 and T07 are implemented for the next candidate.
|
|
59
68
|
The consumer must migrate its framework adapter to the public core factory, then complete full
|
|
60
69
|
hydration and repeat reuse; upstream fixtures do not establish that result.
|
|
61
70
|
|
|
71
|
+
## T10 — Correct implementation coverage reporting
|
|
72
|
+
|
|
73
|
+
The consumer reports code relationships accompanied by zero implementation coverage. Actual public
|
|
74
|
+
contract-extractor and SCIP reproductions confirm that exclusive display-group counts caused the
|
|
75
|
+
false gap. [ADR 024](ADR-024-implementation-coverage.md) separates coverage from presentation,
|
|
76
|
+
retains evidence authority and scopes absence to the returned page. Existing snapshots can be queried
|
|
77
|
+
with the fix without hydration or model work. The exact consumer package/output was requested;
|
|
78
|
+
the public reproduction does not claim a completed private consumer acceptance run.
|
|
79
|
+
|
|
80
|
+
The fix merged in [PR 40](https://github.com/jchewitt/weftlet/pull/40), with local publication checks
|
|
81
|
+
and hosted Ubuntu/native Windows validation. Exact evidence and release status are recorded in
|
|
82
|
+
[validation](VALIDATION.md). T05 performance/validation closeout
|
|
83
|
+
remains separate; this reporting correction does not activate document traversal in hydration.
|
|
84
|
+
|
|
85
|
+
## T09 — Accept the approved ten-minute extraction timeout
|
|
86
|
+
|
|
87
|
+
Shipped in 0.5.0: `semantic.timeoutMs` accepts integers from 1 through 600000.
|
|
88
|
+
The default remains 120000; retry policy, cancellation,
|
|
89
|
+
authentication/discovery bounds and compatible artifact identities are unchanged. This is a
|
|
90
|
+
per-attempt Codex limit or whole-module-execution limit, not an overall hydration or CI timeout.
|
|
91
|
+
|
|
92
|
+
For recovery, upgrade both `@weftlet/core` and `@weftlet/toolkit` to 0.5.0,
|
|
93
|
+
set `semantic.timeoutMs: 600000`, and run `hydrate --plan` with the same committed ref and scope
|
|
94
|
+
as the interrupted run. Then rerun ordinary hydration, preserving compatible artifacts and
|
|
95
|
+
avoiding forced re-extraction. Follow [provider limits and reuse](PROVIDERS.md#limits-and-reuse).
|
|
96
|
+
|
|
97
|
+
Boundary, provider propagation, cancellation, cache reuse and packed/public-registry consumer checks passed;
|
|
98
|
+
release evidence is in [validation](VALIDATION.md). The consumer's approved ten-minute retry
|
|
99
|
+
has **not run**. No ten-minute wall-clock execution, paid/model call or private acceptance is
|
|
100
|
+
claimed by these deterministic upstream checks. T06/T07 are now implemented with publication
|
|
101
|
+
pending; T05 engineering evaluation is recorded separately in ADR 027.
|
|
102
|
+
|
|
62
103
|
## T08 — Resolve deterministic physical-file kind conflicts
|
|
63
104
|
|
|
64
105
|
The consumer reports 120 IDs reproduced by actual 0.3.0 deterministic producers: 34 neutral
|
|
@@ -117,8 +158,9 @@ Upstream completion evidence:
|
|
|
117
158
|
[validation record](VALIDATION.md) for commits, checks and result boundaries.
|
|
118
159
|
|
|
119
160
|
The private consumer has not yet supplied a successful full hydration/repeat with the identity
|
|
120
|
-
patch. Use both 0.
|
|
121
|
-
this release retains the cold-validation
|
|
161
|
+
patch. Use both 0.5.0 packages and migrate the framework adapter
|
|
162
|
+
to the public core factory; this release retains the cold-validation/T08 fixes and adds T09
|
|
163
|
+
timeout support and T05a identity preflight/phase timing.
|
|
122
164
|
Upstream publication and regression success do not close that acceptance gate or diagnose the
|
|
123
165
|
separate full-graph validation latency observation.
|
|
124
166
|
|
|
@@ -213,13 +255,14 @@ Acceptance:
|
|
|
213
255
|
|
|
214
256
|
## T05 — Detect inexpensive conflicts early and explain validation work
|
|
215
257
|
|
|
216
|
-
T05a
|
|
217
|
-
|
|
258
|
+
T05a shipped [early identity attribution and phase timing](ADR-021-identity-preflight-and-validation-timing.md)
|
|
259
|
+
in 0.5.0 after local and hosted Ubuntu/Windows checks and independent archive review.
|
|
218
260
|
Hydration and overlays reject all conflicting subject/object kinds before RDF construction;
|
|
219
261
|
opaque default reports have explicit local detail opt-in.
|
|
220
262
|
Completed semantic artifacts and prior snapshots remain intact. Valid preflight results still
|
|
221
263
|
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
|
|
264
|
+
This does not close the broader evaluation/reuse/backend items below or establish the consumer's
|
|
265
|
+
full-run performance.
|
|
223
266
|
|
|
224
267
|
The implementation uses JavaScript on Node:
|
|
225
268
|
`rdf-validate-shacl` validates an in-memory N3 dataset. Hydration constructs and validates the
|
|
@@ -232,7 +275,7 @@ cold validation a release priority ahead of the remaining 1.0 work. Upstream has
|
|
|
232
275
|
named-graph lookup cost in public synthetic fixtures, but has not measured that consumer graph or
|
|
233
276
|
diagnosed its complete timeout. The focused cold-validation fix shipped in 0.3.0, ahead of the
|
|
234
277
|
remaining 1.0 tasks. The consumer is now reported working after 0.4.0; exact performance and
|
|
235
|
-
repeat-hydration acceptance evidence remains unrecorded.
|
|
278
|
+
repeat-hydration acceptance evidence remains unrecorded. ADR 027 records the broader engineering evaluation.
|
|
236
279
|
|
|
237
280
|
[ADR 017](ADR-017-shacl-validation-union.md) records the implemented cold-validation optimization:
|
|
238
281
|
build a temporary union of every SPO triple for the same validator/shapes, while keeping original
|
|
@@ -244,7 +287,7 @@ are synthetic phase measurements, not a private consumer reproduction or end-to-
|
|
|
244
287
|
|
|
245
288
|
The focused change still validates the whole graph each time. It does not add Rust, GraphDB,
|
|
246
289
|
incremental validation or a validation-result cache. T05a now adds early checks and phase timing;
|
|
247
|
-
worker progress and
|
|
290
|
+
worker progress and reuse remain unsupported, with the decision evaluated in ADR 027. Native code or a database does
|
|
248
291
|
not by itself establish faster or correct incremental SHACL.
|
|
249
292
|
|
|
250
293
|
Acceptance:
|
|
@@ -276,12 +319,27 @@ Acceptance:
|
|
|
276
319
|
failure must preserve the prior snapshot. Keep model-independent profiling separate from live
|
|
277
320
|
extraction performance and from the reported two-fact correctness defect.
|
|
278
321
|
|
|
322
|
+
The bounded closeout is recorded in [ADR 027](ADR-027-validation-closeout.md): 258 public
|
|
323
|
+
direct/worker cases cover cold/repeat/rebuilt and changed inputs; all 18 paired sample groups
|
|
324
|
+
match exact verdicts and data. Dense metadata and 10,000-fact memory measurements justified a
|
|
325
|
+
Rudof 0.3.35 evaluation: all 29 conformance/location cases agree, two diagnostic multiplicities
|
|
326
|
+
differ, and 12 native timings establish no clear overall file-transfer benefit. Retain direct full
|
|
327
|
+
validation. No cache, worker, incremental or native runtime capability is delivered. Exact-key
|
|
328
|
+
costs/misses and a changed-facts-only counterexample support the reuse/incremental decisions.
|
|
329
|
+
Consumer performance acceptance remains required; public fixtures do not silently replace it.
|
|
330
|
+
|
|
279
331
|
## T06 — Keep packaged documentation consistent with the release
|
|
280
332
|
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
333
|
+
Implemented after 0.5.0, with [ADR 022](ADR-022-release-documentation.md) defining the checked
|
|
334
|
+
scope. Changesets regenerates current-version sections in both READMEs and the release guide.
|
|
335
|
+
The dependency-free checker verifies source instructions and both actual tarballs before
|
|
336
|
+
publication; the fresh-consumer smoke exercises the checked pinned commands and archive pair
|
|
337
|
+
with an isolated npm/npx cache. Historical records and feature-introduction versions stay intact.
|
|
338
|
+
Source validation is recorded in [validation](VALIDATION.md); no new npm release is claimed here.
|
|
339
|
+
|
|
340
|
+
The original consumer installed 0.2.0 while its README still named 0.1.2 and some archive examples
|
|
341
|
+
used 0.1.1. Release 0.2.1 removed README version pins. T06 adds automation and replaces the release
|
|
342
|
+
guide's stale 0.2.1 current-install example. Immutable earlier archives retain their original text.
|
|
285
343
|
|
|
286
344
|
Acceptance:
|
|
287
345
|
|
|
@@ -306,6 +364,39 @@ traversal. Classify sources/claims explicitly; flag rules without clear SOT owne
|
|
|
306
364
|
their inferred/unreviewed state. Validation documents are excluded from product-intent extraction
|
|
307
365
|
by default and retained through a separately classified validation-evidence path.
|
|
308
366
|
|
|
367
|
+
Delivery increments:
|
|
368
|
+
|
|
369
|
+
1. **T07a implemented:** committed Markdown-link selection and an opt-in, no-model coverage preview: canonical targets,
|
|
370
|
+
cycles/deduplication, ambiguous or unresolved links, exclusions and explicit budget status.
|
|
371
|
+
Label this as prospective coverage until it drives hydration; existing hydration-plan documents
|
|
372
|
+
and cache estimates must continue to describe actual execution inputs. The current graph linker
|
|
373
|
+
also recognizes bare/code paths and is not itself a canonical traversal policy.
|
|
374
|
+
2. **T07b merged with local/hosted checks and review passed:** explicit roles/ownership and separate
|
|
375
|
+
deterministic document presence/reference evidence. Optional per-fact metadata survives RDF,
|
|
376
|
+
query and viewer projection without changing canonical Document identities. Reaching an owner
|
|
377
|
+
does not approve a child or assertion; direct-source hydration remains unchanged.
|
|
378
|
+
3. **T07c merged with local/hosted checks passed:** opt-in hydration integration, incremental artifact reuse and cross-source linkage, with
|
|
379
|
+
delete/rename handling and positive/negative real-extractor fixtures. Coverage failures stop
|
|
380
|
+
new model work without discarding completed artifacts or the last valid snapshot.
|
|
381
|
+
|
|
382
|
+
[ADR 023](ADR-023-document-coverage-preview.md) records the T07a public API and `documents plan`
|
|
383
|
+
command. Entry points, document roots and read limits are operation arguments, with existing
|
|
384
|
+
semantic budgets used only for comparison. No configuration/cache identity or hydration selection
|
|
385
|
+
is changed. [PR 38](https://github.com/jchewitt/weftlet/pull/38) merged T07a with hosted Ubuntu
|
|
386
|
+
and native Windows checks; exact source validation is recorded in [validation](VALIDATION.md).
|
|
387
|
+
No npm publication is claimed by implementation status.
|
|
388
|
+
|
|
389
|
+
[ADR 025](ADR-025-document-classification.md) records T07b's shared classification contract
|
|
390
|
+
and standalone deterministic document-evidence API. `documents plan --document-policy <json-file>`
|
|
391
|
+
reads an operation-time sidecar; it adds no hydration configuration. The top-level `ready` checks
|
|
392
|
+
traversal/budgets, while `classification.complete` independently reports role/ownership gaps.
|
|
393
|
+
A resolved owner must be available, approved and an unambiguous intent source; an approved
|
|
394
|
+
validation/plan/reference or ambiguous-role owner is ineligible. Neither ownership nor links
|
|
395
|
+
transfer approval. Presence and references retain validation documents even without semantic
|
|
396
|
+
artifacts or outgoing links, without asserting test success. T07c now invokes these APIs from explicitly configured hydration and overlays; validation
|
|
397
|
+
evidence is preserved separately from semantic source selection. [ADR 026](ADR-026-traversal-hydration.md)
|
|
398
|
+
records cache compatibility, coverage gates, draft invalidation and source/assertion authority.
|
|
399
|
+
|
|
309
400
|
Acceptance:
|
|
310
401
|
|
|
311
402
|
- Split delivery into canonical selection/traversal, role/ownership classification and semantic
|
|
@@ -350,5 +441,26 @@ Before calling the consumer migration accepted or publishing 1.0:
|
|
|
350
441
|
5. Review the changelog, compatibility/migration guidance and remaining known issues, then use the
|
|
351
442
|
normal reviewed version PR and trusted-publishing workflow. No 1.0 publication is claimed now.
|
|
352
443
|
|
|
444
|
+
For the reviewed minor candidate, retain a private consumer bundle and share only a sanitized
|
|
445
|
+
summary using the [consumer trial](CONSUMER-TRIAL.md):
|
|
446
|
+
|
|
447
|
+
- Record both package versions, consumer/adapter SHA, platform/provider/model, configuration and
|
|
448
|
+
source scope; verify the no-model plan's roles, ownership, exclusions and budgets match execution.
|
|
449
|
+
- Complete genuine full hydration and SHACL publication with the approved timeout, then repeat
|
|
450
|
+
unchanged inputs: zero new extraction, expected reuse and unchanged snapshot identity/content.
|
|
451
|
+
Record total and phase timing; the ten-minute extraction limit does not extend an outer job deadline.
|
|
452
|
+
- Retain actual MCP requests/responses and continuations for predeclared changes, including a queue
|
|
453
|
+
boundary. Review downstream consumers, contracts, implementations/tests and page-scoped coverage;
|
|
454
|
+
a display group or a missing returned fact must not be mistaken for complete repository coverage.
|
|
455
|
+
- Independently inspect citations and semantic usefulness: misses, irrelevant results, conflicting
|
|
456
|
+
claims, ownership gaps and misleading authority. Structural conformance is not a semantic-quality pass.
|
|
457
|
+
- Check browser interaction against the same JSON pack/snapshot using the
|
|
458
|
+
[browser checklist](ENVIRONMENT-VALIDATION.md#browser-run-through-browser-mcp); keep deferred or
|
|
459
|
+
untested environments explicit. Preserve saved queries and prior snapshots during a failed refresh.
|
|
460
|
+
|
|
461
|
+
Keep raw snapshots, artifacts, configuration and transcripts with the private consumer; do not
|
|
462
|
+
export credentials or private product content. Upstream fixtures and a published candidate do not
|
|
463
|
+
replace these consumer results or authorize an automatic 1.0 release.
|
|
464
|
+
|
|
353
465
|
The patch's upstream pass is necessary but does not replace consumer acceptance. Track follow-up
|
|
354
466
|
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
|
|
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
|
|
51
|
-
and
|
|
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
|
|
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
|
-
|
|
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.
|
|
175
|
-
npx --yes @weftlet/toolkit@0.
|
|
205
|
+
npx --yes @weftlet/toolkit@0.6.0 init --yes
|
|
206
|
+
npx --yes @weftlet/toolkit@0.6.0 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.0.tgz" "/path/to/weftlet/.release/weftlet-toolkit-0.6.0.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,47 @@
|
|
|
1
1
|
# Delivery roadmap
|
|
2
2
|
|
|
3
|
-
Release checkpoint: 2026-10-
|
|
4
|
-
[validation](VALIDATION.md); this roadmap is not a live registry status.
|
|
3
|
+
Release checkpoint: 2026-10-27, after verified 0.5.0 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
|
-
|
|
10
|
-
|
|
11
|
-
|
|
9
|
+
T09 shipped in 0.5.0 with T05a work, accepting the consumer's approved
|
|
10
|
+
`semantic.timeoutMs: 600000`. The default remains 120000 and retry/cancellation behavior is
|
|
11
|
+
unchanged. The consumer's actual ten-minute retry has not run; upstream installation and
|
|
12
|
+
deterministic checks do not establish that outcome. See [provider limits and recovery](PROVIDERS.md#limits-and-reuse).
|
|
12
13
|
|
|
13
14
|
Forward direction is captured in the [Weftlet 2.0 product plan](WEFTLET-2.0-PLAN.md):
|
|
14
15
|
consumer hardening, cited code-derived drafts, scoped approvals and reconciliation, an optional
|
|
15
16
|
review website, source publication, managed AI and guided setup. “2.0” is a planning label;
|
|
16
|
-
the verified release at this checkpoint is 0.
|
|
17
|
+
the verified release at this checkpoint is 0.5.0. The received consumer findings are tracked in the
|
|
17
18
|
[consumer hardening and 1.0 task list](RELEASE-1.0-PLAN.md): the document-identity patch is
|
|
18
19
|
published and passes upstream checks; genuine consumer acceptance remains pending. T02's
|
|
19
20
|
no-model preview and T05's cold-validation improvement shipped in 0.3.0. T03 operational cache
|
|
20
21
|
reuse, T04 timeout diagnostics and T08 deterministic physical-file consistency shipped in 0.4.0.
|
|
21
|
-
|
|
22
|
-
|
|
22
|
+
T09 timeout support and T05a identity preflight/phase timing shipped in 0.5.0.
|
|
23
|
+
T06 [release-documentation consistency](ADR-022-release-documentation.md) is implemented for the
|
|
24
|
+
next release: generated current examples, actual archive checks and fresh documented installation.
|
|
25
|
+
T07a [prospective document coverage](ADR-023-document-coverage-preview.md) is implemented separately
|
|
26
|
+
from hydration. It follows committed Markdown links and reports coverage/budget gaps without
|
|
27
|
+
model calls or graph writes. T07b [document roles and ownership](ADR-025-document-classification.md)
|
|
28
|
+
and the standalone deterministic document-evidence API merged in PR 42 after local/hosted checks
|
|
29
|
+
and independent review. `documents plan --document-policy` accepts an operation-time JSON sidecar;
|
|
30
|
+
classification completeness is separate from traversal/budget readiness. Ownership never transfers
|
|
31
|
+
approval. T07c [traversal hydration](ADR-026-traversal-hydration.md) connects these APIs through
|
|
32
|
+
explicit configuration, a shared no-model plan, compatible artifact reuse and draft invalidation.
|
|
33
|
+
Direct-mode configuration retains its existing behavior; validation sources are excluded from
|
|
34
|
+
model work in traversal mode. T07c merged in PR 44 after local and hosted Ubuntu/Windows checks;
|
|
35
|
+
exact evidence is in [validation](VALIDATION.md). npm publication remains pending.
|
|
36
|
+
T10 [implementation coverage reporting](ADR-024-implementation-coverage.md) is merged for the next
|
|
37
|
+
release: actual code relationships can count as both contract and implementation evidence while
|
|
38
|
+
display groups remain stable. Existing snapshots benefit without hydration; gaps are page-scoped.
|
|
39
|
+
T05 [performance/validation closeout](ADR-027-validation-closeout.md) records the remaining
|
|
40
|
+
engineering evaluations: cold/repeat/changed inputs, worker isolation, exact-result reuse,
|
|
41
|
+
incremental dependencies and a bounded Rust comparison. Retain full direct validation; no worker,
|
|
42
|
+
cache, incremental or native runtime capability is claimed. Complete source/release checks, publish
|
|
43
|
+
a reviewed minor candidate, validate it in TradePilot, then review official 1.0. The candidate and consumer/final release gates remain
|
|
44
|
+
separate acceptance work; the 2.0 plan remains a separate future direction.
|
|
23
45
|
|
|
24
46
|
The maintainer reported SHACL pushing generation past a 30-minute timeout before graph
|
|
25
47
|
publication. T02 and the focused T05 optimization shipped together in 0.3.0 through
|
|
@@ -36,11 +58,14 @@ in one temporary validation graph, preserving the same shapes and canonical name
|
|
|
36
58
|
Bounded public experiments measured substantial cold-path improvement, alongside about 1.3 GiB
|
|
37
59
|
RSS in the prototype at 10,000 unique-node facts; the production harness including serialization
|
|
38
60
|
peaked near 1.6 GiB. They do not reproduce the private consumer's overall timeout.
|
|
39
|
-
T05a
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
61
|
+
T05a shipped [early identity checks and phase timing](ADR-021-identity-preflight-and-validation-timing.md)
|
|
62
|
+
in 0.5.0 after local/hosted checks and independent archive review. Full validation remains mandatory.
|
|
63
|
+
In-phase worker progress, result reuse and incremental validation remain unsupported. ADR 027
|
|
64
|
+
records 258 direct/worker cases and 29 native correctness cases, with full graph/data preservation.
|
|
65
|
+
The Rust file-transfer prototype showed no clear overall performance/resource advantage and
|
|
66
|
+
differed on diagnostic multiplicity in two cases. Full direct validation remains the evaluated
|
|
67
|
+
choice; private consumer performance acceptance remains required. No Rust engine, graph database
|
|
68
|
+
or validation-result cache is introduced into the runtime.
|
|
44
69
|
|
|
45
70
|
[T03 operational cache reuse](ADR-018-operational-semantic-cache.md) shipped in 0.4.0. Built-in
|
|
46
71
|
Codex user artifacts can survive changes to timeout/retry/concurrency/document/byte limits while
|
|
@@ -48,7 +73,7 @@ snapshots retain their full configuration identity. Exact legacy reads and expli
|
|
|
48
73
|
adoption preserve prior artifacts; custom providers remain conservative.
|
|
49
74
|
[T04 diagnostics](ADR-019-semantic-failure-diagnostics.md) shipped in the same release, adding
|
|
50
75
|
safe failure reports, opaque source mapping and settled progress without changing extraction/cache
|
|
51
|
-
identity.
|
|
76
|
+
identity. T05 engineering evaluation is recorded; T06 and T07 implementation are pending candidate publication.
|
|
52
77
|
|
|
53
78
|
[T08 physical-file kind consistency](ADR-020-canonical-physical-file-producers.md) also shipped in
|
|
54
79
|
0.4.0 after local/hosted Ubuntu/Windows checks, independent archive review and fresh packed and
|
|
@@ -144,8 +169,8 @@ preparation/publication under `@launch-echo`; the maintainer completed the 0.1.0
|
|
|
144
169
|
source-application reintegration remain outside the authorized scope. See [release instructions](RELEASING.md).
|
|
145
170
|
|
|
146
171
|
The maintainer authorized the Weftlet migration on 2026-10-21. Both `@weftlet/core` and
|
|
147
|
-
`@weftlet/toolkit`
|
|
148
|
-
|
|
172
|
+
`@weftlet/toolkit` use GitHub OIDC publication; current and historical publication/verification
|
|
173
|
+
records are in [validation](VALIDATION.md). Changesets prepares reviewed version PRs for the fixed package group;
|
|
149
174
|
merging a release plan triggers publication and package-specific tags/GitHub Releases.
|
|
150
175
|
See [ADR 009](ADR-009-release-automation.md) and [release instructions](RELEASING.md).
|
|
151
176
|
Earlier Tently packages remain available and undeprecated.
|