Repository navigation
test(workbench): share setup for workspaces and saved scans - #1400
Conversation
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
zcrab-oai
left a comment
There was a problem hiding this comment.
Reviewed the diff and relevant surrounding code at a84c177, with an independent second pass. No obvious correctness or regression issues found. Full local platform suites were not rerun. CI still has failed or unfinished checks; those results remain separate from this source-review approval.
a84c177 to
a997fc1
Compare
zcrab-oai
left a comment
There was a problem hiding this comment.
Reviewed the diff and relevant surrounding code at a997fc1, with an independent second pass. No obvious correctness or regression issues found. Full local platform suites were not rerun. CI still has failed, canceled, or unfinished checks; those results remain separate from this source-review approval.
Summary
The workbench saves workspace settings, scan progress, and ownership information. Its tests repeatedly assemble the same commands to create and update that state. Share the command setup so each test's inputs, expected failures, and saved results are easier to see.
Changes
Add helpers for workspace creation/settings, scan startup, ownership claims, progress, cancellation, and saved coverage. Introduce each helper with its first callers while preserving command arguments, environment overrides, and expected-failure handling.
Testing
The recorded Python 3.12 run exercised the real workbench commands through temporary state directories. Cancellation cases rejected another thread's request, preserved the cancellation timestamp on a repeat request, and rejected late progress or completion. Handoff cases attached one continuation thread and rejected a different owner or claim token.
Progress cases reset counts when moving to a new phase and rejected decreasing counts within a phase. Database cases saved and reopened scan results; completed-example checks retained their schema assertions with the shared coverage helper.
To repeat from
plugins/codex-securitywith Python test dependencies installed:Risk and rollout
Depends on #1399's direct Python contract tests. This changes test setup only; production behavior and existing assertions remain unchanged. Later fixture refactors reuse these helpers in separate PRs.
Public disclosure review