v2.9.4
What's Changed
- docs: lead the release-token guidance with "refresh it first" by @codetalcott in #791
- fix(core,semantic): append/prepend — upstream parity, DOM preservation, and the ru/uk
addmis-parse by @codetalcott in #792 - fix(build): un-break the doc scripts and stop generated artifacts drifting silently by @codetalcott in #793
- docs: add the command-architecture standing queue by @codetalcott in #794
- docs: command-arch queue re-verification + Arc D handoff brief by @codetalcott in #795
- refactor(core): Arc D step 1 — collapse put's private insertContent onto the shared DOM helper by @codetalcott in #796
- refactor(core): Arc D step 2 — extract the writable-target ladder into helpers/write-target.ts by @codetalcott in #797
- refactor(core): Arc D step 3 — centralize the selector-shape rule in helpers/target-elements.ts by @codetalcott in #798
- docs: close out Arc D and hand its ratchet to Arc C by @codetalcott in #799
- docs: Arc C brief — the command output contract, with a revised plan by @codetalcott in #800
- refactor(core): Arc C step 0 — one propagation call site, not two by @codetalcott in #801
- test(core): Arc C step 1 — audit every command's output contract by @codetalcott in #802
- docs: Arc C step 2 — a decision table, not a decision rule by @codetalcott in #803
- fix(core): unless never executed its body — route it through if's block path by @codetalcott in #805
- fix(i18n): finish the V3 Batch 2 fused-form split for mousedown/mouseup by @codetalcott in #804
- refactor(core): Arc C step 3 — delete the command-result propagation loop by @codetalcott in #806
- fix(i18n): correct three malformed event terms (de, pl, pt) by @codetalcott in #807
- refactor(core): settle/transition no longer self-assign
it— upstream parity by @codetalcott in #808 - docs(command-arch): Arc A brief — the ghost gates don't carry the migration by @codetalcott in #809
- fix(lsp): COMMAND_KEYWORDS advertised two commands that do not parse by @codetalcott in #810
- test(core): Arc A step 1 — the command-manifest audit as a bidirectional gate by @codetalcott in #811
- docs(command-arch): Arc A brief — step-2 knock-ons + fix the bundle-size gate command by @codetalcott in #812
- feat(core): Arc A step 2 — the command manifest, data-only and gated by @codetalcott in #813
- feat(core): Arc A step 3 — migrate the four mechanical consumers by @codetalcott in #814
- fix(lsp): Arc A step 4.1 — classify every command against the upstream engine by @codetalcott in #815
- feat(core): Arc A step 4.2 — classify every command against the generator by @codetalcott in #817
- fix(lsp): Arc A step 4.3 — classify every command against the parser by @codetalcott in #818
- feat(core): Arc A step 4.4 — packageInfo.commands as a derived value by @codetalcott in #819
- fix(semantic): correct event-name vocabulary in six locale profiles by @codetalcott in #816
- fix(core): restore the 14 unreachable bundle-parser commands (Finding 13) by @codetalcott in #820
- perf(ci): remove redundant test execution (~22 min → ~12 min per merged change) by @codetalcott in #821
- fix(ci): make the nightly coverage/benchmarks chain actually work by @codetalcott in #822
- docs(command-arch): brief Arc B (metadata single-sourcing) from fresh measurement by @codetalcott in #823
- feat(commands): add commandMeta() and type-check the three undecorated statics by @codetalcott in #824
- test(commands): couple metadata.compatibility to the manifest, BEFORE any values by @codetalcott in #825
- refactor(commands): migrate all 52 decorated classes to type-visible metadata by @codetalcott in #826
- refactor(commands): delete the @meta decorator and metadataOf(), now dead by @codetalcott in #827
- feat(docs): single-source command docs — 43 of 59 → all 59, gated by @codetalcott in #828
- fix(bundles): shipped hybrid-complete crashed on
take; gate every advertised command by @codetalcott in #830 - docs(command-arch): brief Arc E from fresh measurement — 5 executors, not 4 by @codetalcott in #829
- fix(bundles): templates absorb the executor capabilities (Arc E step 2) by @codetalcott in #831
- refactor(bundles): one boot shell, seven copies → one gate (Arc E step 3) by @codetalcott in #832
- perf(ci): split browser bundles and unit tests across runners by @codetalcott in #833
- fix(tests): index instead of
Array.prototype.at, unblocking the majors bump by @codetalcott in #834 - feat(bundles): generate the hybrid-complete executor core (Arc E step 4) by @codetalcott in #835
- feat(bundles): generate the hybrid parser template (Arc E step 5, arc closed) by @codetalcott in #836
- fix(mcp-server): fold non-numeric
ExecException.code, unblocking the majors bump by @codetalcott in #837 - chore(deps): bump the majors group across 1 directory with 13 updates by @dependabot[bot] in #773
- feat(semantic): schema-driven AST mappers — descriptor, parity oracle, 5 pilots (Arc F step 1) by @codetalcott in #838
- feat(semantic): migrate the remaining 38 mappers to schema descriptors (Arc F steps 2–3) by @codetalcott in #839
- docs: close Arc F and turn its brief into a record by @codetalcott in #841
- feat(core): add-command scaffolder — the checklist becomes a tool (Arc F step 6) by @codetalcott in #840
- docs: specify Arc F step 4 precisely — two commands, one fix corrected by the runtime by @codetalcott in #842
- fix(semantic): scroll destination becomes an arg; default's target survives (Arc F step 4) by @codetalcott in #843
- docs: measure the semantic-integration switch's reachability — the answer is (b) by @codetalcott in #844
- fix(semantic): swap's AST contract is positional args — the last two drift entries go by @codetalcott in #845
- fix(parser): consume toggle's
for <duration>/until <event>tail by @codetalcott in #846 - fix(parser): core delegates role→AST to buildAST — five English commands start working by @codetalcott in #847
- fix(commands):
defaultresolves its target symbolically — all five documented examples start working by @codetalcott in #848 - fix(semantic): swap's strategy forms keep their content — three en patterns, one deduped by @codetalcott in #849
- fix(parser):
wait for <event> or <duration>— the race the runtime could already run by @codetalcott in #850 - fix(semantic):
open … as non-modalbinds, survives and executes — three coupled fixes by @codetalcott in #851 - fix(semantic): eight languages were swapping the wrong way round — R3 family 6 closed by @codetalcott in #852
- docs: re-measure the
toggle … forarc — four corrections and a new blocker by @codetalcott in #853 - docs: close Arc F round 2's queue entries, file two new defects, document three gates by @codetalcott in #854
- docs: the
toggle … formarker table is required — built, measured, reverted by @codetalcott in #855 - feat(testing-framework): role-set flip ratchet — the R1 blind spot, closed at tolerance 0 by @codetalcott in #856
- fix(developer-tools): express-5-compatible html route — and CI finally runs this package by @codetalcott in #857
- feat(semantic):
toggle … for <duration>ships —valueShape, not a marker table by @codetalcott in #858 - fix(parser):
take .active from .tab for me— the upstream tab idiom, rejected on every path by @codetalcott in #859 - fix(parser):
transition my/its/#a's *opacity— the possessive target, rejected on every path by @codetalcott in #860
Full Changelog: v2.9.3...v2.9.4