Files
Gitea-Tools/docs/examples/two-comment-workflow-examples.md
sysadminandClaude Opus 4.8 eff4572a91 feat: add Controller Handoff + Thread State Ledger validation (#507)
Introduce thread_state_ledger_validator for the mandatory two-comment
workflow: tagged [CONTROLLER HANDOFF] paired with [THREAD STATE LEDGER].
Wire validation into final_report_validator and gitea_create_issue_comment,
add runbook docs, worked examples, and tests.

Closes #507

Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
2026-07-08 03:46:25 -04:00

1.3 KiB

Two-comment workflow examples (#507)

Paired [CONTROLLER HANDOFF] + [THREAD STATE LEDGER] comments for Gitea threads. See thread_state_ledger_examples.py for machine-checked fixtures.

Approved review posted

Handoff (detailed): identity, worktree, validation commands, mutation ledger with gitea_submit_pr_review → APPROVED review posted to Gitea.

Ledger (concise):

[THREAD STATE LEDGER] PR #487 — APPROVED review posted to Gitea

What is true now:
- PR state: open
- Server-side decision state: APPROVED review posted to Gitea
- Local verdict/state: APPROVE verdict prepared locally

What is blocked:
- Blocker classification: no blocker

Who/what acts next:
- Next actor: merger
- Required action: merge on explicit operator command
- Do not do: re-post APPROVE

Approve validated locally but blocked before posting

Ledger must show no server-side state changed under server-side decision state and APPROVE verdict prepared locally under local verdict/state.

Environment / tooling blocker

Ledger blocker classification: environment/tooling blocker. Mutation ledger: none — no server-side state changed.

Stale head blocker

Ledger: approval_at_current_head is false; classification stale head. Do not do: merge with stale approval.