Commit b73f0df
authored
feat(apply): ship apply-engine steps 2–12 (#165)
* feat(apply): ship apply-engine steps 2–12 in one slice
Extend codemap apply from rename-preview-only to a full substrate-shaped
fix executor: three diff-shape recipes, rename-preview call/re-export CTEs,
auto_fixable gating with --force, agent row/diff inputs, fixpoint loop,
optional git commit, and config allowlist. Adds apply_rows MCP/HTTP tool.
* fix(apply): utilization hygiene — marker recipe, docs, tests
Fix replace-marker-kind SQL (drop content LIKE filter) and golden row.
Sync rename-preview recipe docs, MCP 18-tool count, synthesis shipped status,
apply_rows in agent-content, config example allowlist, allowlist unit tests,
and migrate-import-source CLI dry-run E2E. Add substrate-apply-utilization plan.
* docs(plans): reconcile substrate-apply-utilization after hygiene slice
Mark shipped items (marker recipe, partial A/B, roadmap link) and narrow
open work to architecture/glossary apply depth, testing map, wave-2 recipes.
* docs(apply): complete Phase A — architecture, glossary, agents, close direction plan
Expand apply transport/policy in architecture and glossary; README and
agent-content discover→apply workflow; lift rejected items into utilization
plan and delete apply-engine-direction.md.
* feat(apply): rename-preview barrel/reference rows; Phase B apply tests
Extend rename-preview with barrel_import_rows and reference_rows (deduped
vs imports/calls/definitions). Golden rename-preview-product-card; apply
harness map; cmd-apply --rows and replace-marker-kind disk e2e.
* feat(recipes): add stale-imports diff-shape; reject organize-imports in plan
Sole-specifier unused import lines via import_specifiers × references;
review-first apply (auto_fixable false). Golden on ProductCard unused now import.
Defer organize-imports to formatter domain in utilization plan.
* feat(recipes): add migrate-deprecated and deprecated-usages diff-shape recipes
migrate-deprecated rewrites call/import sites for @deprecated symbols;
deprecated-usages updates the first @deprecated JSDoc line. Goldens on
minimal now() fixture; CLI apply e2e; plan C.4 shipped.
* feat(apply): Phase D transport parity, JSX/stale recipes, and review fixes
- MCP/HTTP apply_diff_input; apply until_empty, max_passes, commit_message
- ambiguity_count on diff-json hunks; CLI e2e for diff-input, until-empty, commit
- migrate-jsx-prop recipe; multi-specifier stale-imports; rename-preview JSX CTEs
- C.6 actions on read recipes; docs/tool-count 19; apply-run boundary kit
- Add scoped-rename-define-in plan; refresh utilization + synthesis shipped rows
* fix(test): update deprecated-symbols MCP actions expectation for C.6
Align mcp-server.test with apply command hints on read recipes; clarify
README force example and architecture auto_fixable recipe list.
* fix(apply): guard --commit on fixpoint cap and merge touched paths
Reject git commit unless until_empty terminates with empty rows; accumulate
files across fixpoint passes before staging. README force example drops
conflicting --yes on dry-run; docs and unit tests cover the guard.
* fix(apply): set applied=true on until-empty success for --commit
Terminal dry-run probe no longer leaves applied=false when prior passes
wrote files; add e2e for until-empty + commit. README clarifies commit
requires fixpoint empty.
* fix(recipes): normalize C.6 apply command placeholders
Replace angle-bracket row hints with SYMBOL/OLD_SOURCE sentinels; use
{{param}} only for bound query params. Expand cmd-query C.6 tests and
agent-content guidance.
* fix(docs): README migrate-import-source params and C.6 test coverage
Use old_source/new_source in README example; assert all three
deprecated-symbols apply hints and find-symbol-definitions C.6 command.
Align glossary/architecture conflict reason count with engine.
* docs: clarify apply param names and commit workflow in consumer surfaces
README stale-imports force note and concrete --commit example; skill
documents per-recipe param keys and OLD_SOURCE vs old_source distinction.
* fix(recipes): scoped C.6 commands for migrate-jsx-prop and stale-imports
Include optional in_file/component_name and include_type_only in action
templates; scrub empty --params pairs; preview hints use --dry-run --force.
* fix(recipes): use --dry-run --force on deprecated apply action hints
Align migrate-deprecated, deprecated-usages, and add-jsdoc-deprecated
actions[].command with C.6 preview-first pattern; update stale-imports
prose example.
* fix(apply): address CodeRabbit PR #165 review findings
Multi-line diff pairing, fixpoint mode contract, max-passes >= 1,
migrate-deprecated in_file scoping, deprecated-usages @deprecated line
extraction, C.6 in_file on add-jsdoc/replace-marker-kind, synthesis doc.
* fix(apply): close CodeRabbit outside-diff and nitpick threads
Reject --params outside recipe mode, align Q16 with R.17 (decision locked,
registry not shipped), mark synthesis Steps 8–9 shipped, and add recipe
doc examples for optional params.
* fix(apply): review cycle 1 — migrate-deprecated imports, Q6, cap exit
Skip import_specifier rows when replacement contains '.' (avoids invalid
import { Date.now }). Prompt before --until-empty on TTY; exit 1 on
fixpoint cap. Refresh synthesis shipped status; add policy/cap CLI tests.
* feat(apply): close deferred review items — define_in, MCP/HTTP tests, docs
- rename-preview: define_in param, binding-scoped call_rows, homonym bench + golden + CLI e2e
- MCP/HTTP: apply, apply_rows, apply_diff_input integration tests
- tool-handlers: yes write, auto_fixable rejection, until_empty dry_run envelope
- Docs: slim synthesis §6 to shipped index; non-goals + scoped-rename plan status
- Reindex goldens after homonym bench fixtures
* fix(apply): review cycle 3 — homonym coverage, allowlist+TTY, docs
Add homonym-consumer-b and unscoped golden; binding-scope JSX when define_in
set; migrate-deprecated calls bind to deprecated_targets; ttyConfirmed
bypasses allowlist after Proceed?; MCP/HTTP apply write tests; lift define_in
to architecture/glossary/README; fix synthesis §6 anchors.
* fix(recipes): scope find-symbol-references apply hint with define_in
C.6 apply-rename-preview command now passes define_in={{file_path}} so
agents following read→apply after bindings-precise lookup stay homonym-safe.1 parent 8c7064a commit b73f0df
108 files changed
Lines changed: 5132 additions & 666 deletions
File tree
- docs
- plans
- research
- fixtures
- golden
- minimal
- minimal/src/bench
- src
- application
- cli
- templates
- agent-content
- skill
- recipes
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
211 | 211 | | |
212 | 212 | | |
213 | 213 | | |
| 214 | + | |
| 215 | + | |
214 | 216 | | |
215 | 217 | | |
216 | | - | |
217 | | - | |
| 218 | + | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
| 223 | + | |
| 224 | + | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
218 | 228 | | |
219 | 229 | | |
220 | 230 | | |
221 | 231 | | |
222 | 232 | | |
223 | 233 | | |
224 | | - | |
225 | | - | |
| 234 | + | |
| 235 | + | |
226 | 236 | | |
227 | | - | |
| 237 | + | |
228 | 238 | | |
229 | 239 | | |
230 | 240 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
7 | 14 | | |
8 | 15 | | |
9 | 16 | | |
| |||
Large diffs are not rendered by default.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
31 | 31 | | |
32 | 32 | | |
33 | 33 | | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
34 | 42 | | |
35 | 43 | | |
36 | | - | |
| 44 | + | |
37 | 45 | | |
38 | 46 | | |
39 | 47 | | |
| |||
353 | 361 | | |
354 | 362 | | |
355 | 363 | | |
356 | | - | |
| 364 | + | |
357 | 365 | | |
358 | 366 | | |
359 | 367 | | |
| |||
0 commit comments