Skip to content

test(denkraum): cover CLI stop signal drain budgets - #1838

Merged
mergify[bot] merged 2 commits into
mainfrom
codex/v16-r908-fu1
Oct 22, 2026
Merged

mergify[bot] merged 2 commits into
mainfrom
codex/v16-r908-fu1

Conversation

@Cuarroc

@Cuarroc Cuarroc commented Oct 22, 2026 •

Copy link
Copy Markdown
Owner

Die PLAN-Zeile beschreibt jetzt die begrenzte R908-FU-1-Teillieferung und lässt alle übrigen Pflichten offen.
Der beobachtete CI-Fehler ist als offener Befund mit klaren Beleggrenzen dokumentiert.
Die vollständige lokale Prepush-Bahn und der Push-Hook sind grün; erneute Root-Abnahme und Windows-Nachweis bleiben offen.

Report

Plan-ID: V16-FU-2 / R908-FU-1

Current documentation correction (2026-10-22)

  • Final head: 89e96c15bf3fed0c566276bbfe07caad7fe266cf; existing branch codex/v16-r908-fu1, existing PR test(denkraum): cover CLI stop signal drain budgets #1838 only. Documentation delta: 1f4ee7a20275c5cf3cb7c8bc7b97f5f05ca513da..89e96c15bf3fed0c566276bbfe07caad7fe266cf.
  • Actual merge-base: 88c10c7716ad2dca629930adbcd8a291baf5d858. Keep this separate from the historical GitHub-reported PR base tip 72ae3f7582f2c5e877f0d76d281856e28c563369; fetched origin/main was 5a07fc0895ff6bb813df265fa9d730d38d1b1ed9 during this correction. No freshness merge, rebase, history rewrite or new PR.
  • Whole package: 81 raw lines, with no exclusions: original test +32/-19 = 51; PLAN +1/-1 = 2; KNOWN_ISSUES +28/-0 = 28. This correction itself is documentation only, 30 raw lines, tier C.
  • Change only the existing V16-FU-2 status cell to valid In Arbeit:: partial R908-FU-1 delivery through test(denkraum): cover CLI stop signal drain budgets #1838 after merge, real Linux SIGTERM/SIGHUP and process-emitted SIGBREAK coverage, no native Windows signal proof. Root reacceptance remains pending. SRV-5 mutual authentication stays parked; R908-FU-2, R896-FU and R899-FU K2 remain unresolved. Acceptance/dependency columns, all other PLAN bytes (including M4B and FU-1015), existing issue content and KI-24 remain unchanged.
  • Add one descriptive, unnumbered open issue subsection before Behoben: queue merge queue: checking #1835 on main (fa4f2d9) #1847 / fix(diagrams): preserve literal SVG comments in CDATA (FU-1015) #1835 at fc1d4662 on fa4f2d9a, run 39834041335 / job 120017507651, failure never-finishing-run-times-out-with-3 (rc=3). The exact stdout timeout line was missing according to Root's raw-log inspection; the expected rc 3 matched. Coordinator independently read job failure and source predicate; raw excerpt is attributed to Root because gh refused raw terminal escapes. The existing one-second poll/no-sleep predicate is recorded; timing race/flake remains a hypothesis.
  • Main run 39832698357 at fa4f2d9a selected no Linux execution: actual gates were skipped. Root requeued through merge queue: checking #1835 on main (fa4f2d9) #1848; fix(diagrams): preserve literal SVG comments in CDATA (FU-1015) #1835 merged at 19:07:35Z as 5a07fc08. Neither selection success nor merge is asserted as a PASS of that specific selftest or as cause/fix proof. Follow-up d2d1a8a8-0882-435e-902b-c3cad4e695fb stays open/low/review-only; no TASK/ASSIGN fix.

Authority and ownership: Root's accepted own-row correction msg-0mvjouwi8-576f5f7f / observer 4349723741, distinct-row permission msg-0mvjxdk5i-ebaea90d, issue-record request msg-0mvjwjejw-e16b0a1f; existing ticket 29256698-c005-497c-ba05-db5d61e4d325. Mechanical edit dispatched/reserved by Stabschef agent-1792535935707-63zow9; supervisory Chief-of-Staff agent-chief-935795b19cd8b31f supplies oversight only. Root owns priority, reacceptance and Mergify. No other row or package is rewritten.

Native goal / runtime evidence for this job: own get_goal initially returned goal=null; create_goal established the bounded documentation/push/report/handover goal, and subsequent get_goal confirmed it active. This is new job evidence, not a continuity claim about another session's goal. Parent V16-FU-2 remains open. Own turn_context reports gpt-6.1-sol, effort high; the CLI runtime header reports OpenAI Codex v0.163.0, provider openai, same model/effort. No AgentsRoom memory/graph tool or lage-jetzt mirror was available; use fixed source and GitHub evidence, without an exhaustive runtime/graph claim. No app activation or reviewer launch.

Current evidence (2026-10-22, final head)

Command Exit Observation
python3 - (byte assertions against git show 1f4ee7a2:<file>) 0 All non-owned PLAN bytes unchanged; original KNOWN_ISSUES recovered exactly by removing only the inserted subsection; test byte-identical, SHA256 e59c94e6b75aa63c3b9c190fff98fa5a5277766fbaca82a07300ef8505b81823. Only the two authorized documentation files changed in this delta.
node --input-type=module (existing parseGoals, before/after assertions) 0 Owned row parses as In Arbeit, PR 1838; no changed sibling rows, problems or existing invalid statuses.
git diff --check 88c10c7716ad2dca629930adbcd8a291baf5d858 HEAD 0 No whitespace errors; git diff --numstat proves the 81-line package.
bash scripts/ci/secret-scan.sh 0 Staged documentation scanned before the normal commit; precommit scanned it again.
git commit (normal hooks) 0 Precommit lane passed, 67 s; documentation No-Test and observed-model coauthor trailers recorded.
bash scripts/ci/gates.sh lane prepush 0 Full own final-head lane, 285 s. Frontend 1707 passed; HQ 995 passed / 3 existing skips; Denkraum 390 passed / 1 existing skip plus 33 Playwright tests; Rust 2320 passed / 7 existing skips. selftest-win-signal passed as part of the canonical lane.
bash scripts/ci/red-first.sh 0 Actual merge-base and final head; justified documentation/test-only No-Test accepted. No invented red phase.
git push -u origin codex/v16-r908-fu1 0 Normal push and full prepush hook, 182 s; same passing suite counts and final head. No bypass.
git ls-remote origin codex/v16-r908-fu1 0 Exact final head confirmed remotely.
gh run view 39834041335 --json headSha,conclusion,jobs; gh run view 39832698357 --json headSha,conclusion,jobs; gh pr view 1835 --json mergedAt,mergeCommit; gh pr view 1847/1848 0 Independently checked failed job metadata, selection-only main run and actual merge/queue identities; Root supplies the raw-log observation.
gh pr view 1838 --json headRefOid,mergeable,isDraft,labels 0 Exact final head and MERGEABLE; ready state unchanged. Earlier snapshot had dequeued; final handover snapshot has no labels. The author issued no label/queue mutation; reason for the intervening label change was not verified.

An initial final-handover assertion exited 1 because it compared label equality with the start snapshot (dequeued then, no labels at handover). Body/head equality had passed. No code/test check failed; no author label mutation was issued. Final body/head/clean-tree verification and the observed label state are recorded separately.

Fresh admission preceded commit, full prepush and push: load1 below 8, MemAvailable above 3500 MiB, no other observed Cargo build or gate phase, and npm run dev:start-check -- --max-cargo 2 --min-free-gb 3.5 exit 0. Provider quota was checked separately against the fresh private record; start-check without --usage does not claim provider verification. No extra targeted signal run or timing measurement was started for this documentation change; mandatory canonical lanes reran existing tests.

Architecture drift: no new finding and no allowlist change.

NICHT ABGEDECKT (current correction)

  • Linux does not compile/run #[cfg(windows)] tests or Windows clippy arms. The Windows lane remains for the merge queue; native Windows console-close/Ctrl+Break delivery is unproven. SIGBREAK coverage here is process-emitted on Linux.
  • Existing exclusions remain: HQ 3, Denkraum 1, Rust 7. No timeout/retry/skip/assertion changes, new test, production fix, dependency or permission change.
  • Prepush omits the full Linux lane's frontend build, HQ browser smoke and workflow gates; the Denkraum Playwright suite did execute. External service state, desktop/real-user and visual acceptance were not checked.
  • The selftest's cause, harmlessness and fix are unproven. A local canonical-lane PASS does not close the historical CI issue. No assertion about a specific queue-retry selftest PASS is made.
  • Existing R908 timing-window risk remains the historical risk below, not a new proven bug.

Current disposition and next owner

Review: ausstehend (Stufe C). This documentation correction is gates-only; no foreign-model review is required or launched. Prior Root acceptance at 1f4ee7a2 was withdrawn for the own-PLAN duty. Observer 4349723741 is addressed by 89e96c15; final Root reacceptance is pending and supersedes the earlier follow-up-only disposition below. Historical test/runtime evidence and all earlier dispositions are preserved below with their original head/date.

Worker delivery: documentation implemented, checked and pushed; report handed over. Root must reaccept this exact head and handle labels/queue/Mergify. The author changed no ready state, label or queue setting and performed no final merge. V16-FU-2 and its unresolved siblings remain open.

Historical report at 1f4ee7a (preserved; superseded where stated above)

Plan-ID: V16-FU-2 / R908-FU-1

Goal / benefit: protect the public stop-to-drain signal wiring with behavioral coverage.
Parent / ticket / owner: V16-FU-2; ticket 29256698-c005-497c-ba05-db5d61e4d325; assigned package worker, Root acceptance.
Native evidence: this resumed session returned get_goal: goal=null, then create_goal established the bounded package-delivery goal; get_goal confirmed it active during verification. The previous session's reported unmet goal was not replaced or marked complete. The worker goal ends at verified draft handover; parent acceptance remains open.
Adaptation: resume the preserved local commit after the prior load-admission stop, under the superseding two-heavy-job/load-below-eight rule. No implementation delta was needed; complete full local checks, normal push and draft publication.

Change and boundary

  • Resume the existing package without source changes or history rewriting. Only tools/denkraum/server-entry-drain.test.mjs changes: 32 additions + 19 deletions = 51 raw lines against merge-base 88c10c7716ad2dca629930adbcd8a291baf5d858.
  • Candidate: 1f4ee7a20275c5cf3cb7c8bc7b97f5f05ca513da; branch: codex/v16-r908-fu1; base branch: main (observed at 72ae3f7582f2c5e877f0d76d281856e28c563369 on 2026-10-22).
  • Exercise public CLI entry → registered signal listener → stop closure → drain budget. SIGTERM and SIGHUP use actual OS delivery. SIGBREAK uses child-process IPC to Node's public process emitter because POSIX cannot deliver that Windows event. Application functions are not mocked; server.mjs is unchanged.
  • A hung webhook transport makes real elapsed time distinguish the existing six-second SIGTERM budget from the four-second SIGHUP/SIGBREAK budget. Assert nonzero exit, one exact DRAIN_TIMEOUT line, retained ledger ownership and the corresponding time range. Production limits, existing retry/timeouts and platform exclusions are preserved.
  • Coverage gap only: no proven production defect, fabricated red phase or production fix. The existing justified No-Test trailer is accepted by red-first.

Evidence (2026-10-22)

Commands ran in the assigned worktree at the candidate head; no hook bypasses.

Command Exit Observation
node --test tools/denkraum/server-entry-drain.test.mjs 0 Prior session at the same final test content: 4 passed, 0 skipped; preserved evidence, not rerun just for this resume.
bash scripts/ci/gates.sh lane prepush 0 Full own lane, 289 s; frontend 1707 passed; Denkraum 390 passed / 1 existing skip plus 33 Playwright tests; Rust 2320 passed / 7 skipped.
bash scripts/ci/red-first.sh 0 Base and candidate verified; justified test-only No-Test accepted.
bash scripts/ci/secret-scan.sh 0 Resume index clean; original precommit scan also passed.
git diff --check 88c10c7716ad2dca629930adbcd8a291baf5d858 HEAD 0 No whitespace errors.
git push -u origin codex/v16-r908-fu1 0 Normal push; hook ran the full prepush lane again, all green (177 s).
git ls-remote origin codex/v16-r908-fu1 0 Exact candidate SHA confirmed remotely.

Measured in the explicit full prepush run: SIGTERM 6009 ms, SIGHUP 4012 ms, simulated SIGBREAK 4013 ms. During the push hook: 6013 / 4012 / 4015 ms respectively.

Architecture drift: no new finding or allowlist change.

NICHT ABGEDECKT

  • Linux does not compile/run #[cfg(windows)] tests or Windows clippy arms; the Windows lane remains for the merge queue.
  • Native Windows console-close/Ctrl+Break delivery is unproven. The SIGBREAK case is a simulated process event on Linux. Existing entry-drain Windows skips remain; no new Windows proof is claimed.
  • Existing suite exclusions remain: HQ 3 skipped, Denkraum 1 skipped, Rust 7 skipped. No assertions were weakened and no retry or timeout budget was increased.
  • Prepush does not cover the full Linux lane's frontend build, HQ browser smoke and workflow gates. It did run the Denkraum Playwright suite.
  • No desktop-app, real-user, external-service, screenshot or visual acceptance measurement. Timing observations are not a guarantee for an overloaded host.

Review and remaining ownership

Review: ausstehend (Stufe C). Test-only coverage; the task requests gates only and no external review. Root owns final classification and acceptance.

The canonical PLAN row 444 at this frozen candidate still says not dispatched/unknown. Only the test file is authorized here; Root must reconcile the canonical V16-FU-2 row and remaining sibling duties before acceptance. This PR is a checked, pushed draft: Root acceptance, ready status, review label, queue and merge are not done.

Review disposition (Root, 2026-10-22 ~14:40Z, head 1f4ee7a)

Tier C: a single test file (tools/denkraum/server-entry-drain.test.mjs, +32/-19), no runtime effect, so the gates suffice and no external review is required. Root read the diff: the test-only claim holds, and the No-Test trailer fits (it adds coverage of existing behaviour). Noted risk, not blocking: the timing window (SIGTERM 5.5–7.5 s, console-close 3.5–5.5 s) can turn flaky on a heavily loaded runner. If it does, it goes to KNOWN_ISSUES and is not retried blindly. Root decision: accept; review-ok bound to 1f4ee7a.

Codex bot comments (OpenAI, author family, not counted as review), Root 14:58Z:

  • 4349723747 (P1, "candidate 5adc89a3"): Rejected. 5adc89a3 does not exist (git cat-file fails), and the branch holds exactly one commit, 1f4ee7a (gh pr view --json commits, git ls-remote). Evidence and review-ok are bound to the actual head.
  • 4349723741 (P2, PLAN row 444 stale): Accepted as a follow-up for the next PLAN reconciliation (owner Stabschef/Chief), not in this test-only package.

Codex observer on 89e96c1 (Root disposition, 2026-10-22 21:31Z)

ID Source Severity Finding Disposition
C-4353340239 chatgpt-codex-connector (OpenAI observer) P1 KNOWN_ISSUES.md:89: win-signal incident bundled into this package Rejected. Root requested this record in this PR (msg-0mvjwjejw-e16b0a1f); it is 28 documentation lines, tier C, and the report above describes it under "Current documentation correction". Splitting would add a CI round without reducing risk. The investigation itself stays in follow-up d2d1a8a8.
C-4353340255 chatgpt-codex-connector (OpenAI observer) P2 docs/PLAN.md:444: status cell mixes post-merge delivery with "awaiting Root acceptance" Follow-up. Status value parses as valid In Arbeit; the stale clause "Neuer Kopf wartet auf erneute Root-Abnahme" is removed by the PLAN owner (Stabschef) in the next V16-FU-2 sibling package. No push to this head.
C-4353340269 chatgpt-codex-connector (OpenAI observer) P1 tools/denkraum/server-entry-drain.test.mjs:99: two new tests (SIGHUP, SIGBREAK) carry skip: posixOnly, so the package is C+, not C Accepted. Current AGENTS.md rule 5: C+ (tests adding skip/timeout/retry) needs one outside reviewer. Root commissioned one non-OpenAI review (glm-5.3, Zhipu) on this exact head via the fail-closed sequential runner; started 21:30:16Z (admission waiting for load < 8). review-ok only after that verdict is dispositioned.

C+ outside review on 89e96c1 (glm-5.3, Zhipu; Root disposition 2026-10-22 21:50Z)

Review: glm-5.3:cloud via fail-closed review-seq.sh, admission sample 21:36:07Z load1=4.26, report time 21:40:35Z, prompt sha256 570cc15e43ff7fca, diff base 88c10c7. (A first attempt at 21:30Z failed with HTTP 404 because Root passed the model name without the :cloud tag; no verdict, not counted.) Verdict: approve with conditions.

ID Severity Finding Disposition
R1838-G1 medium server-entry-drain.test.mjs:125-126: wall-clock windows may flake on slow runners Accepted risk + follow-up. Measured on CI for this head (run 39850985879, job 120076760841 linux_2): SIGTERM 6010 ms (window 5500-7500), SIGHUP 4011 ms and SIGBREAK 4011 ms (window 3500-5500), i.e. ~10 ms overshoot against a 1.49 s upper margin. Widening or separation assertion goes to the R908-FU-2 sibling; a flake is recorded in KNOWN_ISSUES and fixed there.
R1838-G2 medium new cases assert budgets not shown in this PR; SIGBREAK budget class Condition met. Same CI job: all three DRSEC-G4b: <signal> with a notification send … cases ✔ on 89e96c1 merged with main, plus DR-WIN-STOP: the stop path listens for SIGINT SIGTERM S… ✔; the budgets are existing production behaviour (R908, already on the merge base), this package is coverage only (justified No-Test, red-first SUCCESS). The SIGBREAK = 4 s class is what production implements and the green case proves it.
R1838-G3 low SIGBREAK only process-emitted; title may mislead Follow-up (title annotation). Already disclosed in PLAN row and NICHT ABGEDECKT.
R1838-G4 low unchecked child.send() result / ref'd IPC channel Follow-up.
R1838-G5 low PLAN cell wording "nach Merge von #1838" Follow-up, same as C-4353340255 (PLAN owner).
R1838-G6 low KNOWN_ISSUES sentence on script internals lacks cited read Follow-up (d2d1a8a8).

Root acceptance: tier C+ requirement met (one non-OpenAI outside review on this exact head), no open high finding, conditions evidenced. review-ok bound to 89e96c1.

Exercise real SIGTERM and SIGHUP delivery plus a SIGBREAK process-event bridge through the public CLI entry. Measure the existing six-second and four-second drain totals while preserving failure output and ledger ownership checks.

No-Test: test-only coverage of correct existing stop wiring; no production defect or artificial red phase

Co-Authored-By: GPT-6.1 Sol <noreply@openai.com>
@Cuarroc
Cuarroc marked this pull request as ready for review October 22, 2026 14:37
@Cuarroc Cuarroc added the review-ok Pipeline: review disposition complete, no open high finding label Oct 22, 2026
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 22, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-22T20:45:08.590734Z 89e96c1 New commits
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 1f4ee7a202

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

assert.match(result.stderr, /^Entscheidungsseite: Beenden fehlgeschlagen: DRAIN_TIMEOUT$/m);
assert.equal(await missing(`${file}.owner`), false, 'a stuck send keeps the owner record (intended)');
});
for (const signal of ['SIGTERM', 'SIGHUP', 'SIGBREAK']) {

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Update the canonical PLAN row for this coverage

Because this commit completes the R908-FU-1 stop-to-drain wiring tests, docs/PLAN.md:444 would become stale: the V16-FU-2 row still says the package is not dispatched and whether it was completed elsewhere is unknown. Update that row in this change to record the delivered scope and leave only the genuinely outstanding sibling work; repository policy requires the Plan-ID row to describe the post-merge state before review-ok.

AGENTS.md reference: AGENTS.md:L139-L139

Useful? React with 👍 / 👎.

// The specified totals are 6 s for SIGTERM and 4 s for console-close signals. A 500 ms lower
// tolerance and a 1.5 s upper margin distinguish those budgets without increasing either one.
const [min, max] = signal === 'SIGTERM' ? [5500, 7500] : [3500, 5500];
assert.ok(elapsed >= min && elapsed < max, `${signal} drain must take ${min}–${max} ms, got ${elapsed} ms`);

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Rebind the evidence to the actual candidate

The report embedded in commit 5adc89a3 says all commands ran against candidate 1f4ee7a2 and explicitly binds review-ok to that older SHA, even though 5adc89a3 is now the proposed commit. Thus the timing assertions added here have no gate or acceptance evidence bound to the actual candidate; re-run or explicitly revalidate the required evidence and review disposition against 5adc89a3 before marking it ready.

AGENTS.md reference: AGENTS.md:L119-L125

Useful? React with 👍 / 👎.

@mergify mergify Bot added the queued label Oct 22, 2026
@Cuarroc Cuarroc removed the review-ok Pipeline: review disposition complete, no open high finding label Oct 22, 2026
@Cuarroc

Cuarroc commented Oct 22, 2026

Copy link
Copy Markdown
Owner Author

Root (date -u ~15:25Z): review-ok removed. AGENTS.md:139 at main requires the PR's own PLAN row (docs/PLAN.md:444, V16-FU-2/R908-FU-1) to be updated in the same PR before review-ok (codex-bot P2 4349723741). Root had wrongly routed it to a later reconciliation. NACHBESSERN: a PLAN row update on this branch (tier C); then review-ok again on the new head.

@Cuarroc

Cuarroc commented Oct 22, 2026

Copy link
Copy Markdown
Owner Author

@Mergifyio dequeue

@mergify

mergify Bot commented Oct 22, 2026 •

Copy link
Copy Markdown
Contributor

Merge Queue Status

This pull request spent 2 minutes 13 seconds in the queue, with no time running CI.

Reason

Pull request #1838 has been dequeued

Queue conditions are not satisfied:

  • all of: [🚦 Auto-merge conditions]
    • label = review-ok
  • any of: [🔀 queue conditions]
    • all of: [📌 queue conditions of queue rule default]
      • label = review-ok

Hint

You should look at the reason for the failure and decide if the pull request needs to be fixed or if you want to requeue it.
If you do update this pull request, it will automatically be requeued once the queue conditions match again.
If you think this was a flaky issue instead, you can requeue the pull request, without updating it, by posting a @mergifyio queue comment.

Requeued — the merge queue status continues in this comment ↓.

@mergify mergify Bot added dequeued and removed queued labels Oct 22, 2026
Update the owned V16-FU-2 status and preserve unresolved sibling duties. Record the observed queue failure without claiming a timing cause or fix.

Plan-ID: V16-FU-2 / R908-FU-1
No-Test: Documentation maintenance only; original test behavior and bytes are unchanged.
Co-Authored-By: Codex (gpt-6.1-sol) <noreply@openai.com>
@mergify mergify Bot removed the dequeued label Oct 22, 2026

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 89e96c15bf

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread KNOWN_ISSUES.md
Ursache, Fix oder Abschluss von KI-24. Weiter auf Windows messen, bevor Fristen
oder Wiederholungen geändert werden; kein Produktfix-Paket aus diesem Nachtrag.

### Offener CI-Befund: selftest-win-signal ohne Timeout-Schlusszeile (22.10.2026)

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Move the win-signal incident to its own package

This V16-FU-2/R908-FU-1 change now also records an unrelated selftest-win-signal failure from PR #1835 and creates a separate follow-up assignment, even though the package report scopes the change to CLI drain coverage and claims that only the drain test changed. Keeping this independent CI investigation here bundles two packages and leaves the report, review classification, and evidence describing a different delta; move the incident record to its own package.

AGENTS.md reference: AGENTS.md:L13-L17

Useful? React with 👍 / 👎.

Comment thread docs/PLAN.md
| V16-RELEASE | Tag v1.6.0 (Beta-Regel x.y.0) | Nutzer | Z1 (bis DR-17), V16-KI30 (Fix-Abnahme), D5-GUARD, V16-UPD-CANCEL, V16-06, V16-CHANGELOG; #728 gemergt | PC | – | Erledigt: Tag v1.6.0 = d2582ceb (09.10. 23:22Z), release.yml 38004103979 grün, latest.json anonym 1.6.0, PC installiert; ersetzt: Freigabe: Nutzer 09.10. ~19:42Z an Root; Tag durch Root nach Merge dieses PRs (V16-RELEASE-PREP); ersetzt: Geplant: E2/E3 beantwortet; konkrete Freigabe dieses Releases weiterhin offen | jeder Release braucht Nutzerfreigabe; Environment release mit Required Reviewer Cuarroc am 09.10. per gh api bestätigt; danach Release-Pipeline grün | – |
| V16-FU | Nachläufer aus v1.6.0-Reviews und Release-Prüfung | Stabschef | v1.6.0 veröffentlicht (V16-RELEASE) | Server | B/C je Punkt | Erledigt 10.10.: SRV-2/SRV-5-Portschutz #931, SRV-3 #952, OWN-3 #930, NOT-1 und R912-FU-1 #941, NOT-2/NOT-3 #928, SRV-4 #927, REL-3 #926, REL-4 #929, R910-FU #937, R889-FU #899 (09.10.); Rest verschoben nach V16-FU-2; ursprünglich: Offen: R908-FU-1 (Wiring-Test stop→limitDrainForSignal), R908-FU-2 (Drain-Kommentar/Idempotenz); R912-FU-1 (existed-Flag statt stat, io-Seam); R910-FU, R896-FU, R899-FU K2, R889-FU; REL-3 (scripts/release.cmd veraltet), REL-4 (Rollback/releases-latest), NOT-1/2/3, SRV-2..5, OWN-3 | je Punkt eigenes Paket mit eigener Abnahme | – |
| V16-FU-2 | Rest aus V16-FU: SRV-5 gegenseitige Authentifizierung (laut #931 weiterhin geparkt), R908-FU-1 (Wiring-Test stop→limitDrainForSignal), R908-FU-2 (Drain-Kommentar/Idempotenz), R896-FU, R899-FU K2 | Stabschef | V16-FU | Server | B/C je Punkt | Geplant: nicht disponiert; ob schon anderswo erledigt: Unbekannt (zu prüfen) | je Punkt eigenes Paket mit eigener Abnahme | – |
| V16-FU-2 | Rest aus V16-FU: SRV-5 gegenseitige Authentifizierung (laut #931 weiterhin geparkt), R908-FU-1 (Wiring-Test stop→limitDrainForSignal), R908-FU-2 (Drain-Kommentar/Idempotenz), R896-FU, R899-FU K2 | Stabschef | V16-FU | Server | B/C je Punkt | In Arbeit: Teillieferung R908-FU-1 nach Merge von #1838: Wiring-Test am echten CLI-Einstieg für Linux-SIGTERM/SIGHUP und prozessseitig emittiertes SIGBREAK; kein nativer Windows-Signalnachweis. Neuer Kopf wartet auf erneute Root-Abnahme. SRV-5 gegenseitige Authentifizierung bleibt geparkt; R908-FU-2, R896-FU und R899-FU K2 bleiben offen | je Punkt eigenes Paket mit eigener Abnahme | – |

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Describe only the post-merge PLAN state

The fresh replacement text still mixes mutually exclusive states: it describes R908-FU-1 as delivered “after merge of #1838” and then says the new head is awaiting Root acceptance. Once this commit is merged, that acceptance cannot still be pending, so the canonical row immediately becomes stale; retain the delivered scope and outstanding sibling work but remove the pre-merge approval status.

AGENTS.md reference: AGENTS.md:L139-L139

Useful? React with 👍 / 👎.

assert.equal(await missing(`${file}.owner`), false, 'a stuck send keeps the owner record (intended)');
});
for (const signal of ['SIGTERM', 'SIGHUP', 'SIGBREAK']) {
test(`DRSEC-G4b: ${signal} with a notification send that never answers prints one short line and exits non-zero and keeps the owner record`, { skip: posixOnly }, async t => {

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Obtain the required C+ outside review

On Windows, expanding the former single SIGTERM test into this loop introduces two additional tests, for SIGHUP and SIGBREAK, that are skipped via posixOnly. The report nevertheless classifies the package as Tier C and says gates suffice; repository policy explicitly makes tests that add skips C+, so this candidate needs one outside review before review-ok rather than the recorded gates-only disposition.

AGENTS.md reference: AGENTS.md:L33-L37

Useful? React with 👍 / 👎.

@Cuarroc Cuarroc added the review-ok Pipeline: review disposition complete, no open high finding label Oct 22, 2026
@Cuarroc

Cuarroc commented Oct 22, 2026

Copy link
Copy Markdown
Owner Author

@Mergifyio queue

@mergify mergify Bot added the queued label Oct 22, 2026
@mergify mergify Bot mentioned this pull request Oct 22, 2026
30 of 46 tasks
@mergify
mergify Bot merged commit 4934e32 into main Oct 22, 2026
18 checks passed
@mergify

mergify Bot commented Oct 22, 2026

Copy link
Copy Markdown
Contributor

Merge Queue Status

This pull request spent 41 minutes 2 seconds in the queue, including 40 minutes 22 seconds running CI.

Required conditions to merge
  • check-success = gates (linux)
  • check-success = gates (windows)
  • check-success = red-first
  • github-review-approved [🛡 GitHub repository ruleset rule main-pr-required-checks]
  • label != do-not-merge
  • any of [🛡 GitHub repository ruleset rule main-pr-required-checks]:
    • check-success = @github-actions/gates (linux)
    • check-neutral = @github-actions/gates (linux)
    • check-skipped = @github-actions/gates (linux)
  • any of [🛡 GitHub repository ruleset rule main-pr-required-checks]:
    • check-success = @github-actions/gates (windows)
    • check-neutral = @github-actions/gates (windows)
    • check-skipped = @github-actions/gates (windows)
  • any of [🛡 GitHub repository ruleset rule main-pr-required-checks]:
    • check-success = @github-actions/red-first
    • check-neutral = @github-actions/red-first
    • check-skipped = @github-actions/red-first
  • any of [🛡 GitHub repository ruleset rule main-pr-required-checks]:
    • check-neutral = @mergify/Mergify Merge Protections
    • check-skipped = @mergify/Mergify Merge Protections
    • check-success = @mergify/Mergify Merge Protections

@mergify
mergify Bot deleted the codex/v16-r908-fu1 branch October 22, 2026 22:28
@mergify mergify Bot removed the queued label Oct 22, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

review-ok Pipeline: review disposition complete, no open high finding

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant