diff --git a/docs/development/contributor-tasks-history.md b/docs/development/contributor-tasks-history.md index 84d9441fa8..2572b8c00e 100644 --- a/docs/development/contributor-tasks-history.md +++ b/docs/development/contributor-tasks-history.md @@ -21,6 +21,7 @@ names a possible shape; the anchor names the gap. | GH-C100 | state | Landed via #4422: the provider-neutral parity fixture drives the shipped file-backed `claim_work` executor through same-target competition, independent-target rebase, exact replay, operation-identity mismatch, and stale-generation rejection. The fixtures remain synthetic and public-safe. | `python3 -m pytest -q tests/control_plane/test_coordination_executor.py tests/control_plane/test_coordination_file_provider.py tests/control_plane/test_coordination_provider_parity.py` and `loopx check --scan-path loopx/control_plane/coordination --scan-path docs/architecture/rfcs/shared-goal-authority-state-provider-v0.md --scan-path docs/development/contributor-tasks.md` | | GH-C96 | design / migration | Claimed: the compatibility review is published as [TypeScript migration compatibility notes](../architecture/typescript-migration-compatibility-notes.md), verifying typed state rules (zero `as unknown as` casts and a one-entry named seam inventory for the internal clone assertion on `main`), domain neutrality (providers stay explicit adapters), behavior-change disclosure (no undisclosed change found), the public/private boundary, and a stage ledger of sixteen merged Stage 2B cutovers against the RFC's three time layers, without starting new migration work. | `python3 examples/docs-governance-smoke.py` and `loopx check --scan-path docs/architecture/rfcs/typescript-control-plane-migration-v0.md --scan-path docs/development/contributor-tasks.md` | | GH-C89 | governance | Landed: [#4172](https://github.com/huangruiteng/loopx/pull/4172) (merged 2026-09-11) responds to the AGE-style attractor proposal (#2831) with a provider-neutral, Agent-scoped direction baseline. It defines the Goal-owned read boundary, exact-revision drift signal, advisory-only Vision re-evaluation, and synthetic fixture plan without making repository docs a write authority. | Public design note with a synthetic drift fixture plan plus `loopx check --scan-path docs/architecture/rfcs --scan-path docs/development/contributor-tasks.md` | +| GH-C89b | RFC fixture | Landed via [#5549](https://github.com/loopx-project/loopx/pull/5549) (merged 2026-10-04): the pre-M1 F2 revision-drift fixture and mutation checks are executable, public-safe, and recorded in the RFC; issue [#5547](https://github.com/loopx-project/loopx/issues/5547) is closed. F1 and F3–F8 remain open under M1. | `python3 examples/goal-direction-baseline-f2-smoke.py` and `loopx check --scan-path docs/architecture/rfcs` | | GH-C02 | tests | Landed: #4436 (merged 2026-09-15) extends the owning `todo-archive-completed` smoke with the archive invariant no CLI-level coverage exercised: a durable standing decision survives the archive as active standing authority, and `todo archive-completed --role user` leaves the Agent Todo section untouched. The earlier #3623 attempt (closed unmerged 2026-08-31) was rejected because it repeated assertions the owning smoke already carried; prefer a new durable invariant over a second same-shape smoke. | `python3 examples/control_plane/todo-archive-completed-smoke.py`, `python3 examples/control_plane/todo-lifecycle-cli-smoke.py`, and `python3 -m py_compile loopx/*.py` | | GH-C70 | runtime | Landed: #3664 (merged 2026-09-04) narrows host-loop parity to one producer-generated bounded-wait scheduler-hint contract between the external scheduler worker and Pi: both real consumers must produce the same provider-neutral stop/wait plan, including the final quota/replan recheck triggered by the third unchanged poll. | `python3 -m pytest -q tests/test_host_loop_runtime_parity.py tests/test_external_scheduler_worker.py tests/test_pi_goal_mode.py`, `node --test tests/pi_goal_loop_runtime.test.mjs`, `python3 examples/external-scheduler-worker-smoke.py`, and `loopx check --scan-path docs/integrations/runtime-connector-catalog.md --scan-path docs/development/contributor-tasks.md` | | GH-C07 | state | Landed: #4048 (merged 2026-09-07) added `tests/test_todo_write_serialization.py`, a deterministic concurrent add/update regression that drives the real `add_goal_todo` and `update_goal_todo` writers against one state file through the shared legacy writer fence, so a second mutation can no longer be lost. The global registry keeps its own serialization coverage in `tests/test_global_registry_write_serialization.py`, and the remaining `atomic_write_state_text` call sites either hold the sibling lock or document that contract on the caller. | `pytest -q tests/test_todo_write_serialization.py tests/test_global_registry_write_serialization.py` | diff --git a/docs/development/contributor-tasks.md b/docs/development/contributor-tasks.md index 9e2c325301..a423e8199e 100644 --- a/docs/development/contributor-tasks.md +++ b/docs/development/contributor-tasks.md @@ -133,7 +133,6 @@ the section; "extend the fixture" is not an obligation. | ID | Anchor | Gap and exit | Validation | Status | | --- | --- | --- | --- | --- | -| GH-C89b | [goal-direction-baseline-v0](../architecture/rfcs/goal-direction-baseline-v0.md) · §7 synthetic case F2 | The RFC landed in #4172 at milestone M0 (design note plus fixture plan F1–F8, no code). Nothing yet proves the M0 claim that a revision change exposes `re_evaluation_required` while inputs, Vision, Todos, leases and Goal route stay byte-identical. Exit: synthetic case F2 is implemented as a public-safe fixture with the RFC's key allowlist, and the RFC's milestone table advances past M0 or records why not. | New focused smoke or pytest implementing F2; public-boundary scan; `loopx check --scan-path docs/architecture/rfcs` | Available | | GH-R5A | R5 / [shared-goal-authority-state-provider-v0](../architecture/rfcs/shared-goal-authority-state-provider-v0.md) · D2 durability / [#4224](https://github.com/loopx-project/loopx/issues/4224) [#3245](https://github.com/loopx-project/loopx/issues/3245) | Existing contributor-owned capacity and process-recovery work includes merged #4328 and read-proof optimization [#4931](https://github.com/loopx-project/loopx/pull/4931). D2 still lacks complete reference-profile reruns, large-history recovery/consumer-lag, restore/upgrade/runtime coverage and elapsed-soak evidence. Exit: reconcile the RFC §7.2 passed/failed/missing ledger against the merged source while retaining the original failed budgets and separate promotion holds. | Declared reference-runtime capacity profiles and real SQLite process/recovery suites; independently recorded platform and >=10-day elapsed-soak evidence | Claimed | | GH-C102 | [shared-goal-authority-state-provider-v0](../architecture/rfcs/shared-goal-authority-state-provider-v0.md) · one named invariant | Extend the shared production-scale coordination fixture only for an accepted RFC invariant or a reproduced public regression that the current envelope does not cover, naming the invariant section in the PR. Update the checked-in envelope, shared generator and an independent negative or mutation assertion; run the same dimension through every affected provider arm. Do not add a dimension because the fixture accepts one. Exit: the named invariant has a passing positive case and a failing mutation case on every affected arm. | `npm run test:control-plane`; for PostgreSQL, `LOOPX_TEST_POSTGRES_URL="$DISPOSABLE_POSTGRES_URL" npm run test:postgresql-authority-store`; `loopx check --scan-path tests/fixtures/control_plane --scan-path tests/control_plane_ts` | Available (named invariant required) | | GH-B01 | S11 / [long-horizon benchmark research program](../architecture/rfcs/long-horizon-harness-benchmark-research-program-v0.md) · treatment integrity / [#3243](https://github.com/loopx-project/loopx/issues/3243) | Adapter-fidelity and treatment-integrity gaps are asserted but not reproducible from public fixtures. Exit: one reproducible gap with the existing focused fixtures, reported without live scoring. | Deterministic fixtures in `tests/capabilities/test_benchmark_toolkit.py`; no live runs | Needs design |