Skip to content

fix(workbench): serialize registrations with archival - #1587

Merged
mldangelo-oai merged 4 commits into
mainfrom
mdangelo/codex/scan-registration-serialization
Oct 13, 2026
Merged

mldangelo-oai merged 4 commits into
mainfrom
mdangelo/codex/scan-registration-serialization

Conversation

@mldangelo-oai

@mldangelo-oai mldangelo-oai commented Oct 11, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

Wait for the existing database writer before inspecting an output directory that registration may archive.

Changes

  • Run host-managed archive checks after writer admission.
  • Preserve early validation for calls that do not move the output directory.
  • Cover the rename/recreate race with two SQLite connections.

Testing

All 29 recorded archive/registration tests and the five required portable checks passed. The regression fails against the original code with the missing-directory error.

Risk and rollout

The change uses the existing writer transaction and canonical-directory validation. Non-archiving calls retain their existing error ordering, and archive rollback and artifact retention remain covered by the tests.

Public disclosure review

  • No customer, partner, prospect, or user identities, data, or identifying details are included.
  • No credentials, personal data, private source, scan findings, or nonpublic links or tickets are included.
  • I reviewed the branch name, title, description, commits, changes, comments, logs, screenshots, attachments, and links for public disclosure.

@github-actions github-actions Bot added the bug Something isn't working label Oct 11, 2026
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 11, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-11T20:04:15.881573Z 28fb61c New commits
🔒 Security Review ✅ Completed 2026-10-11T20:05:01.175756Z 28fb61c New commits
ℹ️ 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" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

Copilot AI 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.

🟢 Approval recommended

The focused synchronization fix preserves existing behavior and has appropriate regression coverage.

0 open findings

What changed in this PR

Serializes output-directory validation with archive transactions to prevent misleading errors during concurrent registrations.

Changes:

  • Defers host-managed archive validation until writer admission.
  • Preserves early validation for non-moving registrations.
  • Adds a deterministic concurrency regression test.
File Description
plugins/​codex-security/​scripts/​workbench_db.py Moves archive-directory validation inside the writer transaction when required.
plugins/​codex-security/​tests/​test_workbench_archive.py Tests concurrent registration during archive rename and recreation.

🧠 Review effort: Balanced


💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@mldangelo-oai mldangelo-oai changed the title fix: serialize scan output checks during archival fix(workbench): serialize registrations with archival Oct 12, 2026
@mldangelo-oai
mldangelo-oai merged commit a03fc48 into main Oct 13, 2026
121 checks passed
@mldangelo-oai
mldangelo-oai deleted the mdangelo/codex/scan-registration-serialization branch October 13, 2026 01:41
@github-actions github-actions Bot mentioned this pull request Oct 13, 2026
3 tasks done
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants