From 472d50e1bf767395980dde0fa9ad08916fb0a8f8 Mon Sep 17 00:00:00 2001 From: Rafael Richards Date: Fri, 29 May 2026 22:52:13 -0400 Subject: [PATCH] =?UTF-8?q?plan:=20m=20watch=20run-half=20(4.2)=20?= =?UTF-8?q?=E2=86=92=20=E2=9C=85=20=E2=80=94=20affected-test=20selection?= =?UTF-8?q?=20+=20coverage-on-save?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flip stage 4.2 status ◐ → ✅ and add a consolidated changelog entry. The engine-bound column is now ✅ through 4.2; only 5.1 resident-harness delegation (a separate in-engine execution path) remains. Co-Authored-By: Claude Opus 4.8 (1M context) --- m-cli-go-toolchain-implementation-plan.md | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/m-cli-go-toolchain-implementation-plan.md b/m-cli-go-toolchain-implementation-plan.md index 7e04db7..7bc1ccc 100644 --- a/m-cli-go-toolchain-implementation-plan.md +++ b/m-cli-go-toolchain-implementation-plan.md @@ -125,7 +125,7 @@ SBOM generation + pin/mirror), and Apache-2.0 `LICENSE`/`NOTICE`. Repos are **ge | 3.2 | `m test` (`TESTRUN.m`·`^STDASSERT`) `[N7]` | R3·Ⓜ | ● | → | 3.1·Ⓜ | G4 | ✅ | | | **Phase 4 — Coverage · watch run-half · KIDS** | | | | | | | | 4.1 | `m coverage` (LCOV: `^%MONLBL` / `view "TRACE"`) | R3 | ● | → | 3.1·3.2 | G4 | ✅ | -| 4.2 | `m watch` — run half (compile·test·coverage) `[N8]` | R3 | ◐ | → | 1.4·3.2·4.1 | — | ◐ | +| 4.2 | `m watch` — run half (compile·test·coverage) `[N8]` | R3 | ● | → | 1.4·3.2·4.1 | — | ✅ | | 4.3 | `kids-vc` Go port + `py-kids-install` `[N9]` | R6 | ○ | ∥ | 0.1 | G6 | ◐ | | | **Phase 5 — Server-side · MCP · unify** | | | | | | | | 5.1 | Resident pure-M harness (server-side delegation) `[N10]` | Ⓜ·R3 | ● | → | 3.2·4.1·Ⓜ | G4 | ☐ | @@ -236,6 +236,23 @@ they re-pass the corpus (**G1**); the port is safe by construction (spec §11). *Dated narrative history (git holds the granular commit history). Reference an entry from the tracker when a status change needs more than a glyph.* +- **2026-05-29 — 4.2 `m watch` run-half CLOSED → ✅ — the inner-loop bisection is whole (compile·test·coverage).** + Landed the two remaining run-half follow-ups, so `m watch --run`/`--coverage` now delivers 4.2's full scope. + **(1) Affected-test selection:** the loop no longer re-runs every suite on save — it runs only the suites that + *exercise a changed routine*. New host-side, parse-driven dependency mapping in `mtest`: **`ReferencedRoutines`** + extracts a suite's external call targets (`LABEL^ROUTINE` / `^ROUTINE` / `$$^ROUTINE`, reusing + `workspace.References`; local bare-label calls excluded), `Discover` records them on **`TestSuite.Deps`**, and + **`Affected(suites, changed)`** selects the suites whose own routine changed *or* whose Deps intersect the + changed set (`internal/mtest` 85.1%). **(2) Coverage-on-save:** new **`--coverage`** flag (implies `--run`) + measures line coverage for the *changed routines* while driving the *affected* suites, via a new shared + **`mcov.ByFile`** rollup (also de-duplicates `coverageCmd`'s inline per-file rollup — one code path now). + `runHalf` gained the parser + a `coverageHalf`; prints `cov: C/T P%` under the test summary. + **Validated live on `m-test-engine` (YDB):** affected selection — baseline `2/2 ok`, edit `STR.m` → `1/1` + (MATHTST skipped), edit `MATH.m` → `1/1`, edit an unreferenced routine → `no suites affected`; + coverage-on-save — edit `MATH.m` → `tests: 1/1 ok` + `cov: MATH.m 1/2 50.0%` (add covered, sub not, matching + `m coverage`). gofmt/`go vet`/golangci-lint clean; `go test -race ./...` green. **The engine-bound column is + now ✅ through 4.2; only `5.1` resident-harness delegation (`[N10]`, ☐) remains — a separate stage (an + in-engine execution path), not a 4.2 blocker.** - **2026-05-29 — T.1 VS Code pack TEED UP (no glyph change): [`resume-vscode-pack-prompt.md`](resume-vscode-pack-prompt.md).** With 5.3 ✅ (the dispatcher) and `m lsp` G2 closed, T.1 is unblocked at its highest-leverage wire. Authored a **scoping** resume-prompt (not a design doc — the design is `background/vscode-plugin-design.md`): build