# Copilot Instructions — singularity-forge

See [CLAUDE.md](../CLAUDE.md) for build pipeline details and test commands.
See [AGENTS.md](../AGENTS.md) for planning conventions and spec-first TDD doctrine.

## DB-first — non-negotiable

All state lives in SQLite via Node's built-in `node:sqlite` (`DatabaseSync`).

- **Never** use `better-sqlite3` or any native SQLite addon
- **Never** use file-based fallbacks for state that belongs in the DB (milestone context, sessions, memories, mode state, etc.)
- When checking if something "exists", query the DB — not the filesystem
- Sift indexes codebase files only; session/turn search uses FTS5 in `sf.db`

If a pattern uses files as a proxy for DB state (e.g., checking for `CONTEXT.md` instead of a DB row), treat that as a bug to fix, not a convention to follow.

## YOLO is a flag, not a mode

SF has exactly **two work modes**: **Ask** and **Build**.

- `Shift+Tab` cycles between Ask and Build
- **YOLO** (Ctrl+Y) is a flag layered on top of Build — it removes safety rails (no confirmations, no git prompts, full send)
- YOLO is never a Shift+Tab stop; it is not a third mode
- `/mode yolo` is equivalent to Ctrl+Y — it enables the flag, it doesn't switch modes
