OMP Plan Kit v1.4.0
OMP Plan Kit v1.4.0
OMP Plan Kit v1.4.0 makes plan verification language-neutral. The expected-result check after a fenced command block no longer depends on a marker word in any specific language — it is positional: the line immediately following the block (blank lines skipped) states the observable result, in whatever language the author writes.
Why
The previous design required a marker token after every fenced command block: Expected: (v1.2.0), then Ожидаемо: (v1.3.0, the wrong Russian form), then Ожидается: (v1.3.1). Each release extended a whitelist one word at a time, and every world language not on the list reproduced the same production failure seen on 2026-09-05: a correct plan rejected three times until the repair budget ran out. A whitelist cannot close this bug class — this release removes the mechanism.
Key Changes
1. Positional verification proof (VERIFICATION_NOT_ACTIONABLE form 2)
- A non-empty fenced command block must be followed (blank lines skipped) by a non-empty result line in ANY language:
Erwartet: alle Tests grün,预期:全部通过,всё зелёное— all pass without any marker. - Legacy markers
Expected:/Ожидается:/Ожидаемо:still work — they are ordinary result lines now, not required keywords. - A Markdown heading right after the block is structure, not a result, and does not qualify. A fenced block with nothing after it still fails. An empty fenced block (no command) still fails.
2. Repair hint states the real contract
- The
VERIFICATION_NOT_ACTIONABLEhint now says: a fenced command block followed immediately by a line stating the observable result (any language; markers accepted but not required).
3. Plan-format language contract, written down
- Section headings (
## Context,## Approach,## Verification) are format keys, like YAML keys: they stay exact English literals and are not translated. Plan body text is free language. The validator never judges body prose language.
4. Proof: scenario × mutation coverage
- The BDD mutation suite now kills three new defect classes: restoring the marker-token requirement, accepting a heading as a result, and dropping the non-empty-block guard. Scenarios cover German and Chinese result lines, blank-line tolerance, missing result lines, and headings after blocks.
Compatibility
- Strictly widening: every plan accepted by v1.3.1 remains accepted. Plans whose result lines were previously rejected for language reasons now pass. No breaking changes; works with OMP >= 17.3.7.
Verification
- Full battery green:
npm run check, validator e2e, convergence controller, programmer mutations, advisor contract, real in-process handoff, and the BDD mutation suite (9/9 mutants killed, clean-environment run). - Build is deterministic: committed
dist/extension.jsequals a freshbun run build.
Install
omp plugin install github:stgmt/omp-plan-kit#v1.4.0