@mjasnikovs/pi-task 0.21.4 → 0.21.5

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.
@@ -1343,6 +1343,50 @@ export const PHASES = [
1343
1343
  }
1344
1344
  }
1345
1345
  ];
1346
+ // INTEGRATION-DEPTH APPEND (2026-07-27): the lever proposed for this exact site —
1347
+ // deterministically append a known-runnable integration command to the VERIFY block
1348
+ // whenever a task's ACCEPTANCE claims runtime behaviour — is REFUTED at STEP 0 and was
1349
+ // NOT built. Nothing below is wired; this is the record.
1350
+ //
1351
+ // The defect is real and reproduces on four unrelated stacks. Measured with
1352
+ // scripts/verify-integration-depth-step0.ts (published metric regex in that file;
1353
+ // re-runnable, no model time): VERIFY blocks that boot or hit the real integrated
1354
+ // product — mx5 7/41, IAR1 3/10, godot-engine 2/20, runner 0/2, total 12/73 (16.4%).
1355
+ // That total OVERSTATES the truth: godot's two hits only match because the block greps
1356
+ // a URL out of CLAUDE.md, and IAR1's TASK_0006 curls a GitHub tarball to check a hash,
1357
+ // so genuine product integration is ~9/73 (~12%). The addressable class — runtime claim
1358
+ // in ACCEPTANCE, a boot command available with provenance, static-only VERIFY anyway —
1359
+ // is 29/73 (39.7%), clearing the task's 25% kill condition, but 27 of those 29 are mx5.
1360
+ //
1361
+ // What kills the lever is its input, not its premise. It needs a command that is
1362
+ // (1) provenance-bearing, (2) proven runnable, (3) terminating, and (4) integration-
1363
+ // shaped. Measured on scratch clones with scripts/integration-command-provenance.ts,
1364
+ // that intersection is EMPTY on every stack available here:
1365
+ // mx5 `bun run dev` is the only command matching the metric and it does not
1366
+ // terminate (probe killed it at 60s) — appending it hangs the verify child
1367
+ // until the 15-minute command watchdog and then FAILs. Every command that DOES
1368
+ // terminate (`bun run build` exit 0) fails the metric.
1369
+ // godot `godot --headless --quit` (0.8s, exit 0) and the real GUT runner (1.7s,
1370
+ // exit 0) are both appendable — and neither matches the metric, which is
1371
+ // web-shaped (curl/localhost/PORT=/run dev/http://). Nothing appendable can
1372
+ // move the registered metric on a non-web stack, so the two-stack A/B the
1373
+ // task requires is unsatisfiable by construction, not by sample size.
1374
+ // IAR1 no candidate at all: cmake is absent from this box (the N5 finding).
1375
+ // R4 forbids swapping the metric after seeing results, so a broadened "boots the real
1376
+ // product" metric is a separate pre-registered experiment, not a rescue of this one.
1377
+ //
1378
+ // The deeper finding: on the stack holding 93% of the addressable mass, integration is
1379
+ // not a COMMAND. mx5's 7 integrated blocks are whole task-specific procedures — pick a
1380
+ // free port (3911/41234/42421/3001), export DATABASE_URL, boot, seed, log in, assert N
1381
+ // endpoints, tear down. A host-side append cannot synthesize that from provenance
1382
+ // (launch-contract.md records script NAMES only — no port, no health URL), and
1383
+ // synthesizing it from the task's own `## verified tooling` is the N5 fabrication road.
1384
+ // That machinery already exists in ONE place that owns ports, seeding and teardown: the
1385
+ // final gate's render check. The mx5-class defect belongs there (nexttask TASK 6), not
1386
+ // in per-task VERIFY blocks.
1387
+ //
1388
+ // Durable assets kept: both rigs above and their unit tests. Do NOT wire an append here
1389
+ // without a command source that satisfies all four properties at once.
1346
1390
  export async function postCommitPhase(phase, deps, pc, out) {
1347
1391
  if (phase.name !== 'refine')
1348
1392
  return;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mjasnikovs/pi-task",
3
- "version": "0.21.4",
3
+ "version": "0.21.5",
4
4
  "description": "Deterministic task planning and spec-orchestration for local models — crash-safe /task pipelines with verify/enforce gates, a real-time remote web view, and web/docs/fetch/worker subagent tools.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",