Edge cases and gotchas
The things that surprise people once, collected so they surprise you never.
Things that aren't obvious.
Feature without a focus area
Can't exist. Every feature requires a focusAreaId. If you try to create one at the product level, the first focus area of the product is used as fallback.
Focus area with no repo paths
Allowed. rememd connect in an unregistered folder cannot resolve to it by path, so you
pick it from the panel instead - or add a repo path and it resolves by cwd.
Deleting a focus area
- Features inside get deleted (cascade)
- Their sessions, notes, tasks, issues get deleted
- Backlog items in this focus area are demoted to product-level (not deleted)
Deleting a feature
- All its sessions, notes, tasks, issues are cascade-deleted
- Backlog items that were promoted to it get their
promotedToFeatureIdreset - they return to pending
Main sessions vs feature sessions
Main sessions have featureId: nil. Feature sessions have a feature. Both get placeholder session records so MCP can track timeline events.
Multiple repos per focus area
Allowed. The first is the "primary" - the one rememd connect resolves to from an
unlinked folder. Connecting a terminal inside any of the others resolves to the same
focus area.
Feature with its own repo
A feature can override the focus area's repo via feature.repoPath. Resolution uses feature.repoPath ?? focusArea.primaryRepoPath.
Workspace deletion
Whole directory is removed. All content inside is gone. activeWorkspaceId is cleared if it pointed here.
Your terminal is yours
rememd does not host or wrap your terminal - you run your agent wherever you normally do and connect it. Nothing about your shell, prompt or colours is rememd's to change, and quitting the app leaves every running session untouched.
Moving tasks between features
Works via update_task(feature_name: "..."). The task's featureId, productId, and workspaceId all update to the target feature's. Dependencies (blockedBy) are preserved but may point to tasks that no longer share the same feature - consider re-linking if needed.