LearnNewsExamplesServices
Frontmatter
id11425
titleSeparate ADR 0005 approval semantics from human merge gate
stateClosed
labels
documentationenhancementaiarchitecturemodel-experience
assigneesneo-gpt
createdAtMay 15, 2026, 3:07 PM
updatedAtMay 15, 2026, 3:35 PM
githubUrlhttps://github.com/neomjs/neo/issues/11425
authorneo-gpt
commentsCount0
parentIssuenull
subIssues[]
subIssuesCompleted0
subIssuesTotal0
blockedBy[]
blocking[]
closedAtMay 15, 2026, 3:35 PM

Separate ADR 0005 approval semantics from human merge gate

Closeddocumentationenhancementaiarchitecturemodel-experience
neo-gpt
neo-gpt commented on May 15, 2026, 3:07 PM

Context

ADR 0005 currently conflates two different control surfaces: peer/maintainer PR approval and the human-only merge/content gate. The friction surfaced during 2026-05-15 PR review coordination when an agent withheld approval because operator content approval was not yet present. Operator clarification: peer maintainers may approve PRs when their criteria pass; @tobiu then performs an additional content/risk/bigger-picture pass before human merge.

Verified evidence:

  • learn/agentos/decisions/0005-adr-at-graduation-for-ideation-sandbox.md:48-53 names the section "merge-gate boundary" but says implementation PRs MUST NOT be approved/merged until the ADR is Accepted.
  • learn/agentos/decisions/0005-adr-at-graduation-for-ideation-sandbox.md:188-192 defines Accepted as requiring operator content-accuracy confirmation.
  • .agents/skills/post-review-pickup/references/post-review-pickup-workflow.md:27 already treats Approve as moving the PR to the human merge gate, not as executing or replacing the human gate.
  • .agents/skills/blocked-task-state/references/blocked-task-state-workflow.md:36 separately names completed merge eligibility as a PR with approvals waiting for the human merge gate.

The Problem

ADR 0005's current wording makes approved and merged look like one combined forbidden state. That creates a closed loop:

  1. Agents interpret ADR 0005 as blocking their formal GitHub approval until operator content approval exists.
  2. Operator content/risk review normally happens after the team has approved and the PR reaches the human merge gate.
  3. The PR can get stuck with agents waiting for a human signal that is intended to happen after agent approval, not before it.

This weakens the flat maintainer model. @neo-gpt, @neo-opus-4-7, and @neo-gemini-3-1-pro are repo maintainers who can approve PRs on their own criteria. Human merge authority remains separate and absolute.

The Architectural Reality

ADR 0005 is still right that ADR-required implementation must not merge against unresolved authority. The bug is narrower: it over-constrains reviewer approval semantics.

Correct boundary:

  • Peer approval gate: agents approve when structural, test, evidence, and workflow criteria pass.
  • Human merge/content gate: @tobiu performs final content/risk/bigger-picture review and executes merge.
  • ADR-required sequencing: merge remains blocked until the relevant ADR state is acceptable at merge time. This may be represented by Status: Accepted, explicit operator content approval, or an approved ADR-update PR merged first, depending the concrete lane.

The human gate is not a prerequisite for peer approval; it is the next gate after peer approval.

The Fix

Amend ADR 0005 and any companion review-map wording that copied the conflation. The amendment should preserve ADR-required merge discipline while replacing approved/merged wording with separated approval and merge semantics.

Likely surfaces:

  • learn/agentos/decisions/0005-adr-at-graduation-for-ideation-sandbox.md
  • .agents/skills/pr-review/references/pr-review-guide.md if it says reviewers must block approval rather than block merge eligibility
  • .agents/skills/ideation-sandbox/references/ideation-sandbox-workflow.md if the same approval/merge wording landed there

Contract Ledger Matrix

Target Surface Source of Authority Proposed Behavior Fallback / Edge Case Docs Evidence
ADR 0005 approval/merge boundary ADR 0005, operator clarification 2026-05-15, #11425 Separate peer/team approval from human merge/content gate. Agents may approve when their own review criteria pass; human merge gate remains separate. If ADR authority is not acceptable for merge, review may approve structurally while explicitly noting human merge/content/ADR-sequencing gate remains. Missing human approval alone is not a CHANGES_REQUESTED reason. Yes: ADR 0005 amended. Diff removes combined approved/merged semantics and adds separated approval/merge language.
PR review guidance for ADR-required work ADR 0005 and .agents/skills/pr-review/references/pr-review-guide.md Reviewer verifies ADR authority as a merge-readiness gate, not as a blanket peer-approval blocker. Real review blockers still require CHANGES_REQUESTED; unresolved human merge/content gate is reported as merge-gate pending after approval. Yes if matching wording exists. Grep for before approval, approved/merged, and ADR 0005 across review/ideation skill payloads.
Ideation graduation guidance for ADR-required work ADR 0005 and .agents/skills/ideation-sandbox/references/ideation-sandbox-workflow.md Implementation merge remains blocked until ADR authority is accepted; planning and review progression are not blocked unnecessarily. If no copied conflation exists, leave untouched and cite grep evidence in PR body. Only if matching wording exists. Targeted grep + diff review.

Acceptance Criteria

  • ADR 0005 no longer uses approved/merged as a single combined forbidden state.
  • ADR 0005 explicitly distinguishes peer/team approval from the human-only merge/content gate.
  • ADR-required implementation PRs remain merge-blocked until the governing ADR authority is acceptable at merge time.
  • Review guidance allows APPROVE when peer criteria pass, with review body/A2A noting any remaining human merge/content gate.
  • No language implies agent approval can substitute for human merge authorization.
  • No language implies missing operator merge/content approval alone is a reason for agent CHANGES_REQUESTED when the agent's own review criteria pass.

Out of Scope

  • No change to AGENTS.md invariant forbidding gh pr merge.
  • No change to @tobiu's final content/risk/bigger-picture guard.
  • No weakening of ADR-required authority sequencing for actual merges.

Related

  • ADR 0005: learn/agentos/decisions/0005-adr-at-graduation-for-ideation-sandbox.md
  • PR review/post-review pickup semantics: .agents/skills/post-review-pickup/references/post-review-pickup-workflow.md
  • Human merge gate precedent: #10274

Handoff Retrieval Hints

Retrieval Hint: query_raw_memories("ADR 0005 approved merged operator content approval closed loop") Retrieval Hint: query_raw_memories("11371 ADR 0005 Draft Accepted approve operator content accuracy")

tobiu closed this issue on May 15, 2026, 3:35 PM
tobiu referenced in commit e8d5f49 - "docs(agentos): separate ADR approval and merge gates (#11425) (#11426) on May 15, 2026, 3:35 PM