# fastpace.policy.yaml — team-weight AI policy file.
#
# Drop this in your repo root, edit, commit. fastpace hooks read it on
# every tool call and gate behaviour accordingly. Schema is documented
# in packages/fp/src/policy.js and validated by:
#
#   fastpace policy validate
#
# Re-render this with sensible defaults:
#
#   fastpace policy init --force
#
# Wave-1 schema. All fields are optional. Missing fields fall back to
# the existing fastpace.config.yaml + per-agent identity values, so
# this file can be as small as a single `fail_mode` line.

# Models you allow agents to call. Empty list = no restriction.
allowed_models:
  - claude-opus-4.7
  - claude-sonnet-4.5

# MCP servers your team has vetted. Hooks block anything not in this list
# when it is non-empty. Match the short name in mcp__<server>__<method>.
allowed_mcp_servers:
  - github
  - linear

# Soft cap on a single prompt's token length. 0 disables. The
# prompt-redactor hook warns when exceeded; in fail_mode=closed it blocks.
max_prompt_tokens: 200000

# Glob patterns of paths agents must never touch. Layered ON TOP of each
# agent's own allowed_paths so a permissive agent still respects these.
blocked_paths:
  - "**/.env"
  - "**/.env.*"
  - "**/.aws/**"
  - "**/.ssh/**"
  - "**/secrets/**"
  - "/etc/**"

# Org-wide ceilings on per-agent caps. Caps DOWN only — an agent whose
# identity manifest says max_files: 200 will be capped to 80 here.
agent_scope_caps:
  max_files: 80
  max_tokens: 120000
  max_commands: 60
  max_duration_seconds: 7200

# open  = violations are logged but the call proceeds. Use during rollout.
# closed = violations are blocked. The production posture.
fail_mode: open
