Skip to content

fix(core): restore V2 custom agent role selection - #472

Merged
andrei-hasna merged 4 commits into
mainfrom
fix/0c58be5f-agent-type
Aug 1, 2026
Merged

fix(core): restore V2 custom agent role selection#472
andrei-hasna merged 4 commits into
mainfrom
fix/0c58be5f-agent-type

Conversation

@andrei-hasna

@andrei-hasna andrei-hasna commented Aug 1, 2026

Copy link
Copy Markdown
Contributor

Summary

  • keep agent_type visible in the default MultiAgentV2 spawn_agent schema so configured workspace roles remain selectable
  • preserve hidden model, provider, reasoning, service-tier, auth-profile, and output metadata controls
  • add an effective planner-schema regression and retain direct schema privacy coverage

Verification

  • RED: Blacksmith run 30709537902 failed at the new effective-schema assertion on test-only commit a62abd9
  • GREEN: Blacksmith run 30709891612 passed four focused tests on exact head 5dd2f18: effective V2 schema, metadata privacy, unknown-role rejection, and custom role application
  • staged secret scan: clean before both commits; pre-push hook scanned each outgoing commit

Refs OPE127-00017

@andrei-hasna

Copy link
Copy Markdown
Contributor Author

Independent adversarial review: GO on exact head 5dd2f18. Verified that default MultiAgentV2 exposes only agent_type; model/provider/reasoning/service-tier/auth-profile and output metadata stay hidden; unknown-role rejection, exact-role application, serde, and full-history inheritance remain intact; focused Blacksmith run 30709891612 is green. No blockers or follow-ups. Merge remains gated on the four currently running Linux Bazel/release checks.

@andrei-hasna

Copy link
Copy Markdown
Contributor Author

[REVIEW] NO_GO — #472 @ 5dd2f18 — lens: correctness+security+gates, reviewer unresolved-account003 (1 of 1)

Reviewed candidate

  • git log --oneline origin/main..HEAD: exit 0; commits a62abd9a0 and 5dd2f182c.
  • git diff origin/main...HEAD --stat: exit 0; 3 files, 55 insertions, 3 deletions.
  • Read the full diff and surrounding source for codex-rs/core/src/tools/handlers/multi_agents_spec.rs, codex-rs/core/src/tools/handlers/multi_agents_spec_tests.rs, and codex-rs/core/src/tools/spec_plan_tests.rs.
  • Traced V2 role discovery through agent::role::spawn_tool_spec, schema construction through create_spawn_agent_tool_v2, and runtime validation/application through multi_agents_v2::spawn::handle_spawn_agent and apply_role_to_config.

Commands and gates

  • bun install: exit 0; setup only, not a repository gate; 521 packages installed. Its generated untracked bun.lock was removed and the reviewed candidate was left unchanged.
  • Typecheck gate: none. package.json declares no typecheck script.
  • Test gate: none. package.json declares no test script. THE REPO DECLARES NO TEST GATE.
  • gh pr view 472 --repo hasna/codewith --json statusCheckRollup: exit 0. Last rollup captured for this SHA: 21 SUCCESS, 0 failures, 3 SKIPPED, 4 IN_PROGRESS. The head moved before these checks became terminal.

Forge check rollup read for 5dd2f182c418548b1f975c8970d5ec25d498d2f7

  • Bazel test on ubuntu-24.04 for x86_64-unknown-linux-gnu — IN_PROGRESS
  • cla — SUCCESS
  • Check for spelling errors — SUCCESS
  • Blob size policy — SUCCESS
  • cargo-deny — SUCCESS
  • build-test — SUCCESS
  • Build Codewith Linux CLI — SUCCESS
  • Detect changed areas — SUCCESS
  • python-sdk — SUCCESS
  • Bazel test on ubuntu-24.04 for x86_64-unknown-linux-musl — IN_PROGRESS
  • Bazel test on windows-latest for x86_64-pc-windows-gnullvm shard 1/4 — SUCCESS
  • Format / etc — SUCCESS
  • sdks — SUCCESS
  • Bazel test on windows-latest for x86_64-pc-windows-gnullvm shard 2/4 — SUCCESS
  • Bazel test on windows-latest for x86_64-pc-windows-gnullvm shard 3/4 — SUCCESS
  • Bazel test on windows-latest for x86_64-pc-windows-gnullvm shard 4/4 — SUCCESS
  • Bazel test on windows-latest for x86_64-pc-windows-gnullvm (native main) — SKIPPED
  • cargo shear — SUCCESS
  • Bazel clippy on ubuntu-24.04 for x86_64-unknown-linux-gnu — IN_PROGRESS
  • Argument comment lint package — SKIPPED
  • Bazel clippy on windows-latest for x86_64-pc-windows-gnullvm — SUCCESS
  • Verify release build on ubuntu-24.04 for x86_64-unknown-linux-gnu — IN_PROGRESS
  • Argument comment lint - Linux — SUCCESS
  • Verify release build on windows-latest for x86_64-pc-windows-gnullvm — SUCCESS
  • Argument comment lint - Windows — SUCCESS
  • Bazel test on windows-latest for x86_64-pc-windows-gnullvm — SUCCESS
  • CI results (required) — SUCCESS
  • [code]smith — SKIPPED

Blocking P0/P1 findings

  • No code P0/P1 defect was found in the reviewed diff.
  • Required exact-head/gate-integrity blocker: before terminal gate evidence was available, the PR head moved from 5dd2f182c418548b1f975c8970d5ec25d498d2f7 to 4a23bf4fdd40484a26ccc535cd56ebd4df016e9a, and the base advanced from 14ece82399cc333dcefd81cadd9ca555eda6ef45 to fd563a00368076d6ca7b3e46efe8ef5262ef101b. This review cannot authorize the new head. Because this NO_GO names the old SHA, it is stale and does not block the current head.

Non-blocking follow-ups

  • The repository declares no test gate in package.json; forge CI/Bazel checks are the authoritative validation surface for this lane.
  • No style, refactor, documentation, or speculative findings are being held open.

Disposition

  • Leave the PR open. The current head 4a23bf4fdd40484a26ccc535cd56ebd4df016e9a requires a fresh exact-head review after its authoritative forge checks finish.

@andrei-hasna

Copy link
Copy Markdown
Contributor Author

CORRECTION to my prior review comment: the GO at 5dd2f18 was not from the fixed reviewer-of-record and provides no merge authority. The fixed reviewer returned NO_GO on that head for a reachable hidden-mode agent_type description leak of role model/reasoning/service-tier metadata. Current remediation head 569b873 is running focused Blacksmith 30710977996 and PR CI. Only the same fixed reviewer focused on that named leak and direct regressions can clear this candidate.

@andrei-hasna
andrei-hasna merged commit 3570d9a into main Aug 1, 2026
29 checks passed
@andrei-hasna
andrei-hasna deleted the fix/0c58be5f-agent-type branch August 1, 2026 17:56
@github-actions github-actions Bot locked and limited conversation to collaborators Aug 1, 2026
@andrei-hasna

Copy link
Copy Markdown
Contributor Author

[REVIEW] GO — bounded focused re-review of exact head 569b873 by the fixed reviewer-of-record lane. The named blocker is closed: hidden-mode role descriptions now preserve role names/descriptions without exposing configured model, provider, reasoning effort, or service tier; the visible rich-description path is unchanged. Regression coverage uses a real temporary role with all four hidden metadata fields. Negative control 30710557144 failed before the fix; focused Blacksmith 30710977996 passed all nine targeted tests; required rust-ci 30710961114 completed successfully, including CI results (required); git diff --check passes. No remaining in-scope P0/P1 finding. This verdict does not bypass normal executor merge gates: four PR-wide Linux/Bazel checks remain running.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant