BOHICA-LABS / BOHICA-LABS/vsdd-factory

process-gap(adversary+infra): stream-watchdog kills large-scope reviews with zero durable output — no partial-result checkpoint or resume path

Open
#548 4 comments 0 reactions 0 assignees View on GitHub
Dominant language
Rust
Stars
2
Forks
1
Avg merge
6h 43m
Merged PRs (30d)
29

Description

## Summary

Long-running single-agent reviews of large scopes get killed by the stream watchdog (~600s wall-clock under stream-progress heuristics) with **zero durable output** — no partial findings, no resumable checkpoint. The review must restart from scratch, and repeated kills can burn hours on a large wave-integration surface.

## Concrete instances (switchboard-blue)

1. **Wave-6 Tranche C wave-adversary Pass 1:** attempts 2 AND 3 both killed by the 600s watchdog reviewing a 3196-line/18-file wave-integration surface. Zero output from either attempt.
Workaround that worked: split into Adv-A (Lens 1) + Adv-B (Lens 2/3) parallel dispatch with per-lens read-budget caps — both completed in <15 min combined.
Evidence: `.factory/cycles/cycle-1/adversarial-reviews/W-6.C-wave-adversary-pass-1-attempt-4-{Adv-A,Adv-B}.md`

2. **Steady-state per-story adversarial pass 11 (2026-07-07):** two consecutive mid-stream stalls killed one adversary instance entirely (abandoned per 2-stall protocol); the respawn stalled once more and recovered only via an explicit resume ping. Combined wall-clock lost: ~2h. Same class from the infrastructure side: a stalled/killed reviewer leaves nothing recoverable unless the orchestrator manually intervenes.

## Recommendation (either/both)

- Codify the **split-adversary pattern** in the adversary skill / wave-review orchestration guidance: above a scope threshold (lines/files), dispatch per-lens sub-adversaries with read budgets instead of one full-lens agent.
- And/or have the stream-watchdog **emit partial-result checkpoints** so a killed reviewer can be resumed rather than restarted from zero.

## Cross-refs
- #457 (completed-but-unreported liveness gap — sibling delivery-failure class; this issue is about killed-mid-work, that one is about finished-but-silent)

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.