# 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