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
#4317 unifies provider opening; #4348 adds canonical renew; #4328 is the first
3006
+
SQLite D2 measurement/recovery batch. They are review candidates, not merged
3007
+
prerequisites or proof of the full cards. #4334 is the independent PostgreSQL
3008
+
service-admission candidate. Re-read actual heads before composing work; do
3009
+
not carry their already-merged ancestors as new changes.
3010
+
3011
+
The identifiers below are **planned PR packages**, not reserved GitHub numbers.
3012
+
A package may split at a real effect/compatibility boundary; changing languages
3013
+
or moving a helper is not by itself a package exit.
3014
+
3015
+
| Wave / package | Reviewable delivery and TS ownership payoff | Dependencies and exit evidence |
2988
3016
| --- | --- | --- |
2989
-
| Current refactor stack is reconciled | T1; D1 and D2 may proceed independently | Default provider changes or another generic migration framework |
2990
-
| T1 closes field semantics | T2; close T3 consumers as their contracts become available | Per-command split authority within one Goal |
2991
-
| T1–T3 and D1/D2 plus capture qualify | D3 rehearsal, then explicit promotion request | Skipping soak, bypassing failed evidence, or production promotion by the agent |
2992
-
| Approved cutover and legacy window finish | T4 full-writer retirement | Deleting permanent Markdown presentation or historical receipts still needed for replay |
2993
-
2994
-
Expect roughly **five to seven cohesive implementation/qualification batches**
2995
-
after reconciling the current stack, not a fixed PR quota: T1, T2, T3, D1, D2,
2996
-
D3 and T4 can share a PR only when their dependencies, review and rollback
2997
-
remain clear. Semantic deletion starts in T1; full legacy-writer deletion waits
2998
-
for D3/T4. Elapsed-time soak is separate and is not shortened by splitting PRs.
2999
-
3000
-
For each handoff, record the exact base/head, selected card, actual callers
holds and one next executable action. If an earlier stage already landed,
3003
-
verify its evidence and skip its implementation; if prerequisites fail, stop
3004
-
that dependent stage. Do not turn hypothetical post-merge readiness into an
3005
-
automatic promotion, automation, merge or release permission.
3006
-
3007
-
The current default and Appendix C promotion holds remain unchanged. This plan
3008
-
does not declare the whole Todo family, long-goal profile, or shared deployment
3009
-
production-ready. Providers keep CAS/transactions durable; they never own a
3010
-
second Todo state machine.
3017
+
| A / L1: Monitor configuration (this slice) | Existing `todo update` config enters the TS planner/CAS/receipt; delete Python's duplicate intent field catalog. Separate authoring from observed hashes, times and generations. | Ordinary CLI/API, clear/omission, active lease proof, no-op/replay, failed display delivery, complete fixture and real providers. This does not complete delegated Chat or leased polling. |
3018
+
| A / L2: Complete public mutation admission | Inventory actual CLI/Turn/Chat callers; close remaining effect-owned user decisions, delegated owner actions and Monitor lifecycle transitions with validated actor/grant facts. | Build on merged T1 owners, not a generic raw patch. Prove permission rejection and exact caller response; remove replaced Python admission and name every remaining unsupported command. |
3019
+
| A / L3: Canonical lease lifecycle | Reconcile #4348 renew; close transfer/release and their CLI consumers through the same typed lease rules, atomic head/event/receipt and replay. | One canonical Todo/lease revision; lost replies, stale versions, competing owners, expired/released history and cleanup proofs. Receipt replay is never a fresh execution grant. |
3020
+
| B / L4: Leased Monitor poll and settlement | Compose observation, generation and independent successors with the current lease fence. Reuse the existing quota settlement protocol and exact business receipt. | L2/L3; real polling failure, duplicate/no-change observations, crash between business and quota settlement, and competing writers. Do not pretend separate authorities share a database transaction. |
3021
+
| B / L5: Consumer and display closure | Reconcile #4316, audit Turn/quota/Dashboard/Chat source reads, and finish D1 freshness/recovery through the existing projection outbox. | CLI, Lark/Chat and packaged frontend read back their affected interactions; absent/stale display, empty canonical state, pending projection and data beyond UI limits. Delete post-promotion legacy fallbacks with each consumer. |
3022
+
| A–C / L6: Local durability qualification | Continue contributor-owned #4224/#4328 on the selected SQLite profile; reuse File/NoKV references and complete 7.2's ledger. | Capacity, real process/crash/restore/upgrade, retained receipts/scans, consumer lag, supported runtimes/OS and the separately authorized >=10-day synthetic soak. Missing measurements remain holds. |
3023
+
| A–C / L7: Capture continuity | Resolve #4315 with source-correlated archive retirement and identical lease membership at bootstrap and later writers; activate its row/mutant and complete the mixed-writer/event-source matrix. | Real CLI/File capture, history retained, partial drain unqualified, crash/replay and a new lease after archive/rebootstrap. Keep the legacy migration window provable; T4 cannot be used to skip this row. |
3024
+
| C / L8: Whole-Goal rehearsal and cohort migration | Integrate one exact revision/profile after L2–L7; drain capture, fence old writers, verify canonical readback and projection, then rehearse fenced export/rollback. | D3 evidence packet binds lineage, cursor, source digest, command coverage and profile. Existing Goal migration requires explicit cohort approval; no per-command split authority or stale Markdown revival. |
3025
+
| D / L9: New-Goal default and bounded retirement | A dedicated default-change PR makes new-Goal creation/onboarding choose the qualified local profile, including settings/readback, installer and packaged clients. Retire old business writers only as their final callers and migration window close. | L8's integrated product/rollback qualification; distinguish new Goal default from existing Goal migration. Publish compatibility/disable guidance, keep explicit provider choice, permanent rendering and validated import/export. T4 can continue after the default ships. |
3026
+
3027
+
**Cadence is evidence-based.** First reconcile the active stack, then deliver A
3028
+
packages as complete operations while L6/L7 progress independently. B integrates
3029
+
those contracts into complete user flows; C has one reproducible qualification
3030
+
checkpoint; D changes the default in its own reviewable PR. This is roughly
3031
+
nine cohesive packages at this checkpoint, not a line-count target or a promise
3032
+
of nine merges. Avoid concurrent edits to the same transaction owner; share
3033
+
fixture/contracts early and rebase after the owner lands.
3034
+
3035
+
There is no defensible calendar completion date before the L2/L3 command
3036
+
inventory and L6 missing-evidence ledger close. The >=10-day soak is a real
3037
+
elapsed-time lower bound **after the measured profile is ready**, not ten days
3038
+
from this plan. It may overlap compatible work after explicit launch approval;
3039
+
changes to the qualified durability semantics require an impact-based rerun.
0 commit comments