huskies: merge 1089 bug Stuck-agent detector blocks stories on legitimate exploration / debugging — uses too narrow a "progress" signal
This commit is contained in:
@@ -60,6 +60,17 @@ pub enum ContentKey<'a> {
|
||||
/// completion. Read by `get_merge_status` to surface gate output for the
|
||||
/// "completed" state without a separate MergeJob CRDT register (story 1036).
|
||||
MergeReport(&'a str),
|
||||
/// Flag written by spawn.rs when a coder session exits with a non-zero exit
|
||||
/// code (API error, network failure, or Claude-API-level budget exhaustion).
|
||||
/// Prevents the stuck-respawn counter from incrementing for forced exits —
|
||||
/// only self-exits with no file or read changes count toward the cap.
|
||||
/// Consumed (read + deleted) by the commit-recovery path in pipeline advance.
|
||||
CommitRecoveryForcedExit(&'a str),
|
||||
/// Cumulative set of files read across all commit-recovery sessions for a
|
||||
/// story, stored as a newline-separated sorted list. Used to detect whether
|
||||
/// the agent made read-exploration progress even when the worktree diff did
|
||||
/// not grow (story 1089, AC2). Cleared when a commit lands or the story blocks.
|
||||
CommitRecoveryReadSet(&'a str),
|
||||
}
|
||||
|
||||
impl<'a> ContentKey<'a> {
|
||||
@@ -85,6 +96,10 @@ impl<'a> ContentKey<'a> {
|
||||
ContentKey::MergeFailureKind(id) => format!("{id}:merge_failure_kind"),
|
||||
ContentKey::MergeSuccess(id) => format!("{id}:merge_success"),
|
||||
ContentKey::MergeReport(id) => format!("{id}:merge_report"),
|
||||
ContentKey::CommitRecoveryForcedExit(id) => {
|
||||
format!("{id}:commit_recovery_forced_exit")
|
||||
}
|
||||
ContentKey::CommitRecoveryReadSet(id) => format!("{id}:commit_recovery_read_set"),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user