Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
52 commits
Select commit Hold shift + click to select a range
52020d9
feat: persist scan lifecycle and model metadata
mldangelo-oai Aug 4, 2026
a5f8d0c
feat: measure security scan tokens across workers
mldangelo-oai Aug 4, 2026
aa9e3f9
fix: repair incomplete deep-scan schema migrations
mldangelo-oai Aug 4, 2026
6140788
feat: unify Deep Scan and Standard scan phases
mldangelo-oai Aug 4, 2026
18629fd
fix: keep active scan context current
mldangelo-oai Aug 4, 2026
15d6897
fix: preserve URLs in security scan context
mldangelo-oai Aug 4, 2026
205fb5d
feat: support model-native Deep Scan workers
mldangelo-oai Aug 4, 2026
6cacd6f
fix: repair legacy workbench migration collisions
mldangelo-oai Aug 4, 2026
f9cd684
fix: make diff-scan writeups and hardening optional
mldangelo-oai Aug 4, 2026
52a5a87
Merge remote-tracking branch 'origin/main' into mdangelo/codex/sync-s…
mldangelo-oai Aug 4, 2026
d59e48a
Merge branch 'mdangelo/codex/sync-scan-lifecycle-metadata' into mdang…
mldangelo-oai Aug 4, 2026
6e9f17d
fix: ship the matching bundled MCP runtime
mldangelo-oai Aug 4, 2026
593c550
fix: ship the matching bundled MCP runtime
mldangelo-oai Aug 4, 2026
537e35a
Merge branch 'mdangelo/codex/sync-cross-worker-token-usage' into mdan…
mldangelo-oai Aug 4, 2026
2c609e7
Merge branch 'mdangelo/codex/repair-deep-scan-schema' into mdangelo/c…
mldangelo-oai Aug 4, 2026
501f044
Merge branch 'mdangelo/codex/unify-deep-scan-phases' into mdangelo/co…
mldangelo-oai Aug 4, 2026
b890bb4
fix: ship matching runtime and preserve scan contracts
mldangelo-oai Aug 4, 2026
4c3275a
Merge branch 'mdangelo/codex/sync-live-scan-context' into mdangelo/co…
mldangelo-oai Aug 4, 2026
0907410
fix: ship the matching bundled MCP runtime
mldangelo-oai Aug 4, 2026
5967299
Merge branch 'mdangelo/codex/preserve-url-scan-context' into mdangelo…
mldangelo-oai Aug 4, 2026
59cc097
fix: ship the matching bundled MCP runtime
mldangelo-oai Aug 4, 2026
c31d312
fix: ship the matching bundled MCP runtime
mldangelo-oai Aug 4, 2026
16bb5a9
Merge branch 'mdangelo/codex/model-native-deep-workers' into mdangelo…
mldangelo-oai Aug 4, 2026
aff2309
Merge branch 'mdangelo/codex/repair-workbench-migration-collisions' i…
mldangelo-oai Aug 4, 2026
4c6763e
fix: ship the matching bundled MCP runtime
mldangelo-oai Aug 4, 2026
5fa645f
fix: preserve prompt-driven scan identity across context edits
mldangelo-oai Aug 4, 2026
1329401
Merge branch 'mdangelo/codex/sync-live-scan-context' into mdangelo/co…
mldangelo-oai Aug 4, 2026
4ac4d7f
fix: constrain URL delegation and headless scan context
mldangelo-oai Aug 4, 2026
6480979
Merge branch 'mdangelo/codex/preserve-url-scan-context' into mdangelo…
mldangelo-oai Aug 4, 2026
c06d758
Merge branch 'mdangelo/codex/model-native-deep-workers' into mdangelo…
mldangelo-oai Aug 4, 2026
65649a7
Merge branch 'mdangelo/codex/repair-workbench-migration-collisions' i…
mldangelo-oai Aug 4, 2026
9dfdb63
fix: keep repairable scan finalization failures resumable
mldangelo-oai Aug 4, 2026
f0434fa
Merge branch 'mdangelo/codex/sync-scan-lifecycle-metadata' into mdang…
mldangelo-oai Aug 4, 2026
9e61640
fix: retain cached input in measured scan token totals
mldangelo-oai Aug 4, 2026
7cf4ccb
Merge branch 'mdangelo/codex/sync-cross-worker-token-usage' into mdan…
mldangelo-oai Aug 4, 2026
83e46fa
Merge branch 'mdangelo/codex/repair-deep-scan-schema' into mdangelo/c…
mldangelo-oai Aug 4, 2026
71200b0
fix: preserve candidate identities and ignored tracked files
mldangelo-oai Aug 4, 2026
1e56898
Merge branch 'mdangelo/codex/unify-deep-scan-phases' into mdangelo/co…
mldangelo-oai Aug 4, 2026
2afba9e
Merge branch 'mdangelo/codex/sync-live-scan-context' into mdangelo/co…
mldangelo-oai Aug 4, 2026
4b616a8
Merge branch 'mdangelo/codex/preserve-url-scan-context' into mdangelo…
mldangelo-oai Aug 4, 2026
3839336
Merge branch 'mdangelo/codex/model-native-deep-workers' into mdangelo…
mldangelo-oai Aug 4, 2026
c68a301
Merge branch 'mdangelo/codex/repair-workbench-migration-collisions' i…
mldangelo-oai Aug 4, 2026
bb4ed32
test: avoid live-progress token-test import conflict
mldangelo-oai Aug 4, 2026
ae0e89b
Merge branch 'mdangelo/codex/sync-cross-worker-token-usage' into mdan…
mldangelo-oai Aug 4, 2026
8dd7495
Merge branch 'mdangelo/codex/repair-deep-scan-schema' into mdangelo/c…
mldangelo-oai Aug 4, 2026
0a7f67c
test: support CI runners without ripgrep
mldangelo-oai Aug 4, 2026
4b74a5f
Merge branch 'mdangelo/codex/unify-deep-scan-phases' into mdangelo/co…
mldangelo-oai Aug 4, 2026
5965936
Merge branch 'mdangelo/codex/sync-live-scan-context' into mdangelo/co…
mldangelo-oai Aug 4, 2026
542a5a2
Merge branch 'mdangelo/codex/preserve-url-scan-context' into mdangelo…
mldangelo-oai Aug 4, 2026
73f5c5c
Merge branch 'mdangelo/codex/model-native-deep-workers' into mdangelo…
mldangelo-oai Aug 4, 2026
d24c063
Merge branch 'mdangelo/codex/repair-workbench-migration-collisions' i…
mldangelo-oai Aug 4, 2026
e65018c
chore: merge main into optional diff-scan artifacts
mldangelo-oai Aug 4, 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
Binary file modified sdk/typescript/_bundled_plugin/mcp/mcp-app.html.br
Binary file not shown.
Binary file modified sdk/typescript/_bundled_plugin/mcp/server.mjs.br.part-000
Binary file not shown.
Binary file modified sdk/typescript/_bundled_plugin/mcp/server.mjs.br.part-001
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -114,5 +114,5 @@ Compact Standard and Deep scans use the nested `attack_path` record above. Other

- Put scan phase outputs and supporting evidence under the numbered artifact subdirectories above.
- Keep fix-finding outputs outside the numbered scan phases because fix-finding can run standalone or against an existing scan.
- Do not author the final `report.md` directly. Put complete scan-level report semantics in the canonical JSON files. Detailed per-finding prose in `findings/<slug>/<slug>.md` and derived design guidance under `hardening/` are optional for Standard and Deep scans. Finalization deterministically writes the unsealed `report.md` projection and links any recorded write-ups and hardening portfolio. Do not add these derived documents to the sealed artifact list.
- Do not author the final `report.md` directly. Put complete scan-level report semantics in the canonical JSON files. Detailed per-finding prose in `findings/<slug>/<slug>.md` and derived design guidance under `hardening/` are optional for every scan mode. Finalization deterministically writes the unsealed `report.md` projection and links any recorded write-ups and hardening portfolio. Do not add these derived documents to the sealed artifact list.
- Keep the full scan bundle together under `scan_dir`.
Original file line number Diff line number Diff line change
Expand Up @@ -104,10 +104,10 @@ Follow this plan in order. Do not skip ahead to a later phase until the current
- Each candidate finding's `findings/<candidate_id>/candidate_ledger.jsonl` is part of the attack-path input. Every candidate finding that reaches attack-path analysis must have an attack-path receipt before final reporting, even when the final decision is `ignore`, suppressed, or deferred.
8. Assemble the complete canonical JSON contract last using `../../references/final-report.md`; do not author `report.md`.
- Populate the optional structured details in `../../references/finding-detail-fields.md` from the same validated evidence used in the generated report.
- For every reportable finding, run `$vulnerability-writeup` with exactly one dedicated write-up sub-agent. Give it only that finding, its validation and attack-path evidence, relevant source paths and revision, PoC inputs, and the target output directory.
- Write the derived report to `findings/<slug>/<slug>.md` with supporting PoC files under `findings/<slug>/poc/`. Verify the report is a regular file, then set that finding's `writeup.reportPath` to the matching safe relative path. Do not add the derived report to the sealed artifact list.
- After every write-up is ready, run `$propose-security-hardening` once over the complete finding collection, detailed write-ups, threat model, coverage, and relevant source. Write its portfolio to `hardening/hardening.md`, its structured analysis to `hardening/hardening.json`, and any proposals and diagrams below `hardening/`. Verify `hardening/hardening.md` is a regular file, then set `scan.hardening.portfolioPath` to the fixed relative path `hardening/hardening.md`. Do not add these derived files to the sealed artifact list. Skip this step and omit `scan.hardening` when there are no reportable findings.
- Complete the scan once, after all write-ups, hardening guidance, and canonical JSON are ready, so finalization projects the validated JSON and derived-document links into `report.md`. In the terminal/chat workflow without `complete_codex_security_scan`, run `python <plugin_dir>/scripts/finalize_scan_contract.py --scan-dir <scan_dir> --source-root <repo_root>` directly.
- Detailed vulnerability write-ups and structural hardening are optional. Run each only when the corresponding additional output is requested.
- When detailed write-ups are requested, run `$vulnerability-writeup` for every reportable finding with exactly one dedicated write-up sub-agent. Give it only that finding, its validation and attack-path evidence, relevant source paths and revision, PoC inputs, and the target output directory. Write the derived report to `findings/<slug>/<slug>.md` with supporting PoC files under `findings/<slug>/poc/`. Verify the report is a regular file, then set that finding's `writeup.reportPath` to the matching safe relative path. Do not add the derived report to the sealed artifact list.
- When structural hardening is requested and there are reportable findings, run `$propose-security-hardening` once over the complete finding collection, any requested detailed write-ups, threat model, coverage, and relevant source. Write its portfolio to `hardening/hardening.md`, its structured analysis to `hardening/hardening.json`, and any proposals and diagrams below `hardening/`. Verify `hardening/hardening.md` is a regular file, then set `scan.hardening.portfolioPath` to the fixed relative path `hardening/hardening.md`. Do not add these derived files to the sealed artifact list. Otherwise, omit `scan.hardening`.
- Complete the scan once, after the canonical JSON and any requested write-ups or hardening guidance are ready, so finalization projects the validated JSON and derived-document links into `report.md`. In the terminal/chat workflow without `complete_codex_security_scan`, run `python <plugin_dir>/scripts/finalize_scan_contract.py --scan-dir <scan_dir> --source-root <repo_root>` directly.
- After `complete_codex_security_scan` succeeds, include its returned measured total, input, and cached input token counts in the final response. Label partial coverage explicitly; if measurement is unavailable, say so instead of reporting zero or estimating.

## Phase Scope
Expand Down Expand Up @@ -160,7 +160,7 @@ This keeps diff scans precise while avoiding the common failure mode where one r

## Final Output

Populate all final report semantics in the canonical manifest, findings, and coverage JSON using `../../references/final-report.md`. Generate one detailed `vulnerability-writeup` for every reportable finding, then run `propose-security-hardening` once over the complete collection and record the safe derived-document paths. Complete the scan once after both stages; finalization owns `report.md` generation. After successful MCP completion, retrieve measured token usage once and include it with the completed report. Emit Codex app review directives from the completed canonical findings. Commit scans use this same final-output contract because they are a diff-scan target type.
Populate all final report semantics in the canonical manifest, findings, and coverage JSON using `../../references/final-report.md`. Detailed vulnerability write-ups and structural hardening are optional; invoke the corresponding skill only when that additional output is requested and record any resulting safe derived-document paths. Complete the scan once after the canonical JSON and any requested optional outputs are ready; finalization owns `report.md` generation. After successful MCP completion, retrieve measured token usage once and include it with the completed report. Emit Codex app review directives from the completed canonical findings. Commit scans use this same final-output contract because they are a diff-scan target type.

## Hard Rules

Expand Down
Loading