Skip to content

fix(issue-tracker): PR #52 review findings — binding-aware seam search, park-counting tripwire - #53

Merged
SSFSKIM merged 1 commit into
mainfrom
fix/pr52-review-findings
Aug 10, 2026
Merged

fix(issue-tracker): PR #52 review findings — binding-aware seam search, park-counting tripwire#53
SSFSKIM merged 1 commit into
mainfrom
fix/pr52-review-findings

Conversation

@SSFSKIM

@SSFSKIM SSFSKIM commented Aug 10, 2026

Copy link
Copy Markdown
Owner

Adopts all 7 codex-connector inline findings from the merged #52 (P1 x3, P2 x4). Prompt-text only.

  1. Binding awareness (P1 x2): the seam search and the relates duty are gh-binding routes — API-bound workers either lack gh entirely or would search an unrelated issue set, and board-relate.sh refuses in API mode. Both now name their API-mode fallback (server-side registration dedupe / seam-mates named in the body).
  2. --limit 200 (P2): gh issue list defaults to 30 and truncates silently — the documented command now carries an explicit limit.
  3. Park-counting tripwire (P2): the third-rewrite trigger now counts every non-terminal ticket except deferred — a needs-human/needs-info park resumes into its lane without re-running the search, so excluding parks let three rewrites proceed in parallel.
  4. Member disposition (P1): the --blocked-by-the-members prescription is removed. Re-cutting other tickets' edges is not a worker's write, and a block only defers the collision — when the consolidation lands, the unblock sweep frees the stale rewrites to overwrite it. The consolidation ticket owns member disposition: re-cut as slices or close with a reason. (Matches the surface-topology spec's consolidation semantics.)
  5. Spike decomposition (P2): the scope-check path registers children before the Graduation text applies — the seam search now explicitly covers every registration, that path included.
  6. Cross-ticket write exception (P2): the reviewer's "comment evidence on the existing ticket" route is named as the one sanctioned cross-ticket write, resolving the conflict with "board writes target the primary ticket"; ticketless PRs keep skipping all board writes.

Note: finding 5's twin gap in the sweep queue-depth watch (code, not prose) is being fixed on the open surface-topology branch.

…h, park-counting tripwire, member disposition

Seven codex-connector findings on the merged #52, all adopted:
- seam search + relates duty scoped to the gh binding with API-mode
  fallbacks named (search: server-side dedupe until an arkho#7 route;
  relates: name seam-mates in the body) [P1 x2]
- explicit --limit 200 on the documented search (default 30 truncates
  silently) [P2]
- cluster tripwire counts every non-terminal ticket except deferred —
  a parked rewrite resumes into its lane without re-running the search
  [P2]
- member disposition belongs to the consolidation ticket (re-cut or
  close); the --blocked-by prescription is gone — blocking merely defers
  the collision until the unblock sweep frees the stale rewrites [P1]
- spike decomposition path runs the seam search too (it registered
  children before the Graduation text ever applied) [P2]
- the reviewer's comment-on-existing-ticket route is named as the one
  sanctioned cross-ticket write, ticketless PRs excepted [P2]

@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: 885329031a

ℹ️ 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 on lines +334 to +336
silently). This search is a gh-binding route; an API-bound repo has no
client search verb yet — rely on the server's registration-time dedupe
until one lands (the arkho#7 route family). Then triage the hits:

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 Add a real seam-search fallback for API boards

In an API-bound repo, these lines remove the only operation that discovers open tickets on the same seam and replace it with registration-time deduplication. That dedupe can reject the same defect, but a successful registration does not return different-defect tickets touching the same function, so the following relate and third-ticket branches have no hits to triage; the worker therefore cannot name seam-mates or detect the cluster that this policy is meant to prevent. Provide a binding-neutral search/list route, or otherwise preserve discovery before allowing API-mode registration.

Useful? React with 👍 / 👎.

Comment on lines +345 to +346
- **Cluster tripwire**: if your registration would put a THIRD
non-terminal ticket onto the same function or contract body, that

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 Exclude spike tickets from the rewrite tripwire

When a large spike is decomposed into several narrower spikes on the same function, the newly required search on that decomposition path counts all of them as non-terminal and mandates an architect consolidation. Spikes explicitly deliver information rather than merged code, so parallel spike tickets cannot cause the silent rewrite collision used to justify this gate. Restrict the count to tickets capable of entering the implementation/write lane while retaining parked work tickets that can later resume.

Useful? React with 👍 / 👎.

Comment on lines +353 to +355
the unified contract, with the members related. Member disposition
belongs to the consolidation ticket itself — each member is re-cut as
a slice of the unified contract or closed with a reason. Do not reach

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 Define an authorized route for member disposition

When this tripwire creates a consolidation ticket, its dispatched Architect cannot perform the promised disposition: skills/architecting/SKILL.md:154-161 permits transitions only on the Architect's own ticket and explicitly forbids changing other tickets' states. It can register replacement slices, but it cannot close or repurpose the existing member tickets, leaving those stale rewrites eligible to run after the consolidated implementation lands—the exact collision described below. Assign this disposition to an authorized actor or add a sanctioned mechanism that the consolidation workflow can actually execute.

Useful? React with 👍 / 👎.

Comment on lines +327 to +330
A seam-search hit that says the finding IS an existing open ticket:
comment your evidence on that ticket instead of registering — the one
sanctioned cross-ticket write in this protocol (an explicit exception
to "board writes target the primary ticket").

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 Route duplicate evidence through an API-authorized actor

For an API-dispatched reviewer, BOARD_RUN_TOKEN always wins credential selection and the server scopes that token to the run's own ticket, so this newly sanctioned comment on a different ticket is refused even if a seam-search route supplies the hit. In that context the reviewer can neither register the duplicate finding nor record its evidence, and the protocol provides no fallback. Route this write through an authorized principal or record an own-ticket proposal that an authorized reconciler can apply.

Useful? React with 👍 / 👎.

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.

1 participant