53 / SANDBOX · CODE EXECUTION / TOOL-ACTION ENGINE
53 / SPECIALIZED / CONTAINMENT · RESOURCE LIMITS · SAFE EXECUTION

SANDBOX
/ CODE EXECUTION.

Sandbox / Code Execution — контролируемая среда для запуска кода, команд, преобразований и потенциально опасных вычислений так, чтобы ошибка или враждебный input не получили прямой доступ к host OS, секретам, пользовательским данным, сети и production-инфраструктуре.

Главный принцип: sandbox — не способ «сделать любой код безопасным». Это способ ограничить blast radius: задать, что процесс видит, что может читать/писать, куда может подключаться, сколько ресурсов потребляет и какие последствия сохраняются после завершения.
00. ARCHITECTURAL STATUS

НЕ КАЖДОЙ AI-СИСТЕМЕ НУЖЕН CODE EXECUTION

Это SPECIALIZED capability. Для SMM-писателя, retrieval-agent или простого workflow sandbox может вообще не понадобиться. Для data analysis, code reasoning, document conversion, browser automation helpers, testing и generated scripts — уже да.
TYPESPECIALIZEDExecution containment capability.
DEFAULTOFFНе включать без реального use case.
ENABLE WHENEXECUTION REQUIREDGenerated/user code, scripts, converters, tests.
SEPARATE COMPONENTYESExecution boundary должна быть изолируема.
LIVES INR07Tool / Action Engine.
COMPLEXITYMEDIUM → HIGHLocal subprocess is not a production sandbox.
IMPLEMENT: ONLY IF NEEDED
Минимум 80% ценности: ephemeral workspace, explicit filesystem mounts, no host secrets, no privileged mode, network deny-by-default или строгий allowlist, CPU/RAM/time/process/file limits, non-root runtime, isolated dependencies, captured stdout/stderr/artifacts и hard kill on timeout. Не нужен отдельный LLM-agent: это runtime infrastructure.
01A. ARCHITECTURE BOUNDARIES & OPERATIONS

EXPLICIT SYSTEM CONTRACT

A. BOUNDARY WITH NEIGHBORS

№29 Code as a Reasoning Tool объясняет, зачем агенту исполнять код как когнитивный инструмент; №53 отвечает, где и с какими ограничениями этот код запускается. №51 Permissions & Secrets управляет credentials/capabilities; sandbox не должен получать их автоматически. №52 Agent Security задаёт threat model; sandbox — один из execution controls. №48 Guardrails решает, можно ли запускать конкретный класс execution. №50 Contracts задаёт structured run request/result. №70 Model Serving запускает ML inference, а не arbitrary user/generated code.

B. PREREQUISITES / CROSS-REFERENCES

Prerequisites: №12 Tools, №29 Code as Reasoning Tool, №46 Observability, №48 Policies, №50 Contracts, №51 Permissions, №52 Security. Forward references: №57 Queues/Workers, №60 Artifact Store, №63 Fallbacks/Retry/Circuit Breakers, №64 Budgets, №69 Distributed Reliability, №74 Computer Use.

C. PLANE PLACEMENT

REQUEST-TIME: CONDITIONAL — только если конкретный task требует execution. CONTROL PLANE: YES — images/profiles/limits/allowlists/runtime versions. DATA PLANE: YES — code, input files, stdout/stderr, produced artifacts. OFFLINE: YES — security tests, image scanning, dependency refresh, stress/failure tests.

D. FAILURE & OPERATIONS CONTRACT

Success: job завершается в рамках policy и возвращает sanitized structured result/artifacts. Retryable: transient worker/runtime startup failure. Permanent: forbidden syscall/resource/network/path, invalid package, policy deny, deterministic code error. Idempotency: repeated job must not duplicate external effects; sandbox ideally has no direct external side effects. Persist: run config/hash, runtime image, limits, code/artifact refs, exit code, logs, policy result. Trace: lifecycle + resources + violations.

E. WHAT THIS TOPIC DOES NOT OWN

№53 не владеет general tool orchestration, prompt-injection detection, permissions store, secret manager, package repository, job queue, artifact store или full container platform. Она владеет CONTAINED EXECUTION ENVIRONMENT AND ITS SECURITY/RESOURCE CONTRACT.

01. WHY SANDBOX

ГЕНЕРАЦИЯ КОДА И ЕГО ИСПОЛНЕНИЕ — ДВА РАЗНЫХ РИСКА

MODEL

Генерирует Python/JS/shell-like instructions или вызывает code tool.

Ошибка здесь — bad proposal.

SANDBOX

Ограничивает filesystem, network, process tree, time, CPU, RAM, credentials, syscalls.

Ошибка здесь должна остаться contained.

HOST

Получает structured result/artifacts. Любые внешние side effects проходят отдельные tools/policy gates.

Код, который «просто считает таблицу», может случайно удалить файлы, зависнуть, съесть RAM, прочитать environment variables или отправить данные наружу. Sandbox нужен даже без attacker — он ограничивает обычные ошибки.
02. THREAT MODEL

ЧТО МОЖЕТ ПОЙТИ НЕ ТАК ПРИ EXECUTION

HOST FILE ACCESS

Read / overwrite

Код пытается читать ~/.ssh, configs, user files или менять host filesystem.

SECRET ACCESS

Environment leakage

Process видит API keys, cloud creds, tokens или metadata endpoints.

NETWORK EGRESS

Exfiltration / download

Код отправляет данные наружу или загружает произвольный payload.

RESOURCE EXHAUSTION

CPU / RAM / disk

Infinite loop, fork bomb, giant files, huge allocations.

PROCESS ESCAPE

Privilege / namespace break

Попытка выйти из containment или использовать dangerous host interfaces.

PACKAGE SUPPLY CHAIN

Dependencies

Динамическая установка пакетов расширяет attack surface и reproducibility risk.

PERSISTENCE

Leftover state

Один job оставляет файлы/процессы, которые влияют на следующий task.

SIDE EFFECT

External actions

Код напрямую вызывает production API, обходя Tool/Policy layer.

OUTPUT ABUSE

Huge / hostile artifacts

Gigantic stdout, malformed files, path traversal, unexpected binaries.

03. EXECUTION PROFILES

НЕ ДОЛЖЕН СУЩЕСТВОВАТЬ ОДИН «RUN ANYTHING» MODE

PROFILE
NETWORK
FILESYSTEM
PACKAGES
MAX TIME
USE CASE
CALCULATE
DENY
temp only
preinstalled only
seconds
Math/data transformations.
DOCUMENT
DENY
mounted inputs + output
fixed image
short
Convert/inspect files.
TEST_CODE
DENY by default
repo snapshot
locked deps
bounded
Unit tests/lint/build.
NETWORKED
allowlist
temp + inputs
controlled
bounded
Only when network truly required.
PRIVILEGED
NO DEFAULT
NO DEFAULT
NO DEFAULT
NO DEFAULT
Avoid; use narrow host tool instead.
Чем сильнее profile, тем меньше задач должны иметь к нему доступ. В production предпочтительнее создавать несколько узких profiles, чем один универсальный sandbox с широкими permissions.
04. RUN CONTRACT

EXECUTION REQUEST ДОЛЖЕН БЫТЬ STRUCTURED

{
  "contract": "sandbox.run.v1",
  "run_id": "RUN-...",
  "profile": "CALCULATE",
  "runtime": "python-3.x-fixed",
  "code_ref": "artifact://code/...",
  "input_refs": [
    "artifact://input/table.csv"
  ],
  "limits": {
    "wall_time_ms": 15000,
    "cpu_ms": 10000,
    "memory_mb": 512,
    "disk_mb": 256,
    "max_processes": 16,
    "max_output_mb": 10
  },
  "network": {
    "mode": "DENY"
  },
  "outputs": {
    "allowed_globs": ["out/*"]
  }
}
HOST-OWNED FIELDS

Model must not freely choose everything

Модель может предложить code и нужный profile, но host/policy определяет:

  • maximum limits;
  • runtime image;
  • network policy;
  • mounted paths;
  • secrets = none by default;
  • allowed outputs;
  • whether execution is allowed at all.
05. MASTER EXECUTION PIPELINE

PROPOSE → AUTHORIZE → ISOLATE → RUN → COLLECT → DESTROY

CODE / JOBGenerated or user-provided execution intent.
POLICYIs execution/profile allowed?
PREPAREEphemeral workspace + read-only inputs.
ISOLATEUID, namespaces/container/VM, limits, network.
EXECUTECapture process tree + stdout/stderr.
COLLECTAllowed artifacts only, size/type checks.
VERIFYExit/status/tests/result semantics.
DESTROYKill processes, remove workspace, release resources.
Ephemeral lifecycle важен: каждый run должен начинаться из известного состояния и заканчиваться уничтожением локальной среды, если persistence явно не требуется.
06. FILESYSTEM

ДАТЬ РОВНО ТЕ ФАЙЛЫ, КОТОРЫЕ НУЖНЫ JOB

ROOT FS

Read-only base

Runtime image ideally immutable/read-only where practical.

INPUTS

Explicit mounts

Только listed artifacts; read-only unless transformation requires copy.

WORKDIR

Ephemeral writable

Ограниченный tmp/work directory с quota.

HOST PATHS

Deny

Не монтировать home, Docker socket, host root, SSH, cloud configs.

OUTPUTS

Allowlist

Collect только конкретную output directory/pattern.

PATHS

Normalize

Reject traversal, symlink escape, unexpected device paths.

SIZE

Quota

Maximum total/file size, file count, archive expansion limits.

CLEANUP

Destroy

Удалить workspace после artifact collection.

DANGEROUS MOUNT
Монтирование Docker socket, host filesystem или directories с production credentials фактически уничтожает смысл sandbox. Изолированный process с доступом к host control socket может стать privileged host actor.
07. NETWORK

DENY BY DEFAULT — САМЫЙ ПРОСТОЙ СИЛЬНЫЙ CONTROL

ModeКогдаКонтроль
DENYCalculations, local transforms, most tests.No outbound/inbound network.
ALLOWLISTНужен конкретный package/data/API endpoint.Exact domains/IP/service proxies + method restrictions where possible.
PROXYНужно контролировать/логировать egress.All traffic via policy-aware proxy.
OPENРедкий доверенный internal profile.Не использовать для arbitrary generated code без отдельной threat justification.
Network egress — главный путь exfiltration и динамической загрузки новых возможностей. Если задача не требует сети, network should not exist.
08. SECRETS & METADATA

SANDBOX НЕ ДОЛЖЕН НАСЛЕДОВАТЬ ENV HOST ПРОЦЕССА

NO INHERIT

Environment

Не передавать все env vars parent process. Собрать минимальный clean env.

NO CLOUD META

Metadata endpoints

Sandbox не должен автоматически получать host/cloud workload credentials.

CAPABILITY TOOL

Use host proxy

Если code нужен ограниченный доступ к данным, лучше дать narrow broker/tool, чем raw credential.

Если выполнение действительно требует credential, это отдельный high-risk profile: short-lived credential, exact audience/scope/TTL, policy gate и egress restriction. Default = no secrets.
09. RESOURCE LIMITS

TIMEOUT — ТОЛЬКО ОДИН ИЗ ЛИМИТОВ

WALL TIME

Clock

Maximum elapsed time; hard kill after deadline.

CPU

Compute

CPU quota/time protects shared host.

MEMORY

RAM

OOM limit; prevent host swap/degradation.

DISK

Storage

Workspace quota + max individual artifact.

PIDS

Processes

Limit process/thread count; mitigate fork storms.

OUTPUT

Logs

Bound stdout/stderr bytes and line rate.

FILES

Count

Prevent millions of tiny files / archive explosion.

CONCURRENCY

System

Per-user/tenant/global active sandbox limits.

Limits должны быть enforced runtime, а не просьбой в prompt «не используй слишком много памяти».
10. RUNTIME ISOLATION

CONTAINER ≠ AUTOMATICALLY SECURE SANDBOX

PROCESS

Weak isolation

Обычный subprocess с отдельным working dir подходит для trusted local scripts, но не считается strong hostile-code sandbox.

CONTAINER

Practical baseline

Namespaces/cgroups/rootless/non-root/seccomp/capability drop/read-only FS. Требует правильной конфигурации.

MICROVM / STRONG

Higher isolation

Более сильная boundary для truly untrusted multi-tenant code, ценой startup/ops complexity.

CHOICE
Isolation technology выбирается по threat model. Для single-user local agent можно начать проще. Для multi-tenant arbitrary code на сервере нужен существенно более сильный containment. Не объявлять обычный Docker container «абсолютной безопасностью».
11. DEPENDENCIES & PACKAGES

ДИНАМИЧЕСКИЙ PIP INSTALL — ЭТО НОВЫЙ TRUST BOUNDARY

PatternРискЛучше
pip/npm install anythingSupply chain, network, nondeterminism, arbitrary install scripts.Prebuilt images / curated packages / lockfiles.
Latest versionsRun today != run tomorrow.Pinned/locked versions + image digest.
Unknown binary downloadExecutes uncontrolled code.Artifact allowlist + verified source/hash.
Model chooses repositoryCan be steered to malicious source.Host-controlled package sources.
Для 80% задач лучше иметь несколько заранее собранных execution images, чем разрешать агенту каждый раз строить окружение из интернета.
12. OUTPUT & ARTIFACT SAFETY

РЕЗУЛЬТАТ SANDBOX ТОЖЕ UNTRUSTED

EXIT

Status

Exit code / timeout / killed / policy_violation.

STDOUT

Bounded logs

Capture truncated/sanitized logs, not unlimited streams.

FILES

Artifact scan

Allowed path/type/size/hash before promotion to Artifact Store.

EXECUTABLES

Do not auto-run

Produced binary/script does not gain automatic execution authority.

Sandbox output может содержать prompt injection, malformed files или executable content. После sandbox boundary начинается следующая trust boundary, а не «теперь результат безопасен».
13. RESULT CONTRACT

RETURN FACTS, NOT RAW CHAOS

{
  "contract": "sandbox.result.v1",
  "run_id": "RUN-...",
  "status": "SUCCESS",
  "exit_code": 0,
  "runtime": {
    "image_digest": "sha256:...",
    "profile": "CALCULATE"
  },
  "usage": {
    "wall_ms": 1240,
    "cpu_ms": 830,
    "peak_memory_mb": 92,
    "disk_written_mb": 1.8
  },
  "stdout_ref": "artifact://log/...",
  "stderr_ref": null,
  "artifacts": [
    {
      "ref": "artifact://out/result.csv",
      "sha256": "...",
      "bytes": 18422
    }
  ],
  "violations": []
}
WHY

Reproducible execution

Нужно знать:

  • exact runtime/image;
  • profile/limits;
  • exit status;
  • resource usage;
  • artifacts and hashes;
  • policy violations;
  • why execution stopped.

Это позволяет evals и debugging отличить code bug от infrastructure failure.

14. CODE AS REASONING TOOL

ЧАСТО SANDBOX НУЖЕН НЕ ДЛЯ «ПРОГРАММИРОВАНИЯ», А ДЛЯ ПРОВЕРКИ

QUESTIONExact calculation / transformation / test.
GENERATE SMALL CODEMinimal executable procedure.
SANDBOXRun constrained profile.
CHECKAssertions/tests/output shape.
INTERPRETModel explains verified result.
DISCARD ENVNo persistence unless explicit.
Этот pattern особенно полезен для arithmetic, data processing, parsers, simulations и unit tests: deterministic execution часто лучше дополнительного LLM critic.
15. SIDE EFFECT SEPARATION

SANDBOX НЕ ДОЛЖЕН БЫТЬ ОБХОДОМ TOOL ENGINE

BAD

Code directly publishes

Generated script получает production API token и сам вызывает external endpoint. Policy/tool trace больше не контролирует side effect.

BETTER

Compute inside, act outside

Sandbox генерирует artifact/structured intent. Затем обычный Tool/Action Engine отдельно проверяет permissions, policy, approval и выполняет external action.

Compute boundary и effect boundary следует разделять. Sandbox отвечает за вычисление; production tools — за внешние изменения.
16. FAILURE SEMANTICS

«CODE FAILED» — СЛИШКОМ ГРУБЫЙ STATUS

StatusMeaningTypical response
SUCCESSProcess exited normally and required outputs validated.Continue / verify semantics.
CODE_ERRORProgram exception/nonzero deterministic exit.Targeted code repair if budget allows.
TIMEOUTWall/CPU deadline exceeded.Kill process tree; maybe simplify/retry with same hard max.
RESOURCE_LIMITRAM/disk/PID/output cap hit.Reformulate; don't blindly raise limits.
POLICY_DENIEDProfile/network/path/action not permitted.Do not retry to bypass.
SANDBOX_FAILURERuntime/worker/container infrastructure failed.Retry/fallback on clean environment.
ARTIFACT_REJECTEDOutput failed file/type/size/path checks.Do not promote; repair/terminate.
17. OBSERVABILITY

НУЖНО ВИДЕТЬ CONTAINMENT, А НЕ ТОЛЬКО EXIT CODE

IDENTITY

Who requested

user/task/agent/tenant/profile.

RUNTIME

What ran

image digest, language/runtime version, code hash.

LIMITS

Budget

time/CPU/RAM/disk/PID/network policy.

USAGE

Actual

wall/cpu/peak memory/files/output bytes.

VIOLATIONS

Blocked behavior

network/path/syscall/resource policy hits.

RESULT

Exit

status/exit code/error class/artifact refs.

CLEANUP

Destroyed?

workspace/process cleanup completed.

CORRELATION

Trace

Link sandbox span to agent/tool/eval run.

18. TESTING & SECURITY EVALS

ПРОВЕРЯТЬ, ЧТО BOUNDARY РЕАЛЬНО ДЕРЖИТ

FS

Filesystem isolation

Attempt access outside allowed mounts must fail.

SECRET

Credential isolation

Host env/secrets/cloud metadata unavailable.

NET

Network

DENY profile cannot egress; allowlist allows only intended endpoints.

LIMITS

Resource

Infinite loop/fork/large allocation/file spam contained.

OUTPUT

Artifact boundary

Traversal/symlink/oversize/unexpected output rejected.

CLEANUP

Persistence

No process/workspace contamination between jobs.

IDEMP

Retries

Repeated infra retry does not create external effect.

BENIGN

Utility

Legitimate workloads still succeed within realistic limits.

19. FAILURE MODES

КАК SANDBOX ЛОМАЕТСЯ

SUBPROCESS = SANDBOX
Обычный child process имеет host access/environment.
REAL ISOLATION
DOCKER = SAFE
Container запускается privileged, с host mounts/socket/secrets.
HARDEN PROFILE
OPEN NETWORK
Arbitrary generated code может exfiltrate/download.
DENY / ALLOWLIST
ENV INHERITANCE
Sandbox видит API keys parent process.
CLEAN ENV
NO RESOURCE LIMIT
Infinite job consumes host.
CPU/RAM/DISK/PID/TIME
DYNAMIC INSTALL ANYTHING
Supply-chain and reproducibility boundary disappears.
PINNED IMAGES
OUTPUT = TRUSTED
Produced artifacts auto-promoted/executed.
VALIDATE OUTPUT
EXTERNAL EFFECT IN CODE
Script bypasses Policy/Permissions/HITL.
COMPUTE THEN TOOL
PERSISTENT WORKSPACE
Task A contaminates Task B.
EPHEMERAL DEFAULT
20. METRICS

ЧТО ИЗМЕРЯТЬ

ESC

Containment Escape

Unauthorized host/network/secret access. Target: zero.

T/O

Timeout Rate

% runs killed by wall/CPU budget.

OOM

Resource Kill

Memory/disk/PID/output limit hits by profile.

LAT

Startup Latency

Time to create isolated environment.

UTIL

Useful Success

% legitimate jobs completing under current limits.

ART

Artifact Reject

Outputs rejected by path/type/size policy.

NET

Egress Violations

Blocked network attempts by profile/task.

COST

Execution Cost

CPU/RAM/time cost per successful sandbox job.

21. MVP IMPLEMENTATION

ДЛЯ ЛОКАЛЬНОЙ СИСТЕМЫ МОЖНО НАЧАТЬ ПРОЩЕ

sandbox/
├── profiles.yaml
├── runner.py
├── limits.py
├── filesystem.py
├── network.py
├── artifacts.py
├── cleanup.py
└── tests/

profiles:
  calculate:
    network: deny
    memory_mb: 512
    wall_time_s: 15
    disk_mb: 256
    pids: 16
    image: python-fixed@sha256:...

  document:
    network: deny
    read_only_inputs: true
    output_dir: /work/out
    image: document-tools@sha256:...

default:
  secrets: none
  root: non-root
  workspace: ephemeral
80% VALUE MVP

Practical baseline

  • Dedicated execution worker/process boundary.
  • Fixed container/image profiles.
  • Non-root, dropped capabilities, no privileged mode.
  • No host home/socket/secret mounts.
  • Clean environment.
  • Network deny by default.
  • Strict CPU/RAM/disk/PID/wall-time limits.
  • Read-only explicit inputs + ephemeral workdir.
  • Output allowlist + hashes + quotas.
  • Hard cleanup after every run.
  • Structured result + trace.

Если позже появится multi-tenant hostile-code execution, усилить boundary до специализированного sandbox/microVM layer.

22. PRACTICAL DECISION

СТОИТ ЛИ ДЕЛАТЬ ОТДЕЛЬНЫЙ КОМПОНЕНТ?

ВопросОтвет
Стоит ли реализовывать?Только если системе реально нужно исполнять code/scripts. Для purely textual/retrieval system — нет.
Separate Component?YES. Execution boundary должна быть отдельной logical/runtime capability внутри Tool / Action Engine.
Минимум 80% ценности?Ephemeral isolated profile, no secrets, network deny, filesystem boundary, resource limits, cleanup, structured output.
Когда overkill?Строить microVM fleet, kernel-level isolation orchestration и multi-region workers для single-user local calculator script.
Trigger?Need to run generated/user code, tests, transformations, simulations or arbitrary executable logic.
Как измерить uplift?Containment escapes, resource incidents, reproducibility, sandbox success rate, latency/cost, failures prevented.
Можно ли rule/tool/code вместо LLM-agent?Это и должен быть code/runtime layer. LLM не является sandbox.
23. DESIGN RULES

ПРАВИЛА ДЛЯ РЕАЛЬНОЙ СИСТЕМЫ

RULE 01

Generated code is untrusted

Происхождение от вашей модели не делает execution trusted.

RULE 02

Default off

Не давать code execution там, где tool/schema решают задачу дешевле.

RULE 03

No secrets by default

Sandbox стартует с clean env и без host credentials.

RULE 04

Network deny first

Добавлять egress только для доказанного use case.

RULE 05

Explicit filesystem

Только нужные inputs и ephemeral output workspace.

RULE 06

Bound every resource

CPU/RAM/time/disk/PIDs/output/concurrency имеют caps.

RULE 07

Separate compute from effect

Sandbox produces result; production tool performs external side effect.

RULE 08

Destroy after run

Persistence — explicit exception, not default.

RULE 09

Output remains untrusted

Artifacts/logs проходят validation before promotion/use.

24. FINAL MAP

CODE MAY RUN. HOST MUST REMAIN IN CONTROL.

MODEL / USER / WORKFLOW
        ↓
EXECUTION INTENT
        ↓
DO WE NEED CODE EXECUTION?
   ├─ NO → USE NORMAL TOOL / RULE / TRANSFORM
   │
   └─ YES
        ↓
SELECT ALLOWED SANDBOX PROFILE
        ↓
POLICY / PERMISSION CHECK
        ↓
PREPARE:
  code_ref
  explicit input_refs
  fixed runtime
  hard limits
  network policy
  no secrets by default
        ↓
CREATE EPHEMERAL ISOLATION
        ↓
RUN AS NON-PRIVILEGED WORKLOAD
        ↓
ENFORCE:
  filesystem
  network
  CPU
  RAM
  disk
  PIDs
  time
  output size
        ↓
CAPTURE:
  exit
  stdout/stderr refs
  usage
  violations
  artifacts
        ↓
VALIDATE ARTIFACTS
        ↓
DESTROY WORKSPACE + PROCESS TREE
        ↓
RETURN STRUCTURED RESULT
        ↓
IF EXTERNAL EFFECT NEEDED:
  NORMAL TOOL ENGINE
  → POLICY
  → PERMISSION
  → HITL
  → EXECUTE

CORE PRINCIPLE:

SANDBOX IS NOT
"LET THE AGENT DO ANYTHING SAFELY".

SANDBOX IS
"A SMALL, EXPLICIT BOX
IN WHICH FAILURE IS EXPECTED
AND DAMAGE IS BOUNDED".

ECC RETROFIT / PRACTICAL HARNESS INTEGRATION

A. Related ECC ideas. Context-as-cache, scoped memory, lifecycle hooks, selective capabilities, feature flags, deterministic enforcement, provider-neutral adapters and eval-gated learning are applied only where relevant to №53 Sandbox / Code Execution.

B–E. Existing boundary and placement. The existing conceptual boundary, class SPECIALIZED, default OFF and owner Tool / Action Engine remain authoritative. Runtime/control/data/offline placement is unchanged; durable state stays outside model context.

F–H. Hooks and contracts. Use bounded PRE_MODEL/POST_MODEL, PRE_TOOL/POST_TOOL, CHECKPOINT and TASK_COMPLETED events as applicable. Illustrative fields and canonical contracts are defined in NEW_CONTRACTS_SPEC.md; no universal schema is implied.

I–J. Security and evaluation. Host-side schema, permission, secret, budget, idempotency and audit checks take precedence over LLM output. Optional mechanisms require a feature flag and WITH/WITHOUT ablation; measure quality, acceptance, correction, latency, cost, escalations and severe errors.

K–L. Task profiles and cross-references. A TaskProfile selects the relevant skill, tool/context slice, memory scope and enforcement profile independently from FAST/STANDARD/DEEP. See cross-reference map, hook spec and ablation plan. Provider adapters remain outside the core.