fix: recover bounded technical holds without replaying unknown children #248

Merged
akira merged 1 commit from akira/hayate-agent-core:fix/peter-approved-recovery into main 2026-11-04 11:44:49 +00:00
Collaborator

Underlying Peter recovery repair, NOT just notification suppression. Bounded persisted read-only technical reassessment, honest once-only actionable unscoped-child blocker, exhaustion termination/reset without deadline extension. Unknown children/effects unchanged; approval scopes preserved. All3 previous P1 addressed; independent review66dada no newP0/P1 on correctedcommit; clean rebase currentinternalmain1c997. Current integration65/65 tests+tsc pass including recoverydiagnostics/startup/parentdependency boundaries. Earlier188 focused pass; fullsuite environment failures documented, no fullgreenclaim. Private evidence excluded. No business task replay or live state edits. Required release pipeline and postdeploy validation still apply.

Underlying Peter recovery repair, NOT just notification suppression. Bounded persisted read-only technical reassessment, honest once-only actionable unscoped-child blocker, exhaustion termination/reset without deadline extension. Unknown children/effects unchanged; approval scopes preserved. All3 previous P1 addressed; independent review66dada no newP0/P1 on correctedcommit; clean rebase currentinternalmain1c997. Current integration65/65 tests+tsc pass including recoverydiagnostics/startup/parentdependency boundaries. Earlier188 focused pass; fullsuite environment failures documented, no fullgreenclaim. Private evidence excluded. No business task replay or live state edits. Required release pipeline and postdeploy validation still apply.
- Bounded read-only retry for technical dependency-assessment holds
  (persisted recoveryRetry, 3 attempts, 60s spacing). The third technical
  failure, or a legacy hold already at 3 attempts, now sets
  termination=recovery_assessment_failed and emits one distinct
  task-recovery-exhausted notice, so the existing operator budget reset
  path is usable. Reset never extends the deadline.
- Blocked children without dependency.taskId can never satisfy independent
  admission. Do not assess them or record an unusable active/
  independent-next-proposed permit; keep the children unchanged and emit one
  actionable unknown-effects blocker per child set (existing /dispatch
  status|cancel operator path), deduplicated across tasks and restarts.
akira merged commit b0d392e9e3 into main 2026-11-04 11:44:49 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
harness/core!248
No description provided.