Skip to content

feat: add bounded analysis subagents - #5

Merged
linjiaye929 merged 8 commits into
mainfrom
codex/m6a-bounded-subagents
Jul 1, 2026
Merged

linjiaye929 merged 8 commits into
mainfrom
codex/m6a-bounded-subagents

Conversation

@linjiaye929

Copy link
Copy Markdown
Owner

Summary

  • add immutable host-profiled read-only analysis Subagents with exact governed Tool capabilities
  • coordinate fresh child Agent sessions through TaskGroup, bounded concurrency, two-level timeout, ordered aggregation, and cancellation propagation
  • expose one governed parent Tool per profile with bounded canonical results, evidence hashes, and metadata-only events
  • add real parent/child Agent integration, security hardening, architecture/ADR/threat model, learning material, and resume evidence
  • prepare package version 0.15.0a0

Why

Independent code-reading tasks should be delegable without copying the parent transcript or granting children the parent's complete Tool authority. The boundary must also prevent recursive delegation, nested approvals, orphan tasks, raw Tool-result leakage, and ambiguous timeout or cancellation behavior.

Security Boundary

  • the host fixes child prompts, exact ordered read-only Tools, limits, Provider/Tool factories, and TrustSource.SUBAGENT
  • all child IDs and capabilities are validated before Provider I/O
  • children use fresh one-message contexts and NON_INTERACTIVE Policy
  • every Task belongs to one TaskGroup; external cancellation is re-raised after child cleanup
  • parent results retain bounded untrusted summaries and ToolResult metadata/SHA-256, not raw transcripts
  • M6a is in-process and read-only; it does not claim OS sandboxing, Worktree isolation, rollback, or token savings

Validation

  • Python 3.12.13: 1062 passed, 10 skipped, branch coverage 91.09%
  • Python 3.13.14: 1062 passed, 10 skipped, branch coverage 91.09%
  • Ruff format/check and strict Pyright: passed
  • Bandit: no findings
  • locked runtime pip-audit: no known vulnerabilities
  • repeated fixed-epoch builds: byte-identical wheel and sdist
  • artifact member contract: passed
  • wheel/sdist on Python 3.12/3.13: stable API/CLI smoke plus successful delegation and parent-cancellation integration passed

The 10 local skips require Windows symlink privilege and are unchanged platform-conditional tests.

@linjiaye929
linjiaye929 merged commit bba51dd into main Jul 1, 2026
5 checks passed
@linjiaye929
linjiaye929 deleted the codex/m6a-bounded-subagents branch July 1, 2026 18:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant