chore(.agents): keep lean — remove default mode files, no modes list

.agents/ is an override layer. Default modes (ask/build/autonomous)
and default skills come from SF's built-in config. Project files only
exist when overriding or adding something project-specific.

- Remove modes/ask.md, modes/build.md, modes/autonomous.md (defaults)
- Remove enabled.modes from manifest (nothing project-defined)
- Policies and skills stay: they are project-specific overrides

To override a mode or skill, add a file with the same name.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
Mikael Hugo 2026-05-11 23:47:29 +02:00
parent 82d629c3ee
commit 4f04fb4c34
4 changed files with 1 additions and 153 deletions

View file

@ -11,10 +11,7 @@ defaults:
policy: default-safe
enabled:
modes:
- ask
- build
- autonomous
# modes: not listed — no project overrides; SF built-in modes (ask/build/autonomous) apply
policies:
- default-safe
- yolo

View file

@ -1,39 +0,0 @@
---
id: ask
title: Ask
policy: default-safe
enableSkills: []
disableSkills: []
includeSnippets:
- style
- principles
- non-goals
toolIntent:
allow:
- read
- search
- web_fetch
deny:
- write
- exec_command
- git_commit
- git_push
---
# Ask Mode
Read-only investigation. Answer questions about the codebase, propose
plans, but **make no changes**.
Use this mode when:
- The user is exploring or trying to understand something.
- A plan needs review before implementation.
- The right next step is unclear and probing the code base will help.
Switch to Build (Shift+Tab) when the user is ready for the agent to
make changes.
This mode's policy denies writes, command execution, and git mutation.
If a task requires any of those, surface that fact rather than
attempting and failing.

View file

@ -1,67 +0,0 @@
---
id: autonomous
title: Autonomous
policy: default-safe
enableSkills:
- forge-autonomous-runtime
disableSkills: []
includeSnippets:
- style
- principles
- non-goals
toolIntent:
allow:
- read
- search
- web_fetch
- write
- exec_command
- git_commit
deny:
- git_push_force
- rm_rf
- drop_table
---
# Autonomous Mode
Long-horizon unattended execution. SF drives the full UOK dispatch
loop: milestone → slice → task → commit, without human confirmation
per unit. The deterministic controller (not the LLM) reads `sf.db`
and decides what to dispatch next.
**Entry points:**
- `sf run --autonomous` (CLI)
- `sf headless next` / `sf headless autonomous` (machine surface)
- TUI: enable via `/autonomous` or the autonomous panel
**Differences from Build:**
- No per-unit human confirmation gate.
- Each task unit gets a **fresh agent context** — no accumulated state
between units.
- Budget limits enforced: turn cap and token cap per unit.
- The 120 s bash default timeout is critical here — without it a
single hanging command consumes the entire autonomous run budget.
- Bash tool has a 120 s default timeout (configurable via
`settings.json → bash.defaultTimeoutSeconds`).
- Recovery and runaway-guard are active; stuck units are retried or
abandoned automatically.
**What does NOT change in this mode:**
- Path deny rules and redactions from the active policy still apply.
- Secrets are never written to commits or logs.
- Destructive operations (`rm -rf`, `git push --force`, `drop_table`)
are still denied.
**When to use:**
Use autonomous mode when the milestone/slice plan is stable, tests are
present, and the work is low-blast-radius. Use Build mode when you
want to review changes interactively or the task is novel/risky.
The YOLO flag (`Ctrl+Y` / `/mode yolo`) can be layered on top of
Build or Autonomous to drop the remaining confirmation gates entirely.
It is a flag — not a mode — and does not appear as a Shift+Tab stop.

View file

@ -1,43 +0,0 @@
---
id: build
title: Build
policy: default-safe
enableSkills: []
disableSkills: []
includeSnippets:
- style
- principles
- non-goals
toolIntent:
allow:
- read
- search
- web_fetch
- write
- exec_command
- git_commit
deny:
- git_push_force
- rm_rf
- drop_table
---
# Build Mode
Active development. Make changes, run tests, commit.
Confirmations are required for destructive operations per the
default-safe policy (rm -rf, git push --force, git reset --hard,
drop_table, etc.). Toggle the YOLO flag (Ctrl+Y) to drop those
confirmations — that's a flag on Build, not a separate mode.
In this mode the agent is expected to:
- Run tests before committing.
- Group related changes in a single commit; don't bundle unrelated
work.
- Use Git history as the rationale store — clear commit messages,
rationale in the body, link to ADRs when relevant.
- Update tests when changing behaviour.
- Promote durable decisions to `docs/adr/` rather than burying them
in commit messages.