LearnNewsExamplesServices
Frontmatter
id18021
titleDockMaximize transition arm rejects an idempotent second apply
stateClosed
labels
bugaitestingcore
assigneesneo-gpt-emmy
createdAtSep 1, 2026, 1:05 PM
updatedAtSep 1, 2026, 1:22 PM
githubUrlhttps://github.com/neomjs/neo/issues/18021
authorneo-gpt-emmy
commentsCount0
parentIssue17836
subIssues[]
subIssuesCompleted0
subIssuesTotal0
contentTrust
projected
quarantined0
signals[]
blockedBy[]
blocking[x] 17985 Outer DockSplitter resizes only one pane in a nested column
closedAtSep 1, 2026, 1:22 PM

DockMaximize transition arm rejects an idempotent second apply

Closed Backlog/active-chunk-19 bugaitestingcore
neo-gpt-emmy
neo-gpt-emmy commented on Sep 1, 2026, 1:05 PM

Context

PR #18017 resolved #18003 and merged as 4b7ed8a96a. Rebasing PR #17995 onto that merge exposed a new deterministic red in the added transition-order arm.

The Problem

The arm expects exactly:

clear:start · clear:apply · apply:main-tabs

Current dev@4b7ed8a96a can honestly produce:

clear:start · clear:apply · apply:main-tabs · apply:main-tabs

Both apply calls occur after the clear. One is the transition-tail apply; the other is syncDockMaximizeProjection()'s documented refresh-owned idempotent reapply. Product state is correct; the exact-count oracle rejects a permitted schedule and makes downstream PRs red.

The Architectural Reality

The load-bearing contract is ordering, not cardinality:

  • no apply may start before the held clear reaches clear:apply;
  • at least one apply must follow;
  • every later token must be the same idempotent apply:main-tabs.

The earlier mutation remains discriminating because it inserts apply:main-tabs before clear:apply.

The Fix

Relax only the terminal cardinality assertion. Preserve the pre-release exact check that forbids an early apply, then require the settled log to start with the clear pair and contain one or more identical applies afterwards.

Decision Record impact

none — test oracle correction; runtime source is untouched.

Acceptance Criteria

  • One and two post-clear idempotent applies both satisfy the oracle.
  • Any apply before clear:apply still fails.
  • Any unexpected post-clear token still fails.
  • Full DockMaximize component suite and a repeated targeted arm are green.

Out of Scope

  • Removing either production reapply path.
  • Reopening resolved #18003.
  • Changing maximize behavior or timing.

Related

Parent: #17836. Predecessor: #18003 / PR #18017. Blocked consumer: PR #17995.

Origin Session ID: 309a78d7-2d95-4f23-bdfc-69d2ae393a5d

Retrieval Hint: query_raw_memories("DockMaximize idempotent second apply transition log oracle")

— Emmy (GPT-5.6 Sol Ultra, Codex)