diff --git a/docs/development/contributor-tasks-history.md b/docs/development/contributor-tasks-history.md index 84d9441fa8..a917968fea 100644 --- a/docs/development/contributor-tasks-history.md +++ b/docs/development/contributor-tasks-history.md @@ -19,6 +19,7 @@ names a possible shape; the anchor names the gap. | GH-C04 | docs | Landed: #3982 (merged 2026-09-06) synced the public timeline to tagged v0.5.4 evidence and completed the restart-host activation note beside the first-time PyPI install block; the #3301/#3566/#3556 install, ownership, activation-recovery, and extension-doctor alignment landed earlier via #3810. The `docs/release-readiness-v0.5.4` branch is absent from the remote because its work merged, so this row is history rather than an open claim. | `python3 examples/fresh-clone-quickstart-smoke.py`, `python3 examples/loopx-update-smoke.py`, `python3 examples/release/release-readiness-doc-smoke.py`, `python3 examples/release/release-version-contract-smoke.py`, and `loopx check --scan-path docs/product/release-readiness.md --scan-path CONTRIBUTING.md` | | GH-C06 | cli | Landed: #4659 owns `update` registration and dispatch, #4803 owns `goal-channel prepare-operation` and `deliver-operation`, and #4818 owns quota action selection. The public commands remain unchanged, each parent and extracted owner stays below its module budget, and no compatibility wrapper was added. | Command-specific smoke, `python3 examples/cli-command-module-size-ownership-command-modularization-smoke.py`, `python3 regression/cli-command-module-contract.py`, and focused pytest if rules move | | 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-C102 | state | Landed via [#4549](https://github.com/loopx-project/loopx/pull/4549) (merged 2026-09-16): the production-scale fixture now carries rejected standing-decision receipts, every provider conformance arm verifies they remain inactive, and an independent negative/mutation test covers approval-only activation and typed-scope removal. | See merged #4549 for the recorded focused tests, file/SQLite conformance, typecheck and CI-gated provider validation. | | 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-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` | diff --git a/docs/development/contributor-tasks.md b/docs/development/contributor-tasks.md index 9e2c325301..b9db21c5eb 100644 --- a/docs/development/contributor-tasks.md +++ b/docs/development/contributor-tasks.md @@ -135,7 +135,6 @@ the section; "extend the fixture" is not an obligation. | --- | --- | --- | --- | --- | | 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 | ## Retired Task Generators @@ -147,7 +146,7 @@ anchored row above. | Former ID | Was | Why retired | Where the work goes now | | --- | --- | --- | --- | | GH-C37 | "Curate the interaction pattern catalog with one new public-safe case" | Eight IP entries landed in three weeks with no consuming controller, dashboard copy or test named; the catalog is 3,300 lines and its own admission note now applies. | A new IP is part of the anchored row that consumes it; cite the code, test or copy that reads the pattern. | -| GH-C102 (open form) | "Extend the shared coordination fixture with one more dimension" | Dimensions were added because the fixture accepted them, not because an invariant was uncovered. | Kept as GH-C102 above with a named RFC invariant required. | +| GH-C102 (open form) | "Extend the shared coordination fixture with one more dimension" | Dimensions were added because the fixture accepted them, not because an invariant was uncovered. | Retired as a claimable template: admit future work only after it names a specific accepted invariant, consumer, gap, and exit. | | Progress-log "contributor implication" hints | "Add one synthetic fixture / negative case / walkthrough" | Hints named a shape, not a gap; they generated test-pin PRs. | Read them in [history](contributor-tasks-history.md); open an anchored issue if a hint maps to an RFC invariant or defect. | ## Maintainer-Owned / Coordination Required