docs: record workdir tooling and runtime feature blockers

This commit is contained in:
2026-10-10 12:04:56 +09:00
parent dc8e586a0b
commit fc57716344
2 changed files with 17 additions and 0 deletions
@@ -0,0 +1,7 @@
# Parallel Workdir reads return transient provider-busy errors
During the Workdir cleanup fix, batches of independent `Read` calls against this checkout repeatedly returned `Workdir session is unavailable: filesystem provider busy` for several calls, while one read in the same batch succeeded. Serial retries against the same paths succeeded. No live Runtime or storage repair was attempted.
This obstructed source inspection and made parallel tool batches less useful. The observations do not establish whether contention is in the filesystem provider, tool broker, or session admission layer.
Suggested investigation: reproduce two concurrent read-only tool calls on one attachment, inspect the admission/lease boundary, and distinguish ordinary read concurrency from destructive-operation exclusion. If temporary rejection is intentional, document which tool combinations may overlap and give a bounded retryable diagnostic. Do not relax cleanup or scope safety to accommodate parallel reads.
@@ -0,0 +1,10 @@
# Runtime HTTP-only production feature dependencies
While validating the Workdir cleanup fix, `cargo check -p worker-runtime --no-default-features --features http-server` failed on dependencies outside the cleanup diff:
- `http_server.rs` and `http_server/runtime_management_api.rs` use retention APIs gated by `fs-store`.
- `workspace_request.rs` imports `futures::StreamExt`, and an HTTP-enabled path in `worker_backend.rs` uses `futures::executor::block_on`, but `dep:futures` is activated by `ws-server`, not `http-server`.
The HTTP-only **test** build with `fs-store,http-server` succeeds because `futures` is also a dev-dependency; it does not prove that configuration's production compile closure. Root `cargo check` and the default Runtime build cover the normal `ws-server,fs-store` configuration.
This dependency mismatch was not repaired as part of the cleanup concurrency fix. Decide the supported feature surface explicitly, then align dependency ownership and retention route gating with it. Keep a production `cargo check` for each supported non-default configuration so dev-dependencies cannot mask this boundary.