Skip to content

docs: update consensus-timeout HITL → OVERSEER_ALERT [doc-updater] - #2275

Closed
james-in-a-box[bot] wants to merge 5 commits into
mainfrom
egg/doc-update-consensus-timeout-alert
Closed

docs: update consensus-timeout HITL → OVERSEER_ALERT [doc-updater]#2275
james-in-a-box[bot] wants to merge 5 commits into
mainfrom
egg/doc-update-consensus-timeout-alert

Conversation

@james-in-a-box

Copy link
Copy Markdown
Contributor

Update documentation to reflect changes from #2269 (fixes #2264):

  • concurrent-execution.md: brc_consensus_progress_gate_seconds description updated from "Defer the consensus-timeout HITL decision" to "Defer the consensus-timeout OVERSEER_ALERT"
  • sdlc-pipeline.md: consensus_timeout_minutes and brc_consensus_progress_gate_seconds table entries updated to reference OVERSEER_ALERT; BRC flow step 5 updated to describe the non-blocking alert instead of the removed HITL choice prompt

Triggered by: #2269

Authored-by: egg

Update docs/guides/concurrent-execution.md and docs/guides/sdlc-pipeline.md
to reflect #2264: consensus timeout now publishes a non-blocking OVERSEER_ALERT
instead of opening a choice-typed HITL decision.
@james-in-a-box

This comment has been minimized.

@james-in-a-box

This comment has been minimized.

@james-in-a-box

This comment has been minimized.

@james-in-a-box

This comment has been minimized.

@egg-reviewer egg-reviewer Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No agent-mode design concerns — documentation-only update aligning consensus-timeout terminology with #2269.

— Authored by egg

@james-in-a-box

This comment has been minimized.

@egg-reviewer egg-reviewer Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review

The PR catches the right stale doc strings in two of three places, but misses two more in the same file (docs/guides/concurrent-execution.md) that contradict the corrections this PR is making elsewhere in that very file. PR #2275's stated goal is to bring docs in line with #2269's protocol change (consensus-timeout HITL decision → OVERSEER_ALERT). The two misses below leave the doc internally self-contradictory — the timeout-handling section (lines 730–738) correctly describes the alert flow, while the lead-in sentence (line 725) and the escalation-path table (line 856) still describe the removed HITL decision.

Per the review rules, "if a PR modifies code that has existing broken or inconsistent behavior, request changes to fix it — do not dismiss it as 'not a regression.' The PR is already in the area, making it the natural place to fix the issue." This PR is the right place.

Blocking

1. docs/guides/concurrent-execution.md:725 — still says "before opening a HITL decision"

If consensus is not reached within `consensus_timeout_minutes`, the orchestrator first checks the **BRC progress gate** before opening a HITL decision. While any of the following have fired within `brc_consensus_progress_gate_seconds` (default 300 s), the orchestrator continues polling rather than escalating immediately:

This is wrong post-#2269. The orchestrator no longer opens a HITL decision on consensus timeout — _handle_brc_consensus_timeout (orchestrator/routes/pipelines.py:9845) now calls _publish_consensus_timeout_alert on both former decision paths. The progress gate now defers an OVERSEER_ALERT, not a HITL decision. Compare with line 738 in the same section which the PR (correctly, via #2269) has already updated.

Suggested fix: replace "before opening a HITL decision" with "before publishing the OVERSEER_ALERT (#2264)" or "before publishing the consensus-timeout OVERSEER_ALERT".

2. docs/guides/concurrent-execution.md:856 — HITL Escalation Paths table still lists the removed options

| Consensus timeout (critical blockers) | Continue waiting, Accept current state, Abort phase |

These three option strings are exactly the ones #2269's PR description called out as removed ([Continue waiting, Accept current state, Abort phase]), and #2264's problem statement names them as the wrong protocol shape. There is no longer any HITL decision for consensus timeout (critical blockers); the row should either be removed or rewritten to point at the alert flow — the same way line 857 already handles the advisory-only case (*(no HITL — proceeds automatically)*).

Suggested fix: change the row to something like

| Consensus timeout (critical blockers) | *(no HITL — publishes high-priority `OVERSEER_ALERT`, see Timeout Handling)* |

This also keeps the table consistent with the surrounding rows (which use the same italic-aside convention for "no HITL" cases).

Non-blocking

  • sdlc-pipeline.md:1321 cites (#2264) at the end of the bullet, which is helpful for backlinks. The corresponding concurrent-execution.md:37 description does not — minor consistency nit, fine to leave.
  • The phrase "Defer the consensus-timeout OVERSEER_ALERT" in both updated rows is grammatically a bit clipped (OVERSEER_ALERT reads as a noun without an article); the existing prose in the timeout-handling section uses "publishes an OVERSEER_ALERT" / "the alert", which scans better. Not blocking — the meaning is clear.

What's good

  • The three fixes the PR does make are accurate against the merged code: _handle_brc_consensus_timeout calls _publish_consensus_timeout_alert, the gate function's docstring (orchestrator/routes/pipelines.py:9580) was already updated to reference OVERSEER_ALERT in #2269, and the merged models.py description matches the new doc text in sdlc-pipeline.md:1252.
  • Subject format consensus-timeout: <agent_role> [<priority>] in the new BRC-flow step 5 matches the actual format produced at orchestrator/routes/pipelines.py:9771.
  • The "intervene with cancel_task or restart_phase" guidance matches the alert body's own copy at orchestrator/routes/pipelines.py:9787-9790.

Please fold the two missed strings into this PR rather than spinning a follow-up — they're in the same file and both directly contradict text this PR is editing.

— Authored by egg

@james-in-a-box

This comment has been minimized.

@james-in-a-box

This comment has been minimized.

Address review feedback on PR #2275:
- Line 725 (Timeout Handling lead-in): replace 'before opening a HITL
  decision' with 'before publishing the consensus-timeout OVERSEER_ALERT'
  so it matches the per-bullet description that follows.
- Line 856 (HITL Escalation Paths table): remove the obsolete
  [Continue waiting, Accept current state, Abort phase] options for
  consensus timeout (critical blockers) and replace with the
  italic-aside convention used by the surrounding 'no HITL' rows,
  pointing at the Timeout Handling section.

Both strings contradicted the corrections this PR was making elsewhere
in the same file; #2269 removed the consensus-timeout HITL decision
entirely in favor of OVERSEER_ALERT.

Authored-by: egg
@james-in-a-box

This comment has been minimized.

@james-in-a-box

This comment has been minimized.

@james-in-a-box

This comment has been minimized.

@egg-reviewer egg-reviewer Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No agent-mode design concerns. The delta since the prior review is documentation-only — concurrent-execution.md aligns two more stale HITL → OVERSEER_ALERT references (in line with #2269 / #2264). No prompts, sandbox boundaries, or agent-flow surfaces are affected.

— Authored by egg

@james-in-a-box

This comment has been minimized.

jwbron added a commit that referenced this pull request Apr 29, 2026
…2277)

* Fix #2275: docs follow-up — consensus-timeout HITL → OVERSEER_ALERT

Docs leftovers from #2269 (which replaced the consensus-timeout HITL
choice with an OVERSEER_ALERT but didn't reach every reference).

- concurrent-execution.md: brc_consensus_progress_gate_seconds row
  references OVERSEER_ALERT; Timeout Handling lead sentence updated
  to match (it contradicted the bullets that already described the
  alert flow).
- sdlc-pipeline.md: consensus_timeout_minutes /
  brc_consensus_progress_gate_seconds rows reference OVERSEER_ALERT;
  BRC consensus-protocol step 5 rewritten as a non-blocking alert
  (post-timeout polling continues; cancel_task / restart_phase /
  provide_input replace the removed three-option HITL).

* Update concurrent-execution.md HITL/consensus-timeout rows to OVERSEER_ALERT

Address PR #2277 review feedback: two stale rows in concurrent-execution.md
contradicted the OVERSEER_ALERT flow established by #2269.

- L36 (PipelineConfig table): consensus_timeout_minutes description now
  matches the parallel sdlc-pipeline.md row.
- L856 (HITL Escalation Paths table): critical-blocker consensus timeout
  no longer lists the removed three-option HITL choice; matches the shape
  of the advisory-only row directly below it.

---------

Co-authored-by: egg-reviewer[bot] <261018737+egg-reviewer[bot]@users.noreply.github.com>
@jwbron jwbron closed this in #2277 Apr 29, 2026

@egg-reviewer egg-reviewer Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review

The two issues flagged in my previous review on f5c476c are addressed in dd0d6d9 ("docs: align two more consensus-timeout references with OVERSEER_ALERT"). Both fixes match the suggested replacements:

  1. docs/guides/concurrent-execution.md:725 — "before opening a HITL decision" → "before publishing the consensus-timeout OVERSEER_ALERT (issue #2264)". Now consistent with line 732 in the same section.
  2. docs/guides/concurrent-execution.md:856 — Removed the obsolete "Continue waiting, Accept current state, Abort phase" options and replaced with *(no HITL — publishes high-priority OVERSEER_ALERT, see Timeout Handling)*, matching the italic-aside convention used by surrounding rows (857, 858, 860).

Re-verified the rest

  • The full PR diff is now constrained to two files (concurrent-execution.md, sdlc-pipeline.md), 6 insertions / 8 deletions — pure terminology alignment.
  • Spot-checked all remaining "HITL" mentions in concurrent-execution.md (lines 529, 535, 721, 761, 792–797, 803): each one is for a different escalation surface (objections, reviewer crashes, dual-role stall demotion, incomplete-consensus stall) — none are the consensus-timeout HITL that #2269 removed. Nothing else stale in this file.
  • sdlc-pipeline.md:1252, 1253, and 1321 all match the merged orchestrator behavior in _handle_brc_consensus_timeout / _publish_consensus_timeout_alert.
  • The two merge commits since the prior review (2f1c1e1 ruff sync, ca4191d tester scaffold doc) come from main and don't affect the PR-authored delta.

What's good

  • Backlinking issue #2264 inline at line 725 makes the protocol-change provenance discoverable from the doc itself.
  • The italic-aside row in the escalation-paths table now reads identically to the surrounding "no HITL" rows, so the table is self-consistent.

No blocking issues. Approving.

— Authored by egg

@james-in-a-box

Copy link
Copy Markdown
Contributor Author

egg review completed. View run logs

11 previous review(s) hidden.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Replace auto-choice consensus-failure decision with OVERSEER_ALERT (protocol change)

1 participant