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