Skip to content

refactor(core): migrate remaining search runtime policies#1102

Merged
limityan merged 1 commit into
GCWing:mainfrom
limityan:yanzhn/refactor-remaining-audit
Jun 8, 2026
Merged

refactor(core): migrate remaining search runtime policies#1102
limityan merged 1 commit into
GCWing:mainfrom
limityan:yanzhn/refactor-remaining-audit

Conversation

@limityan
Copy link
Copy Markdown
Collaborator

@limityan limityan commented Jun 8, 2026

Summary

  • Move the remote SSH workspace search concrete owner into bitfun-services-integrations, leaving bitfun-core as the compatibility facade, provider adapter, and russh stdio bridge.
  • Keep flashgrep protocol internals crate-private behind stable workspace-search APIs, including WorkspaceSearchRepoConfig and RemoteWorkspaceSearchStdioProtocol.
  • Move light checkpoint summary, tool confirmation wait-result mapping, and tool pipeline batching/retry policy into execution owner crates.
  • Harden remote workspace search context and stdio-open lifecycle so cache keys use the resolved connection and failed daemon opens do not leave stale open guards.
  • Update boundary rules and core decomposition docs so migrated owners cannot drift back into core.

Risk and compatibility

  • No intended tool schema, permission, remote search behavior, or product feature changes.
  • Existing core paths remain compatible facades for current product-full consumers.
  • Remote workspace search keeps the same Linux-only and flashgrep protocol behavior; the fix only prevents stale cross-connection cache reuse and failed-open guard leakage.
  • Owner crates do not depend back on bitfun-core; boundary checks cover the new owners and old-path guardrails.
  • Feature checks cover no-default, ssh-remote, workspace-search, remote-ssh, product-full, and full workspace builds.

Verification

  • node scripts/check-core-boundaries.mjs
  • node --test scripts/check-core-boundaries.test.mjs
  • pnpm run check:repo-hygiene
  • cargo metadata --no-deps --format-version 1
  • cargo test -p bitfun-services-integrations --features remote-ssh,workspace-search remote_search_ -- --nocapture
  • cargo test -p bitfun-services-integrations --features remote-ssh,workspace-search
  • cargo test -p bitfun-services-integrations --features remote-ssh,workspace-search remote_workspace_search
  • cargo test -p bitfun-services-integrations --features remote-ssh,workspace-search remote_scan_fallback
  • cargo test -p bitfun-services-integrations --features workspace-search content_search_output_modes_use_current_flashgrep_protocol_modes
  • cargo test -p bitfun-services-integrations --features workspace-search drains_remote_stdio
  • cargo test -p bitfun-agent-runtime --lib checkpoint
  • cargo test -p bitfun-agent-runtime --test tool_confirmation_contracts
  • cargo test -p tool-runtime --test tool_pipeline_planning
  • cargo test -p bitfun-core pipeline --features product-full
  • cargo test -p bitfun-core search --features product-full
  • cargo test -p bitfun-agent-stream tool_call_accumulator --tests
  • cargo check -p bitfun-core --no-default-features
  • cargo check -p bitfun-core --no-default-features --features ssh-remote
  • cargo check -p bitfun-core --features product-full
  • cargo check -p bitfun-services-integrations --no-default-features
  • cargo check -p bitfun-services-integrations --features workspace-search
  • cargo check -p bitfun-services-integrations --features remote-ssh
  • cargo check -p bitfun-services-integrations --features remote-ssh,workspace-search
  • cargo check -p tool-runtime
  • cargo check -p bitfun-agent-runtime
  • cargo check --workspace
  • git diff --check

@limityan limityan force-pushed the yanzhn/refactor-remaining-audit branch from 30c2da5 to 91e3413 Compare June 8, 2026 12:25
@limityan limityan merged commit 3f25e4d into GCWing:main Jun 8, 2026
4 checks passed
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