Skip to main content

Storage Model

DevSpecs separates operational state from durable intent artifacts.

LocationRoleCommit?
~/.devspecs/devspecs.dbLocal SQLite index, cache, and derived state.No.
.devspecs/config.yamlRepo discovery configuration.Usually yes.
devspecs/tasks/<task-id>/Default generated task workspace.Yes, when durable.
.devspecs/tasks/<task-id>/Legacy or explicitly local task workspace.No, unless you chose it deliberately.

The index can be rebuilt. Source docs, specs, plans, task files, and result artifacts should remain the durable record.

Versioning guidance

By default, ds task writes generated task artifacts to a visible repo path:

ds task "..."

Commit task artifacts when they explain durable work, should be reviewed with a change, or are useful to the next person or agent. If a task is scratch-only, ignore devspecs/tasks/<task-id>/ yourself or use an alternate workspace path. Lifecycle commands auto-detect legacy .devspecs/tasks/<task-id>/ workspaces when the visible default path does not contain that task.

Future config may make the task workspace root easier to set per repo, workspace, or user. In v1.1, the default stays simple and visible.

Series names

The default task series is an auto-incrementing alphabet counter:

A, B, C, ... Z, AA, AB, ... ZZ, AAA

Named prefixes may become useful for larger teams or ticket-linked work, but the default should stay simple until config demand is clearer.