@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.
- 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/extraction/ontology.js +2 -2
- package/dist/extraction/static.js +25 -20
- 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/infrastructure/artifact-paths.d.ts +4 -0
- package/dist/infrastructure/artifact-paths.js +14 -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/storage/storage.js +41 -13
- 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/ADR-028-bounded-artifact-paths.md +58 -0
- package/docs/CONSUMER-TRIAL.md +7 -5
- package/docs/GRAPHIFY-EVALUATION.md +70 -0
- package/docs/MIGRATING-TO-WEFTLET.md +1 -1
- package/docs/PRE-1.0-BASELINE.md +94 -0
- package/docs/PROVIDERS.md +10 -1
- package/docs/RELEASE-1.0-PLAN.md +145 -23
- package/docs/RELEASING.md +46 -8
- package/docs/ROADMAP.md +48 -16
- package/docs/VALIDATION.md +390 -0
- package/docs/assessments/pre-1.0-2026-10-28.json +200 -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 +78 -20
- package/examples/generic-typescript/document-policy.json +9 -0
- package/package.json +7 -4
package/docs/RELEASE-1.0-PLAN.md
CHANGED
|
@@ -1,20 +1,32 @@
|
|
|
1
1
|
# Consumer hardening and the 1.0 release plan
|
|
2
2
|
|
|
3
|
-
Status:
|
|
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
|
-
**
|
|
9
|
-
|
|
10
|
-
|
|
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.
|
|
16
|
-
|
|
17
|
-
|
|
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
|
-
| **
|
|
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
|
|
51
|
-
| **T06** | Packaged release-documentation consistency |
|
|
52
|
-
| **T07** | Coverage-aware traversal from SOT/roadmap entry points |
|
|
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
|
-
|
|
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.
|
|
121
|
-
this release retains the cold-validation
|
|
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
|
|
217
|
-
|
|
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
|
|
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.
|
|
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
|
|
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
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
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
|
|
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.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-
|
|
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
|
-
|
|
10
|
-
|
|
11
|
-
|
|
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.
|
|
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
|
-
|
|
22
|
-
|
|
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
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
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.
|
|
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`
|
|
148
|
-
|
|
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.
|