Problem
SubcallClient exposes flat llm_query and llm_batch operations. A depth bound limits subcall-chain authorization, but a subcall is still a plain model response rather than a nested Droste loop with its own REPL state.
Proposal
Add an optional rlm_query(prompt, context) capability that runs a child loop using a strict allocation from the parent budget and returns the child's structured result. The child must preserve parent/child identity, typed failures, usage, and evidence without creating a second dispatch or accounting path.
Current flat subcalls remain valid. Any quality benefit from deeper recursion requires version-matched artifacts under #81; it must not be inferred from an external result or an average score.
Problem
SubcallClientexposes flatllm_queryandllm_batchoperations. A depth bound limits subcall-chain authorization, but a subcall is still a plain model response rather than a nested Droste loop with its own REPL state.Proposal
Add an optional
rlm_query(prompt, context)capability that runs a child loop using a strict allocation from the parent budget and returns the child's structured result. The child must preserve parent/child identity, typed failures, usage, and evidence without creating a second dispatch or accounting path.Current flat subcalls remain valid. Any quality benefit from deeper recursion requires version-matched artifacts under #81; it must not be inferred from an external result or an average score.