You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 69cfd35
Browse filesBrowse the repository at this point in the historyBrowse files
Copy file name to clipboardExpand all lines: docs/development/contributor-tasks.md
+4-4Lines changed: 4 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -101,11 +101,11 @@ issue.
101
101
102
102
| ID | Anchor | Gap and exit | Validation | Status |
103
103
| --- | --- | --- | --- | --- |
104
-
| GH-A01 | S12 · [#4941](https://github.com/loopx-project/loopx/issues/4941)|Windows users on a `cp936`-style locale hit structured state files read or written with the locale codec; #4338, #4942 and #4997 fixed the reported sites and main now has no bare `read_text()` / `write_text()` under `loopx/`. The gap is that nothing stops the class from returning. Exit: a repository guard test fails on any text-mode file I/O under `loopx/` without an explicit encoding, the reporter confirms on a `cp936` host, and #4941 closes. |New guard test next to `tests/capabilities/test_connector_registry_encoding.py` and `tests/test_runtime_subprocess_utf8.py`; `python3 -m pytest -q` on both | Available|
104
+
| GH-A01 | S12 · [#4941](https://github.com/loopx-project/loopx/issues/4941)|Product fixes and the package-wide UTF-8 text-I/O guard are merged, including [#5160](https://github.com/loopx-project/loopx/pull/5160). The remaining gap is native reporter verification and issue closeout. Exit: confirm the repaired read/write paths on a `cp936` host and close #4941; reuse the landed guard instead of implementing another one. |`uv run --extra test python -m pytest -q tests/test_loopx_text_io_utf8.py tests/capabilities/test_connector_registry_encoding.pytests/test_runtime_subprocess_utf8.py`; reporter's native-host readback | Blocked: reporter verification and issue closeout|
105
105
| GH-A02 | S4/S10 · [#3927](https://github.com/loopx-project/loopx/issues/3927)| A Codex App automation that silently stops delivering scheduled prompts is indistinguishable from a healthy quiet goal; the owner learns days later. Exit: `loopx doctor` or the heartbeat readback reports a missed-delivery window as a typed diagnosis with the last observed tick. |`python3 -m pytest -q tests/test_doctor_installation_scope.py` plus a missed-window fixture; `loopx doctor --deep` readback | Needs design |
106
-
| GH-A03 | S3 · [#4336](https://github.com/loopx-project/loopx/issues/4336)|A 0.4.3 install saw `installed` in a progress summary matched as `stalled`and got `autonomous_replan_required` on a healthy goal. Typed progress observations replaced that prose matcher after #3161, but no public regression pins the contract, so a compatibility path could bring it back silently. Exit: a `quota should-run` regression with `installed` / `uninstalled` / `installation completed` summaries emits no no-progress trigger, a typed no-progress observation still does, and the issue records the upgrade guidance. | New focused pytest plus `python3 examples/control_plane/autonomous-replan-no-change-smoke.py` if present; `loopx check --scan-path loopx/control_plane/quota`| Available|
106
+
| GH-A03 | S3 · [#4336](https://github.com/loopx-project/loopx/issues/4336)|Issue #4336 was closed, while [#4397](https://github.com/loopx-project/loopx/pull/4397) remains open with requested changes and [#5162](https://github.com/loopx-project/loopx/pull/5162) closed without merge. Typed progress already owns the runtime rule. Exit: reconcile the closed issue with the current PR review before claiming another regression is required; retain one canonical negative case and upgrade guidance only if that review confirms the gap. | Current `quota should-run` typed/prose regression and the existing PR's focused tests; exact-head review readback | Blocked: closed issue and PR review reconciliation|
107
107
| GH-A04 | S5 · [#4381](https://github.com/loopx-project/loopx/issues/4381)| Users have to open the dashboard to learn why a task is blocked and what unblocks it; the projection already knows. Exit: the existing blocker projection is delivered through the goal channel / status readback with the recovery action, without a second notifier. |`python3 examples/issue-fix-outcome-projection-smoke.py`, focused status readback smoke | Needs design |
108
-
| GH-A05 | S12 · [#4800](https://github.com/loopx-project/loopx/issues/4800)|Default local state lives under `.codex`, which confuses non-Codex hosts and upgrades. Exit: an agreed default path and an explicit, reversible migration command; no silent move. |Design note first; then `python3 examples/loopx-update-smoke.py` and an install smoke on a cleanprofile | Needs design|
108
+
| GH-A05 | S12 · [#4800](https://github.com/loopx-project/loopx/issues/4800)|The explicit `.loopx` migration PR [#4915](https://github.com/loopx-project/loopx/pull/4915) remains open with green CI, requested changes on its exact head, and a conflict with main. Exit: repair the reviewed real-CLI explicit-route regression and merge conflict, revalidate the default/legacy/conflict, migration and rollback contract, then obtain maintainer review and complete issue closeout; ordinary reads must not move existing state. |The existing PR's migration/SSH/registry tests, native Windows junction checks and clean-profile install/update smokes | Claimed|
109
109
110
110
Closed defects that show the lane's shape: #4155 and #4997 (Windows), #4012
@@ -134,7 +134,7 @@ the section; "extend the fixture" is not an obligation.
134
134
| ID | Anchor | Gap and exit | Validation | Status |
135
135
| --- | --- | --- | --- | --- |
136
136
| 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 |
137
-
| 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)|The SQLite local authority candidate has capacity profiles but no crash/replay boundary qualified against the D2 acceptance in the RFC. Exit: one crash-during-commit and one replay-after-partial-write case pass on the real backend with the RFC's stated outcome, or the RFC records why D2 changes. |`npm run test:control-plane`; the isolated SQLite integration suite | Available|
137
+
| 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|
138
138
| 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) |
139
139
| 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 |
0 commit comments