- TicketStore rewritten: tickets live in .project/kanban/<column>/<id>.md - _findTicketFile() searches all column subdirs (one level deep) - update() moves the file when column changes - delete() cleans up attachments/<id>/ if present - _nextNumber() scans all subdirs including archive - Ticket.fromFileContent() now takes column as explicit parameter - Ticket.toFileContent() drops column field (derived from path) - _yamlQuote() added to safely quote titles containing ': ' - dew.yaml: columns changed to backlog/doing/done (alphabetical order) - Existing tickets migrated to .project/kanban/backlog/ Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
460 B
460 B
| id | title | type | created |
|---|---|---|---|
| DEW-0007 | Config refactor: DewConfig.raw + per-package extensions | story | 2026-04-23T23:37:36.822736Z |
DewConfig in core becomes a thin wrapper: class DewConfig { final YamlMap raw; }. Each package adds a Dart extension with a typed getter (e.g. KanbanDewConfig, McpDewConfig). KanbanConfig/ColumnConfig/TicketTypeConfig move to dew_kanban; McpConfig moves to dew_mcp. Call sites unchanged: context.config.kanban.prefix etc.