PR #2153's body and the regression test docstring omit the steady-state consequence: the cross-check effectively removes the gateway-lane stop rather than conditioning it

オープン
#2,158 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
1/5
見積もり時間
1〜3時間
初心者へのやさしさ
55/100
issue の種類
ドキュメント
明瞭さ
明確に書かれている
活発さ
活発
技術スタック
javascript
領域
testing

調査の方向性

Read the regression-test docstring in test/plugins/codex-privacy-skill-session-id.test.js around lines 227–238 and the PR #2153 body’s second Solution bullet. Update the docstring to state the steady-state consequence described in the issue; if the PR is still open, update its body too. Done when both texts explain that the stop arm is reachable only by a race and that the change removes the gateway-lane stop in steady state.

索引モデルが issue の本文から書いたものです。

説明

Source: #2153 at 3ba9ab31696e4968a7d60bfd9b3fe9613ddfb348
Location: PR #2153 body (second Solution bullet); test/plugins/codex-privacy-skill-session-id.test.js:216-231
Severity: minor

Evidence

Verified at 3ba9ab31: resolveLiveGatewayEndpointFromStatus (src/core/daemon/status.js:776-797) applies the same pid-liveness gate and the same gatewaySourceDetails port test over the same two files as the verb's own gateway resolution, so the gateway is absent from the receipt's recorders exactly when the cross-check will also find no live bound port. The 'still being recorded' stop arm is therefore reachable only by a race between the two commands or a port shape core rejects but a reader accepts; in steady state the cross-check always answers not-listening. Neither the PR body ('the second observation has to be the gateway's own bound address', with no consequence stated) nor the test docstring ('The answer is to condition the stop on a second observation, not to delete it') states this. Both rounds asked for one sentence in each; neither landed.

Why deferral is safe

Not a blocker and not a behavioral defect: the shipped SKILL.md itself is accurate at head (it presents the snapshot as carrying 'the very field the verb resolves the gateway by', a decomposition claim, not an independence claim), the behavior is correct in all three benign states and fails closed on unreadable snapshots, and removing the false stop was the point of #2148. The omission lives only in the merge-record prose and a test comment, and the consequence is already stated verbatim in both marker-signed review comments on the PR thread and again in the disposition record, so the merge record as a whole does not mislead. The related boot-race residual (src/core/daemon/runtime.js:323-329 writes the pid file before plugin activation, a sub-second under-warn window at daemon boot) is concurred as speculative under CLAUDE.md's threshold: closing it needs a gateway probe, a different change, and the head prose no longer over-claims either lane.

Acceptance condition

One sentence in the docstring of test/plugins/codex-privacy-skill-session-id.test.js (and, if the PR is still open, one in the PR body) stating that because the receipt omits the gateway exactly when no bound port was readable, the stop arm is reachable only by a race, so in steady state the change removes the gateway-lane stop rather than conditioning it.

Review preference; backlog only. A human may explicitly delegate it with neutral:fix.


Update at head 2a08f5dacabb6e479fef910766cbb7b68f425aed (triage re-run after fix/issue-2148 merged master): the omission stands unchanged. The merged PR body's second Solution bullet still reads "the second observation has to be the gateway's own bound address" with no steady-state consequence stated, and the regression-test docstring (now at test/plugins/codex-privacy-skill-session-id.test.js:227-238 after the keep-both merge added the master-side #2159 test below it) still says "condition the stop on a second observation, not to delete it" without the consequence. The merge changed neither text. Severity and acceptance unchanged.

主要言語
JavaScript
スター
11
フォーク
0
平均マージ
2時間 49分
マージ済み PR(30日)
302

環境構築

このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

hyparam/hypaware のほかの issue

hyparam/hypaware の issue をすべて見る

似ている issue

JavaScript の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。