Document subagent approval invariant#77
Merged
Merged
Conversation
Children have no interactive approval channel back to the parent or
user; the child's approval_cb denies by default and tool permissions
are fixed at spawn time via preset/tools. Document this in:
* subagent_spawn() roxygen: new "Permissions" section + param notes
that preset/tools are fixed for the lifetime of the child.
* subagent_turn_init() roxygen: replace misleading "without the
parent opting in" wording (there is no opt-in path) with an
explicit no-mid-run-escalation statement.
* vignettes/configuration.Rmd: Permission model paragraph under the
Subagents section.
* vignettes/retroactive-extraction.Rmd: new Permission model
subsection distinguishing holder subagents (tools = character(0))
from worker subagents (inherit only spawn-time permissions).
Regenerated man/subagent_spawn.Rd and man/subagent_turn_init.Rd via
tinyrox::document(). Docs-only; tinytest::test_package("corteza")
green (1456/1456).
* subagent_spawn() roxygen: tinyrox silently drops @section blocks, so the Permissions paragraph never rendered in the installed help. Inline it into the main description so ?subagent_spawn shows the no-mid-run-escalation invariant. * subagent_spawn() preset arg: replace the loose "investigate + bash + write/edit" shorthand with the actual tool lists for each preset (investigate/work/minimal). * vignettes/configuration.Rmd: fix stale subagents.default_tools doc (was base::readLines / base::writeLines / bash / grep_files; the real default is read_file, grep_files, r_help, web_search, fetch_url). Add a Presets subsection enumerating investigate / minimal / work so /spawn --preset users see the shape without digging through R/subagent.R. Docs-only. tinytest::test_package("corteza") still 1456/1456.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
approval_cbdenies by default and tool permissions are fixed at spawn time viapreset/tools.subagent_spawn()roxygen: add a Permissions paragraph to the main description (covers the no-interactive-approval / no-mid-run-escalation invariant) and rewrite thepresetarg with the actual tool lists forinvestigate/work/minimal. Param notes clarify thatpresetandtoolsare fixed for the lifetime of the child.subagent_turn_init()roxygen: replace misleading "without the parent opting in" wording (there is no opt-in path) with an explicit no-mid-run-escalation statement.vignettes/configuration.Rmd: fix stalesubagents.default_toolsrow (wasbase::readLines, base::writeLines, bash, grep_files; real default isread_file, grep_files, r_help, web_search, fetch_url). Add a Presets subsection enumeratinginvestigate/minimal/work, and a Permission model paragraph referencing/spawn --preset/--toolsand the programmaticsubagent_spawn()args.vignettes/retroactive-extraction.Rmd: new Permission model subsection distinguishing holder subagents (tools = character(0)) from worker subagents (inherit only spawn-time permissions).man/subagent_spawn.Rdandman/subagent_turn_init.Rdviatinyrox::document().Follow-up filed: cornball-ai/tinyrox#10 (
@sectionblocks are silently dropped from generated.Rd— the Permissions text had to be inlined into the description as a workaround).Test plan
tinyrox::document()regenerates only the two intended.Rdfilestinypkgr::install()succeedstinytest::test_package("corteza")— 1456/1456 OKgrepconfirms "interactive approval" / "mid-run" / new default-tools list land in bothman/andvignettes/