From 047cfa453b34b0cc600a1f55a2706d131d254866 Mon Sep 17 00:00:00 2001 From: liubf <96656966+liubf21@users.noreply.github.com> Date: Mon, 17 Aug 2026 19:06:58 +0800 Subject: [PATCH] chore(tasks): retire covered replan fixture task Remove GH-C91 from the contributor board after its listed negative semantics were verified as already covered, so contributors are not directed to duplicate tests. Co-authored-by: Cursor --- CONTRIBUTOR_TASKS.md | 1 - 1 file changed, 1 deletion(-) diff --git a/CONTRIBUTOR_TASKS.md b/CONTRIBUTOR_TASKS.md index 0b4701b2c..b24178606 100644 --- a/CONTRIBUTOR_TASKS.md +++ b/CONTRIBUTOR_TASKS.md @@ -154,7 +154,6 @@ for contributors who can run local CLI smokes and keep changes scoped. | GH-C06 | cli | Characterize one remaining oversized CLI ownership seam after the recent quota, status, todo, history, and scheduler command-plumbing extractions, then move only a cohesive command or rule group into its bounded module. Preserve public invocations, avoid compatibility wrappers without a real caller, and keep the module-size/import budget honest. | 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-C85 | validation | Wire caller-approved `validation_command` into the remaining self-report completion entry points (#3082). The todo completion path now runs caller-approved validation with typed receipts and negative fixtures (`tests/control_plane/test_todo_completion_validation.py`); extend the same contract to other self-report paths such as the MCP `complete_task` route, keep the no-command fast path unchanged, and fail closed with a typed receipt on malformed or failing commands. | Focused pytest with a negative case, `python3 examples/loopx-turn-fake-host-walkthrough-smoke.py`, and `loopx check --scan-path loopx/capabilities/issue_fix --scan-path CONTRIBUTOR_TASKS.md` | | GH-C90 | validation / security | Audit the shipped security-boundary negative fixtures (#3137-#3140: `tests/test_state_file_containment.py`, `tests/test_worker_command_validation.py`, `tests/test_feedback_goal_id_validation.py`, `tests/test_status_server_cors.py`) and add one missing mutation case per boundary: state-file override containment, launcher worker-command metacharacter rejection, serve-status `goal_id` path-traversal validation, and ACAO-free unauthenticated read responses. Keep credentials and private reproduction details out, and coordinate timing with maintainer advisory disclosure. | `python3 -m pytest -q tests/test_state_file_containment.py tests/test_worker_command_validation.py tests/test_feedback_goal_id_validation.py tests/test_status_server_cors.py`, `python3 examples/full-public-smokes-workflow-smoke.py`, and `loopx check --scan-path loopx/status_server.py --scan-path loopx/state_refresh.py --scan-path loopx/visible_multi_agent_launcher.py --scan-path CONTRIBUTOR_TASKS.md` | -| GH-C91 | control plane | Typed replan semantic-exit settlement shipped (#3213). Extend the typed replan semantic-delta fixtures with one missing negative case: equivalent coverage fingerprint, evidence-only churn, ungrounded successor id, repeated blocker, or a legacy ACK that predates a newly rotated obligation. Derive the expected transition from the typed contract, not current output. | `python3 -m pytest -q tests/control_plane/test_progress_observation.py tests/control_plane/test_replan_host_context_projection.py tests/control_plane/test_replan_semantic_action_behavior.py tests/control_plane/test_replan_novelty_policy.py`, `python3 examples/control_plane/quota-replan-decision-plane-smoke.py`, and `loopx check --scan-path docs/status-data-contract.md --scan-path docs/reference/protocols/agent-scoped-evidence-ledger-v0.md --scan-path CONTRIBUTOR_TASKS.md` | | GH-C92 | runtime | Fix #3228: Codex CLI timeout recovery cannot resume the session observed by the failed Turn. Reproduce with a deterministic fake host, preserve the session binding through the typed recovery route, and fail closed on identity drift without duplicating effects or spending quota twice. | Focused recovery pytest with a negative case, `python3 -m pytest -q tests/test_loopx_turn_driver.py`, and `loopx check --scan-path docs/reference/protocols/loopx-turn-v0.md --scan-path CONTRIBUTOR_TASKS.md` | | GH-C93 | memory / productization | Implement the post-outcome memory utility attribution model from RFC #3215 (issue #3214): attribute recalled-memory utility only after verified outcomes, keep attribution advisory and scoped, and prove it grants no write authority over Reward Memory. | `python3 examples/reward-memory-corpus-registry-smoke.py`, focused pytest with a negative case, and `loopx check --scan-path docs/architecture/rfcs/post-outcome-memory-utility-attribution-v0.md --scan-path CONTRIBUTOR_TASKS.md` | | GH-C94 | control plane | Triage and fix #3196: event projection drops `completion_turn_key`, so replaying the same Turn is misjudged as a conflict. Add a projection parity fixture that preserves the key through commit/replay and keeps conflict classification typed and fail-closed. | Focused pytest, `python3 examples/control_plane/todo-lifecycle-cli-smoke.py`, and `loopx check --scan-path docs/status-data-contract.md --scan-path CONTRIBUTOR_TASKS.md` |