fix(server): reconcile historical V2 migration manifests - #9900
Conversation
ApprovabilityVerdict: Not approved Macroscope's review found this PR not approvable — The PR adds substantial production startup logic for validating and reconciling historical SQLite migration ledgers, including ledger rewrites and conditional DDL execution across several schema histories. Its tests are comprehensive, but the migration-state and database-schema impact merits human review. You can add or adjust custom eligibility rules. Learn more. |
b82facd to
2ac9bfe
Compare
bd245a3 to
c45eb66
Compare
Bugbot is paused — on-demand spend limit reachedBugbot uses usage-based billing for this team and has hit its on-demand spend limit. A team admin can raise the spend limit in the Cursor dashboard, or wait for the next billing cycle to continue. |
9242b91 to
3d81172
Compare
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: codex <codex@users.noreply.github.com>
- Re-route steering that races completion into idempotent follow-up dispatches - Preserve scheduled-task attribution and provider ownership history across clients
Port main's pull-request discovery, active thread ordering, async question dismissal, settlement fixes, provider-session import, attachment context, and provider correctness changes into orchestration v2. Keep the branch's intentional composer and subagent behavior while adopting main's web and mobile fixes. Prevent headless setup terminals from hanging on the color probe, and move the v2 migration block to 050-061 after main claimed 048-049.
Restore the failed-before-start timer guard, align two server fixtures with the reconciled behavior, and remove dead files, exports, and dependencies surfaced by Knip. Drop the temporary branch push trigger now that the PR is mergeable, so each update runs the pull-request workflow once.
Keep main's batch machine-update banner and update action while preserving the v2 runtime-based environment lock used by draft load balancing.
Adopt TypeScript 7 and Effect rc.112 across orchestration v2, including the TaggedError API migration and updated Effect-aware tests. Restore main's composer-aware scroll-to-end clearance while retaining selected-model settings sync, preview recording transfer, image galleries, desktop context menus, and layout hit targets. Regenerate the lockfile on the upgraded dependency baseline.
efd9994 to
6102d00
Compare
Advertise bounded socket snapshots and authoritative dispatch validation, omit raw command output and inline file bodies at the wire boundary, and preserve compact status metadata across web and mobile. Add transport-budget coverage for snapshots, resume, commands, legacy import, and projection maintenance.
Restore pinned-thread shelf classification, server-owned unread state, hidden-subagent-safe project ordering, guarded jump hints, draft upload cleanup, and active-provider archive guards across the current and legacy sidebars. Bring the surrounding current-main sidebar work forward as well: canonical project favicons, stable row layout, thread file drops, account-aware mobile provider badges, and deferred desktop keyring loading.
718bc3f to
835bf8a
Compare
There was a problem hiding this comment.
All clear
Posted via Macroscope — Effect Service Conventions
|
All clear Posted via Macroscope — Effect Service Conventions |
8187b17 to
ada72ce
Compare
Historical V2 builds recorded the same setup under different migration numbers. After V2 consolidated its schema into migration 050, those ledgers can skip missing schema or replay DDL against existing tables.
Head
9e3929026integrates V2fdfadf3d0, validates the historical manifest, fills missing main migrations, and runs only the remaining V2 setup steps before consolidating the ledger. Existing import progress and the original migration-050 timestamp are preserved. Main-only migration ceilings leave partial V2 progress intact for the next full upgrade. All reconciliation remains transactional.Includes the test-only prerequisite #10865; merge it first.
Verification: 20 focused tests across four migration suites pass, covering historical bases 43/44/47/49, partial and complete V2 sequences, rollback, timestamp/import preservation, and the consolidated schema. Server typecheck and scoped lint pass. A standalone server export scan reports pre-existing unused exports across V2, so it is not recorded as a passing check. Direct independent Claude review remains unavailable because the launcher exits 1 on expired OAuth before inference.
Implemented and verified with GPT-6 Astra in the Codex harness.