Skip to content

Background Provider Setup Visibility & Windows Seed Fix

Choose a tag to compare

@Foxfire1st Foxfire1st released this 10 Jun 06:26
· 40 commits to main since this release
ab7e21b

Agents Remember 2.7.0

Worktree provider setup is now observable instead of silent, and the seed-copy rapid-deploy path finally works on Windows. A healthy six-minute setup and a wedge no longer look identical — and on Windows, that six-minute setup mostly stops happening at all.

Highlights

  • worktree_start returns within seconds: the provider chain runs in the background and writes a durable, heartbeat-stamped setup-progress.json you (or a dashboard) can watch.
  • The seed-refused → full-reindex transition — the moment expected duration jumps from ~1 minute to N minutes — is flagged as seedFallback the instant it happens, with the refusal reason.
  • CGC seed export/load argv is rendered in container form: Windows hosts stop failing every seed export on a C:/ path the Linux runner can't see, and stop silently paying the full reindex on every worktree start.

Worktree Provider Setup (GitHub #53)

  • Background daemon-thread setup with a durable phase-progress file under the worktree group (provider-runtime/setup-progress.json): schema ar-provider-setup-progress/v1 with identity fields (repoName, taskName, worktreeGroup), per-phase records, a 15s heartbeat, and a reserved currentPhase.metrics shape (itemsDone/itemsTotal/percent/unit) for future per-item indexing progress.
  • worktree_status is the poll surface: running (current phase, elapsed, heartbeat age, seedFallback), then ok / ready-with-failed-phases / failed — or stale when the heartbeat dies (server killed mid-setup).
  • worktree_start(retry_provider_setup=true) relaunches a failed or stale setup on the existing contract; it refuses while a live setup is running.
  • worktree_cleanup / worktree_abandon refuse to tear down a worktree whose background setup is still alive (force overrides on abandon).
  • Dry runs stay fully synchronous; config-level preflight failures (settings unreadable, providers disabled) still block the start fast.
  • The temp lifecycle settings file's lifetime transfers to the setup thread, and worktree provider setup is now bounded by the documented timeoutCaps.providerSetupSeconds cap (default 1800) instead of a hardcoded 120s.

CodeGraphContext Seeding (GitHub #58)

  • Everything after -- in a seed export/load command executes inside the Linux runner container; those paths (bundle files, export --repo root) are now rendered via to_container_path (drive letter stripped on Windows, identity on POSIX).
  • Shared context helpers moved to providers/context_common.py: importing them from inside the providers/context facade package could leave the facade permanently missing every CGC name (an import-order-dependent ImportError), discovered while wiring the fix.

Quality

  • 26 new tests: progress-file lifecycle/heartbeat/staleness projections, phase announcement order including the seedFallback transition, launcher thread behavior, contract-before-launch ordering, retry refusal/relaunch, controller settings-file ownership, teardown guards, and a Windows drive-letter argv guard.
  • The Docker-gated provider workflow integration test now polls the progress file to a terminal state, matching the async contract.