- All gsdDir/gsdRoot/gsdHome → sfDir/sfRootDir/sfHome - GSDWorkspace* → SFWorkspace* interfaces - bootstrapGsdProject → bootstrapProject - runGSDDoctor → runSFDoctor - GsdClient → SfClient, gsd-client.ts → sf-client.ts - .gsd/ → .sf/ in all tests, docs, docker, native, vscode - Auto-migration: headless detects .gsd/ → renames to .sf/ - Deleted gsd-phase-state.ts backward-compat re-export - Renamed bin/gsd-from-source → bin/sf-from-source - Updated mintlify docs, github workflows, docker configs
75 lines
2.5 KiB
Text
75 lines
2.5 KiB
Text
---
|
|
title: "Captures and triage"
|
|
description: "Fire-and-forget thought capture during auto-mode with automated triage."
|
|
---
|
|
|
|
Captures let you fire-and-forget thoughts during auto-mode execution. Instead of pausing to steer, capture ideas, bugs, or scope changes and let SF triage them at natural seams between tasks.
|
|
|
|
## Quick start
|
|
|
|
While auto-mode is running (or any time):
|
|
|
|
```
|
|
/sf capture "add rate limiting to the API endpoints"
|
|
/sf capture "the auth flow should support OAuth, not just JWT"
|
|
```
|
|
|
|
Captures are appended to `.sf/CAPTURES.md` and triaged automatically between tasks.
|
|
|
|
## How it works
|
|
|
|
```
|
|
capture → triage → confirm → resolve → resume
|
|
```
|
|
|
|
<Steps>
|
|
<Step title="Capture">
|
|
`/sf capture "thought"` appends to `.sf/CAPTURES.md` with a timestamp and unique ID.
|
|
</Step>
|
|
<Step title="Triage">
|
|
At natural seams between tasks, SF classifies each capture.
|
|
</Step>
|
|
<Step title="Confirm">
|
|
You're shown the proposed resolution. Plan-modifying resolutions require confirmation.
|
|
</Step>
|
|
<Step title="Resolve">
|
|
The resolution is applied (task injection, replan trigger, deferral, etc.).
|
|
</Step>
|
|
<Step title="Resume">
|
|
Auto-mode continues.
|
|
</Step>
|
|
</Steps>
|
|
|
|
## Classification types
|
|
|
|
| Type | Meaning | Resolution |
|
|
|------|---------|------------|
|
|
| `quick-task` | Small, self-contained fix | Inline quick task executed immediately |
|
|
| `inject` | New task needed in current slice | Task injected into the active slice plan |
|
|
| `defer` | Important but not urgent | Deferred to roadmap reassessment |
|
|
| `replan` | Changes the current approach | Triggers slice replan with capture context |
|
|
| `note` | Informational, no action | Acknowledged, no plan changes |
|
|
|
|
## Manual triage
|
|
|
|
Trigger triage at any time:
|
|
|
|
```
|
|
/sf triage
|
|
```
|
|
|
|
Useful when you've accumulated several captures and want to process them before the next natural seam.
|
|
|
|
## Dashboard integration
|
|
|
|
The progress widget shows a pending capture count badge when captures are waiting for triage. Visible in both the `Ctrl+Alt+G` dashboard and the auto-mode widget.
|
|
|
|
## Context injection
|
|
|
|
Capture context is automatically injected into:
|
|
- **Replan-slice prompts** — so the replan knows what triggered it
|
|
- **Reassess-roadmap prompts** — so deferred captures influence roadmap decisions
|
|
|
|
## Worktree awareness
|
|
|
|
Captures resolve to the **original project root's** `.sf/CAPTURES.md`, not the worktree's local copy. Captures from a steering terminal are visible to the auto-mode session running in a worktree.
|