Define when unattended AI execution is allowed, what still requires approval, and what audit evidence must be recorded. Use when the repository or project wants to move from interactive work toward sandboxed autonomous execution.
Define when unattended AI execution is allowed, what still requires approval, and what audit evidence must be recorded.
interactive approval mode and has no plans for unattended execution; no policy definition is needed.Follow docs/guidelines/shared-operating-policy.md#extension-pack-activation-rule — this skill belongs to the extension pack. Activate only when the project explicitly wants unattended execution, sandboxed autonomy, or a change in approval boundaries.
security-assuranceAll of the following must be true before enabling any autonomous approval mode:
execution_mode must be one of: sandboxed-devcontainer, sandboxed-remote-vm, or ci-like-ephemeral-runner. Never enable autonomous modes on interactive-native.current_phase must be implementation (including verification or release-readiness sub-steps). Autonomous modes are not permitted during onboarding, architecture, or planning.execution-plan/runtime/execution-profile.yaml must exist with autonomous_allowed: true, filesystem_scope, and network_policy all explicitly set.execution-plan/runtime/execution-control/.interactive — all sensitive steps require user confirmation; default for all phases.restricted-autonomous — AI executes low-risk, repo-scoped tasks in a sandbox without per-step approval; human review still required for the gated operations below.sandbox-autonomous — fully unattended inside a documented sandbox profile; requires durable audit evidence for every run. Use only when the team has high trust in the task scope and the sandbox is well-constrained.Regardless of approval mode, these operations must never be executed autonomously:
Sandboxed interactive work is fully supported: pair any sandboxed execution mode with approval_mode: interactive. Use this when you want reproducible or isolated execution but still require normal approvals. This is the recommended default for teams transitioning toward sandboxed setups.
Autonomous agents should request only the permissions and filesystem/network scope required for the current task. Prefer narrow repo-only filesystem scope and curated-allowlist network policy over broad access. Stopping conditions (max iterations, scope guards) should be defined before long-running autonomous tasks begin.
Record under execution-plan/runtime/execution-control/ for every autonomous run:
docs/guidelines/autonomous-execution-policy.md for the full precondition list and required evidence fields.docs/guidelines/execution-modes.md for mode descriptions.docs/guidelines/shared-operating-policy.md#guideline-lookup.execution-plan/runtime/execution-profile.yaml: create a HUS-* story in execution-plan/backlog/ titled "Approve autonomous execution profile" that states the requested approval_mode, execution_mode, network_policy, and filesystem_scope. Record the decision using gov-review-gate-management. Only write the execution profile once that story carries status: approved.docs/guidelines/shared-operating-policy.md#story-maintenance for backlog, evidence, and follow-up updates tied to this skill.execution-plan/runtime/execution-profile.yaml is written and consistent with project-state.yaml.HUS-* story in execution-plan/backlog/.execution-plan/runtime/execution-control/.HUS-* story, never self-approved.approval_mode: sandbox-autonomous while execution_mode: interactive-native — there is no actual sandbox; the guardrail is meaningless.docs/guidelines/shared-operating-policy.md#completion-checklist as the default completion gate for this skill.execution-plan/runtime/execution-profile.yaml reflects the approved autonomous boundaries and is backed by an approved HUS-* story.HUS-* story.execution-plan/runtime/execution-control/ path is configured.HUS-* story before any autonomous run begins.Inspect the current execution profile:
cat execution-plan/runtime/execution-profile.yaml
Verify autonomous preconditions (check all five fields are set):
python skills/gov-execution-mode-selection/configure_execution_mode.py \
--mode sandboxed-devcontainer \
--approval-mode restricted-autonomous \
--network-policy curated-allowlist \
--filesystem-scope repo-only
Check the current project phase (must be implementation before enabling autonomous modes):
python -c "
import yaml, pathlib
state = yaml.safe_load(pathlib.Path('execution-plan/project-state.yaml').read_text())
print('Phase:', state['project']['current_phase'])
print('Approval mode:', state['repository_preferences']['approval_mode'])
"
Scenario: The team wants to enable restricted-autonomous mode for implementation sprints.
project-state.yaml shows current_phase: implementation. Precondition 2 met.detect_environment.py confirms Docker is present and devcontainer assets exist. Choose sandboxed-devcontainer.configure_execution_mode.py --mode sandboxed-devcontainer --approval-mode restricted-autonomous --network-policy curated-allowlist --filesystem-scope repo-only. Profile written.execution-plan/runtime/execution-control/run-001.md.