@weftlet/toolkit 0.3.0 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +26 -1
- package/dist/application/application.js +7 -4
- package/dist/application/cache-adoption.d.ts +43 -0
- package/dist/application/cache-adoption.js +129 -0
- package/dist/application/extraction-identity.d.ts +6 -0
- package/dist/application/extraction-identity.js +15 -0
- package/dist/application/hydration-failure.d.ts +41 -0
- package/dist/application/hydration-failure.js +43 -0
- package/dist/application/hydration-plan.d.ts +4 -7
- package/dist/application/hydration-plan.js +7 -15
- package/dist/application/hydrator.d.ts +5 -5
- package/dist/application/hydrator.js +37 -52
- package/dist/application/overlay.d.ts +3 -1
- package/dist/application/overlay.js +13 -4
- package/dist/application/saved-evidence.d.ts +6 -3
- package/dist/application/saved-evidence.js +7 -1
- package/dist/application/semantic-artifact-store.d.ts +4 -0
- package/dist/application/semantic-artifact-store.js +7 -0
- package/dist/application/semantic-run.d.ts +32 -0
- package/dist/application/semantic-run.js +111 -0
- package/dist/application/semantic-scope.d.ts +13 -0
- package/dist/application/semantic-scope.js +12 -0
- package/dist/application/snapshot-checks.d.ts +2 -1
- package/dist/application/snapshot-checks.js +8 -1
- package/dist/configuration/cache.d.ts +6 -0
- package/dist/configuration/cache.js +18 -0
- package/dist/configuration/config.js +1 -1
- package/dist/extraction/document.js +1 -1
- package/dist/extraction/providers.js +10 -3
- package/dist/extraction/repository-nodes.d.ts +2 -3
- package/dist/extraction/repository-nodes.js +5 -11
- package/dist/extraction/routing.d.ts +1 -1
- package/dist/extraction/routing.js +3 -6
- package/dist/extraction/semantic-cache.d.ts +1 -0
- package/dist/extraction/semantic-cache.js +9 -2
- package/dist/extraction/semantic-diagnostics.d.ts +9 -0
- package/dist/extraction/semantic-diagnostics.js +15 -0
- package/dist/extraction/semantic.d.ts +5 -1
- package/dist/extraction/semantic.js +39 -6
- package/dist/extraction/static.d.ts +13 -5
- package/dist/extraction/static.js +8 -15
- package/dist/governance/governance.js +11 -7
- package/dist/graph/identity-preflight.d.ts +57 -0
- package/dist/graph/identity-preflight.js +71 -0
- package/dist/graph/query.js +2 -0
- package/dist/graph/rdf.d.ts +4 -1
- package/dist/graph/rdf.js +10 -6
- package/dist/graph/validation-progress.d.ts +14 -0
- package/dist/graph/validation-progress.js +18 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.js +5 -0
- package/dist/interfaces/cli.js +52 -22
- package/dist/storage/storage.d.ts +7 -1
- package/dist/storage/storage.js +15 -3
- package/dist/visualization/visualization.js +1 -0
- package/docs/ADR-016-hydration-preview.md +1 -1
- package/docs/ADR-017-shacl-validation-union.md +1 -1
- package/docs/ADR-018-operational-semantic-cache.md +100 -0
- package/docs/ADR-019-semantic-failure-diagnostics.md +82 -0
- package/docs/ADR-020-canonical-physical-file-producers.md +97 -0
- package/docs/ADR-021-identity-preflight-and-validation-timing.md +81 -0
- package/docs/PROVIDERS.md +58 -1
- package/docs/RELEASE-1.0-PLAN.md +100 -34
- package/docs/RELEASING.md +4 -2
- package/docs/ROADMAP.md +40 -15
- package/docs/VALIDATION.md +351 -4
- package/docs/extraction-manifest.json +50 -23
- package/package.json +2 -2
package/docs/PROVIDERS.md
CHANGED
|
@@ -83,10 +83,17 @@ continue using their ChatGPT login; this change does not provision or copy accou
|
|
|
83
83
|
## Limits and reuse
|
|
84
84
|
|
|
85
85
|
Defaults are at most 8 documents per hydration, 64 KiB per source, a 120-second timeout per
|
|
86
|
-
|
|
86
|
+
Codex attempt (or module execution), no retries, and the configured concurrency (validated at 1–4). Source budgets are checked
|
|
87
87
|
before any model call. `maxDocuments`, `maxSourceBytes`, `timeoutMs`, and `retries` may be configured
|
|
88
88
|
within validated limits. Review scope and cost before raising them; these byte/document limits
|
|
89
89
|
are not dollar or token estimates. Ask the operator before substantial paid runs.
|
|
90
|
+
Starting with 0.5.0, `semantic.timeoutMs` accepts integer values from 1 through **600000**
|
|
91
|
+
(ten minutes); 0.4.0 and earlier reject values above 300000. The default remains 120000.
|
|
92
|
+
For the approved ten-minute retry, set `"timeoutMs": 600000` inside the existing `semantic`
|
|
93
|
+
configuration, preview reuse with `hydrate --plan`, then rerun hydration without forcing
|
|
94
|
+
re-extraction. The limit applies to each Codex attempt, or the whole module execution, rather
|
|
95
|
+
than the entire hydration. Codex authentication/discovery checks retain their separate five-second
|
|
96
|
+
bounds. This setting does not raise a CI job's overall timeout or change retry policy.
|
|
90
97
|
Only explicit transient exit status 75 is retryable, at most twice; authentication, invalid
|
|
91
98
|
output, cancellation and ambiguous failures are not retried. Ctrl-C cancels live CLI extraction.
|
|
92
99
|
Indexing cancellation is checked between phases, not inside the indexer process.
|
|
@@ -96,6 +103,56 @@ digest/stable ID, extractor/adapter/ontology versions, confidence threshold and
|
|
|
96
103
|
Unchanged artifacts are reused; forced revisions are separate. Failures never replace a valid
|
|
97
104
|
snapshot. Progress shows phase and counts on stderr, with no document text or paths.
|
|
98
105
|
|
|
106
|
+
Starting with 0.4.0, T04 adds opaque source IDs, source elapsed times and structured semantic
|
|
107
|
+
failure reports. With that version or newer installed, retain the same committed ref and any
|
|
108
|
+
agent scope options as the failed run:
|
|
109
|
+
|
|
110
|
+
```sh
|
|
111
|
+
pnpm exec weftlet hydrate --config /path/to/project/context-graph.config.json --ref <commit> --plan --json
|
|
112
|
+
pnpm exec weftlet hydrate --config /path/to/project/context-graph.config.json --ref <commit> --json --quiet
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
The first command makes no model calls and maps each `sourceId` to its local document path. Review
|
|
116
|
+
that preview before sharing it. The second performs hydration: semantic failures exit nonzero,
|
|
117
|
+
leave stdout empty and emit JSON on stderr. Omit `--quiet` for progress; omit `--json` for a safe
|
|
118
|
+
human failure summary. Successful hydration still prints its result on stdout. JSON failure
|
|
119
|
+
reporting covers semantic processing, not every configuration/indexing/validation failure.
|
|
120
|
+
|
|
121
|
+
Reports distinguish timeout, cancellation, unavailable infrastructure, provider failure, invalid
|
|
122
|
+
output, unresolved mappings, low confidence and cache problems. Completed/extracted/reused counts include active writes that finished
|
|
123
|
+
before workers settled. `remaining` includes failed, cancelled and not-started sources; consult
|
|
124
|
+
preview for future extraction estimates. Cancellation between sources has no failed `sourceId`.
|
|
125
|
+
Source elapsed time includes cache checks and retries and may exceed the per-attempt limit;
|
|
126
|
+
module timeout includes import/factory/extraction. No defaults or retry rules change.
|
|
127
|
+
|
|
128
|
+
For a timeout, review `semantic.timeoutMs` and preview again before retrying without
|
|
129
|
+
`--force-semantic`. Completed forced revisions remain stored but are not automatically reused by
|
|
130
|
+
an ordinary rerun or a new forced run. Custom provider configuration changes remain conservative.
|
|
131
|
+
See [ADR 019](ADR-019-semantic-failure-diagnostics.md) for reporting and privacy boundaries.
|
|
132
|
+
|
|
133
|
+
Starting with 0.4.0, built-in Codex semantic artifacts are separate from user
|
|
134
|
+
snapshot profiles. Changing `timeoutMs`, `retries`, `concurrency`, `maxDocuments` or
|
|
135
|
+
`maxSourceBytes` can reuse completed artifacts; selection budgets are still enforced. Snapshot
|
|
136
|
+
configuration digests remain complete and saved snapshots are not accepted as current merely
|
|
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.
|
|
139
|
+
|
|
140
|
+
If an older user-cache run was interrupted and its configuration has already changed, retain an
|
|
141
|
+
exact copy of the previous configuration in its original directory. Its original `repositoryRoot`
|
|
142
|
+
must still resolve to the same checkout; editing that field changes the old profile identity.
|
|
143
|
+
With 0.4.0 or newer installed:
|
|
144
|
+
|
|
145
|
+
```sh
|
|
146
|
+
pnpm exec weftlet cache adopt --config /path/to/project/context-graph.config.json --from-config /path/to/project/previous-context-graph.config.json --ref HEAD --dry-run
|
|
147
|
+
pnpm exec weftlet cache adopt --config /path/to/project/context-graph.config.json --from-config /path/to/project/previous-context-graph.config.json --ref HEAD
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
For an agent-scoped run, supply the same `--owner-doc`, `--task` or `--capability` selection used
|
|
151
|
+
for hydration. The JSON report shows what was retained and what still needs extraction. Adoption
|
|
152
|
+
makes no model calls and changes no snapshots or source files. Incompatible configurations are
|
|
153
|
+
refused; unrelated cache profiles are never scanned. Corrupt/conflicting artifacts are reported
|
|
154
|
+
and retained. This command is not present in published 0.3.0.
|
|
155
|
+
|
|
99
156
|
For a trusted local provider module, set `provider: "module"`, `providerModule` to a local path
|
|
100
157
|
(relative to the repository root) or installed package, and `providerIdentity` to its exact
|
|
101
158
|
declared version. Packages resolve from the consumer repository using ESM import conditions.
|
package/docs/RELEASE-1.0-PLAN.md
CHANGED
|
@@ -1,13 +1,20 @@
|
|
|
1
1
|
# Consumer hardening and the 1.0 release plan
|
|
2
2
|
|
|
3
|
-
Status: maintainer-directed work;
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
the
|
|
3
|
+
Status: maintainer-directed work; release checkpoint on 2026-10-26 after verified 0.4.0 publication.
|
|
4
|
+
**T08's upstream deterministic physical-file fix has shipped; the maintainer reports the consumer
|
|
5
|
+
updated and working on 2026-10-27. Detailed full hydration/repeat evidence remains pending.** T04 was completed before
|
|
6
|
+
the T08 fix as requested.
|
|
7
|
+
|
|
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.
|
|
11
|
+
|
|
12
|
+
The original report concerned `@weftlet/toolkit@0.2.0`. T01's upstream document-identity patch
|
|
13
|
+
shipped in 0.2.1; T02 and T05's focused cold-validation optimization shipped in 0.3.0.
|
|
14
|
+
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.
|
|
11
18
|
|
|
12
19
|
This is the near-term release task list. The [Weftlet 2.0 product plan](WEFTLET-2.0-PLAN.md)
|
|
13
20
|
remains a separate future direction for generation, approvals, a companion website and hosted
|
|
@@ -34,20 +41,42 @@ integration. Consumer acceptance is reported separately from upstream determinis
|
|
|
34
41
|
|
|
35
42
|
| ID | Task | Priority/status | Dependencies and release boundary |
|
|
36
43
|
| --- | --- | --- | --- |
|
|
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 |
|
|
45
|
+
| **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 |
|
|
37
46
|
| **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 |
|
|
38
|
-
| **T02** | No-model hydration/setup preview |
|
|
39
|
-
| **T03** | Artifact reuse across operational configuration changes |
|
|
40
|
-
| **T04** | Actionable, privacy-safe timeout diagnostics |
|
|
41
|
-
| **T05** | Early identity checks and validation progress/profiling | **
|
|
47
|
+
| **T02** | No-model hydration/setup preview | Shipped in 0.3.0 | Shared selection/cache inspection, human/JSON plans; extend with T07 traversal coverage |
|
|
48
|
+
| **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
|
+
| **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 |
|
|
42
51
|
| **T06** | Packaged release-documentation consistency | Open; README version pins removed in 0.2.1 | Automated archive/version consistency check remains to be implemented |
|
|
43
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 |
|
|
44
53
|
|
|
45
|
-
T02
|
|
46
|
-
[
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
54
|
+
T02 and the focused T05 fix shipped in 0.3.0; T03, T04 and T08 shipped in
|
|
55
|
+
[0.4.0](https://github.com/jchewitt/weftlet/releases/tag/%40weftlet/toolkit%400.4.0), following
|
|
56
|
+
local/hosted checks, independent archive review and fresh packed/public-registry installation.
|
|
57
|
+
Source, registry integrity, provenance and release tags are recorded in [validation](VALIDATION.md).
|
|
58
|
+
Broader T05, T06 and T07 remain bounded follow-ups.
|
|
59
|
+
The consumer must migrate its framework adapter to the public core factory, then complete full
|
|
60
|
+
hydration and repeat reuse; upstream fixtures do not establish that result.
|
|
61
|
+
|
|
62
|
+
## T08 — Resolve deterministic physical-file kind conflicts
|
|
63
|
+
|
|
64
|
+
The consumer reports 120 IDs reproduced by actual 0.3.0 deterministic producers: 34 neutral
|
|
65
|
+
contract-only, 57 local-framework-only and 29 overlapping. This is separate from T01's repository
|
|
66
|
+
document identity defect and does not diagnose semantic-cache corruption or business-rule drift.
|
|
67
|
+
|
|
68
|
+
[ADR 020](ADR-020-canonical-physical-file-producers.md) records the public core factory, producer
|
|
69
|
+
audit, deterministic version changes and preserved semantic-cache boundary. The upstream fix
|
|
70
|
+
routes physical-file producers through one policy, preserves strict SHACL/provenance/authority,
|
|
71
|
+
and distinguishes historical graph versions from current validation. Public tests include real
|
|
72
|
+
SCIP and actual extractor composition, plus negative overlay validation without routing.
|
|
73
|
+
|
|
74
|
+
The 0.4.0 release passed local publication checks, hosted Ubuntu/Windows checks, independent archive
|
|
75
|
+
review and fresh packed/public-registry installation. Consumer acceptance still requires the
|
|
76
|
+
published packages plus its own framework adapter migration and composed Prisma/DI/decorator
|
|
77
|
+
spec/test regressions, followed by full hydration and repeat reuse.
|
|
78
|
+
Neither an upstream-only release nor a local-only adapter patch closes both ownership boundaries.
|
|
79
|
+
Do not rewrite semantic caches or force model work to work around the proven deterministic defect.
|
|
51
80
|
|
|
52
81
|
## T01 — Resolve repository-document identity conflicts
|
|
53
82
|
|
|
@@ -87,13 +116,15 @@ Upstream completion evidence:
|
|
|
87
116
|
snapshot identity/content on artifact reuse, without live model calls. See the detailed
|
|
88
117
|
[validation record](VALIDATION.md) for commits, checks and result boundaries.
|
|
89
118
|
|
|
90
|
-
The private consumer has not yet supplied a successful full hydration/repeat
|
|
119
|
+
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.
|
|
91
122
|
Upstream publication and regression success do not close that acceptance gate or diagnose the
|
|
92
123
|
separate full-graph validation latency observation.
|
|
93
124
|
|
|
94
125
|
## T02 — Preview scope and work without calling a model
|
|
95
126
|
|
|
96
|
-
|
|
127
|
+
Shipped in 0.3.0: `hydrate --plan` renders a human summary and `--json` returns
|
|
97
128
|
the structured plan. This feature is not in published 0.2.1. Shared source selection and identity
|
|
98
129
|
logic report selected documents and sizes, inclusion reasons, configured role/source approval,
|
|
99
130
|
unreviewed assertion status, artifact reuse/extraction estimates and document/per-source byte limits.
|
|
@@ -103,9 +134,9 @@ Missing or unsupported-only selectors and bounded agent omissions remain visible
|
|
|
103
134
|
incomplete plans need review and exit 1. They do not introduce new hydration gates that would
|
|
104
135
|
break deletion of the last document. Budget, duplicate-ID and corrupt/unavailable cache errors
|
|
105
136
|
block planning checks without truncating selected sources. An explicit empty source list selects
|
|
106
|
-
none. Requested refs
|
|
107
|
-
semantic artifacts remain reusable. T03
|
|
108
|
-
validation-document separation
|
|
137
|
+
none. Requested refs govern agent scope. Release 0.3.0 introduced graph-v6; 0.4.0 advances assembly
|
|
138
|
+
to graph-v7 for T08 while compatible semantic artifacts remain reusable. T03 operational cache
|
|
139
|
+
reuse shipped in 0.4.0; T07 traversal/default validation-document separation remains open.
|
|
109
140
|
|
|
110
141
|
Acceptance:
|
|
111
142
|
|
|
@@ -120,6 +151,20 @@ Acceptance:
|
|
|
120
151
|
|
|
121
152
|
## T03 — Reuse valid artifacts after operational changes
|
|
122
153
|
|
|
154
|
+
Shipped in 0.4.0 after merging [PR 22](https://github.com/jchewitt/weftlet/pull/22) and passing
|
|
155
|
+
local publication and hosted Ubuntu/Windows checks; release evidence is in [validation](VALIDATION.md).
|
|
156
|
+
[ADR 018](ADR-018-operational-semantic-cache.md) separates built-in Codex user artifacts from
|
|
157
|
+
full snapshot profiles. Timeout, retry, concurrency and document/byte limits can change without
|
|
158
|
+
hiding completed artifacts. Model/policy/authentication descriptors and unknown fields remain
|
|
159
|
+
identity inputs; custom providers retain their full configuration contract. Workspace cache
|
|
160
|
+
paths and existing 0.2.1/0.3.0 artifact identities remain unchanged.
|
|
161
|
+
|
|
162
|
+
Planning reads the exact compatible legacy profile without writing. Hydration can retain a
|
|
163
|
+
validated copy atomically. Explicit `cache adopt --from-config` and its read-only `--dry-run`
|
|
164
|
+
recover expected committed-source keys after settings were already changed; no unrelated profiles
|
|
165
|
+
are scanned and no providers or snapshots are initialized. Agent scope and budget/coverage
|
|
166
|
+
reporting match the hydration preview. Current-diff checks still reject old-configuration snapshots.
|
|
167
|
+
|
|
123
168
|
The consumer reported that changing only a timeout selected a different cache profile and made
|
|
124
169
|
completed extractions unavailable for reuse. Investigate both storage-location selection and
|
|
125
170
|
artifact key construction. Separate operational controls from semantic-output identity, while
|
|
@@ -136,10 +181,22 @@ Acceptance:
|
|
|
136
181
|
- Preserve force-extraction semantics, concurrent-writer safety, isolation between consumers,
|
|
137
182
|
credentials and private cache contents. Record reuse and reasons for a miss without secrets.
|
|
138
183
|
- Test interrupted work followed by a changed timeout: valid completed artifacts are reused,
|
|
139
|
-
incomplete
|
|
184
|
+
missing/incomplete artifacts are extracted, and source provenance remains correct. Corrupt
|
|
185
|
+
complete artifacts stay intact and require explicit forced refresh or operator repair;
|
|
186
|
+
they are not silently overwritten or treated as misses.
|
|
140
187
|
|
|
141
188
|
## T04 — Explain timeouts and recovery
|
|
142
189
|
|
|
190
|
+
Shipped in 0.4.0 after merging [PR 25](https://github.com/jchewitt/weftlet/pull/25) and passing
|
|
191
|
+
local publication and hosted Ubuntu/Windows checks; release evidence is in [validation](VALIDATION.md).
|
|
192
|
+
[ADR 019](ADR-019-semantic-failure-diagnostics.md) records opaque source IDs and explicit local
|
|
193
|
+
preview mapping, final counts after active workers settle, safe typed errors and recovery.
|
|
194
|
+
Concurrent sibling cancellation preserves the initiating failure. Completed writes stay counted
|
|
195
|
+
as completed; cancellation between sources reports no failing source. The CLI supports semantic
|
|
196
|
+
failure JSON on stderr with `hydrate --json --quiet`, leaving protocol/success stdout untouched.
|
|
197
|
+
Provider loading problems and unknown provider errors are distinct. Timeout defaults, extraction
|
|
198
|
+
identities, cache formulas, saved queries and full graph validation remain unchanged.
|
|
199
|
+
|
|
143
200
|
Report a privacy-safe source identifier, phase, elapsed time, configured limit and completed/
|
|
144
201
|
remaining counts when extraction times out. Explain which completed artifacts can be retained
|
|
145
202
|
and how to inspect the plan or adjust a bound before retrying. The documented two-minute default
|
|
@@ -156,17 +213,26 @@ Acceptance:
|
|
|
156
213
|
|
|
157
214
|
## T05 — Detect inexpensive conflicts early and explain validation work
|
|
158
215
|
|
|
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.
|
|
218
|
+
Hydration and overlays reject all conflicting subject/object kinds before RDF construction;
|
|
219
|
+
opaque default reports have explicit local detail opt-in.
|
|
220
|
+
Completed semantic artifacts and prior snapshots remain intact. Valid preflight results still
|
|
221
|
+
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.
|
|
223
|
+
|
|
159
224
|
The implementation uses JavaScript on Node:
|
|
160
225
|
`rdf-validate-shacl` validates an in-memory N3 dataset. Hydration constructs and validates the
|
|
161
226
|
entire assembled graph, including when semantic artifacts were reused. There is no persistent
|
|
162
227
|
GraphDB backend or incremental validation. Querying a saved snapshot does not rerun SHACL.
|
|
163
228
|
|
|
164
|
-
The maintainer
|
|
165
|
-
30-minute timeout, preventing snapshot publication and making adoption unusable.
|
|
166
|
-
a release
|
|
229
|
+
The maintainer originally reported that validation pushed the consumer's overall generation beyond its
|
|
230
|
+
30-minute timeout, preventing snapshot publication and making adoption unusable. That report made
|
|
231
|
+
cold validation a release priority ahead of the remaining 1.0 work. Upstream has measured a specific
|
|
167
232
|
named-graph lookup cost in public synthetic fixtures, but has not measured that consumer graph or
|
|
168
|
-
diagnosed its complete timeout.
|
|
169
|
-
|
|
233
|
+
diagnosed its complete timeout. The focused cold-validation fix shipped in 0.3.0, ahead of the
|
|
234
|
+
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.
|
|
170
236
|
|
|
171
237
|
[ADR 017](ADR-017-shacl-validation-union.md) records the implemented cold-validation optimization:
|
|
172
238
|
build a temporary union of every SPO triple for the same validator/shapes, while keeping original
|
|
@@ -177,15 +243,15 @@ took 0.467 seconds. A 10,000-fact unique-node union case used about 1.3 GiB proc
|
|
|
177
243
|
are synthetic phase measurements, not a private consumer reproduction or end-to-end guarantee.
|
|
178
244
|
|
|
179
245
|
The focused change still validates the whole graph each time. It does not add Rust, GraphDB,
|
|
180
|
-
incremental validation or a validation-result cache.
|
|
181
|
-
|
|
246
|
+
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
|
|
182
248
|
not by itself establish faster or correct incremental SHACL.
|
|
183
249
|
|
|
184
250
|
Acceptance:
|
|
185
251
|
|
|
186
|
-
- Early errors identify the conflicting identity/kinds and relevant evidence
|
|
187
|
-
|
|
188
|
-
substitute for RDF/SHACL validation.
|
|
252
|
+
- Early errors identify the conflicting identity/kinds and relevant evidence through opaque
|
|
253
|
+
defaults and explicit local detail opt-in. Preserve all underlying assertions for diagnosis;
|
|
254
|
+
early checks are not a substitute for RDF/SHACL validation.
|
|
189
255
|
- Report elapsed time and honest progress for long validation. Current phase boundaries remain
|
|
190
256
|
the supported progress signal: the synchronous validator blocks same-thread timers. Evaluate
|
|
191
257
|
bounded worker execution before promising an in-phase heartbeat or cancellation; never display
|
package/docs/RELEASING.md
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
# Weftlet npm releases
|
|
2
2
|
|
|
3
|
-
`@weftlet/core
|
|
4
|
-
[
|
|
3
|
+
`@weftlet/core` and `@weftlet/toolkit` are published through GitHub OIDC. The latest verified
|
|
4
|
+
release checkpoint is recorded in [validation](VALIDATION.md); the following are historical
|
|
5
|
+
publication records. For release 0.2.1,
|
|
6
|
+
[run 40382864083](https://github.com/jchewitt/weftlet/actions/runs/40382864083) completed
|
|
5
7
|
preparation, publication and release records on its first attempt at commit
|
|
6
8
|
`5d1db91bf19ed493a20849b2d0f92d3aeac35dfe`. Registry archives match the reviewed archives;
|
|
7
9
|
provenance and package tags identify that commit. A fresh public-registry installation passes
|
package/docs/ROADMAP.md
CHANGED
|
@@ -1,26 +1,31 @@
|
|
|
1
1
|
# Delivery roadmap
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
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.
|
|
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.
|
|
12
|
+
|
|
9
13
|
Forward direction is captured in the [Weftlet 2.0 product plan](WEFTLET-2.0-PLAN.md):
|
|
10
14
|
consumer hardening, cited code-derived drafts, scoped approvals and reconciliation, an optional
|
|
11
15
|
review website, source publication, managed AI and guided setup. “2.0” is a planning label;
|
|
12
|
-
the
|
|
16
|
+
the verified release at this checkpoint is 0.4.0. The received consumer findings are tracked in the
|
|
13
17
|
[consumer hardening and 1.0 task list](RELEASE-1.0-PLAN.md): the document-identity patch is
|
|
14
18
|
published and passes upstream checks; genuine consumer acceptance remains pending. T02's
|
|
15
|
-
no-model preview
|
|
16
|
-
diagnostics and
|
|
17
|
-
|
|
19
|
+
no-model preview and T05's cold-validation improvement shipped in 0.3.0. T03 operational cache
|
|
20
|
+
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.
|
|
18
23
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
+
The maintainer reported SHACL pushing generation past a 30-minute timeout before graph
|
|
25
|
+
publication. T02 and the focused T05 optimization shipped together in 0.3.0 through
|
|
26
|
+
[release PR #19](https://github.com/jchewitt/weftlet/pull/19), following local and hosted
|
|
27
|
+
Ubuntu/Windows checks and independent source/archive review. A genuine consumer re-run is
|
|
28
|
+
still required; the remaining 1.0 features did not delay this performance release.
|
|
24
29
|
|
|
25
30
|
[Hydration planning](ADR-016-hydration-preview.md) shares committed selection and semantic cache
|
|
26
31
|
identity with execution, reports human/JSON scope and work estimates, and preserves source versus
|
|
@@ -29,9 +34,29 @@ still checks the complete in-memory N3 graph on each hydration; saved queries do
|
|
|
29
34
|
validation. [The T05 union optimization](ADR-017-shacl-validation-union.md) indexes all SPO triples
|
|
30
35
|
in one temporary validation graph, preserving the same shapes and canonical named evidence.
|
|
31
36
|
Bounded public experiments measured substantial cold-path improvement, alongside about 1.3 GiB
|
|
32
|
-
RSS at 10,000 unique-node facts
|
|
33
|
-
|
|
34
|
-
|
|
37
|
+
RSS in the prototype at 10,000 unique-node facts; the production harness including serialization
|
|
38
|
+
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.
|
|
44
|
+
|
|
45
|
+
[T03 operational cache reuse](ADR-018-operational-semantic-cache.md) shipped in 0.4.0. Built-in
|
|
46
|
+
Codex user artifacts can survive changes to timeout/retry/concurrency/document/byte limits while
|
|
47
|
+
snapshots retain their full configuration identity. Exact legacy reads and explicit no-model
|
|
48
|
+
adoption preserve prior artifacts; custom providers remain conservative.
|
|
49
|
+
[T04 diagnostics](ADR-019-semantic-failure-diagnostics.md) shipped in the same release, adding
|
|
50
|
+
safe failure reports, opaque source mapping and settled progress without changing extraction/cache
|
|
51
|
+
identity. Broader T05 and T06/T07 work remain open.
|
|
52
|
+
|
|
53
|
+
[T08 physical-file kind consistency](ADR-020-canonical-physical-file-producers.md) also shipped in
|
|
54
|
+
0.4.0 after local/hosted Ubuntu/Windows checks, independent archive review and fresh packed and
|
|
55
|
+
public-registry installation. The public core factory and deterministic producers share one policy
|
|
56
|
+
under strict SHACL. Historical snapshots remain queryable, with version guards for current validation.
|
|
57
|
+
On 2026-10-27 the maintainer reported the consumer updated and working; exact adapter and full
|
|
58
|
+
hydration/repeat evidence remain unrecorded. This fix preserves semantic artifacts and
|
|
59
|
+
does not reinterpret model assertions to hide conflicts.
|
|
35
60
|
|
|
36
61
|
| Milestone | Delivered and checked | Remaining limits |
|
|
37
62
|
| --- | --- | --- |
|
|
@@ -119,7 +144,7 @@ preparation/publication under `@launch-echo`; the maintainer completed the 0.1.0
|
|
|
119
144
|
source-application reintegration remain outside the authorized scope. See [release instructions](RELEASING.md).
|
|
120
145
|
|
|
121
146
|
The maintainer authorized the Weftlet migration on 2026-10-21. Both `@weftlet/core` and
|
|
122
|
-
`@weftlet/toolkit` are published at 0.
|
|
147
|
+
`@weftlet/toolkit` are published at 0.3.0 through GitHub OIDC; the publication and verification
|
|
123
148
|
record is in [validation](VALIDATION.md). Changesets prepares reviewed version PRs for the fixed package group;
|
|
124
149
|
merging a release plan triggers publication and package-specific tags/GitHub Releases.
|
|
125
150
|
See [ADR 009](ADR-009-release-automation.md) and [release instructions](RELEASING.md).
|