fix(results): harden remote sync dogfood#1332
Merged
Merged
Conversation
Deploying agentv with
|
| Latest commit: |
c81c89c
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://ee0e9fdb.agentv.pages.dev |
| Branch Preview URL: | https://dogfood-av-fis-remote-sync.agentv.pages.dev |
Preserve cached remote run counts when sync fails so offline/auth errors do not hide available cached runs. Dedupe merged local and remote run listings in favor of local copies before pagination. Dogfood evidence for av-fis is kept in the private evidence repository, not in this public code branch.
e64364c to
c81c89c
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Remote result sync is now safer under adversarial production-readiness scenarios: offline/auth-style sync failures keep reporting cached remote runs, and
/api/runsno longer returns duplicate local plusremote::rows for the same synced run.The durable
av-fisdogfood report, throwaway-remote evidence, Dashboard screenshots, and production-readiness verdict are stored outside this public repository:EntityProcess/agentv-privatedogfood/av-fis-remote-sync-evidence5d81c8d docs(dogfood): add av-fis remote sync evidencedogfood/av-fis/2026-06-08-remote-sync/This public PR contains only product/test code changes.
Dogfood Coverage
Covered scenarios include:
index.jsonl, branch/default-branch mismatch, offline/missing remote, and multiple project isolation.agentv results combine,agentv results delete, and confirmation that no directagentv results remote sync/statuscommand currently exists.No production remote was touched. All remote dogfood used throwaway
/tmpfile remotes and temporary clones.Fixes
syncRemoteResults()now computesrun_countfrom the cached results clone in its error path, so a failed fetch no longer makes available cached remote runs appear empty.listMergedResultFiles()now dedupes merged local/remote run rows by canonicalraw_filename, preferring the local copy before sorting and pagination.serve.test.tsregressions for both behaviors.Follow-Ups
av-fis.1: Dashboard sync button can remainSyncing...after concurrent remote sync; data path is safe, presentation can be misleading until reload.av-xqm: Dashboard remote sync status can show stalelast_errorafter a later conflict state.av-fis.2: Decide whether AgentV needs a first-class CLI contract for remote results sync/status.av-fis.3: Add committed regression coverage for interrupted sync retry; dogfood passed a simulated.git/index.lockretry, but coverage should be made durable before documenting retry guarantees.Verification
bun test apps/cli/test/commands/results/serve.test.ts83 pass,0 fail,271 expect() callsbun test packages/core/test/evaluation/results-repo.test.ts apps/cli/test/commands/results/remote-metadata.test.ts apps/cli/test/commands/results/delete.test.ts apps/cli/test/commands/results/combine.test.ts apps/cli/test/commands/results/serve.test.ts apps/dashboard/src/lib/run-dedupe.test.ts apps/dashboard/src/lib/project-sync-status.test.ts apps/dashboard/src/lib/run-list-actions.test.ts121 pass,0 fail,381 expect() callsbun run buildpassed.git show --check HEADpassed.origin/mainincludes onlyapps/cli/src/commands/results/remote.tsandapps/cli/test/commands/results/serve.test.ts; no dogfood report/evidence files remain in the public branch.dashboard-setup.envcontains only throwaway/tmpfixture paths, and the private evidence tree was scanned for common secret/token patterns before commit.Readiness verdict from the private report: the remote result data path is production-ready for controlled rollout after these fixes. The full Dashboard production experience still needs follow-up/waiver for
av-fis.1andav-xqm, andav-fis.3should add durable retry regression coverage before documenting retry guarantees.