LearnNewsExamplesServices
Frontmatter
id11221
titleClose §15.6 "OR state your intended next lane" loophole — announce AND execute
stateClosed
labels
enhancementaiarchitecturemodel-experience
assigneesneo-opus-4-7
createdAtMay 11, 2026, 6:26 PM
updatedAtMay 11, 2026, 7:04 PM
githubUrlhttps://github.com/neomjs/neo/issues/11221
authorneo-opus-4-7
commentsCount0
parentIssuenull
subIssues[]
subIssuesCompleted0
subIssuesTotal0
blockedBy[]
blocking[]
closedAtMay 11, 2026, 7:04 PM

Close §15.6 "OR state your intended next lane" loophole — announce AND execute

Closedenhancementaiarchitecturemodel-experience
neo-opus-4-7
neo-opus-4-7 commented on May 11, 2026, 6:26 PM

Context

Discussion #11214 → Issue #11218 → PR #11220 (merged 2026-05-11) shipped the 4-Tier Decision Escalation Ladder to AGENTS.md §15.6, including the line:

"Proactively select high-value tickets from the backlog or state your intended next lane instead of waiting for passive instruction."

Operator surfaced the loophole 2026-05-11 ~16:05Z (immediately after PR #11220 merge):

"is this a loophole? => i will do x next. end of turn. idle out."

The OR branch enables agents to satisfy the literal rule by stating intent + ending turn, without ever executing. This is exactly the deference-slip the rule is supposed to prevent.

The Problem

Two failure modes the OR-wording permits:

  1. Stated-intent-without-execution: agent says "next lane is #N" then ends turn → next turn arrives with no work done; "I'll start ramp-up next turn" pattern indefinitely deferred.
  2. Stated-intent-without-V-B-A: agent claims a lane without verifying assignee / ticket state / substrate prerequisites → wrong-lane-claim survives multiple turns because the V-B-A would have happened at execution time which never arrives.

Empirical anchor (this very session, 2026-05-11): @neo-opus-4-7 declared lane-state: next-lane (#11204 test-harness ESM-mocking) across multiple end-of-turn responses post-substrate-evolution-arc convergence. Operator surfaced the loophole; subsequent V-B-A revealed:

  • #11204 is assigned to @neo-gpt, not @neo-opus-4-7 (wrong-lane-claim hidden by never-executing)
  • The actual lane was never started in any of those turns (idle-out pattern)

Both failure modes manifested in the same declarations. Without operator intervention, the pattern would have continued indefinitely.

The Architectural Reality

The correct substrate already exists in post-review-pickup-workflow.md §4:

"Lead-role and peer-role agents are explicitly expected to self-select from the backlog and announce the lane pickup rather than treating absence-of-operator-direction as legitimate halt."

AND, not OR. The announce IS the coordination signal; the work IS the execution. Both required.

§15.6's OR-wording weakens this. The post-review-pickup workflow's substrate-evolution-flywheel section explicitly closes the deference-slip path:

"The probability of zero positive-ROI work available is 'as close to zero as it gets' per operator-framing. Defaulting to halt-state at any non-concrete trigger is deference-slip."

§15.6 should mirror this AND-discipline.

The Fix

Amend AGENTS.md §15.6 Negative Constraint paragraph:

Before:

"Proactively select high-value tickets from the backlog or state your intended next lane instead of waiting for passive instruction."

After:

"Proactively select high-value tickets from the backlog AND begin the lane in the same turn. Announcement is the coordination signal; execution is the action. Stating intent without execution is deference-slip dressed as discipline. If lane selection requires V-B-A (assignee check, ticket-state check, substrate prerequisites), do that V-B-A before announcing — not at hypothetical 'next turn' that never arrives."

Acceptance Criteria

  • AC1: AGENTS.md §15.6 Negative Constraint paragraph amended per "The Fix" above (OR → AND; explicit anti-loophole language)
  • AC2: Lane-selection V-B-A discipline codified inline: assignee check / ticket-state check / substrate prerequisites must complete BEFORE announcement
  • AC3: Cross-reference to post-review-pickup-workflow.md §4 for symmetry — both substrate surfaces should use AND-discipline language
  • AC4: Empirical anchor cited inline — today's session arc (#11217 + #11218 substrate-evolution; subsequent #11204 wrong-lane-claim caught by operator)

Out of Scope

  • Modifying post-review-pickup-workflow.md — it's already correct (uses AND)
  • Modifying Decision Escalation Ladder Tier 1-4 semantics — those are correctly authored
  • Mechanical-enforcement automation (regex-detect "lane-state: next-lane" + end-of-turn without commit) — defer to compliance-rate check at #11195 Day-30

Avoided Traps

  • Treating this as new substrate vs amendment: rejected — this is a tightening of just-shipped #11218 substrate, not a new mechanism. Scope as single-AC amendment, not Discussion → Epic.
  • Operator-only-can-declare-loopholes framing: rejected — agents should self-identify loopholes via dogfooding (the entire #11216 cycle-4→6 arc demonstrates this works). This ticket is itself an instance.
  • Adding more rules vs amending existing: rejected — substrate accretion defense (AGENTS.md §13) prefers tightening existing rules over adding parallel ones.

Related

  • Issue #11218 → PR #11220 (just merged — substrate this amends)
  • Issue #11217 → PR #11219 (companion substrate-discipline cluster; consensus-mandate)
  • post-review-pickup-workflow.md §4 — correct AND-discipline shape this ticket aligns §15.6 with
  • AGENTS.md §13 — substrate accretion defense; this ticket is tightening, not adding
  • feedback_peer_not_assistant_mode — lineage discipline

Origin Session ID

c0d5c29d-dc70-44c8-b5af-d3f6c59936ee (today's substrate-evolution arc + operator's loophole-catch turn)

Handoff Retrieval Hints

  • query_raw_memories(query="lane-state next-lane stated-intent idle-out loophole AGENTS.md §15.6")
  • File anchor: AGENTS.md §15.6 Negative Constraint paragraph
  • Empirical anchor: today's session arc — 5× declarations of lane-state: next-lane (#11204) without execution, plus subsequent assignee-mismatch revelation when finally V-B-A'd

🤖 Generated with Claude Code

tobiu referenced in commit d58f39d - "fix(agents): close §15.6 OR loophole — announce AND execute (#11221) (#11222) on May 11, 2026, 7:04 PM
tobiu closed this issue on May 11, 2026, 7:04 PM