@ontrails/regrade 1.0.0-beta.32 → 1.0.0-beta.41
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/CHANGELOG.md +135 -0
- package/package.json +6 -5
- package/src/downstream/ast-rewrite.ts +725 -17
- package/src/downstream/collect.ts +17 -2
- package/src/downstream/export-restructure.ts +1588 -0
- package/src/downstream/report.ts +409 -48
- package/src/downstream/vocabulary-registry.ts +96 -0
- package/src/downstream/vocabulary.ts +1160 -118
- package/src/index.ts +27 -0
- package/src/literal-transform.ts +26 -20
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,140 @@
|
|
|
1
1
|
# @ontrails/regrade
|
|
2
2
|
|
|
3
|
+
## 1.0.0-beta.41
|
|
4
|
+
|
|
5
|
+
## 1.0.0-beta.40
|
|
6
|
+
|
|
7
|
+
### Minor Changes
|
|
8
|
+
|
|
9
|
+
- [`5adb995`](https://github.com/outfitter-dev/trails/commit/5adb99551c2dda6190d46cce7f60bb08d63c99aa): Complete the v1 hard cutover from the authored `blaze` field to
|
|
10
|
+
`implementation` across trail contracts, surface projections, tests, examples,
|
|
11
|
+
and public source-analysis helpers. Existing applications must rename authored
|
|
12
|
+
trail behavior fields and direct trail-object access before upgrading.
|
|
13
|
+
- [`aedb87b`](https://github.com/outfitter-dev/trails/commit/aedb87b3b536c5849636c7a5951c51e1e7f0d1cc): Add governed identifier-segment renames for AST-backed migrations. Regrade can
|
|
14
|
+
now migrate camelCase, PascalCase, leading-underscore, and SCREAMING_SNAKE
|
|
15
|
+
identifier segments, including single-segment forms such as `BLAZE` and
|
|
16
|
+
`_BLAZE`, while preserving exact-mode behavior and rejecting lowercase
|
|
17
|
+
substring, concatenated acronym, or inflection matches.
|
|
18
|
+
|
|
19
|
+
### Patch Changes
|
|
20
|
+
|
|
21
|
+
- [`01b9204`](https://github.com/outfitter-dev/trails/commit/01b92046db52c71f22a871e58a308d7a94483cab): Harden governed v1 vocabulary transitions with property-key-only blaze literal
|
|
22
|
+
rewrites, structured review for ambiguous literal positions, explicit
|
|
23
|
+
scratch/history boundaries, and scan-only preservation for migration plans and
|
|
24
|
+
historical decision evidence.
|
|
25
|
+
- [`6712075`](https://github.com/outfitter-dev/trails/commit/67120754df3f614c7f4dd98be1fa0ba9d69b7765): Complete the v1 hard cutover from the `contour` domain-object declaration
|
|
26
|
+
vocabulary to `entity` across contracts, topo facts, store helpers, Warden,
|
|
27
|
+
Wayfinder, operator surfaces, examples, and generated locks. Existing
|
|
28
|
+
applications must rename contour APIs, run `trails dev reset --yes` to discard
|
|
29
|
+
pre-cutover local Topographer snapshots, and then recompile committed
|
|
30
|
+
`trails.lock` artifacts before upgrading. Those derived snapshots are
|
|
31
|
+
intentionally not read through a compatibility layer.
|
|
32
|
+
The entity-shaped wire contract advances `TopoGraph` and split lock manifests
|
|
33
|
+
from schema version 3 to 4; old split artifacts fail with regeneration guidance,
|
|
34
|
+
while the canonical root `trails.lock` remains schema version 5.
|
|
35
|
+
Wayfinder reports those stale rows as topo-store drift while keeping current
|
|
36
|
+
committed lock facts available for inspection.
|
|
37
|
+
- [`35cbe28`](https://github.com/outfitter-dev/trails/commit/35cbe289db46539b3689dbf6cf8ab0e5d9a1b09c): Found `@ontrails/source` as the shared source-code AST kernel for parsing,
|
|
38
|
+
walking, locations, edits, literals, and generic Trails syntax recognition.
|
|
39
|
+
Warden, Regrade, Wayfinder, and the Trails operator now import those shared
|
|
40
|
+
mechanics from `@ontrails/source`; the legacy Warden AST route is removed by the
|
|
41
|
+
stacked hard cutover.
|
|
42
|
+
- [`35e5fed`](https://github.com/outfitter-dev/trails/commit/35e5fedd228e498783f479f0dd502e2f3ec772b8): Fold the Wayfinder graph-read catalog into `@ontrails/topography`. Wayfind
|
|
43
|
+
remains the product, trail-id, CLI, and MCP brand, but there is no longer an
|
|
44
|
+
`@ontrails/wayfinder` package to install or import. Programmatic consumers
|
|
45
|
+
should move imports such as `wayfinderTopo`, `wayfindOverviewTrail`,
|
|
46
|
+
`loadWayfinderArtifacts`, and the Wayfinder filter/provenance types to
|
|
47
|
+
`@ontrails/topography`.
|
|
48
|
+
|
|
49
|
+
Expose that package move as a governed Regrade transition so exact
|
|
50
|
+
`@ontrails/wayfinder` imports can move safely while product vocabulary and near
|
|
51
|
+
routes remain unchanged for review. Regrade routes package manifests through
|
|
52
|
+
structured review instead of rewriting dependency keys as plain text.
|
|
53
|
+
|
|
54
|
+
The Trails operator now reads all `wayfind.*` query trails and artifact helpers
|
|
55
|
+
from `@ontrails/topography` while preserving the existing CLI/MCP schemas,
|
|
56
|
+
route IDs, output shapes, and internal trail visibility.
|
|
57
|
+
|
|
58
|
+
- [`3a65ae3`](https://github.com/outfitter-dev/trails/commit/3a65ae363e05b7589f4a9876da4346886353b48c): Rename the durable graph substrate package from `@ontrails/topographer` to
|
|
59
|
+
`@ontrails/topography` after folding Wayfind graph queries into that owner.
|
|
60
|
+
|
|
61
|
+
Update imports to `@ontrails/topography` or
|
|
62
|
+
`@ontrails/topography/backend-support`. The pre-1.0 cutover does not ship a
|
|
63
|
+
compatibility package. TopoGraph, lock, topo-store, semantic diff, and Wayfind
|
|
64
|
+
APIs keep their existing contracts, and the `trails wayfind` CLI and MCP names
|
|
65
|
+
remain unchanged.
|
|
66
|
+
|
|
67
|
+
The governed package-route transition moves legacy `@ontrails/wayfinder`
|
|
68
|
+
imports directly to `@ontrails/topography`; it does not emit the retired
|
|
69
|
+
intermediate `@ontrails/topographer` route.
|
|
70
|
+
|
|
71
|
+
- [`a45cead`](https://github.com/outfitter-dev/trails/commit/a45cead6e3ddf6ce606bf5e663b74c0d3b5664b8): Make the planned contour-to-entity Regrade transition code-fact complete for
|
|
72
|
+
apply readiness while leaving the repository cutover status planned.
|
|
73
|
+
Identifiers that already contain the target segment now stay in the review
|
|
74
|
+
inventory instead of producing duplicated target names.
|
|
75
|
+
- [`8a1ac00`](https://github.com/outfitter-dev/trails/commit/8a1ac00b5d789be41ca6e464358c96b01e442bf4): Govern the exact `@ontrails/warden/ast` to `@ontrails/source` package route
|
|
76
|
+
transition for Regrade string-literal and module-specifier rewrites exposed
|
|
77
|
+
through the Trails CLI and MCP tools. Safe rewrites now require the owning
|
|
78
|
+
manifest to already declare the target package; otherwise Regrade preserves the
|
|
79
|
+
occurrence with dependency repair guidance. Invalid manifests remain unchanged
|
|
80
|
+
and produce structured repair guidance that names the owning manifest. Explicit
|
|
81
|
+
preserve rules remain no-ops before dependency validation, and dotted or
|
|
82
|
+
subpath-like near routes remain deferred instead of becoming invented imports.
|
|
83
|
+
|
|
84
|
+
## 1.0.0-beta.39
|
|
85
|
+
|
|
86
|
+
### Minor Changes
|
|
87
|
+
|
|
88
|
+
- [`65b362f`](https://github.com/outfitter-dev/trails/commit/65b362f65fa2a75e2121d1a8b31882d52fa0376b): Regrade history consolidates per transition, append-only: `regrade apply` appends a run entry stamped `{ planContentHash, lockHashAtRun }` to `.trails/regrade/history/<transition>.json` instead of overwriting lockhash-named files, identical re-runs are recognized as replays, the artifact carries a stable internal transition `id`, and `regrade check <transition>` verifies each recorded run at its own stamped lock. The report `history.status` union widens to `applied | checked | replay`.
|
|
89
|
+
- [`d3f7a25`](https://github.com/outfitter-dev/trails/commit/d3f7a25e66b6f0149ab2f33ac31ae1458860dce3): Regrade review entries carry structured review detail through Warden-backed and AST-backed classes: matched form, candidate replacement, machine-readable signals, preserve cautions, and a `judgment` field that distinguishes unresolved occurrence judgment from completed preserve/rewrite verdicts. Safe rewrite entries keep their existing report shape.
|
|
90
|
+
|
|
91
|
+
### Patch Changes
|
|
92
|
+
|
|
93
|
+
- [`b077fb7`](https://github.com/outfitter-dev/trails/commit/b077fb7ba6d9724cac6f0e59bc3fec9aec28984c): Add the export-restructure Regrade class family (TRL-1210). `export-restructure:cli-aliases` inverts legacy `cliAliases`/`trailsCliAliases` exports into `surfaceOverlay({ cli })` bindings inside the module's `trailsOverlays` export — adding the `@ontrails/core` import, deleting the legacy export, and routing anything it cannot prove safe (computed keys, spreads, in-module `aliases:` references) to `needs-review` with the exact target shape named. `export-restructure:mcp-trailheads` projects call-site MCP trailhead maps into `surfaceOverlay({ mcp })` group bindings: it rewrites in place when the same module exports `trailsOverlays`, and otherwise emits a classified `needs-review` handoff naming the module-overlay target while the call-site map stays as the richer-metadata override-in-context. Warden's fix-class union grows to `'export-restructure' | 'term-rewrite'`, `no-legacy-cli-alias-export` now advertises the `export-restructure` class, and `loadWardenRegradeClasses` supersedes `loadWardenTermRewriteClasses` (still exported) as the full Warden-routed class loader. Class-mode Regrade also gains the full plan lifecycle: `trails regrade plan --type class --class-ids ...` writes a `.trails/regrade/<slug>.json` plan carrying class ids, scope, and intent, `regrade check` re-runs the dry run and gates on outstanding rewrites or review, and `regrade apply` applies and graduates the plan to `.trails/regrade/history/<slug>-<hash>.json` — the same plan → check → apply → history evidence trail vocabulary regrades already had, now available to structural transforms. The class family ships for downstream apps bridging the pre-1.0 gap, so pre-cutover alias exports and trailhead maps migrate mechanically instead of by hand.
|
|
94
|
+
|
|
95
|
+
## 1.0.0-beta.38
|
|
96
|
+
|
|
97
|
+
## 1.0.0-beta.37
|
|
98
|
+
|
|
99
|
+
### Patch Changes
|
|
100
|
+
|
|
101
|
+
- [`09f15de`](https://github.com/outfitter-dev/trails/commit/09f15def8fcc8c28b0d604f436e6eeed46da8f37): Stage wide-net Regrade expansion candidates as structured plan review inventory with evidence, status, and pending counts.
|
|
102
|
+
|
|
103
|
+
## 1.0.0-beta.36
|
|
104
|
+
|
|
105
|
+
### Patch Changes
|
|
106
|
+
|
|
107
|
+
- [`6e63e48`](https://github.com/outfitter-dev/trails/commit/6e63e483617b84cb6868d0c4d58d5b5a8d3b9ed2): Complete the v1 grouped surface-entry vocabulary cutover from facet to trailhead, including Regrade dogfood support for governed string literal renames and composed AST rewrite application.
|
|
108
|
+
- [`26786a1`](https://github.com/outfitter-dev/trails/commit/26786a14acbe9ed03f69adbdac22968891e33df1): Persist vocabulary Regrade plan artifacts, expose plan/check/preview/apply flows across CLI and MCP, and write applied plan history for reviewed vocabulary migrations.
|
|
109
|
+
|
|
110
|
+
## 1.0.0-beta.35
|
|
111
|
+
|
|
112
|
+
### Patch Changes
|
|
113
|
+
|
|
114
|
+
- [`3842160`](https://github.com/outfitter-dev/trails/commit/3842160ac4030807cb2dfca8e1da75e03febccf2): Teach vocabulary regrades to discover simple prose morphology as deferred
|
|
115
|
+
review inventory so authored plans surface forms like `blazed` and `blazing`.
|
|
116
|
+
|
|
117
|
+
## 1.0.0-beta.34
|
|
118
|
+
|
|
119
|
+
### Patch Changes
|
|
120
|
+
|
|
121
|
+
- [`d67558b`](https://github.com/outfitter-dev/trails/commit/d67558bea3bfa363ed57e0f4091b6eccbf2a7710): Run governed AST symbol renames from the registry-backed `trails regrade` command path, including MCP parity, while preserving derived live API forms.
|
|
122
|
+
|
|
123
|
+
## 1.0.0-beta.33
|
|
124
|
+
|
|
125
|
+
### Patch Changes
|
|
126
|
+
|
|
127
|
+
- [`0c40138`](https://github.com/outfitter-dev/trails/commit/0c40138efb962e779710daa172bdfd756d9d992f): Harden vocabulary regrades by deferring Markdown code contexts for review and
|
|
128
|
+
exposing structured preserve rules through the Trails `regrade` command.
|
|
129
|
+
- [`7d65189`](https://github.com/outfitter-dev/trails/commit/7d65189cc33408755fe07a0b5679f1ed01123455): Expose derived live-API preserve inventory in vocabulary Regrade runs and have the Trails operator regrade surface derive current facet API preserves from live topo and MCP surface facts.
|
|
130
|
+
- [`fc002d5`](https://github.com/outfitter-dev/trails/commit/fc002d5669f4303427e99f45f9998fd0b0172bdb): Add governed AST identifier rename helpers and Warden residue detection for
|
|
131
|
+
active vocabulary symbol transitions.
|
|
132
|
+
- [`6ca0d8f`](https://github.com/outfitter-dev/trails/commit/6ca0d8f776801eee71ddd86cb88c198eaf5815fd): Add a typed governed-vocabulary transition registry that Warden owns and Regrade
|
|
133
|
+
can consume for migration planning.
|
|
134
|
+
- [`04bb8a4`](https://github.com/outfitter-dev/trails/commit/04bb8a42af4ada51a74b1d8c83697db92035b5e9): Expose vocabulary Regrade occurrence dispositions and disposition summary counts alongside mechanical verdicts.
|
|
135
|
+
|
|
136
|
+
Accept explicit preserve-rule dispositions through the `trails regrade` CLI/MCP contract.
|
|
137
|
+
|
|
3
138
|
## 1.0.0-beta.32
|
|
4
139
|
|
|
5
140
|
### Patch Changes
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ontrails/regrade",
|
|
3
|
-
"version": "1.0.0-beta.
|
|
3
|
+
"version": "1.0.0-beta.41",
|
|
4
4
|
"description": "Downstream migration reporting and safe rewrite helpers for Trails.",
|
|
5
5
|
"files": [
|
|
6
6
|
"src/**/*.ts",
|
|
@@ -22,12 +22,13 @@
|
|
|
22
22
|
"clean": "rm -rf dist *.tsbuildinfo"
|
|
23
23
|
},
|
|
24
24
|
"dependencies": {
|
|
25
|
-
"@ontrails/core": "^1.0.0-beta.
|
|
26
|
-
"@ontrails/
|
|
25
|
+
"@ontrails/core": "^1.0.0-beta.41",
|
|
26
|
+
"@ontrails/source": "^1.0.0-beta.41",
|
|
27
|
+
"@ontrails/warden": "^1.0.0-beta.41",
|
|
27
28
|
"zod": "^4.3.5"
|
|
28
29
|
},
|
|
29
30
|
"devDependencies": {
|
|
30
|
-
"@ontrails/testing": "^1.0.0-beta.
|
|
31
|
-
"@ontrails/
|
|
31
|
+
"@ontrails/testing": "^1.0.0-beta.41",
|
|
32
|
+
"@ontrails/topography": "^1.0.0-beta.41"
|
|
32
33
|
}
|
|
33
34
|
}
|