agent-file-tools 0.55.1

Agent File Tools — tree-sitter powered code analysis for AI agents
Documentation
1
{"assignees":[],"author":{"id":"MDQ6VXNlcjE0NDEwNzA=","is_bot":false,"login":"randomvariable","name":"Naadir Jeewa"},"body":"## Summary\n- bound process-wide and per-actor interactive and maintenance queues with exact accounting, typed backpressure, deadline pruning, and queue telemetry\n- carry one request budget across SubC connection, route-open, retry, queue, and deferred bash paths without invalidating shared routes on caller expiry\n- yield standing-root maintenance before cold-build admission and demote maintenance workers so reader requests remain responsive under index load\n\n## Test Plan\n- `cargo test -p agent-file-tools --lib executor::tests --quiet`\n- `bun test packages/aft-bridge/src/__tests__/subc-transport.test.ts packages/aft-bridge/src/__tests__/error-contract.test.ts`\n- `cargo test -p agent-file-tools --quiet`\n- SubC bridge and storm integration suites\n- release storm gate with `AFT_GATE_PHASES=storm`\n- complete bridge regression suite\n- `git diff --check`\n\n## Contribution\nAI-assisted implementation and verification with OpenAI Codex through Oh My Pi. The author reviewed the changes and test evidence.\n\n<!-- codesmith:footer -->\n---\n<a href=\"https://app.blacksmith.sh/cortexkit/codesmith/aft/pr/283\"><picture><source media=\"(prefers-color-scheme: dark)\" srcset=\"https://pr-comments-assets.blacksmith.sh/codesmith/view-with-codesmith-dark-v2.svg\"><source media=\"(prefers-color-scheme: light)\" srcset=\"https://pr-comments-assets.blacksmith.sh/codesmith/view-with-codesmith-light-v2.svg\"><img alt=\"View with [code]smith\" src=\"https://pr-comments-assets.blacksmith.sh/codesmith/view-with-codesmith-dark-v2.svg\"></picture></a> <a href=\"https://backend.blacksmith.sh/track/enable-autofix?expires=1790719342&installation_model_id=22398&pr_number=283&repository=cortexkit%2Faft&return_to=https%3A%2F%2Fgithub.com%2Fcortexkit%2Faft%2Fpull%2F283&signature=9e18ba7427080fe8d352eb44e26712bf7d26891af3292f05ccc71cb8958aee23\"><picture><source media=\"(prefers-color-scheme: dark)\" srcset=\"https://pr-comments-assets.blacksmith.sh/codesmith/autofix-with-codesmith-dark.svg\"><source media=\"(prefers-color-scheme: light)\" srcset=\"https://pr-comments-assets.blacksmith.sh/codesmith/autofix-with-codesmith-light.svg\"><img alt=\"Autofix with [code]smith\" src=\"https://pr-comments-assets.blacksmith.sh/codesmith/autofix-with-codesmith-dark.svg\"></picture></a>\n<sup>Need help on this PR? Tag <code>@codesmith-bot</code> with what you need. Autofix is disabled.</sup>\n\n<!-- codesmith:autofix:disabled -->\n<!-- /codesmith:footer -->\n\n<!-- This is an auto-generated description by cubic. -->\n---\n## Summary by cubic\nBounds the executor's interactive and maintenance queues and carries one request deadline across the SubC transport so reader latency stays stable under index load.\n\n**New Features**\n- Adds process-wide and per-actor queue caps with exact accounting, typed backpressure, deadline pruning, and queue telemetry.\n- Carries one absolute request deadline across connection, route-open, retry, queue, and deferred bash paths; caller expiry no longer invalidates shared routes.\n- SubC transport pools gain a `defaultTimeoutMs` option; pools that omit it carry no deadline metadata.\n\n**Bug Fixes**\n- Standing-root maintenance now yields before cold-build admission.\n- Maintenance workers are demoted in OS priority so reader requests win CPU and I/O under index load.\n\n<sup>Written for commit a2e1d8ae9b8119d9a9825f74f84800ee22c0f9d3. Summary will update on new commits.</sup>\n\n<a href=\"https://cubic.dev/pr/cortexkit/aft/pull/283?utm_source=github\" target=\"_blank\" rel=\"noopener noreferrer\" data-no-image-dialog=\"true\"><picture><source media=\"(prefers-color-scheme: dark)\" srcset=\"https://www.cubic.dev/buttons/review-in-cubic-dark.svg\"><source media=\"(prefers-color-scheme: light)\" srcset=\"https://www.cubic.dev/buttons/review-in-cubic-light.svg\"><img alt=\"Review in cubic\" src=\"https://www.cubic.dev/buttons/review-in-cubic-dark.svg\"></picture></a>\n\n<!-- End of auto-generated description by cubic. -->\n\n","comments":[{"id":"IC_kwDORnpyls8AAAABRiG3zQ","author":{"login":"aft-alfonso"},"authorAssociation":"NONE","body":"Thank you - this lands squarely on planes we actively harden, so it will get a thorough review rather than a fast one. Initial scope notes before the deep pass: (1) main moved tonight in exactly this area - the executor's per-actor admission accounting changed (maintenance no longer consumes interactive capacity) and several of the test files you touch were rewritten to event-based assertion form - so a rebase onto current main is worth doing early; expect conceptual interplay between your queue bounds and the new accounting. (2) This bundles three separable features (queue bounding/backpressure, cross-path request budget carrying, maintenance yield/demotion) - if review friction builds, splitting them in that order would let the first land fastest, but we will review as-is first. (3) Concurrency-core changes here go through adversarial review including storm suites on loaded runners - the release storm gate in your test plan is the right instinct. Full review follows.","createdAt":"2026-08-30T22:13:52Z","includesCreatedEdit":false,"isMinimized":false,"minimizedReason":"","reactionGroups":[],"url":"https://github.com/cortexkit/aft/pull/283#issuecomment-5471582157","viewerDidAuthor":false},{"id":"IC_kwDORnpyls8AAAABRiK-Sw","author":{"login":"randomvariable"},"authorAssociation":"NONE","body":"The **release storm gate** is `AFT_GATE_PHASES=storm scripts/rust-test-gate.sh`. It runs the `subc_storm` integration tests with an optimized release build because these tests enforce production-calibrated absolute latency contracts that debug builds cannot reliably meet. The suite covers reader service during maintenance, fresh binds under heavy initialization, standing-root yield under cold-build pressure, and route-bind deadline recovery. It uses the retry-free Nextest profile so a warm retry cannot hide a latency regression. The rebased branch passed 16/16 storm tests.","createdAt":"2026-08-30T22:28:37Z","includesCreatedEdit":false,"isMinimized":false,"minimizedReason":"","reactionGroups":[],"url":"https://github.com/cortexkit/aft/pull/283#issuecomment-5471649355","viewerDidAuthor":false}],"createdAt":"2026-08-30T22:02:19Z","files":[{"path":"crates/aft/src/callgraph_store/mod.rs","additions":9,"deletions":1,"changeType":"MODIFIED"},{"path":"crates/aft/src/cold_build_limiter.rs","additions":8,"deletions":55,"changeType":"MODIFIED"},{"path":"crates/aft/src/commands/bash.rs","additions":1,"deletions":0,"changeType":"MODIFIED"},{"path":"crates/aft/src/commands/configure.rs","additions":7,"deletions":0,"changeType":"MODIFIED"},{"path":"crates/aft/src/commands/semantic_search.rs","additions":1,"deletions":0,"changeType":"MODIFIED"},{"path":"crates/aft/src/executor/mod.rs","additions":667,"deletions":121,"changeType":"MODIFIED"},{"path":"crates/aft/src/executor/tests.rs","additions":401,"deletions":1,"changeType":"MODIFIED"},{"path":"crates/aft/src/gh_shim.rs","additions":1,"deletions":0,"changeType":"MODIFIED"},{"path":"crates/aft/src/inspect/dispatch.rs","additions":3,"deletions":0,"changeType":"MODIFIED"},{"path":"crates/aft/src/lib.rs","additions":1,"deletions":1,"changeType":"MODIFIED"},{"path":"crates/aft/src/logging.rs","additions":19,"deletions":1,"changeType":"MODIFIED"},{"path":"crates/aft/src/subc/bash.rs","additions":68,"deletions":3,"changeType":"MODIFIED"},{"path":"crates/aft/src/subc/health.rs","additions":15,"deletions":0,"changeType":"MODIFIED"},{"path":"crates/aft/src/subc/mod.rs","additions":140,"deletions":16,"changeType":"MODIFIED"},{"path":"crates/aft/src/subc/standing.rs","additions":12,"deletions":13,"changeType":"MODIFIED"},{"path":"crates/aft/src/thread_priority.rs","additions":282,"deletions":0,"changeType":"ADDED"},{"path":"crates/aft/tests/callgraph_store_test.rs","additions":4,"deletions":0,"changeType":"MODIFIED"},{"path":"crates/aft/tests/integration/callgraph_test.rs","additions":38,"deletions":23,"changeType":"MODIFIED"},{"path":"crates/aft/tests/integration/subc_bridge_test.rs","additions":3,"deletions":0,"changeType":"MODIFIED"},{"path":"crates/aft/tests/integration/subc_storm_test.rs","additions":158,"deletions":0,"changeType":"MODIFIED"},{"path":"packages/aft-bridge/src/__tests__/subc-transport.test.ts","additions":138,"deletions":1,"changeType":"MODIFIED"},{"path":"packages/aft-bridge/src/subc-transport.ts","additions":123,"deletions":7,"changeType":"MODIFIED"},{"path":"packages/aft-bridge/src/transport-factory.ts","additions":1,"deletions":0,"changeType":"MODIFIED"}],"labels":[],"milestone":null,"number":283,"reactionGroups":[{"content":"EYES","users":{"totalCount":1}}],"reviews":[],"state":"OPEN","title":"feat(executor): bound reader priority queues","updatedAt":"2026-08-30T22:28:37Z","url":"https://github.com/cortexkit/aft/pull/283"}