fix(workbench): share scan history across linked worktrees - #456
fix(workbench): share scan history across linked worktrees#456mldangelo-oai wants to merge 25 commits into
Conversation
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: eef22c38a6
ℹ️ 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".
|
@codex review |
|
@codex security review |
|
Security review completed. No security issues were found in this pull request. Reviewed commit: Only the user who started this review can view the report in Codex. ℹ️ About Codex security reviews in GitHubThis is an experimental Codex feature. Security reviews are triggered when:
Once complete, Codex will leave suggestions, or a comment if no findings are found. |
|
Security review completed. No security issues were found in this pull request. Reviewed commit: Only the user who started this review can view the report in Codex. ℹ️ About Codex security reviews in GitHubThis is an experimental Codex feature. Security reviews are triggered when:
Once complete, Codex will leave suggestions, or a comment if no findings are found. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 20b170e3ca
ℹ️ 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".
wholley-oai
left a comment
There was a problem hiding this comment.
I took a cursory glance and have Codex reviewing more thoroughly, but on first pass this looks fine so I'm ok with providing an unblocking stamp.
|
@codex review |
|
Security review completed. No security issues were found in this pull request. Reviewed commit: Only the user who started this review can view the report in Codex. ℹ️ About Codex security reviews in GitHubThis is an experimental Codex feature. Security reviews are triggered when:
Once complete, Codex will leave suggestions, or a comment if no findings are found. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 4f1eb91dcb
ℹ️ 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".
|
@codex review |
|
Codex Review: Didn't find any major issues. 👍 Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
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". |
|
Security review completed. No security issues were found in this pull request. Reviewed commit: Only the user who started this review can view the report in Codex. ℹ️ About Codex security reviews in GitHubThis is an experimental Codex feature. Security reviews are triggered when:
Once complete, Codex will leave suggestions, or a comment if no findings are found. |
Preserve the published finding-publication migrations and append repository identity at version 31. Normalize the known pre-release identity migration, reuse one identity-schema capability check, and align saved-history tests with the integrated behavior.
Advance the paired standalone plugin version so existing staged marketplaces load the linked-worktree history helpers. Leave the npm package release version unchanged.
Use recorded checkout ownership before falling back to live repository identities. Preserve matching persisted identities for removed worktrees and retain verified same-origin comparisons.
|
@codex review Please review the current head |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: c7f733d281
ℹ️ 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".
| if focus_scan_id is not None: | ||
| available.sort(key=_scan_completion_order) |
There was a problem hiding this comment.
Sort every matching batch by completion order
When overlapping scans finish in a different order from when they started, scans match --all calls this command without --after-scan-id, so this condition skips the completion-order sort and retains the SQL's started_at order. The command can consequently save a later-completed scan as the before side of an earlier-completed scan, reversing new/resolved semantics and persisted match direction. Sort available by _scan_completion_order for the all-scans path as well.
AGENTS.md reference: sdk/typescript/AGENTS.md:L23-L23
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
Thanks. I checked the call sites and the existing compatibility test. Post-scan matching supplies --after-scan-id and uses completion order. The explicit scans match --all command omits it and retains the pre-existing start-time order. The history test deliberately covers both orders.
I am preserving that behavior in this repair. Changing --all direction would be a separate compatibility decision. The follow-up only sends the existing Python test fixture through stdin so Windows can launch it.
|
@codex review Please review exact head |
|
@codex security review Please review the current head |
|
Codex Review: Didn't find any major issues. Can't wait for the next one! Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
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". |
|
@codex review Please review the current head |
|
@codex security review Please review the current head |
|
Codex Review: Didn't find any major issues. Keep them coming! Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
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". |
Summary
Keep saved scans, findings, and reviewer decisions associated with verified Git
worktrees, including after a worktree is removed or its old path is reused.
Changes
history, findings, feedback, and rerun lineage through saved scan-level
evidence and verified current ownership.
scan, or Deep Scan rejoins existing task state. Preserve owner-compatible
exact-target legacy history without assigning it a generation.
Preserve the original requester, unavailable-history reporting, direct sealed
findings, and separately authorized explicit artifact comparisons.
preserving explicit history and manual comparison ordering.
contract. Keep its one-time supported-layout repair and existing records.
0.1.31, keep npm at0.1.14, retainthe Windows-safe Python test launcher, and hide explicitly internal types
from the public package declarations.
Testing
On
a2f5676dcef1c70a855ce672b0016cb4987bcd07:tests: 9 passed.
writers, completion order, and history-read code are unchanged by the
follow-up.
TypeScript consumer passed. The package check validated 226 entries and 106
bundled plugin files, including the CLI and nested worker.
skipped and zero failures.
no issues on this exact head.
Risk and rollout
Saved task execution now stops when the canonical owner or saved generation no
longer matches. Read-only sealed history and the supported exact-target legacy
fallback remain available. No historical generation is promoted from a target
record or another scan.
Migration 31 retains indexed scan-generation evidence and database completion
order. Older writers continue to store NULL. The separate historical-findings
work keeps migration 32 and scan-rowid decision checkpoints. No migration is
renumbered, and no npm or plugin release is published by this PR.
Public disclosure review
The source, commit metadata, description, and current public PR surface have
been reviewed. Existing automated review comments contain access-restricted
report references, so the second attestation remains unchecked.