Skip to content

Startup recovery no longer stalls the connection loop; Rust 1.100 Cargo layout support - #1435

Open
aft-alfonso[bot] wants to merge 10 commits into
mainfrom
ci-speed/batch-3-startup-fix
Open

aft-alfonso[bot] wants to merge 10 commits into
mainfrom
ci-speed/batch-3-startup-fix

Conversation

@aft-alfonso

@aft-alfonso aft-alfonso Bot commented Nov 12, 2026 •

Copy link
Copy Markdown
Contributor

Follow-up to the post-0.64 batch 3 merge (#1433), before its card is placed.

  • Startup recovery: held-task recovery reads `bash_tasks` and the call ledger in small indexed pages instead of one full scan under the shared aft.db lock. On a 2.1 GB database snapshot, the longest lock hold fell from about 1.47 s to 14 ms, and the worst delay seen by a task on the connection runtime from about 1.46 s to 4 ms, with identical results (847 sessions, 1,328 tasks). Batch 3's first placement rolled back after a 19 s stall of the connection loop behind that scan.
  • Database waits off the runtime thread: the macOS permission-card cleanup, `macos_permissions` and the shells list lookup now run their database sections with `spawn_blocking`. Current-thread tests prove the runtime keeps polling while another thread holds the lock.
  • Rust 1.100: completed Rust checks find build-script output in Cargo's new `build///run/stdout` layout as well as the old one. Native test launchers use `cortexkit-test-support` 0.1.14 to find the profile folder in both layouts. Main's CI has been red since GitHub's runners moved to Rust 1.100.

Summary by cubic

Stops startup recovery from stalling the connection runtime and restores CI on Rust 1.100.

Startup recovery and database waits

  • Recovery reads bash_tasks and the call ledger in 64-row indexed pages, cutting the longest shared aft.db lock hold from ~1.47 s to 14 ms on a 2.1 GB snapshot (worst connection-runtime delay: ~1.46 s to 4 ms).
  • macOS permission-card cleanup, macos_permissions, and the shells list agent lookup run database work via spawn_blocking so the runtime keeps polling while the lock is held.
  • Tests with a current-thread runtime verify polling continues when another thread holds the database lock.

Rust 1.100 Cargo layout

  • Completed Cargo checks now read build-script stdout from the new build/<package>/<unit>/run/stdout layout as well as the legacy output layout.
  • Native test launchers use cortexkit-test-support 0.1.14 to locate the profile folder in both layouts; main's CI had been red since GitHub runners moved to Rust 1.100.
  • Declared non-ranking for the search-quality harness; search code is untouched.

Written for commit fcde5ab. Summary will update on new commits.

View guided diff Turn on auto-fix

ualtinok and others added 10 commits November 12, 2026 21:43
…tabase work

Co-authored-by: alfonso-aft <289616620+alfonso-aft@users.noreply.github.com>
Co-authored-by: alfonso-aft <289616620+alfonso-aft@users.noreply.github.com>
Co-authored-by: alfonso-aft <289616620+alfonso-aft@users.noreply.github.com>
Co-authored-by: alfonso-aft <289616620+alfonso-aft@users.noreply.github.com>
Co-authored-by: alfonso-aft <289616620+alfonso-aft@users.noreply.github.com>
Co-authored-by: alfonso-aft <289616620+alfonso-aft@users.noreply.github.com>
Co-authored-by: alfonso-aft <289616620+alfonso-aft@users.noreply.github.com>
Co-authored-by: alfonso-aft <289616620+alfonso-aft@users.noreply.github.com>
Co-authored-by: alfonso-aft <289616620+alfonso-aft@users.noreply.github.com>
Co-authored-by: alfonso-aft <289616620+alfonso-aft@users.noreply.github.com>
@socket-security

Copy link
Copy Markdown

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Addedcargo/​cortexkit-test-support@​0.1.1492100100100100

View full report

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant