Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
c7b3a26
refactor(deep-scan): run Standard scans in ordered batches
mldangelo-oai Sep 15, 2026
6546a75
test(deep-scan): wait for reducer launch before restart
mldangelo-oai Sep 15, 2026
4888f4d
fix(deep-scan): report unfinished passes at time limit
mldangelo-oai Sep 15, 2026
f5b9d76
refactor(deep-scan): simplify pass inputs and retain checkpoint links
mldangelo-oai Sep 15, 2026
329545c
refactor: compose deep scans from ordinary scan runs
mldangelo-oai Sep 15, 2026
26f2be8
fix: preserve stopped scan observations before the first merge
mldangelo-oai Sep 15, 2026
22c15d6
fix: retain scan settings and unmerged observations through shared li…
mldangelo-oai Sep 15, 2026
b9dc804
fix: preserve native ownership and account lookup errors
mldangelo-oai Sep 15, 2026
b344790
fix: retain incomplete scan coverage at configured limits
mldangelo-oai Sep 15, 2026
a5aeddd
fix: preserve scan settings and stopping semantics
mldangelo-oai Sep 15, 2026
8a92a4e
fix: retain merge failure limits across interrupted scans
mldangelo-oai Sep 15, 2026
6f06212
fix: retain merger failures during legacy scan migration
mldangelo-oai Sep 15, 2026
a4b0031
Fix saved logs for scans with recorded worker sessions
mldangelo-oai Sep 15, 2026
0ee069a
Clarify saved Deep Scan resume requirements
mldangelo-oai Sep 15, 2026
7c95ef3
fix: finalize retained legacy discovery at its saved budget
mldangelo-oai Sep 15, 2026
87b2585
docs: describe composed Deep Scan findings and coverage
mldangelo-oai Sep 16, 2026
1f4ca52
fix(deep-scan): preserve native resume and archived child state
mldangelo-oai Sep 16, 2026
3b95e3d
fix(deep-scan): drain stopped scans and preserve legacy resume settings
mldangelo-oai Sep 16, 2026
bdd6e74
fix(deep-scan): retain progress and read large merge inputs from disk
mldangelo-oai Sep 16, 2026
225abe0
fix(deep-scan): preserve native runtime and terminal pass state
mldangelo-oai Sep 16, 2026
20779b4
Merge remote-tracking branch 'origin/main' into mdangelo/codex/simpli…
mldangelo-oai Sep 16, 2026
5862e8d
fix(deep-scan): preserve feedback, recovery and budget boundaries
mldangelo-oai Sep 16, 2026
0c3f4b1
Merge remote-tracking branch 'origin/main' into mdangelo/codex/simpli…
mldangelo-oai Sep 16, 2026
21743ff
fix(deep-scan): rejoin legacy runs and share worker attribution
mldangelo-oai Sep 16, 2026
745f5ed
fix(deep-scan): preserve permissions and resume boundaries
mldangelo-oai Sep 16, 2026
0a34122
fix(deep-scan): preserve worker checks and cost completeness
mldangelo-oai Sep 16, 2026
c957af8
fix(deep-scan): preserve completion limits and session accounting
mldangelo-oai Sep 16, 2026
041769d
fix(deep-scan): preserve runtime and scope compatibility
mldangelo-oai Sep 16, 2026
2e8ec2e
fix(deep-scan): preserve failure and cleanup behavior
mldangelo-oai Sep 16, 2026
b153d60
fix(deep-scan): preserve resume and finding visibility
mldangelo-oai Sep 16, 2026
53b4f2a
fix(deep-scan): complete cancellation and cross-platform checks
mldangelo-oai Sep 16, 2026
690cd7b
fix(deep-scan): retain publication results and recovered failures
mldangelo-oai Sep 16, 2026
f9cec65
fix(deep-scan): coordinate checkpoints and failed-pass accounting
mldangelo-oai Sep 16, 2026
f69cb00
fix(deep-scan): preserve native home and proof compatibility
mldangelo-oai Sep 16, 2026
1b4e093
fix(deep-scan): preserve scan outcomes and default home selection
mldangelo-oai Sep 17, 2026
6754e4d
fix(native-scan): retain startup failures during cleanup [skip ci]
mldangelo-oai Sep 17, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 6 additions & 2 deletions .github/workflows/node-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -390,13 +390,17 @@ jobs:
with:
package_json_file: package.json
cache: true
cache_dependency_path: plugins/codex-security/mcp-app/pnpm-lock.yaml
cache_dependency_path: |
sdk/typescript/pnpm-lock.yaml
plugins/codex-security/mcp-app/pnpm-lock.yaml
- name: Set up Node.js
uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
with:
node-version: "22.13.0"
- name: Install dependencies
run: pnpm --dir plugins/codex-security/mcp-app install --frozen-lockfile
run: |
pnpm --dir sdk/typescript install --frozen-lockfile
pnpm --dir plugins/codex-security/mcp-app install --frozen-lockfile
- name: Install ripgrep
run: |
sudo apt-get update
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/test-quality.yml
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,7 @@ jobs:
run: ./sdk/typescript/scripts/prepare-windows-test-root.ps1
- name: Test runner mode
env:
CODEX_SECURITY_TEST_TIMEOUT_MS: ${{ runner.os == 'Windows' && '120000' || '30000' }}
TEMP: ${{ steps.windows-temp.outputs.path || runner.temp }}
TMP: ${{ steps.windows-temp.outputs.path || runner.temp }}
TMPDIR: ${{ steps.windows-temp.outputs.path || runner.temp }}
Expand Down
89 changes: 0 additions & 89 deletions plugins/codex-security/mcp-app/artifact-writer-main.ts

This file was deleted.

14 changes: 3 additions & 11 deletions plugins/codex-security/mcp-app/main.ts
Original file line number Diff line number Diff line change
@@ -1,12 +1,8 @@
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
import { createCodexSecurityArtifactWriterServer } from "./artifact-writer-main.js";
import { createCodexSecurityServer } from "./server.js";

async function main(): Promise<void> {
const artifactWriter = process.argv.includes("--artifact-writer");
const server = artifactWriter
? await createCodexSecurityArtifactWriterServer()
: createCodexSecurityServer();
const server = createCodexSecurityServer();
await server.connect(new StdioServerTransport());
let closing = false;
const close = async (exitCode?: number): Promise<void> => {
Expand All @@ -15,9 +11,7 @@ async function main(): Promise<void> {
if (exitCode !== undefined) process.exitCode = exitCode;
await server.close().catch((error: unknown) => {
console.error(
artifactWriter
? "Codex Security artifact writer failed to close:"
: "Codex Security MCP server failed to close:",
"Codex Security MCP server failed to close:",
error
);
});
Expand All @@ -29,9 +23,7 @@ async function main(): Promise<void> {

main().catch((error) => {
console.error(
process.argv.includes("--artifact-writer")
? "Codex Security artifact writer failed to start:"
: "Codex Security MCP server failed to start:",
"Codex Security MCP server failed to start:",
error
);
process.exitCode = 1;
Expand Down
6 changes: 5 additions & 1 deletion plugins/codex-security/mcp-app/scripts/build_mcp_app.mjs
Original file line number Diff line number Diff line change
@@ -1,12 +1,14 @@
#!/usr/bin/env node
import { copyFile, mkdir, readFile, rm, writeFile } from "node:fs/promises";
import { dirname, join, resolve } from "node:path";
import { createRequire } from "node:module";
import { pathToFileURL } from "node:url";
import { brotliCompressSync, constants as zlibConstants } from "node:zlib";
import { execFileSync } from "node:child_process";
import { build } from "esbuild";

const root = resolve(import.meta.dirname, "..");
const sdkRequire = createRequire(join(root, "../../../sdk/typescript/package.json"));
const maxChunkBytes = 140_000;

export async function buildMcpApp({ output }) {
Expand Down Expand Up @@ -34,8 +36,10 @@ export async function buildMcpApp({ output }) {
try {
await build({
bundle: true,
define: { "import.meta.url": "__filename" },
banner: { js: "const __codexSecurityModuleUrl = require('node:url').pathToFileURL(__filename).href;" },
define: { "import.meta.url": "__codexSecurityModuleUrl" },
entryPoints: [join(root, entryPoint)],
inject: name === "server" ? [sdkRequire.resolve("pdfjs-dist/legacy/build/pdf.worker.mjs")] : [],
external: ["fsevents"],
format: "cjs",
loader: { ".md": "text" },
Expand Down
Loading