[P1] Carry trusted skill and role provenance through rlm_subagent #203
Labels
No labels
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
nsaspy/prolog-rlm#203
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Parent: #172
Related: #183, #200/#201
Starting main:
a79e9c862b74449d73bcadc729d2a38b5163e10dGoal
Implement the smallest first #172 runtime slice: make the existing canonical
rlm_subagentcarry host-selected skill identity and generic role metadata as explicit delegation provenance, while preserving the existing child completion/capability/authority path.This slice does not add a second selector or automatically decide when to delegate. Current
rlm_subagentalready forwards trusted completion options into the child, so existingexplicit_skills(...)can drive the childrlm_prompt_compiler. The missing behavior is typed observability and role provenance.Design
Use trusted registration/completion options as the only source of delegation metadata:
explicit_skills([...])remains the canonical selected-skill input already understood byrlm_completion;subagent_role(Role)option for generic role metadata;subagent_role/1before callingrlm_completion, so the generic completion runtime does not gain a product-specific role option;delegation{role:Role, skills:Skills, source:trusted_host}to the spawned child metadata and returnedsubagent_resultenvelope;rlm_subagentarguments remain exactly{query: string}for this slice, so model output cannot choose role, skills, model, capabilities, or authority.No skill or role value grants capabilities or authority. Child capability/authority replacement remains canonical and narrowing-only.
TDD / adversarial contract
role,skills, or arbitrary extra fields because schema remains closed with onlyquery;subagent_role/1option leaks into genericrlm_completionexecution;Non-goals
Decision
GO as the next user-requested #172 implementation slice. It stays within #172's existing architecture: trusted host/compiler policy owns role/skill selection, canonical
rlm_subagentowns bounded execution, and capability/authority ceilings do not widen.