Orchestrata Ultimate › Plans › briefs › move-batch2-adjudicated

MOVE Batch 2 — the three adjudicated clean transfers (ADR-0118 decision 3)

Source: plans/briefs/move-batch2-adjudicated.md at 8a2cb42ad · last changed 2026-10-20 · first committed 2026-10-20 · 88 lines.

Prose pending.

Plan text

MOVE Batch 2 — the three adjudicated clean transfers (ADR-0118 decision 3)

Contract: docs/adr/0118-... decision 3 + §4 phase discipline; template = the executed MOVE-109 / Batch-1 pattern (byte-faithful, green both sides, recorded dispositions). The cross-vendor audit panel (minimax + glm, 2026-10-20) measured all 16 Tier-1 candidates; the coordinator adjudicated: exactly THREE transfer now — every other candidate is STAY (hard-consumer evidence), a mechanism/doctrine SPLIT (deferred packets), or a MERGE-ADOPTION (rts.py → folded into P-RUL040 against codetools' richer siblings: deploy/affected.py's SelectionRefused ladder, graph/blast.pl, foundation/symbol_snapshot.py). The STAY list is CLOSED with evidence — do not re-litigate it in this packet (panel tables: session work log 2026-10-20 + the panelists' cited file:line evidence).

You are a worker. You do NOT commit. RUL-037 (editor tools only; no python -c/heredocs/codemod scripts). Never pytest-xdist. Byte-faithful except the named edits.

The three transfers

T1. scripts/flake_report.py (114 LOC) → codetools testing lane. Pure stdlib NDJSON summarizer; zero repo coupling (measured 0/0/0). ONE import consumer: its own test tests/scripts/test_flake_report.py:18 (from scripts.flake_report import format_date, parse_line, process) — the test travels with it. Landing note (measured): codetools.testing already has classify_flaky (__init__.py:90) — a RICHER sibling with a different subject; position this beside it as the recovery-events summarizer (module docstring documents the input schema {ts: float, module: str} produced by orchestrata's run_tests.py — DOCUMENT the schema, do NOT couple to the producer). No lane file may be renamed or restructured.

T2. scripts/slot_lease.py (320 LOC) → codetools testing lane. Stdlib-only worker-slot lease; state default ~/.local/state/orchestrata/slot-leases.json (SLOT_LEASE_STATE overrides) — PARAMETERIZE the project-named default (CLI/env with the current value as the shipped default; no orchestrata name hardcoded in codetools). HARD consumer (tie-break measured, glm correct / minimax missed it): scripts/sweep_test_pollution.py:98 does import slot_lease via sys.path insertion and calls active_owner (:129). Cross-repo library consumption has NO existing seam (orchestrata does not depend on the codetools package today — MEASURE and confirm). Therefore: PROPOSE the repoint mechanism, do NOT execute it — options to cost out in your report: (a) codetools as an orchestrata dev-group path/git dependency; (b) a thin scripts/slot_lease.py delegating shim kept in orchestrata (consumes the deployed codetools module via an explicit path, with a loud ImportError remedy); (c) sweep_test_pollution inlines the single active_owner read against the STATE FILE contract (the JSON lease file becomes the interop surface — no code dependency at all). Coordinator rules from your costs; until ruled, the orchestrata original STAYS (copy lands in codetools green; deletion happens in the follow-up execution step after the ruling — this packet's T2 scope = land + green + proposal).

T3. scripts/build_ft_cpython.py (161 LOC) → codetools foundation lane. Zero coupling (measured 0/0/0; DEFAULT_PREFIX parameterized). Consumers are MESSAGE TEXT: claude-env/install.sh:94 remedy text + tests/deploy/test_claude_env_install.py:107 asserting that text — both update IN this packet to the new home (that is the only orchestrata content edit besides deletions). Its test tests/scripts/test_build_ft_cpython.py travels. Landing note: codetools foundation has NO native-build recipes (measured) — this is new lane content; the FT family's other three members are STAY (vendored-fork anchors, pyproject wheel pins, health-gate registry — panel evidence, closed).

Fence

orchestrata (/home/mohamed/workspace/wt-COMPONENTS): scripts/flake_report.py, scripts/slot_lease.py (T2: NO deletion this packet), scripts/build_ft_cpython.py, tests/scripts/test_flake_report.py, tests/scripts/test_slot_lease.py, tests/scripts/test_slot_lease_cov.py, tests/scripts/test_build_ft_cpython.py, claude-env/install.sh (:94 text only), tests/deploy/test_claude_env_install.py (:107 assertion only), scripts/sweep_test_pollution.py ONLY IF the coordinator's T2 ruling arrives during your run (it will not — leave it untouched). codetools (/home/mohamed/workspace/orchestrata.codetools): NEW FILES ONLY under src/codetools/testing/ (T1/T2 module names per that lane's conventions — MEASURE and follow) and src/codetools/foundation/ (T3) + their tests under codetools' test-tree convention. FORBIDDEN in codetools: pyproject.toml, uv.lock, pre-existing __init__.py files outside dirs you create, src/codetools/review/** (REV-3 workstream), src/codetools/refactor/** (landed moves — settled), .work/, deploy, console scripts — coordinator integration step per ADR-0118 §4.

Oracles (record BEFORE touching anything)

Per-module pytest-live greens (single module per invocation, RUL-038 shape): test_flake_report.py, test_slot_lease.py, test_slot_lease_cov.py, test_build_ft_cpython.py, test_claude_env_install.py (the last records the pre-edit assertion baseline). Report each ledger row.

VERIFY (report verbatim)

  1. Oracle rows (5 modules).
  2. codetools-side green: the landed tests under codetools' runner convention (measure it; their basetemp guard requires --basetemp=/var/tmp/ct-<name> — comply).
  3. Byte-faithfulness per moved file (diff summary; named edits only: T2 state-path parameterization, test import-path updates, T1 docstring schema note).
  4. Orchestrata post-deletion (T1+T3 only): greps → only updated message text; ruff+black on every edited orchestrata file; pytest-live tests/deploy/test_claude_env_install.py -q green AFTER the :107 assertion update.
  5. T2 proposal: the three options costed (lines of change, new dependencies introduced, failure modes), with your recommendation and its argument.

Report

Per-fence file lists with dispositions, the codetools naming mapping, the T2 proposal, all VERIFY outputs verbatim, anything unfaithful named. Claims without pasted output are rejects (L11).