Skip to content

fix: review follow-ups for the 2026-10-14 integration batch - #330

Merged
MendixMau merged 2 commits into
integration/2026-10-14from
fix/integration-1014-followups
Oct 14, 2026
Merged

MendixMau merged 2 commits into
integration/2026-10-14from
fix/integration-1014-followups

Conversation

@MendixMau

@MendixMau MendixMau commented Oct 13, 2026 •

Copy link
Copy Markdown
Owner

Direct lane

What changed and why (one paragraph):
Small fixes from the independent reviews of the PRs in integration/2026-10-14. Nothing else is in this PR.

  • skills/dispatching.md names app-restart exits 4 and 5 next to 3 and 1. Exit 4 is a port held by a process it did not record: nothing is started, and the recorded app may already be stopped. Exit 5 is a live MxTest after-startup that the stop left in place.
  • tests/wave2/test-test-scratch.sh replaces ls | grep -q under pipefail with here-strings, the same SIGPIPE false negative fix(routing): pipefail + grep -q false negatives (CI flake) #328 fixed.
  • bin/sync-project.sh step 4d no longer aborts when doctor prints nothing.
  • _ob_has_denominator in bin/lib/obligation-check.sh strips NUL bytes, so bash stops warning.

Dropped after review: the stale-lock takeover re-check in exec.sh and test-scratch.sh. The independent review (MERGE-AFTER-FIX) found that it opens a new short refusal of about 6 s: a peer can put the caller's own fresh line back into .takeover, and then every contender backs off. It only narrows the original mid-takeover-crash race (2 of 160 rounds). The lock code is back to integration's state and waits for a designed fix with a regression fixture.

Field evidence: none yet.

  • No client data anywhere in the diff (leak guard clean)
  • Size cap: 5 files, under 20 lines
  • Test tier: scoped fixtures pass: exec-lock-watch 84/0, shared-lock-takeover 6/0, test-scratch 46/0, app-restart 64/0, property-sets 61/0, obligation-final-look 17/0, sync-past-stock 22/0. render-routing --check passes, baseline 74,995 of 80,000 words (+36).
  • CHANGELOG.md line appended, credited

🤖 Generated with Claude Code

https://claude.ai/code/session_01VJgWP5vEoAsNsJYqCDMGNw

- exec.sh exec_lock_takeover / test-scratch.sh take_over(): re-check that our
  own line still heads <lock>.takeover just before the compare-and-rm; back off
  (return 1) if not. Closes the double-holder window after a mid-takeover crash
  (2 in 160 rounds in review). Fixture copy exec-lock-block.sh re-synced.
- skills/dispatching.md: app-restart exits 4 and 5 named alongside 3 and 1.
- tests/wave2/test-test-scratch.sh: ls | grep -q under pipefail -> here-string.
- bin/sync-project.sh step 4d: || true on the grep -v pipe so empty doctor
  output cannot abort sync.
- bin/lib/obligation-check.sh _ob_has_denominator: tr also strips NUL bytes,
  silencing bash's "ignored null byte" warning.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VJgWP5vEoAsNsJYqCDMGNw
…tart

Review (MERGE-AFTER-FIX) found the re-check opens a new transient refusal
(own fresh line restored into .takeover by a peer → every contender backs
off for ~6 s) while only narrowing the original mid-takeover-crash race.
Lock changes go back to integration's state and wait for a designed fix
with a regression fixture. app-restart also exits 4 after stopping the
recorded app, so the doc no longer says "nothing stopped".

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VJgWP5vEoAsNsJYqCDMGNw
@MendixMau
MendixMau marked this pull request as ready for review October 14, 2026 02:16
@MendixMau
MendixMau merged commit 40814fc into integration/2026-10-14 Oct 14, 2026
1 check passed
MendixMau added a commit that referenced this pull request Oct 14, 2026
)

Every constituent PR was reviewed by a fresh agent that did not write it (CLAUDE.md "Merging a PR"); only MERGE verdicts joined. CI green on each constituent head and on this head (40814fc); full suites run on the branch.

Review lines (per merged PR):
- #315 context trim — MERGE; 360/385 removed lines found verbatim in their new homes, rest read by hand; baseline 79,997 -> 76,259.
- #316 independent-review + word-budget rules — MERGE-AFTER-FIX (3 rounds), fixes applied as specified.
- #318 page-fidelity displayed text — MERGE after fix round + confirmation.
- #317 interaction-model skill (#291 part 1) — MERGE after fix round + confirmation; no client names leaked.
- #321 PROOF-OF-LOOK per section; final-look not due before derived Stage 6 — MERGE after fix round + confirmation.
- #307 graph-sweep guard; per-BRD conformance ledgers — MERGE after two fix rounds + confirmation.
- #325 extraction-quality section; token-burn fixes — MERGE after fix round + confirmation.
- #310 e2e OQL by alias, negative-span liveness, APP-DOWN, #302 credential regression fix — MERGE after fix round + 3 confirmations.
- #323 inbox promotions — MERGE after fix round + confirmation.
- #308 lint gate BLIND on reverted stock rules — MERGE (FIRST-SEEN reverted) after two fix rounds + confirmation.
- #328 pipefail + grep -q flake — MERGE; 0/30 flakes vs 15/100 on master. Follow-up: run-all resolves bin/lib/ subjects (reviewed, MERGE).
- #319 test-stack-up command-line ownership proof — MERGE after fix round + 2 confirmations.
- #327 change-intake core + on-demand detail; CRLF-safe change log — MERGE after fix round + confirmation.
- #320 follow-ups to #290/#292; Dispatching split out — MERGE after fix round + confirmation.
- #326 status delivery rounds (existing-app mode) — MERGE after fix round + confirmation.
- #312 lint batch 4: SEC014, toolkit CONV009 — MERGE after review + 2 fix rounds + confirmation; field run on mxcli 0.26.
- #324 exec.sh change classes, shared stale-lock takeover, SEC014 note echo — MERGE (joint review); follow-up owed for a takeover race after a mid-takeover crash.
- #322 MxTest after-startup guard, mxcli-run pid check — MERGE (joint review).
- #314 doctor property-set exit code; sync announces its bound — MERGE (joint review).
- #330 review follow-ups (exit 4/5 docs, pipefail, NUL strip) — MERGE-AFTER-FIX, fixes applied; takeover re-check dropped.

Field runs are still owed for most instruments in this batch (stated in each PR).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VJgWP5vEoAsNsJYqCDMGNw
@MendixMau
MendixMau deleted the fix/integration-1014-followups branch October 15, 2026 10:46
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.

2 participants