User Story
As a developer running an agent in an OpenShell sandbox with the policy advisor enabled, I want the policy advisor guide to be available inside the sandbox, so that when OpenShell blocks a request, my agent can follow the denial response's instructions and submit a policy proposal.
Problem Statement
When agent_policy_proposals_enabled is true, OpenShell is designed to place the policy advisor guide in the sandbox (#1095): /etc/openshell/skills/policy_advisor.md, a pointer skill at /etc/openshell/skills/policy-advisor/SKILL.md, and /AGENTS.md when the image does not already have one.
Since the RFC 0012 sandbox architecture landed in #2942, these files do not reach the workload's filesystem:
- For a sandbox created while the setting is already
true, OpenShell installs nothing.
- When the setting changes from
false to true on a running sandbox, OpenShell writes the files into the filesystem of the supervisor, which now runs outside the workload.
Every denied request on an inspected endpoint still tells the agent to read /etc/openshell/skills/policy_advisor.md.
Impact / Why This Matters
An agent that follows the denial response's instructions looks for a file that does not exist, so it cannot learn the proposal format and the policy.local workflow from OpenShell. Unless the agent already knows the API, it stops at the blocked request, and the policy advisor does not work as documented. The policy.local API itself still works.
The only workaround is to copy the guide into every sandbox image or paste its instructions into every agent's prompt. That is manual work for each image and agent, and the copies drift from the guide that ships with each OpenShell version.
Acceptance Criteria
Reproduction Steps
- Enable the policy advisor for the gateway:
openshell settings set --global --key agent_policy_proposals_enabled --value true --yes
- Create a sandbox:
openshell sandbox create --name advisor-check
- List the guide files from inside the workload:
openshell sandbox exec -n advisor-check --no-login-shell -- ls -l /etc/openshell/skills /AGENTS.md
Expected: the guide files exist. Based on the code, they are missing. This result comes from code inspection and has not yet been confirmed against a running gateway.
Environment
Investigation Notes
User Story
As a developer running an agent in an OpenShell sandbox with the policy advisor enabled, I want the policy advisor guide to be available inside the sandbox, so that when OpenShell blocks a request, my agent can follow the denial response's instructions and submit a policy proposal.
Problem Statement
When
agent_policy_proposals_enabledistrue, OpenShell is designed to place the policy advisor guide in the sandbox (#1095):/etc/openshell/skills/policy_advisor.md, a pointer skill at/etc/openshell/skills/policy-advisor/SKILL.md, and/AGENTS.mdwhen the image does not already have one.Since the RFC 0012 sandbox architecture landed in #2942, these files do not reach the workload's filesystem:
true, OpenShell installs nothing.falsetotrueon a running sandbox, OpenShell writes the files into the filesystem of the supervisor, which now runs outside the workload.Every denied request on an inspected endpoint still tells the agent to read
/etc/openshell/skills/policy_advisor.md.Impact / Why This Matters
An agent that follows the denial response's instructions looks for a file that does not exist, so it cannot learn the proposal format and the
policy.localworkflow from OpenShell. Unless the agent already knows the API, it stops at the blocked request, and the policy advisor does not work as documented. Thepolicy.localAPI itself still works.The only workaround is to copy the guide into every sandbox image or paste its instructions into every agent's prompt. That is manual work for each image and agent, and the copies drift from the guide that ships with each OpenShell version.
Acceptance Criteria
agent_policy_proposals_enabledistrue, the workload can read/etc/openshell/skills/policy_advisor.mdand/etc/openshell/skills/policy-advisor/SKILL.md, and/AGENTS.mdexists when the image does not provide one.agent_policy_proposals_enabledon a running sandbox makes the same files readable in the workload.Reproduction Steps
openshell settings set --global --key agent_policy_proposals_enabled --value true --yesopenshell sandbox create --name advisor-checkopenshell sandbox exec -n advisor-check --no-login-shell -- ls -l /etc/openshell/skills /AGENTS.mdExpected: the guide files exist. Based on the code, they are missing. This result comes from code inspection and has not yet been confirmed against a running gateway.
Environment
mainat 0854871. The regression was introduced by feat(isolation): implement the RFC 0012 sandbox architecture #2942, merged 2026-09-16.Investigation Notes
install_initial_agent_skillfromcrates/openshell-supervisor-process/src/run.rs. That function installed the files at startup when the supervisor ran inside the workload.apply_agent_proposals_enabled, returns early unless the setting changes fromfalsetotrue. The supervisor starts withAgentProposals::new(initial_agent_proposals_enabled), so a sandbox created with the setting on never installs the files.install_static_skillswrites under/of the calling process, which is now the external supervisor.AGENT_GUIDANCEstill directs agents to/etc/openshell/skills/policy_advisor.md.