Batch: views import, call-graph speedups, inspect freshness, runon reattach and 9 more ready fixes
Merged
AF
1d ago+9028+9028+0123456789012345678901234567890123456789-783-783-012345678901234567890123456789
Lands thirteen reviewed PRs as one merge, so they take one merge-queue round instead of thirteen. Each component PR stays open until this merges, then closes pointing here.
| PR | Change |
|---|---|
| #1194 | Views: import existing text and symbol indexes when views are turned on |
| #1200 | Call graph: index inline-module candidates (cold build 636 s → 154 s on AFT, identical rows) |
| #1208 | Call graph: prune workspace-member walks |
| #1201 | Background commands keep their startup image across daemon exits |
| #1203 | aft_inspect reports current diagnostics or partial, never stale (#829) |
| #1209 | Lease heartbeats every 25 s instead of 5 s on idle projects |
| #1174 | aft_callgraph resolves Python cross-file imports (#1126) |
| #1190 | runon reattaches to an accepted job by id after a dropped connection |
| #1183 | Killed and reclaimed commands skip output token counting |
| #1198 | Flake batch 27 (test-only) |
| #1206 | Bash startup deadline doesn't name a call as its own blocker |
| #1186 | gh shim waits for Plexus's full reply window |
| #1191 | gh shim reports Plexus pre-send refusals as not sent |
Merge resolution:
- #1194 with #1154: view loads keep #1154's busy retry, and constructors use the import-aware builders. In
aft_search, "import building" answers from the bounded scan, while a real load failure keeps the sharedview_load_error_response. - #1194 with #1154's
completion_busyfield: the import's unbound and import-building errors stay plain busy errors. - #1190 with #1155: one outage fixture covers both started-or-queued jobs and the replay mode.
Gate on the build server (Linux):
- Formatting, the test-timing-hooks feature check and the Windows target check: clean.
- Integration binaries: 2,616 passed, 2 failed.
real_rust_analyzer_checks_do_not_block_cargo_buildalso fails on main there, because the build server sets CARGO_TARGET_DIR.subc_bridge_health_check_returns_root_status_reportpassed 3/3 alone on this branch and 2/2 on main, so it was load.
- Lib: the secret-shell tests need the built
aftbinary, which that job didn't build. They're being rerun with it built. composition_no_marker_boundary_record: being run alone on this branch; it passes 3/3 on main.
The search descriptor is engine_unwired: the only fenced file is semantic_search/mod.rs, on the views-on import path.
![View with [code]smith](https://pr-comments-assets.blacksmith.sh/codesmith/view-with-codesmith-dark-v3-3x.png)
![Autofix with [code]smith](https://pr-comments-assets.blacksmith.sh/codesmith/autofix-with-codesmith-dark-3x.png)
Need help on this PR? Tag @codesmith-bot with what you need.
Summary by cubic
Lands thirteen reviewed PRs as one merge so they take one merge-queue round instead of thirteen. Each component PR stays open until this merges, then closes pointing here.
Behavior changes
- Views: enabling views imports existing legacy text and symbol indexes; while an import builds,
aft_searchandgrepanswer from the bounded scan instead of failing (#1194). - Call graph: cold builds index inline-module candidates per snapshot and prune workspace-member walks, cutting cold build 636 s → 154 s on AFT with identical rows (#1200, #1208).
aft_callgraphresolves Python cross-file imports including aliased and relative forms, and discloses matching unresolved callers in nonempty answers (#1174, #1130).- Background commands keep a hard-linked copy of the daemon's startup image, so a daemon exit can't break a sandbox still launching (#1201).
aft_inspectreports current diagnostics or the file as partial, never stale results after a change (#1203).- Idle project leases heartbeat every 25 s instead of 5 s (#1209).
runonreattaches to an accepted job by id after a dropped connection (#1190).- Killed and reclaimed commands skip output token counting (#1183).
- Bash startup deadline no longer names a call as its own blocker (#1206).
- The gh shim waits for Plexus's full reply window; pre-send refusals report as not sent, and only
transport_unknownandlease_expiredget one same-nonce retry (#1186, #1191).
Merge resolution and tests