# yaml-language-server: $schema=../../schema/session.schema.json
# Session setup — mirrors everything you set in Cowork BEFORE the first prompt.
# Author + maintain one of these per project; scenarios reference it via `session:`.
# (Separate from baselines/desktop-*.json, which is the auto-synced runtime baseline.)

# --- model & reasoning (Cowork model picker + toggles) ---
model: claude-opus-4-8 # setModel; omit to use the agent default
effort: high # setEffort: low | medium | high | xhigh
extended_thinking: true # real Cowork on/off toggle; default true (ON) -- see docs/session.md
permission_mode: default # setPermissionMode: default | acceptEdits | plan | bypassPermissions
permission_parity: cowork # cowork (allow unscripted tool calls, Cowork default) | strict (deny unscripted)

# --- fenced debug escape hatch (NOT reachable via Cowork's UI) ---
debug:
  max_thinking_tokens: 8000 # kept low for EXAMPLE cost only -- bypasses extended_thinking's on(31999)/off
                            # boundary; real Cowork never emits this value (see docs/session.md)

# --- work folders (Cowork "add folder" / Spaces) -> mnt/<name> (>=1.14271.0) or mnt/.projects/<name> (legacy) ---
# The mount name is ALWAYS derived (collision-resolved basename of the folder, matching real Cowork) —
# there is no author-chosen name override. `../data/project` mounts at `mnt/project` on a current baseline.
folders:
  - { from: ../data/project, mode: rwd }
trusted_folders: # localAgentModeTrustedFolders (mount without a trust prompt)
  - ../data/project
auto_mount_folders: false # autoMountFolders

# --- files uploaded before the first prompt -> mnt/uploads ---
uploads:
  - ../data/report.pdf

# --- discovery: marketplaces / plugins / skills / mcp ---
# Defaults reproduce the in-VM claude-code roots; every field is an override knob.
plugins:
  config_dir: null # CLAUDE_CONFIG_DIR; null = harness builds a clean managed dir
  marketplaces: # plugin_marketplaces (git URLs or local paths)
    - https://github.com/anthropics/claude-code.git
  # local_marketplaces: ["../my-marketplace"]  # LOCAL marketplace dirs (each with a marketplace.json)
  enabled: # enabledPlugins (name@marketplace)
    - my-pdf-skill@local
  local_plugins: # LEGACY pre-migration/install-staging shape -> mnt/.local-plugins/marketplaces/local-desktop-app-uploads/<name> (>=1.14271.0). For an uploaded plugin, prefer remote_plugins.
    - ../skills/my-pdf-skill
  remote_plugins: [] # uploaded / org-remote plugin dirs -> mnt/.remote-plugins/plugin_<id> (migrated-Cowork shape)

skills:
  local: [] # extra host skill dirs -> CLAUDE_CONFIG_DIR/skills

mcp:
  config: null # --mcp-config <file> (a standard mcpServers JSON); e.g. ../data/mcp.json
  enabled: [] # enabledMcpjsonServers

# --- network (Cowork egress, pre-prompt) ---
egress:
  extra_allow: [] # added to the synced allowlist for this session
  unrestricted: false # true == Cowork "*" (allow all)
