Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
41 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
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
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
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
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
e6c22e1
chore: merge main into model-native deep workers
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.
57 changes: 0 additions & 57 deletions sdk/typescript/_bundled_plugin/preflight/capability-profiles.toml
Original file line number Diff line number Diff line change
@@ -1,16 +1,5 @@
version = 1

[capabilities.deep_scan_phase_skills]
kind = "plugin_skills"
plugin = "codex-security"
required = [
"attack-path-analysis",
"finding-discovery",
"security-scan",
"threat-model",
"validation",
]

[capabilities.delegated_workers]
kind = "runtime"
check = "delegation_available"
Expand Down Expand Up @@ -45,15 +34,6 @@ op = "=="
value = true
default = true

[capabilities.native_multi_agent_v2]
kind = "multi_agent_mode"
owner = "native"
version = "v2"

[capabilities.sdk_v2_child_config_compatible]
kind = "config_absent"
path = "agents.max_threads"

[profiles.security_diff_scan]
description = "Capabilities for Git-backed Codex Security diff scans."

Expand Down Expand Up @@ -98,21 +78,6 @@ reason = "Enabling goals makes long scans easier to resume and audit."
[profiles.deep_security_scan]
description = "Capabilities for deep repository-wide Codex Security scans."

[[profiles.deep_security_scan.requirements]]
capability = "deep_scan_phase_skills"
severity = "block"
reason = "Deep scan depends on Codex Security phase skills loaded in the current runtime."

[[profiles.deep_security_scan.requirements]]
capability = "native_multi_agent_v2"
severity = "block"
reason = "Deep scan launches SDK discovery workers with native Subagents v2; legacy V1 and bridge-owned parent configurations are incompatible with that worker runtime."

[[profiles.deep_security_scan.requirements]]
capability = "sdk_v2_child_config_compatible"
severity = "block"
reason = "Deep scan child sessions inherit Codex configuration while enabling Subagents v2, so the legacy agents.max_threads setting must be removed before those sessions can start."

[[profiles.deep_security_scan.requirements]]
capability = "goal_tools"
severity = "suggest"
Expand Down Expand Up @@ -144,28 +109,6 @@ summary = "Recommended Codex setup for deep repository-wide scans."
path = "features.goals"
value = true

[[profiles.deep_security_scan.remediation.variants]]
mode = "v1"

[[profiles.deep_security_scan.remediation.variants.patches]]
kind = "remove"
path = "agents.max_threads"

[[profiles.deep_security_scan.remediation.variants.patches]]
path = "features.multi_agent_v2.enabled"
value = true

[[profiles.deep_security_scan.remediation.variants.patches]]
path = "features.multi_agent_v2.max_concurrent_threads_per_session"
value = 4

[[profiles.deep_security_scan.remediation.variants]]
mode = "v2"

[[profiles.deep_security_scan.remediation.variants.patches]]
kind = "remove"
path = "agents.max_threads"

[[routes]]
skill = "security-diff-scan"
profile = "security_diff_scan"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ When the profile includes remediation patches, present the concrete config delta

Some remediation patches have `kind = "host_setting"`. Present those as host-level setup guidance, not as edits to persistent Codex config.

Deep Security Scan uses MCP-owned SDK sessions rather than the parent thread's worker pool. Its preflight requires native V2 but does not derive outer worker concurrency from the parent session cap or require parent delegation depth. When migrating a legacy V1 configuration for Deep Security Scan, remediation removes `agents.max_threads`, sets `features.multi_agent_v2.enabled = true`, and sets `features.multi_agent_v2.max_concurrent_threads_per_session = 4`. The coordinator overrides each child session's cap from the per-user deep-scan configuration. Codex rejects the legacy V1 thread setting and explicit V2 mode together.
Deep Security Scan uses MCP-owned SDK sessions rather than the parent thread's worker pool. Its preflight does not require a particular parent delegation runtime, ownership, capacity, or depth. Discovery workers inherit the scan's model and run under the verified read-only worker sandbox.
Comment thread
mldangelo-oai marked this conversation as resolved.

Do not warn merely because a user's value differs from the profile's suggested patch. Warn or block only when the evaluated capability requirement is unmet.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ Confirm these plugin skills are available in the active runtime:
- `$codex-security:validation`
- `$codex-security:attack-path-analysis`

The discovery tool launches Codex workers that may use Subagents v2. The active configuration must satisfy the deep profile's native-v2 requirement. The worker count is configured separately from this thread's subagent allowance.
The discovery tool manages its own workers independently of this thread's delegation runtime and subagent allowance.
Comment thread
mldangelo-oai marked this conversation as resolved.

Continue after a `ready` result, explaining material warn or suggest limitations. For `blocked` or `incomplete` results with actionable remediation, first classify the session using `../../references/config-preflight.md`. In an interactive session, present the exact reasons, helper-reported config file path, and config changes, then use that reference's native `request_user_input` → `request_codex_security_user_input` → plain-chat fallback sequence before editing persistent configuration. Stop for the answer without creating a goal or starting discovery. In `codex exec`, headless, automation, or another non-interactive session, do not ask or wait; apply only helper-provided ordinary config patches to the helper's `user_config_path`, rerun preflight once, and continue only if it becomes `ready`. Never guess which Codex home is active or hide a higher-precedence conflict with a lower-precedence edit. If an interactive user declines required remediation, ask whether to cancel the durable desktop scan with `cancel_codex_security_scan` or leave it running for a later retry.

Expand Down
Loading