@weftlet/toolkit 0.6.1 → 0.7.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 +191 -18
- package/THIRD_PARTY_NOTICES.md +3 -1
- package/dist/application/application.d.ts +10 -0
- package/dist/application/application.js +20 -0
- package/dist/application/document-code-bindings.d.ts +11 -0
- package/dist/application/document-code-bindings.js +25 -0
- package/dist/application/document-obligations.d.ts +8 -0
- package/dist/application/document-obligations.js +11 -0
- package/dist/application/draft-facts.d.ts +3 -0
- package/dist/application/draft-facts.js +37 -0
- package/dist/application/extraction-identity.d.ts +2 -2
- package/dist/application/extraction-identity.js +7 -1
- package/dist/application/extractor-results.d.ts +6 -0
- package/dist/application/extractor-results.js +6 -0
- package/dist/application/hydrator.js +38 -18
- package/dist/application/mapping-proposals.d.ts +108 -0
- package/dist/application/mapping-proposals.js +142 -0
- package/dist/application/mapping-service.d.ts +2 -0
- package/dist/application/mapping-service.js +5 -0
- package/dist/application/overlay.js +43 -29
- package/dist/application/saved-code-coverage.d.ts +40 -0
- package/dist/application/saved-code-coverage.js +20 -0
- package/dist/application/saved-compatibility.d.ts +38 -0
- package/dist/application/saved-compatibility.js +20 -0
- package/dist/application/saved-evidence.d.ts +17 -11
- package/dist/application/saved-evidence.js +44 -40
- package/dist/application/saved-exploration.d.ts +57 -0
- package/dist/application/saved-exploration.js +21 -0
- package/dist/application/saved-paths.d.ts +58 -0
- package/dist/application/saved-paths.js +20 -0
- package/dist/application/semantic-run.d.ts +1 -1
- package/dist/extraction/call-syntax.d.ts +18 -0
- package/dist/extraction/call-syntax.js +61 -0
- package/dist/extraction/canonical-document-links.d.ts +5 -1
- package/dist/extraction/canonical-document-links.js +4 -4
- package/dist/extraction/code-inventory.d.ts +6 -0
- package/dist/extraction/code-inventory.js +26 -0
- package/dist/extraction/document-code-bindings.d.ts +14 -0
- package/dist/extraction/document-code-bindings.js +121 -0
- package/dist/extraction/document-obligations.d.ts +12 -0
- package/dist/extraction/document-obligations.js +112 -0
- package/dist/extraction/mapping-candidates.d.ts +13 -0
- package/dist/extraction/mapping-candidates.js +46 -0
- package/dist/extraction/mapping-output.d.ts +75 -0
- package/dist/extraction/mapping-output.js +53 -0
- package/dist/extraction/mapping-plan.d.ts +7 -0
- package/dist/extraction/mapping-plan.js +117 -0
- package/dist/extraction/mapping-prompt.d.ts +2 -0
- package/dist/extraction/mapping-prompt.js +17 -0
- package/dist/extraction/mapping-provider.d.ts +15 -0
- package/dist/extraction/mapping-provider.js +60 -0
- package/dist/extraction/mapping-request.d.ts +3 -0
- package/dist/extraction/mapping-request.js +32 -0
- package/dist/extraction/ontology.d.ts +2 -0
- package/dist/extraction/ontology.js +28 -13
- package/dist/extraction/routing.js +5 -20
- package/dist/extraction/scip-occurrences.d.ts +3 -0
- package/dist/extraction/scip-occurrences.js +102 -0
- package/dist/extraction/scip-ranges.d.ts +6 -0
- package/dist/extraction/scip-ranges.js +31 -0
- package/dist/extraction/scip-runtime.d.ts +39 -0
- package/dist/extraction/scip-runtime.js +8 -0
- package/dist/extraction/scip-symbols.d.ts +21 -0
- package/dist/extraction/scip-symbols.js +91 -0
- package/dist/extraction/semantic.d.ts +1 -1
- package/dist/extraction/semantic.js +5 -17
- package/dist/extraction/static-calls.d.ts +10 -0
- package/dist/extraction/static-calls.js +133 -0
- package/dist/extraction/static.d.ts +3 -20
- package/dist/extraction/static.js +8 -84
- package/dist/extraction/symbol-resolution.d.ts +12 -0
- package/dist/extraction/symbol-resolution.js +51 -0
- package/dist/extraction/symbol-selectors.d.ts +11 -0
- package/dist/extraction/symbol-selectors.js +51 -0
- package/dist/graph/binding-rdf.d.ts +7 -0
- package/dist/graph/binding-rdf.js +109 -0
- package/dist/graph/call-rdf.d.ts +4 -0
- package/dist/graph/call-rdf.js +94 -0
- package/dist/graph/call-shapes.d.ts +2 -0
- package/dist/graph/call-shapes.js +28 -0
- package/dist/graph/code-coverage-projection.d.ts +9 -0
- package/dist/graph/code-coverage-projection.js +117 -0
- package/dist/graph/code-coverage-renderer.d.ts +2 -0
- package/dist/graph/code-coverage-renderer.js +15 -0
- package/dist/graph/code-coverage-request.d.ts +6 -0
- package/dist/graph/code-coverage-request.js +19 -0
- package/dist/graph/code-coverage.d.ts +6 -0
- package/dist/graph/code-coverage.js +54 -0
- package/dist/graph/code-description.d.ts +4 -0
- package/dist/graph/code-description.js +24 -0
- package/dist/graph/code-rdf.d.ts +6 -0
- package/dist/graph/code-rdf.js +79 -0
- package/dist/graph/compatibility-context.d.ts +2 -0
- package/dist/graph/compatibility-context.js +18 -0
- package/dist/graph/compatibility-renderer.d.ts +2 -0
- package/dist/graph/compatibility-renderer.js +45 -0
- package/dist/graph/compatibility-request.d.ts +3 -0
- package/dist/graph/compatibility-request.js +18 -0
- package/dist/graph/compatibility.d.ts +7 -0
- package/dist/graph/compatibility.js +67 -0
- package/dist/graph/constraint-comparison.d.ts +7 -0
- package/dist/graph/constraint-comparison.js +49 -0
- package/dist/graph/coverage.d.ts +2 -2
- package/dist/graph/coverage.js +8 -3
- package/dist/graph/diagnostics.d.ts +1 -1
- package/dist/graph/diagnostics.js +10 -6
- package/dist/graph/evidence-description.d.ts +3 -0
- package/dist/graph/evidence-description.js +13 -0
- package/dist/graph/identity-preflight.js +1 -1
- package/dist/graph/neighborhood-renderer.d.ts +2 -0
- package/dist/graph/neighborhood-renderer.js +38 -0
- package/dist/graph/neighborhood-request.d.ts +9 -0
- package/dist/graph/neighborhood-request.js +37 -0
- package/dist/graph/neighborhood.d.ts +8 -0
- package/dist/graph/neighborhood.js +100 -0
- package/dist/graph/obligation-rdf.d.ts +5 -0
- package/dist/graph/obligation-rdf.js +67 -0
- package/dist/graph/obligation-shapes.d.ts +2 -0
- package/dist/graph/obligation-shapes.js +32 -0
- package/dist/graph/partitioned-shacl.d.ts +14 -0
- package/dist/graph/partitioned-shacl.js +66 -0
- package/dist/graph/path-request.d.ts +11 -0
- package/dist/graph/path-request.js +24 -0
- package/dist/graph/path-search.d.ts +45 -0
- package/dist/graph/path-search.js +101 -0
- package/dist/graph/paths-renderer.d.ts +2 -0
- package/dist/graph/paths-renderer.js +36 -0
- package/dist/graph/paths.d.ts +7 -0
- package/dist/graph/paths.js +74 -0
- package/dist/graph/query.js +23 -6
- package/dist/graph/rdf-partitions.d.ts +24 -0
- package/dist/graph/rdf-partitions.js +170 -0
- package/dist/graph/rdf-projection.d.ts +7 -0
- package/dist/graph/rdf-projection.js +27 -0
- package/dist/graph/rdf-records.d.ts +12 -0
- package/dist/graph/rdf-records.js +90 -0
- package/dist/graph/rdf.d.ts +10 -10
- package/dist/graph/rdf.js +84 -89
- package/dist/graph/shacl-shapes.js +70 -0
- package/dist/graph/snapshot-context.d.ts +3 -0
- package/dist/graph/snapshot-context.js +8 -0
- package/dist/graph/validation-progress.d.ts +4 -1
- package/dist/index.d.ts +23 -0
- package/dist/index.js +22 -0
- package/dist/infrastructure/json-digest.d.ts +3 -0
- package/dist/infrastructure/json-digest.js +3 -0
- package/dist/infrastructure/unique-json.d.ts +2 -0
- package/dist/infrastructure/unique-json.js +20 -0
- package/dist/interfaces/cli.js +33 -1
- package/dist/interfaces/code-coverage.d.ts +46 -0
- package/dist/interfaces/code-coverage.js +18 -0
- package/dist/interfaces/graph-compatibility.d.ts +35 -0
- package/dist/interfaces/graph-compatibility.js +21 -0
- package/dist/interfaces/graph-exploration.d.ts +59 -0
- package/dist/interfaces/graph-exploration.js +27 -0
- package/dist/interfaces/graph-paths.d.ts +77 -0
- package/dist/interfaces/graph-paths.js +31 -0
- package/dist/interfaces/graph-query-args.d.ts +2 -0
- package/dist/interfaces/graph-query-args.js +25 -0
- package/dist/interfaces/mapping-proposals.d.ts +204 -0
- package/dist/interfaces/mapping-proposals.js +74 -0
- package/dist/interfaces/mcp.js +31 -3
- package/dist/storage/mapping-proposals.d.ts +9 -0
- package/dist/storage/mapping-proposals.js +42 -0
- package/dist/storage/storage.d.ts +3 -0
- package/dist/storage/storage.js +37 -13
- package/dist/storage/streaming-json.d.ts +5 -0
- package/dist/storage/streaming-json.js +45 -0
- package/dist/visualization/evidence-sources.d.ts +6 -0
- package/dist/visualization/evidence-sources.js +19 -0
- package/dist/visualization/viewer-interaction.d.ts +5 -8
- package/dist/visualization/viewer-interaction.js +46 -44
- package/dist/visualization/visualization.js +14 -5
- package/docs/1.0-WORK-QUEUE.md +48 -0
- package/docs/ADR-029-exact-graph-neighborhoods.md +70 -0
- package/docs/ADR-030-bounded-evidence-paths.md +97 -0
- package/docs/ADR-031-code-extractor-selection.md +91 -0
- package/docs/ADR-032-scip-code-evidence.md +73 -0
- package/docs/ADR-033-document-symbol-bindings.md +83 -0
- package/docs/ADR-034-mapping-gaps.md +80 -0
- package/docs/ADR-035-static-call-evidence.md +78 -0
- package/docs/ADR-036-contract-obligation-declarations.md +124 -0
- package/docs/ADR-037-selected-contract-compatibility.md +93 -0
- package/docs/ADR-038-monorepo-code-coverage.md +105 -0
- package/docs/ADR-039-mapping-proposals.md +119 -0
- package/docs/ADR-040-bounded-graph-io.md +90 -0
- package/docs/GRAPHIFY-EVALUATION.md +21 -4
- package/docs/PRE-1.0-BASELINE.md +49 -2
- package/docs/RELEASE-1.0-PLAN.md +14 -2
- package/docs/RELEASING.md +3 -3
- package/docs/ROADMAP.md +27 -6
- package/docs/VALIDATION.md +521 -14
- package/docs/benchmarks/large-graph-2026-11-02/result.json +156 -0
- package/docs/extraction-manifest.json +266 -23
- package/package.json +10 -4
- package/templates/context-graph-development/SKILL.md +30 -1
package/docs/VALIDATION.md
CHANGED
|
@@ -1,5 +1,128 @@
|
|
|
1
1
|
# Validation evidence
|
|
2
2
|
|
|
3
|
+
## 0.7.0 large-graph field blocker follow-up, 2026-11-02
|
|
4
|
+
|
|
5
|
+
Status: public capacity qualification and hosted Linux/Windows checks pass; patch release pending.
|
|
6
|
+
Private consumer acceptance remains open.
|
|
7
|
+
[ADR 040](ADR-040-bounded-graph-io.md) records the encoding, storage and strict SHACL boundaries.
|
|
8
|
+
The consumer's reported 561,777-fact failure occurs before SHACL at whole-graph canonical
|
|
9
|
+
string construction. Its prior snapshots remain readable; no private inputs were imported here.
|
|
10
|
+
|
|
11
|
+
Local Linux checks currently establish:
|
|
12
|
+
|
|
13
|
+
- Production build and 38 core tests pass, including an independently checked canonical hash
|
|
14
|
+
larger than V8's actual string ceiling. Existing encoding and persisted-JSON digest semantics
|
|
15
|
+
are retained, including optional fields and Unicode boundaries.
|
|
16
|
+
- 65 focused lifecycle, RDF parity, streaming-storage and release-documentation tests pass.
|
|
17
|
+
The frozen 0.7.0 reference verifies named/union quad sets, strict positive/negative verdicts,
|
|
18
|
+
cross-subject proof checks, SPARQL aggregates and lossless traversal projection. A separate
|
|
19
|
+
100,001-fact test removes the old projection ceiling without truncation.
|
|
20
|
+
- Fresh packed-consumer installation passes setup, preview/cache adoption, traversal hydration
|
|
21
|
+
and reuse, real SCIP, RDF/SPARQL/SHACL, HTML/DOT/SVG assets and MCP.
|
|
22
|
+
- Inventory and license checks pass; all 79 original source import path/SHA pairs are unchanged.
|
|
23
|
+
Architecture passes with 15 advisory findings: two additional complexity advisories in the
|
|
24
|
+
canonical digest visitor and RDF matching function. No baseline, exception or gate changed.
|
|
25
|
+
|
|
26
|
+
The full suite exposed a corrupt-JSON error-class compatibility regression. The streaming
|
|
27
|
+
reader now preserves SyntaxError classification for malformed/truncated input while retaining
|
|
28
|
+
I/O errors as infrastructure failures; cache-adoption CLI and strict parser regressions pass.
|
|
29
|
+
The full local pass before those fixes completed with 977 passes / 8 failures / 1 optional skip.
|
|
30
|
+
All corrupt-artifact cases pass on rerun (44 cache/preview/storage tests plus 3 CLI cases).
|
|
31
|
+
An overlapping local rebuild interrupted a compiled benchmark subprocess; its 6 tests pass after
|
|
32
|
+
the build. Seven sequential CLI launches exceeded the old aggregate 30-second setup-test budget;
|
|
33
|
+
the test now bounds each process to 30 seconds and the sequence to 180 seconds, retaining all
|
|
34
|
+
assertions (3 setup tests pass). A subsequent 29-test RDF/setup run passes. These corrections
|
|
35
|
+
do not change production operation deadlines. At `85361dbb` both hosted runs
|
|
36
|
+
[41532316889](https://github.com/jchewitt/weftlet/actions/runs/41532316889) and
|
|
37
|
+
[41532326444](https://github.com/jchewitt/weftlet/actions/runs/41532326444) pass Linux and Windows.
|
|
38
|
+
Linux passes 38 core + 985 toolkit tests (1 optional ontology integration skipped), architecture,
|
|
39
|
+
inventory, licenses and fresh packed-consumer smoke. Windows passes 38 core + 878 selected tests,
|
|
40
|
+
inventory and licenses. The final local packed-consumer rerun also passes.
|
|
41
|
+
|
|
42
|
+
At `d1498a4`, hosted push run
|
|
43
|
+
[41542970652](https://github.com/jchewitt/weftlet/actions/runs/41542970652) passes both platforms.
|
|
44
|
+
The duplicate PR run
|
|
45
|
+
[41542976891](https://github.com/jchewitt/weftlet/actions/runs/41542976891) passes Linux; Windows
|
|
46
|
+
passes 877 selected tests but times out in the four-command failure-reporting test at its
|
|
47
|
+
30-second aggregate deadline, then encounters cleanup EBUSY with the child still using its cwd.
|
|
48
|
+
The harness now retains each 20-second command limit, allows 100 seconds for the combined
|
|
49
|
+
sequence and fixture setup, and aborts/waits for child closure before cleanup. All four local
|
|
50
|
+
failure-reporting tests pass; this changes no production timeout or assertion.
|
|
51
|
+
At `4bc41fd1`, both subsequent hosted runs
|
|
52
|
+
[41545800490](https://github.com/jchewitt/weftlet/actions/runs/41545800490) and
|
|
53
|
+
[41545807452](https://github.com/jchewitt/weftlet/actions/runs/41545807452) pass Linux and Windows,
|
|
54
|
+
including the corrected test and fresh packed-consumer installation.
|
|
55
|
+
|
|
56
|
+
The optional broader test-source TypeScript check still reports existing diagnostics outside
|
|
57
|
+
the production build. An isolated archive of the base commit has the same 42 diagnostics after
|
|
58
|
+
normalizing checkout paths and ignoring its two absent-build-output errors; this patch adds none.
|
|
59
|
+
|
|
60
|
+
The [public capacity result](benchmarks/large-graph-2026-11-02/result.json) passes the complete
|
|
61
|
+
hydrate → strict validation → persist/read → unchanged repeat → clean comparison lifecycle.
|
|
62
|
+
It uses 1,100 TypeScript modules with 40 functions each, actual SCIP, spec files and 18
|
|
63
|
+
deterministic prose extractions, with zero live model calls. The run produced **554,516 facts /
|
|
64
|
+
143,044 nodes**, a **1,021,806,445-byte snapshot**, and a **5,331,139,680-byte N-Quads export**
|
|
65
|
+
containing 21,522,256 quads. Every exported record was parsed and matched by ID and canonical
|
|
66
|
+
digest. Bounded real SPARQL and the complete record projection pass without dropping facts.
|
|
67
|
+
|
|
68
|
+
All three full strict SHACL passes succeed: cold **2,099,768 ms**, repeat **2,225,093 ms**, and
|
|
69
|
+
clean **2,096,881 ms** (about 35–37 minutes each). Both repeat and clean reuse all 18 artifacts
|
|
70
|
+
with zero further extraction. Snapshot identity on repeat, logical/content digests, exact
|
|
71
|
+
provenance, extractor versions, cache keys, original snapshot bytes and all semantic artifact
|
|
72
|
+
bytes are retained. The complete harness took 8,841,003 ms, including three indexing/validation
|
|
73
|
+
runs, large-file round trips, independent assertions and fixture cleanup. This establishes
|
|
74
|
+
capacity/correctness, **not a 30-minute hydration budget** or private-workload performance.
|
|
75
|
+
Other local checks overlapped part of the run; it is not an isolated comparative benchmark.
|
|
76
|
+
|
|
77
|
+
An independent read of the saved 554,516 facts confirms that 938,267,270 characters of logical
|
|
78
|
+
canonical encoding hash to
|
|
79
|
+
`e6965407b8a8d76ed6d2d7ef8d2daa0297059b5fb327723cd49e73233865c001`
|
|
80
|
+
under both the legacy per-record encoding with exact array separators and `stableJsonDigest`.
|
|
81
|
+
That assertion is now also in the lifecycle harness; its scaled CI fixture passes.
|
|
82
|
+
The long-running capacity process predates the final negative-path shape/error guards and
|
|
83
|
+
harness corrections. Those changes pass separately in the hosted checks above; this is not
|
|
84
|
+
claimed as an exact-final-head large-corpus rerun. Native Windows field acceptance, live provider
|
|
85
|
+
quality and optional openCAESAR runtime remain separate checks.
|
|
86
|
+
|
|
87
|
+
## 0.7.0 acceptance release disposition, 2026-11-02
|
|
88
|
+
|
|
89
|
+
The maintainer authorized publishing the accumulated B1–B5 implementation for live TradePilot
|
|
90
|
+
acceptance before running the new optional proposal integration. Its live model accuracy and
|
|
91
|
+
usefulness validation are **tentative and deferred**. Earlier HDesk and reported consumer Codex
|
|
92
|
+
hydration remain evidence for the established extraction flow at their recorded versions; they
|
|
93
|
+
do not establish a live pass for the new proposal operation or this candidate.
|
|
94
|
+
|
|
95
|
+
Implementation commit `ff053c23585809bbee1931c65cd411b70bb1af18` passed hosted Linux/Windows checks
|
|
96
|
+
in run [41502699634](https://github.com/jchewitt/weftlet/actions/runs/41502699634). The initial
|
|
97
|
+
0.7.0 version PR head `7b20066635547e2bd73dd1d017d3818ba1fdc5ee` also passed both hosted jobs in
|
|
98
|
+
run [41502753047](https://github.com/jchewitt/weftlet/actions/runs/41502753047). Final release
|
|
99
|
+
documentation, archive preparation, npm publication and exact source tags are verified by the
|
|
100
|
+
release PR and publishing workflow; this source checkpoint does not claim their completion.
|
|
101
|
+
|
|
102
|
+
The public pipeline extraction/SCIP/RDF test was rerun successfully to generate the saved HTML
|
|
103
|
+
viewer. No live model request or browser interaction was performed. Candidate consumer
|
|
104
|
+
hydration/reuse, agent usefulness and browser inspection remain acceptance work; official 1.0
|
|
105
|
+
is not approved by this disposition.
|
|
106
|
+
|
|
107
|
+
Release PR follow-up: at `8880cbfc3ccc4dce59bbedb4bf7192c1f72c2b0a`, push run
|
|
108
|
+
[41508871410](https://github.com/jchewitt/weftlet/actions/runs/41508871410) passed Linux
|
|
109
|
+
(988 deterministic tests and packed-consumer smoke) and Windows (35 core + 846 selected tests).
|
|
110
|
+
The duplicate PR run [41508881495](https://github.com/jchewitt/weftlet/actions/runs/41508881495)
|
|
111
|
+
passed Linux but hit a 30-second aggregate CLI test timeout and cleanup EBUSY on Windows.
|
|
112
|
+
Its single failed-job retry passed that test, then hit synchronous frozen-study test deadlines
|
|
113
|
+
and a Vitest worker RPC timeout. The harness correction runs the actual Git-backed study checker
|
|
114
|
+
and compiler in bounded asynchronous child processes, and gives multi-command cases an aggregate
|
|
115
|
+
deadline longer than their individual command budgets. No assertion, frozen input, production
|
|
116
|
+
validator, provider timeout or graph behavior is changed. Final hosted results belong to the
|
|
117
|
+
corrected release PR head; the earlier failures are retained rather than recorded as passes.
|
|
118
|
+
At `39ca29f766563781281a57ff6a2194fa81d01267`, both Linux jobs and the push Windows job passed.
|
|
119
|
+
The duplicate PR Windows job passed the corrected suites but exceeded the separate 60-second
|
|
120
|
+
aggregate deadline for one hydration plus three indexed/RDF overlays in the traversal lifecycle
|
|
121
|
+
case. That case now has a 180-second harness budget with every assertion retained. This is not
|
|
122
|
+
a changed runtime deadline or a performance acceptance result; production code remains unchanged.
|
|
123
|
+
|
|
124
|
+
## Environment and historical evidence
|
|
125
|
+
|
|
3
126
|
Environment: Linux cloud, Node 24.19.0, pnpm 10.18.2. Source imported from
|
|
4
127
|
`fda97e0146099543aeaa6b338ef2b0e9fab0d1d6`. No source application was built or changed.
|
|
5
128
|
|
|
@@ -8,21 +131,392 @@ The milestone entries below record the original cloud checks. Subsequent
|
|
|
8
131
|
establishes live Codex success on Windows and the full deterministic checks on WSL,
|
|
9
132
|
while identifying remaining native Windows issues.
|
|
10
133
|
|
|
11
|
-
##
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
134
|
+
## B5 monorepo code coverage, 2026-10-30
|
|
135
|
+
|
|
136
|
+
[ADR 038](ADR-038-monorepo-code-coverage.md) records saved source selection separately from
|
|
137
|
+
actual SCIP documents and graph connections. The [public protocol](../evaluations/monorepo-coverage/README.md)
|
|
138
|
+
uses real committed multi-package TypeScript/TSX, aliases/barrels, an independent selected service,
|
|
139
|
+
an omitted service, an empty source, declaration-only targets and an unresolved external call.
|
|
140
|
+
Six integration tests pass, comparing every indexed flag to the normalized binary SCIP document
|
|
141
|
+
list and the derived overview to the lossless RDF projection. Source selection differs from code
|
|
142
|
+
roots: the real probe did not emit an imported file outside the selected entries, and the report
|
|
143
|
+
retains that absence plus references without an indexed definition.
|
|
144
|
+
|
|
145
|
+
Bounded package/file pagination, cursor binding, unknown legacy coverage, corrupted inventory,
|
|
146
|
+
shared query/viewer overview, API/CLI/MCP equivalence, dirty unavailable-provider queries, unchanged
|
|
147
|
+
semantic reuse and clean comparison pass. Draft rename/delete and expanded committed scope update
|
|
148
|
+
coverage while preserving historical snapshots and current-diff ineligibility. Three inventory
|
|
149
|
+
unit tests and 17 strict interface tests complement the six integration tests. The existing
|
|
150
|
+
commit-keyed hydration regression also passes after the deliberate assembly 12 bump. Strict test
|
|
151
|
+
typechecking passes, and architecture retains the existing 13 advisories without new baselines
|
|
152
|
+
or exceptions. Full publication and hosted Linux/Windows results are recorded in the change PR
|
|
153
|
+
after execution, including installed coverage API/CLI/MCP checks.
|
|
154
|
+
|
|
155
|
+
No private application, paid/model request, dependency, inference approval or npm publication is
|
|
156
|
+
part of this increment. Scope is regular committed TypeScript-family files grouped by physical
|
|
157
|
+
package manifest boundaries, not arbitrary compiler projects, all languages or runtime/business
|
|
158
|
+
completeness. B3b's inference decision and B6 qualification/live acceptance remain open.
|
|
159
|
+
|
|
160
|
+
## B4b selected contract comparison, 2026-10-30
|
|
161
|
+
|
|
162
|
+
[ADR 037](ADR-037-selected-contract-compatibility.md) adds a read-only exact assertion-pair
|
|
163
|
+
assessment through API/CLI/MCP. [The public protocol](../evaluations/contract-compatibility/README.md)
|
|
164
|
+
predeclares eleven source cases and retrieval bounds. Fifteen integration tests exercise actual
|
|
165
|
+
committed Markdown extraction, real SCIP/RDF/SHACL, numeric compatibility/insufficiency/disjointness,
|
|
166
|
+
required revalidation, unknowns, unrelated domains and competing assertions. They retain exact
|
|
167
|
+
facts, source authority and endpoint revisions; retrieve consumer symbol/test references; and
|
|
168
|
+
execute the public consumer freshness check separately from the graph verdict. Assessment never
|
|
169
|
+
claims code fulfillment or CI eligibility. The pure arithmetic suite checks all 81 operator/boundary
|
|
170
|
+
combinations against a finite-set oracle plus context negatives; interface tests reject malformed
|
|
171
|
+
requests. There are 42 new deterministic tests across these three files.
|
|
172
|
+
|
|
173
|
+
Unchanged hydration reuses all 23 semantic artifacts with unchanged snapshot identity/content.
|
|
174
|
+
API/CLI/MCP JSON agrees while dirty and the configured provider/indexer are unavailable. Draft
|
|
175
|
+
edits, document renames and deletions replace/invalidate declarations without changing saved
|
|
176
|
+
committed evidence. Strict test typechecking and architecture checks pass (the existing 13
|
|
177
|
+
advisories, with no new baseline or exceptions). Full publication and hosted checks are recorded
|
|
178
|
+
in the change PR after execution. No private source, model request, new dependency, extraction
|
|
179
|
+
identity change or npm publication is part of this increment. B5, the B3b inference decision and
|
|
180
|
+
B6 candidate/live acceptance remain open; this is not a product-wide compatibility proof.
|
|
181
|
+
|
|
182
|
+
## B4a cited contract obligations, 2026-10-30
|
|
183
|
+
|
|
184
|
+
[ADR 036](ADR-036-contract-obligation-declarations.md) adds optional explicit Markdown declarations
|
|
185
|
+
for producer guarantees and consumer requirements. Eight new public extraction/query tests pass
|
|
186
|
+
with real committed sources, TypeScript indexing, RDF/SHACL and an empty offline semantic provider.
|
|
187
|
+
Fourteen public core-contract tests cover exact scoped identities, unknown fields and invalid input.
|
|
188
|
+
The tests retain document fence spans and endpoint revisions, source approval separate from
|
|
189
|
+
assertion authority, missing endpoints/counterparts, unrelated scopes and unknown versions. Agent
|
|
190
|
+
pagination/paths/impact and SPARQL projection expose the same facts; the viewer retains endpoint
|
|
191
|
+
navigation. Strict corruption checks and named/union SHACL parity pass. Repeat hydration reuses
|
|
192
|
+
all nine semantic artifacts with unchanged snapshot identity/content; clean comparison, dirty saved
|
|
193
|
+
queries and draft document/endpoint edits, deletes and renames pass. Strict test typechecking passes.
|
|
194
|
+
|
|
195
|
+
At `a070ca68a3354f425cf8b506bdd3d0a76df32f5b`, the full local deterministic suite passes
|
|
196
|
+
**886 tests** (35 core + 851 toolkit/example/script),
|
|
197
|
+
with one optional OML integration test skipped. Build, release-documentation consistency,
|
|
198
|
+
architecture (the existing 13 advisories), inventory, licenses and fresh packed npm/npx consumer
|
|
199
|
+
smoke pass. The installed consumer exercises the public obligation extractor and both contract
|
|
200
|
+
sides alongside real SCIP/RDF/SHACL/MCP. Hosted Linux/Windows results are recorded in the change PR.
|
|
201
|
+
No new architecture baseline/exception, dependency, private consumer input or model request is used.
|
|
202
|
+
All 79 original imported path/hash pairs remain unchanged. B4b compatibility acceptance, inference
|
|
203
|
+
proposal review, monorepo coverage and candidate/live qualification remain separate queue items.
|
|
204
|
+
Structured declaration parsing does not prove fulfillment, delivery, compatibility or model quality.
|
|
205
|
+
|
|
206
|
+
Final review additionally checks source and endpoint text against the committed Git blob ID,
|
|
207
|
+
rejecting lossy non-UTF-8 decoding before recording a digest. A real committed binary negative
|
|
208
|
+
raises the focused suite to eight tests; final build, all eight tests, strict typechecking and
|
|
209
|
+
architecture checks pass. Final installed-consumer and hosted checks are recorded in PR #61.
|
|
210
|
+
|
|
211
|
+
## B3c static call evidence, 2026-10-29
|
|
212
|
+
|
|
213
|
+
[ADR 035](ADR-035-static-call-evidence.md) adds actual TypeScript call/new syntax joined to exact
|
|
214
|
+
SCIP identities. The [public observation](../evaluations/static-calls/README.md) records clean
|
|
215
|
+
commit `98eafa99375fdd1d37333409e4e666bf7f5b0924`: 237 facts, 33 calls and nine explicit gaps;
|
|
216
|
+
one cold semantic extraction, one repeat reuse and unchanged snapshot identity/content. The
|
|
217
|
+
caller/callee query returns three callsites in two pages (19,181 bytes); the bounded helper-to-rule
|
|
218
|
+
search exhausts its selected space with two paths and 52 candidate-edge examinations.
|
|
219
|
+
|
|
220
|
+
Eight real-extraction acceptance tests cover private/local functions, recursive/repeated calls,
|
|
221
|
+
shadowing, aliases, overloads, TSX, BOM/Unicode, callbacks/value uses, external/bodyless targets,
|
|
222
|
+
decorators/initializers/defaults, source/proof validation, shared queries, line shifts, rename/delete
|
|
223
|
+
and draft replacement. Negative SHACL/provenance/authority tests reject forged calls. Named and
|
|
224
|
+
union shape verdicts agree; full RDF projection preserves assertions. The semantic schema still
|
|
225
|
+
rejects call assertions, and its provider/prompt/cache identity remains unchanged. No paid or
|
|
226
|
+
private consumer request was used. Strict typechecking passes for the evaluator and tests.
|
|
227
|
+
|
|
228
|
+
Architecture remains at the existing 13 advisory findings; no new baseline or exception was
|
|
229
|
+
accepted. A bounded 10,000-fact synthetic shared-node SHACL smoke completed in about 2.25 seconds
|
|
230
|
+
of validation with unchanged serialized evidence. That case contains ordinary facts, not a
|
|
231
|
+
large call graph, and is not a comparative benchmark or private workload result. The new call
|
|
232
|
+
shapes target call records directly. Complete local publication and hosted Windows/Linux checks
|
|
233
|
+
are required before merge; the packed consumer now exercises the shipped parser and call proofs.
|
|
234
|
+
All 79 original source path/hash pairs and frozen B2/B3b inputs/results remain unchanged.
|
|
235
|
+
|
|
236
|
+
B3c subsequently passed the complete local publication gate (865 deterministic tests), final-source
|
|
237
|
+
focused/packed checks and [hosted PR Linux/Windows checks](https://github.com/jchewitt/weftlet/actions/runs/40991862219)
|
|
238
|
+
at `00643bba3abb5899ed3d0c1ce92d991152bce7aa`. PR #60 merged as `2aaaf6749955162fa4b82a3f6ecfe8f98601e04e`;
|
|
239
|
+
[main checks](https://github.com/jchewitt/weftlet/actions/runs/40992894407) also passed. No npm release was made.
|
|
240
|
+
|
|
241
|
+
## B3b mapping gaps and Windows study reliability, 2026-10-29
|
|
242
|
+
|
|
243
|
+
[ADR 034](ADR-034-mapping-gaps.md) records ten predeclared public cases, real SCIP/RDF/SHACL
|
|
244
|
+
and exact agent queries. The clean evaluator run matches all ten states, publishes 111 facts,
|
|
245
|
+
extracts eight documents cold and reuses all eight unchanged with identical snapshot identity
|
|
246
|
+
and content digest. No misleading-name mapping or missed direct binding appears. Structural
|
|
247
|
+
paths retain explicit truncation; they are not promoted into implementation claims. Public
|
|
248
|
+
requests, responses, proofs, limits and measured timings are retained in the linked report.
|
|
249
|
+
The provider is a fixed offline grammar; no paid request or model-quality result is claimed.
|
|
250
|
+
|
|
251
|
+
GitHub PR #58's [retry](https://github.com/jchewitt/weftlet/actions/runs/40966207307) and
|
|
252
|
+
[main checks](https://github.com/jchewitt/weftlet/actions/runs/40968675537) passed. Historical
|
|
253
|
+
failed attempts remain visible. Their recurring native Windows frozen-study timeout motivated
|
|
254
|
+
batched immutable Git reads, immutable fixture-input reuse and yielding between synchronous
|
|
255
|
+
cases. All eight frozen-study cases pass locally without increasing the 30-second limit or
|
|
256
|
+
changing frozen B2 inputs/results. Three new assessment tests and strict evaluator typechecking
|
|
257
|
+
pass. Full local publication and hosted Windows/Linux checks are required for this change.
|
|
258
|
+
|
|
259
|
+
The release version PR remains open. Browser interaction, live inference evaluation and private
|
|
260
|
+
consumer acceptance remain separate; nothing in this assessment publishes an npm release.
|
|
261
|
+
|
|
262
|
+
## B3a explicit document-to-symbol bindings, 2026-10-29
|
|
263
|
+
|
|
264
|
+
[ADR 033](ADR-033-document-symbol-bindings.md) adds cited explicit mappings after semantic and
|
|
265
|
+
code extraction. Focused public tests pass with real SCIP and an offline deterministic prose
|
|
266
|
+
provider: functions/private methods, duplicate names, native qualification, overloads, re-export
|
|
267
|
+
aliases, declaration-only targets, UTF-8 BOM offsets and reference-style Markdown. Missing,
|
|
268
|
+
ambiguous and stale-byte targets produce gaps rather than guessed links. The public extractor
|
|
269
|
+
checks committed source and definition bytes. Named-dataset and union SHACL agree on the new
|
|
270
|
+
shape cases; consistency checks reject missing/mismatched proof facts and authority promotion.
|
|
271
|
+
|
|
272
|
+
Agent neighborhoods/paths, impact scans, SPARQL and the viewer expose the same binding facts.
|
|
273
|
+
Bindings retain selected occurrences, all indexed definitions, source citations and original
|
|
274
|
+
subject assertion authority/review. Tests verify unchanged semantic reuse and clean comparison,
|
|
275
|
+
dirty saved querying, overlay source edits/deletions/renames and invalidation of withdrawn rules.
|
|
276
|
+
Traversal-selected validation documents can supply cited test mappings without model extraction
|
|
277
|
+
or product-intent promotion. No private consumer or paid/live provider request was used.
|
|
278
|
+
|
|
279
|
+
The initial full Linux publication gate passed **853 deterministic tests** (21 core + 832 toolkit;
|
|
280
|
+
optional OML integration skipped), build, inventory, licenses and fresh packed npm/npx consumer
|
|
281
|
+
smoke including real SCIP/RDF/SHACL and MCP. Follow-up review added code-derived contract-subject
|
|
282
|
+
coverage, corrected omission of unset optional proof fields for exact JSON projection, and separated
|
|
283
|
+
citation/parsing/proof checks into focused helpers. The 23-test selector/integration suite passes;
|
|
284
|
+
architecture is back to the existing **13 advisory findings**, with no new baseline or exception.
|
|
285
|
+
All 79 original source path/hash pairs remain intact. Final aggregate and hosted Windows/Linux
|
|
286
|
+
checks are required on the change PR. Browser interaction, live model quality and private consumer
|
|
287
|
+
acceptance remain separate.
|
|
288
|
+
|
|
289
|
+
## B3a precise SCIP evidence, 2026-10-29
|
|
290
|
+
|
|
291
|
+
[ADR 032](ADR-032-scip-code-evidence.md) adds typed code entities and exact occurrences to the
|
|
292
|
+
existing projection. It does not yet implement explicit intent-to-symbol binding or actual calls.
|
|
293
|
+
The new public integration fixture uses real committed TypeScript, SCIP, hydration, strict SHACL
|
|
294
|
+
and RDF/SPARQL equivalence. Its 3,000-line file is explicitly padded with comments; the functional
|
|
295
|
+
cases cover repeated same-line references, Unicode columns, recursive references, private methods,
|
|
296
|
+
local arrow range limits, overload declaration spans, UTF-8 BOM first-line offsets, independent
|
|
297
|
+
mocks and cross-file use.
|
|
298
|
+
It is a location/isolation regression with a predeclared 300-fact/60-second hydration ceiling,
|
|
299
|
+
not a representative monorepo benchmark.
|
|
300
|
+
|
|
301
|
+
Exact neighbor pagination and paths preserve cited evidence. Shared unresolved external symbols
|
|
302
|
+
remain queryable without automatically joining unrelated co-users in impact scans; diagnostic ID
|
|
303
|
+
examples are bounded to 100 with total/omitted state. Repeat output is identical, and edited,
|
|
304
|
+
renamed/deleted code is replaced in a draft overlay while prior evidence remains unchanged.
|
|
305
|
+
New negative checks retain strict kind cardinality and reject malformed source/identity metadata,
|
|
306
|
+
role/enclosure inconsistencies and invalid ranges. Native zero-width anchors and arrow initializer
|
|
307
|
+
extents are preserved instead of imposing a false name-containment requirement.
|
|
308
|
+
|
|
309
|
+
Existing coverage and traversal tests now include the additional code facts and follow continuation
|
|
310
|
+
when they no longer fit on one page. Static test source remains implemented evidence, not an
|
|
311
|
+
execution verdict. Semantic artifact identities are unchanged; extraction/assembly identity requires
|
|
312
|
+
a code refresh. The frozen B2 comparison is unchanged and all 79 original source path/hash pairs
|
|
313
|
+
remain intact. No private source or live model/provider request was used for this increment.
|
|
314
|
+
|
|
315
|
+
Before the additional BOM regression, the local aggregate publication gate passes build, **828 deterministic tests** (21 core + 807
|
|
316
|
+
toolkit; optional OML integration skipped), architecture with the existing 13 advisory findings,
|
|
317
|
+
release documentation, inventory, license checks and fresh packed-consumer smoke. The installed
|
|
318
|
+
consumer exercises the public core factory, new runtime modules, real SCIP/RDF/SHACL and MCP.
|
|
319
|
+
Hosted Linux passes the same gate. The initial native Windows branch run passes 700 selected
|
|
320
|
+
toolkit tests and 21 core tests. The concurrent PR run passes every new SCIP case but hits an
|
|
321
|
+
existing timeout-fixture startup race: its 250 ms module deadline expires on the first source,
|
|
322
|
+
before the deliberately blocked second source. The test-only deadline is now 2 seconds; timeout,
|
|
323
|
+
completed-artifact reuse, privacy and old-snapshot assertions remain unchanged. Hosted results
|
|
324
|
+
for that correction are recorded with the change PR. A final real-indexer probe also showed that
|
|
325
|
+
TypeScript strips a leading UTF-8 BOM: the new projection now translates first-line columns back
|
|
326
|
+
to committed text. Its 18 focused range/hydration tests pass, including first-line names, zero-width
|
|
327
|
+
anchors, multiline extents, subsequent lines and unchanged repeat. Final aggregate/hosted results
|
|
328
|
+
are recorded with the change PR. Browser interaction, live
|
|
329
|
+
provider quality, private large-graph volume/usefulness and the 1.0 acceptance decision remain
|
|
330
|
+
separate. Release PR #53 stays open; this increment does not publish npm packages.
|
|
331
|
+
|
|
332
|
+
## B2b measured extractor decision, 2026-10-29
|
|
333
|
+
|
|
334
|
+
[ADR 031](ADR-031-code-extractor-selection.md) selects retaining SCIP and exposing richer
|
|
335
|
+
code entities/occurrences in B3a. This increment changes research tooling and records only;
|
|
336
|
+
no production schema, indexer or dependency change and no npm publication.
|
|
337
|
+
|
|
338
|
+
The [public evidence record](../evaluations/code-graph-results/2026-10-29/README.md) contains
|
|
339
|
+
sealed setup/harness receipts, native bytes, per-case results, corrected projections, query
|
|
340
|
+
witnesses and an explicit export inventory. Inputs remain the 72 frozen files at `f1844f3`,
|
|
341
|
+
digest `04fa4584bd80a9b1a1d964420dcaf35b5e8c61a67515cc57e2476fd44fa798b3`.
|
|
342
|
+
Sixteen fully recorded scenario runs are replayed after two disclosed normalization corrections;
|
|
343
|
+
failed/interrupted attempts remain retained, and no scenario exceeds three native extractions.
|
|
344
|
+
The 342.50-second total includes those attempts and replay, below the frozen 1,800-second budget.
|
|
345
|
+
Extraction runs offline in Docker with 2 GiB cgroup memory enforcement. No paid/model or private
|
|
346
|
+
consumer inputs. Graphify is an isolated pinned source-API experiment, not a verified published
|
|
347
|
+
Python distribution or a new Weftlet runtime dependency.
|
|
348
|
+
|
|
349
|
+
Cold labeled results: raw SCIP 15/15 declaration families and 16/16 references; Graphify 14/15
|
|
350
|
+
families, 8/16 references and 7/10 native calls. Current Weftlet has coarse candidates for 7/15
|
|
351
|
+
families and 12/16 references but lacks exact occurrences. No named false-join negative was
|
|
352
|
+
asserted by the exact-track arms; unjudged edges and explicit/silent gaps remain reported.
|
|
353
|
+
Calls remain unsupported by SCIP; a reference is not reclassified as a call.
|
|
354
|
+
|
|
355
|
+
All 96 corrected graph/mode assemblies pass strict SHACL and exact RDF/SPARQL projection parity.
|
|
356
|
+
Documented asynchronous business chains, the negative missing-handoff control, shared contracts,
|
|
357
|
+
dispatch targets and assertion authority survive. Repeat/dirty normalized outputs are identical;
|
|
358
|
+
rename/delete remove old current spans, excluded projects remain explicit, unrelated identities
|
|
359
|
+
and historical snapshot hashes stay stable. These are synthetic deterministic retrieval results,
|
|
360
|
+
not live semantic quality, deployed queue delivery, compatible rule checks or private acceptance.
|
|
361
|
+
All 1,035 allowlisted artifact hashes and all 79 original extraction source path/hash pairs were
|
|
362
|
+
verified. The six-megabyte compressed evidence archive is excluded from npm package contents.
|
|
363
|
+
|
|
364
|
+
Local Linux build and **786 deterministic tests** pass (17 core + 769 toolkit; one optional OML
|
|
365
|
+
integration skipped), with the existing 13 advisory architecture findings, inventory and license
|
|
366
|
+
checks and fresh packed-consumer smoke. Twelve new scoring regressions join the native Windows
|
|
367
|
+
CI selection; the frozen-input verifier retains seven checks. Hosted results are recorded with
|
|
368
|
+
the exact change PR. This study does not validate Graphify on Windows/macOS or claim general speed ratios.
|
|
369
|
+
Release PR #53 remains open for the later candidate; B3a is next.
|
|
370
|
+
|
|
371
|
+
## B2a frozen code-extractor comparison, 2026-10-29
|
|
372
|
+
|
|
373
|
+
The [comparison note](GRAPHIFY-EVALUATION.md) now points to a committed public corpus and
|
|
374
|
+
predeclared protocol: current Weftlet SCIP projection, richer raw SCIP and pinned Graphify
|
|
375
|
+
static extraction. There are 51 labeled declaration/reference/call cases, three explicit-gap
|
|
376
|
+
requirements, three business controls and eight edit/coverage scenarios. The 72 input files
|
|
377
|
+
have inventory digest `04fa4584bd80a9b1a1d964420dcaf35b5e8c61a67515cc57e2476fd44fa798b3`.
|
|
378
|
+
The measurement receipt must identify the full freeze commit as well as this digest.
|
|
379
|
+
|
|
380
|
+
Seven focused checks validate both configuration templates and typecheck both public corpora,
|
|
381
|
+
reject changed/extra inputs, ambiguous anchors, contradictory labels, unsafe paths and broken
|
|
382
|
+
edits/renames, and verify immutable Git blobs while the checkout is dirty. Real Git CRLF
|
|
383
|
+
conversion remains supported. No indexer or provider is invoked by these input checks.
|
|
384
|
+
Generated output is excluded; all 79 original extraction source path/hash pairs are unchanged.
|
|
385
|
+
|
|
386
|
+
Local build and 774 deterministic tests pass (17 core + 757 toolkit, one optional OML integration
|
|
387
|
+
skipped), along with architecture (the existing 13 advisory findings), inventory and licenses.
|
|
388
|
+
Hosted checks and fresh packed-consumer installation are recorded with the exact change PR.
|
|
389
|
+
The existing regression suite still exercises real SCIP and hydration on its established
|
|
390
|
+
fixtures; that is not a comparative run on the new frozen corpus.
|
|
391
|
+
|
|
392
|
+
Graphify's pinned manifest/lock project versions differ (0.9.97/0.9.96). The protocol requires an
|
|
393
|
+
explicit setup receipt before measurement; no Graphify dependency, source or service was
|
|
394
|
+
installed, and no comparative quality, timing, backend-selection or private acceptance result
|
|
395
|
+
is claimed. B2b is next. The candidate release PR remains open, with no npm upload for B2a.
|
|
396
|
+
|
|
397
|
+
## B1b bounded cited paths, 2026-10-29
|
|
398
|
+
|
|
399
|
+
[ADR 030](ADR-030-bounded-evidence-paths.md) records `graph.paths` through the public API,
|
|
400
|
+
CLI and MCP. Cited simple paths use deterministic assertion-ID depth-first order, exact saved
|
|
401
|
+
snapshot endpoints, direction/relation filters and explicit page/depth/work bounds. Continuations
|
|
402
|
+
reconstruct bounded state; replay and new steps are reported separately. Pending DFS prefixes,
|
|
403
|
+
depth-cut examples and omitted counts remain explicit. Search completion only covers selected
|
|
404
|
+
saved facts and depth, not unextracted dependencies, causality or business compatibility.
|
|
405
|
+
|
|
406
|
+
The focused integration run passed 46 tests, including an independent oracle for all 4,096
|
|
407
|
+
directed four-node graphs, competing branches/parallel citations, cycles/self-links, twelve-hop
|
|
408
|
+
paths, empty work pages, frontier bounds, stale/malformed cursors and a 100,000-step hard ceiling.
|
|
409
|
+
RDF projection comparisons retain exact facts. Actual public extraction/SCIP/RDF follows source
|
|
410
|
+
files across the collection/execution boundary through real CLI/MCP continuation while dirty
|
|
411
|
+
and with unavailable providers/indexers. Real overlays retain draft authority and capture/stale
|
|
412
|
+
state, and old snapshots remain readable after deletion. All three original MCP startup tests
|
|
413
|
+
remain enabled and pass. Missing targets in an incomplete document scope retain the exact
|
|
414
|
+
selection/exclusion record and an explicit INCOMPLETE warning.
|
|
415
|
+
|
|
416
|
+
Final local checks pass build, 767 deterministic tests (17 core + 750 toolkit; one optional OML
|
|
417
|
+
integration skipped), architecture with the existing 13 advisory findings, release documentation,
|
|
418
|
+
inventory, licenses and fresh packed-consumer smoke. The installed CLI/MCP exhaust work pages
|
|
419
|
+
and preserve both a direct Markdown route and the semantic capability route with every citation.
|
|
420
|
+
Shared snapshot metadata and CLI parsing keep neighbors/paths consistent; no architecture rule,
|
|
421
|
+
baseline or exception was changed. All 79 original source path/hash pairs remain unchanged.
|
|
422
|
+
|
|
423
|
+
The offline viewer embeds the same search function and provides next-path, direction, relation
|
|
424
|
+
and depth controls. Executing rendered controls in a small DOM harness matches the RDF service's
|
|
425
|
+
highlighted assertion IDs and continuation states, including duplicate labels and filtered
|
|
426
|
+
evidence. This proves script/projection parity, not interactive browser rendering. The former
|
|
427
|
+
viewer-only shortest-path behavior is replaced and labeled as cited deterministic paths.
|
|
428
|
+
|
|
429
|
+
Hosted results belong to the exact change PR head. No npm publication, live model quality or
|
|
430
|
+
private TradePilot acceptance is claimed. B2's frozen comparison protocol is the next task;
|
|
431
|
+
the candidate version PR remains open while B2–B5 work accumulates.
|
|
432
|
+
|
|
433
|
+
## B1a exact-node exploration, 2026-10-28
|
|
434
|
+
|
|
435
|
+
The maintainer requested the remaining 1.0 items be tasked and started, with TradePilot live
|
|
436
|
+
acceptance deferred until the next candidate. [The work queue](1.0-WORK-QUEUE.md) records B1–B6
|
|
437
|
+
increments and dependencies. The maintainer believes the 0.6.1 filename issue was the main
|
|
438
|
+
consumer blocker; this is not an additional private acceptance result.
|
|
439
|
+
|
|
440
|
+
[ADR 029](ADR-029-exact-graph-neighborhoods.md) records the additive `graph.neighbors` public
|
|
441
|
+
contract, CLI and MCP tool. Exact snapshot/node selection, direction/relation filters, assertion
|
|
442
|
+
pagination and frontier counts retain citations, source/assertion authority and node variants.
|
|
443
|
+
The shared read-side helper preserves dirty checkout, captured-overlay and subsequent-edit state.
|
|
444
|
+
No new extraction, storage identity, backend or model/provider integration is introduced.
|
|
445
|
+
|
|
446
|
+
Local release checks pass build, 736 deterministic tests (17 core + 719 toolkit; one optional
|
|
447
|
+
OML integration skipped), architecture with 13 advisory findings, inventory, licenses and fresh
|
|
448
|
+
packed-consumer installation. The existing 79 source path/hash pairs remain unchanged. The
|
|
449
|
+
public predicate list is frozen without changing its ordered values. Relevant extraction gaps,
|
|
450
|
+
including diagnostics for absent nodes, retain bounded items and explicit omitted counts.
|
|
451
|
+
Hosted results belong to the exact change PR head; this source entry does not claim hosted
|
|
452
|
+
completion or npm publication.
|
|
453
|
+
|
|
454
|
+
New focused cases retain multiple citations, cycles and self-links; test exact IDs against
|
|
455
|
+
same-label and malicious-looking inputs; exhaust pages against the RDF query; reject changed
|
|
456
|
+
snapshots/filters/page sizes and malformed/stale cursors; and preserve old snapshots when newer
|
|
457
|
+
ones no longer contain a node. Working-overlay tests cover draft authority, renames/deletions
|
|
458
|
+
and stale captures through the new service. The actual public monorepo extraction test follows
|
|
459
|
+
collection to execution's obligation and implementing file through real CLI/MCP transport while
|
|
460
|
+
the checkout is dirty and configured provider/indexer are unavailable. It uses real SCIP and
|
|
461
|
+
RDF/SHACL with a small deterministic prose provider, not a live model. Packed installation tests
|
|
462
|
+
exercise the same new CLI/MCP operation and complete its two-page assertion set without loss.
|
|
463
|
+
|
|
464
|
+
B1b multi-hop paths/viewer parity and B2's Graphify comparison remain open, followed by B3–B6.
|
|
465
|
+
No new candidate, live semantic-quality result, browser interaction or private consumer rerun
|
|
466
|
+
is claimed. A pending minor changeset accumulates toward the next acceptance candidate.
|
|
467
|
+
|
|
468
|
+
## Published 0.6.1 physical artifact filename fix, 2026-10-28
|
|
469
|
+
|
|
470
|
+
Both `@weftlet/core@0.6.1` and `@weftlet/toolkit@0.6.1` are published and verified as
|
|
471
|
+
registry `latest`. [Fix PR 49](https://github.com/jchewitt/weftlet/pull/49) merged at
|
|
472
|
+
`00e09ace22ea2cbd840d118f177b0508a60da9a7`; [release PR 50](https://github.com/jchewitt/weftlet/pull/50)
|
|
473
|
+
committed both package versions to main at `a56e7dca734b40829325cac9f377037bcfdc765d` before
|
|
474
|
+
[trusted publication](https://github.com/jchewitt/weftlet/actions/runs/40768151495). Preparation,
|
|
475
|
+
both uploads and release records passed on the first attempt. Public provenance and both
|
|
476
|
+
package-specific tags identify that release commit; both GitHub Releases exist.
|
|
477
|
+
|
|
478
|
+
[ADR 028](ADR-028-bounded-artifact-paths.md) records the bounded physical naming policy and
|
|
479
|
+
legacy read compatibility. The public traversal → unchanged repeat → clean-comparison regression
|
|
480
|
+
reproduced `ENAMETOOLONG` in real SCIP before the fix, after the first hydration/repeat succeeded.
|
|
481
|
+
It passes with full logical IDs, cited facts/provenance, cache keys and content digests preserved.
|
|
482
|
+
Long physical keys are hashed and staging names are independent; existing immutable files remain
|
|
483
|
+
readable without rewriting them. Cross-process publication guarantees and strict validation remain.
|
|
484
|
+
|
|
485
|
+
Release head `56d2db53ab2a3871d1db72cb2b0d04c99e86c9bc` passed
|
|
486
|
+
[hosted Ubuntu and Windows checks](https://github.com/jchewitt/weftlet/actions/runs/40767043720):
|
|
487
|
+
698 deterministic tests (17 core + 681 toolkit; one optional OML integration skipped), architecture
|
|
488
|
+
with 14 advisory findings, inventory, licenses and fresh packed-consumer smoke on Ubuntu;
|
|
489
|
+
571 tests plus inventory/licenses on Windows. The requested Windows traversal/repeat/clean test
|
|
490
|
+
passed, alongside 256-character keys, legacy bytes, immutable winners and concurrent heads.
|
|
491
|
+
The fix PR also passed both platforms. Local build/release checks and package dry runs passed.
|
|
492
|
+
Reviewed exports contain 13 core files and 258 toolkit files, including the runtime naming helper
|
|
493
|
+
and license notices. All 79 original source path/hash pairs are unchanged.
|
|
494
|
+
|
|
495
|
+
Downloaded public npm archives match the reviewed local and workflow-prepared archives byte for
|
|
496
|
+
byte. Provenance source and subject digests were checked; independent certificate-chain validation
|
|
497
|
+
is not claimed.
|
|
23
498
|
|
|
24
|
-
|
|
25
|
-
|
|
499
|
+
| Package | Verified SHA-512 integrity |
|
|
500
|
+
| --- | --- |
|
|
501
|
+
| `@weftlet/core@0.6.1` | `sha512-xSEjqLulXW052KvPY/Dlu5DS5mTEJQYlHrv0idC3aZIPiuiq+GWA15nJ70T/tf9XE5S4ZbvF4dKJLsom3sIdDA==` |
|
|
502
|
+
| `@weftlet/toolkit@0.6.1` | `sha512-S7iTCLWhGziTVbxBbeJIKu24j1FeuJKEnF+EbHFbH9oKRPveDzt0GnsO7s2AZn8PeDBJjUnl5+zB7X8IVL3AxA==` |
|
|
503
|
+
|
|
504
|
+
An initial install during registry propagation returned `ETARGET`; a fresh-cache retry with
|
|
505
|
+
`--prefer-online` passed. The fresh public-registry consumer on Linux / Node 24.19.0 installed
|
|
506
|
+
both exact versions and ran configuration validation, traversal hydration, unchanged repeat,
|
|
507
|
+
clean comparison and a saved
|
|
508
|
+
snapshot query through the packaged CLI. The deterministic public grammar provider extracted
|
|
509
|
+
six documents once; the repeat reused all six, and clean comparison made no further provider
|
|
510
|
+
calls. Real SCIP and RDF/SHACL produced 230 facts and 200 query facts. The clean snapshot's
|
|
511
|
+
226-character logical identity is retained, content digests and all facts/provenance apart from
|
|
512
|
+
the containing snapshot ID agree, physical components are bounded, no staging files remain,
|
|
513
|
+
and Git stays clean. This uses a public module provider, not a live model or Codex authentication.
|
|
514
|
+
The Windows regression separately exercises the unchanged Codex adapter with an offline runner.
|
|
515
|
+
|
|
516
|
+
This focused consumer blocker ships ahead of [B1–B6](PRE-1.0-BASELINE.md). TradePilot should
|
|
517
|
+
upgrade to the patch and rerun its original sequence without clearing compatible semantic artifacts.
|
|
518
|
+
No private consumer rerun, paid/model work or live optional OML compilation is claimed. B1 exact
|
|
519
|
+
exploration and B2 Graphify/SCIP evaluation remain the next development items; no 1.0 is declared.
|
|
26
520
|
|
|
27
521
|
## Business-context baseline assessment, 2026-10-28
|
|
28
522
|
|
|
@@ -1861,3 +2355,16 @@ selected tests, including global/local npm launcher installation, discovery, log
|
|
|
1861
2355
|
plumbing, process-tree cancellation, CRLF inventories, storage/Git and all original MCP startup
|
|
1862
2356
|
cases. The repository inventory and complete license checks also passed natively. This is focused
|
|
1863
2357
|
Windows coverage, not a full native Windows publication gate or a live Codex account/model test.
|
|
2358
|
+
|
|
2359
|
+
|
|
2360
|
+
## November 2, 2026 — bounded mapping proposals (candidate work)
|
|
2361
|
+
|
|
2362
|
+
The opt-in implementation in ADR 039 adds actual committed-source/SCIP planning, exact cited
|
|
2363
|
+
proposal validation, isolated immutable artifacts, Codex/module contracts, and CLI/MCP inspection.
|
|
2364
|
+
Deterministic fixture providers are canned transport controls, not a semantic comprehension test.
|
|
2365
|
+
Focused checks cover scope/authority negatives, missing/declaration-only/unindexed code, budgets,
|
|
2366
|
+
cache round trips, unavailable-provider reuse while dirty, historical rename/delete, cancellation,
|
|
2367
|
+
timeouts and concurrent publication. Codex transport/authentication is tested without model calls.
|
|
2368
|
+
The public three-request live protocol was predeclared before any live proposal measurement.
|
|
2369
|
+
Final local publication gates and hosted platform results belong in the implementation PR once
|
|
2370
|
+
executed. No live quality, token-cost, private consumer, browser or 1.0 acceptance is claimed here.
|