-
Notifications
You must be signed in to change notification settings - Fork 1
fix(issue-tracker): PR #52 review findings — binding-aware seam search, park-counting tripwire #53
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -329,22 +329,34 @@ SEAM: the identifiers your ticket touches (file paths, function/RPC | |
| names, table names). Title-keyword search may not be enough — different | ||
| authors word the same work differently. GitHub issue search hits | ||
| bodies, so query each seam identifier | ||
| (`gh issue list --state open --search "<function-or-file-name>"`). | ||
| Then triage the hits: | ||
| (`gh issue list --state open --limit 200 --search "<function-or-file-name>"` | ||
| — the explicit `--limit` matters: the default caps at 30 and truncates | ||
| 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: | ||
|
|
||
| - **Same defect or scope** → comment your evidence on the existing | ||
| ticket instead of registering a duplicate — parallel workers hit the | ||
| same base regressions blind. | ||
| - **Same seam, different defect** → register, but in the same breath | ||
| `board-relate.sh` your new ticket to every open ticket on that seam. | ||
| - **Cluster tripwire**: if your registration would put a THIRD open | ||
| non-park ticket onto the same function or contract body, that seam | ||
| has outgrown patch-wise work — parallel rewrites of one body revert | ||
| each other silently (different files, zero git conflicts). | ||
| Register your finding, then raise consolidation: a | ||
| ticket born `ready-for-architect` that names every member and owns | ||
| the unified contract, with the members related (and, where they are | ||
| still undispatched, `--blocked-by` the consolidation ticket). | ||
| `board-relate.sh` your new ticket to every open ticket on that seam | ||
| (gh binding — board-relate.sh has no API route; there, name the | ||
| seam-mates in your ticket body instead and move on). | ||
| - **Cluster tripwire**: if your registration would put a THIRD | ||
| non-terminal ticket onto the same function or contract body, that | ||
|
Comment on lines
+345
to
+346
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
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 👍 / 👎. |
||
| seam has outgrown patch-wise work — parallel rewrites of one body | ||
| revert each other silently (different files, zero git conflicts). | ||
| Parks COUNT: a needs-human/needs-info rewrite resumes into its lane | ||
| without re-running this search; only `deferred` and closed tickets | ||
| are out of the race. Register your finding, then raise consolidation: | ||
| a ticket born `ready-for-architect` that names every member and owns | ||
| 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 | ||
|
Comment on lines
+353
to
+355
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
When this tripwire creates a consolidation ticket, its dispatched Architect cannot perform the promised disposition: Useful? React with 👍 / 👎. |
||
| for `--blocked-by` on the existing members: re-cutting other tickets' | ||
| edges is not a worker's write, and a block merely defers the | ||
| collision — the moment the consolidation lands, the unblock sweep | ||
| frees the stale rewrites to overwrite it. | ||
|
|
||
| Whoever registers a ticket authors | ||
| its body AT REGISTER TIME — write the sections to a temp file and pass | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -324,8 +324,13 @@ substance and route. | |
| Birth classification applies: the default is `ready-for-implementer`; | ||
| a finding that is missing DESIGN (not just missing work) passes | ||
| `--state ready-for-architect`. | ||
| 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"). | ||
|
Comment on lines
+327
to
+330
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
For an API-dispatched reviewer, Useful? React with 👍 / 👎. |
||
| NEVER wave it. On a ticketless PR, post a structured PR comment | ||
| describing the scope fork instead — board writes are skipped. | ||
| describing the scope fork instead — board writes are skipped, the | ||
| cross-ticket exception included. | ||
| - LOG — valid non-blocker: append a | ||
| structured comment to the standing tech-debt issue | ||
| ({{BOARD_SCRIPTS}}/board-comment.sh {{TECH_DEBT_ISSUE}}) — finding, | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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 👍 / 👎.