@lwelliott/cortex-cli 1.0.3 → 1.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,159 +1,196 @@
1
1
  # cortex-cli
2
2
 
3
- A TypeScript CLI for managing software project artifacts (sprints, kanban, graph, documents, reviews) backed by SQLite, safe for concurrent multi-process access.
3
+ A TypeScript CLI for managing software project artifacts sprints, kanban boards, knowledge graphs, documents, reviews, and traceability — backed by SQLite with safe concurrent multi-process access.
4
4
 
5
- **Version:** 1.0.3
5
+ [![npm version](https://img.shields.io/npm/v/@lwelliott/cortex-cli.svg)](https://www.npmjs.com/package/@lwelliott/cortex-cli) [![license](https://img.shields.io/npm/l/@lwelliott/cortex-cli.svg)](https://github.com/lwelliot/cortex-cli/blob/main/LICENSE)
6
6
 
7
- ## Features
7
+ ## Installation
8
+
9
+ ### From npm (recommended)
10
+
11
+ ```bash
12
+ npm install -g @lwelliott/cortex-cli
13
+ ```
14
+
15
+ ### From source
16
+
17
+ ```bash
18
+ git clone https://github.com/lwelliot/cortex-cli.git
19
+ cd cortex-cli
20
+ npm install
21
+ npm run build
22
+ ```
23
+
24
+ ### Verify installation
25
+
26
+ ```bash
27
+ cortex-cli --version
28
+ cortex-cli --help
29
+ ```
30
+
31
+ ## Quick Start
32
+
33
+ ```bash
34
+ # Initialize a project
35
+ cortex project init my-project
36
+
37
+ # Create and start a sprint
38
+ cortex -p my-project sprint init sprint-001
39
+ cortex -p my-project sprint start
40
+
41
+ # Add and manage tasks
42
+ cortex -p my-project task add --title "Implement feature" --stage IMPL --owner coder
43
+ cortex -p my-project task move 0001 "In Progress"
44
+ cortex -p my-project task move 0001 "Done"
45
+
46
+ # Validate the board
47
+ cortex -p my-project validate board
48
+
49
+ # Close sprint
50
+ cortex -p my-project sprint close
51
+ ```
52
+
53
+ ## Commands
8
54
 
9
55
  ### Project Management
10
- - `project init <name>` — Initialize a new project with SQLite database
11
- - `project info` Display project overview and sprint summary
56
+
57
+ | Command | Description |
58
+ |---------|-------------|
59
+ | `project init <name>` | Initialize a new project with SQLite database |
60
+ | `project info` | Display project overview and sprint summary |
61
+ | `project list` | List all projects |
62
+ | `project remove <name>` | Remove a project |
12
63
 
13
64
  ### Sprint Lifecycle
14
- - `sprint init <id>` — Create a new sprint (PLANNING state)
15
- - `sprint start` Begin sprint execution (IN EXECUTION)
16
- - `sprint close` — Close sprint after review (CLOSED)
17
- - `sprint status` Display sprint overview and task breakdown
18
- - `sprint update` Update sprint name or goal
19
- - `-p <project>` Target a specific project
65
+
66
+ | Command | Description |
67
+ |---------|-------------|
68
+ | `sprint init <id>` | Create a new sprint (PLANNING state) |
69
+ | `sprint start` | Begin sprint execution (IN EXECUTION) |
70
+ | `sprint close` | Close sprint after review (CLOSED) |
71
+ | `sprint overview [id]` | Display sprint overview and task breakdown |
72
+ | `sprint update [id]` | Update sprint name or goal |
20
73
 
21
74
  ### Task Management
22
- - `task add [id]` — Add task to sprint with optional positional ID (4-digit NNNN format)
23
- - `task move <id> <state>` — Move task between kanban states
24
- - `task update <id>` — Update task metadata (owner, notes)
25
- - `task remove <id>` — Permanently delete a task
26
- - `task info <id>` — Display task details
27
-
28
- ### Audit Command
29
- - `audit` — Run all 11 audit checks (4 integrity + 7 traceability)
30
- - `audit --checks <name,...>` — Run specific checks
31
- - `audit --fix` — Auto-fix supported issues
32
-
33
- **Traceability Checks (v1.0.0):**
34
- - `us-to-fr-nfr` — Verify US→FR/NFR traceability
35
- - `fr-nfr-to-fs-nfs` — Verify FR/NFR→FS/NFS traceability
36
- - `fs-nfs-to-sad-ad-qa` — Verify FS/NFS→SAD/AD/QA traceability
37
- - `fs-nfs-to-ts` — Verify FS/NFS→TS traceability
38
- - `ts-to-tc` — Verify TS→TC traceability (severity: error)
39
- - `sad-ad-qa-tc-to-src` — Verify SAD/AD/QA/TC→SRC traceability
40
- - `src-filesystem-only` — Verify SRC files exist on filesystem
41
75
 
42
- ### Board Validation
43
- - `validate board` — Check board shape, integrity, and state fields
44
- - `validate spawn --sprint --task --stage --role` Validate spawn legality
76
+ | Command | Description |
77
+ |---------|-------------|
78
+ | `task add [id]` | Add task to sprint with optional positional ID |
79
+ | `task move <id> <state>` | Move task between kanban states |
80
+ | `task update <id>` | Update task metadata (owner, notes) |
81
+ | `task remove <id>` | Permanently delete a task |
82
+ | `task show <id>` | Display task details |
83
+
84
+ ### Document Registry
45
85
 
46
- ### Optional --sprint
47
- - `--sprint` is now optional for task, review, and test-report subcommands
48
- - Defaults to the most recently created sprint with status CLOSED
86
+ | Command | Description |
87
+ |---------|-------------|
88
+ | `doc add <id> --type --title` | Register documents (inline or file-based content) |
89
+ | `doc list [--type]` | List documents with pagination and sorting |
90
+ | `doc show <id>` | Display document details |
91
+ | `doc search <query>` | FTS5 full-text search with ranking |
92
+ | `doc update <id>` / `doc remove <id>` | Modify or remove document registrations |
49
93
 
50
94
  ### Knowledge Graph
51
- - Schema auto-initialized from `project-schema.yaml` during `project create` (18 relation types, entity types derived from doc types)
52
- - `graph entity create/get/query/update/delete` — Entity CRUD
53
- - `graph relation relate/unrelate/related` — Relation management
54
- - `graph validate` — Check graph integrity
55
- - `graph export` — Export graph data
56
- - `graph status` — Show graph schema status
57
- - `graph list-types` — List entity and relation types (entity types derived dynamically from documents)
58
- - `graph migrate [--phase]` — Run 9-phase schema migration (entity-types-drop, tr-relations-cleanup, urd-migration, add-new-relations, update-surviving-relations, traceability-rebuild, remove-old-relations, yaml-finalization, verification)
59
95
 
60
- ### Document Registry
61
- - `doc add <id> --type --title` — Register documents (inline or file-based content). `doc register` is a hidden alias.
62
- - `doc list [--type] [--limit] [--offset] [--order-by] [--count-only]` List documents with pagination and sorting
63
- - `doc show <id>` Display document details
64
- - `doc search <query> [--type] [--limit] [--offset] [--order-by] [--count-only]` FTS5 full-text search with ranking, pagination, and type filter
65
- - `doc update <id>` / `doc remove <id>` Modify or remove document registrations (permanent delete)
66
- - **Task move refactoring:** Removed --sprint, --review-notes from task move; changed --reviewer to --owner; added --stage with dual validation; task update no longer accepts --owner, --sprint, --stage
67
- - **Audit improvements:** Added orphan-documents check (optionally sprint-scoped) and inverse-consistency check; --fix/--fix-dry-run support for dangling-relations; MISSING_INVERSE fix case in FixEngine; fixCount per-category reporting in --fix-dry-run output
68
- - **Doc-Entity Auto-Sync:** Registering a document auto-creates a 1:1 graph entity; removing a document auto-deletes the entity and its relations; updating a document's type syncs the entity accordingly
96
+ | Command | Description |
97
+ |---------|-------------|
98
+ | `graph validate` | Check graph integrity |
99
+ | `graph status` | Show graph schema status |
100
+ | `graph entity create/get/query/update/delete` | Entity CRUD |
101
+ | `graph relation relate/unrelate/related` | Relation management |
102
+ | `graph export` | Export graph data |
103
+ | `graph migrate [--phase]` | Run schema migration |
104
+
105
+ Schema is auto-initialized from `project-schema.yaml` during `project create` with 18 relation types and entity types derived from doc types.
106
+
107
+ ### Audit & Traceability
108
+
109
+ | Command | Description |
110
+ |---------|-------------|
111
+ | `audit` | Run all 11 audit checks (4 integrity + 7 traceability) |
112
+ | `audit --checks <name,...>` | Run specific checks |
113
+ | `audit --fix` | Auto-fix supported issues |
114
+ | `audit --fix-dry-run` | Preview fixes without applying |
115
+
116
+ **Traceability checks:**
117
+ - `us-to-fr-nfr` — US→FR/NFR traceability
118
+ - `fr-nfr-to-fs-nfs` — FR/NFR→FS/NFS traceability
119
+ - `fs-nfs-to-sad-ad-qa` — FS/NFS→SAD/AD/QA traceability
120
+ - `fs-nfs-to-ts` — FS/NFS→TS traceability
121
+ - `ts-to-tc` — TS→TC traceability
122
+ - `sad-ad-qa-tc-to-src` — SAD/AD/QA/TC→SRC traceability
123
+ - `src-filesystem-only` — SRC files exist on filesystem
69
124
 
70
125
  ### Review & Reporting
71
- - `review add <id>` — Create reviews with positional 4-digit NNNN ID
72
- - `review list [--sprint]` / `review show <id>` / `review show --sprint <id>` — Browse review records
73
- - `test-report add <id>` — Record test execution results with positional 4-digit NNNN ID
74
- - `test-report list` — Browse test reports
75
- - `lesson add --sprint --title` — Record lessons learned
76
- - `lesson show` — Display lesson content and timestamps (content-only, no metadata)
77
- - `lesson update` — Update lesson content (upsert; `--content-file` required)
78
- - `--content-file <path>` — Import content from external files (lesson, document create/update)
79
- - `task show <id> --sprint <sprint-id>` — Display task details (sprint-scoped validation)
80
- - `test-report show <id> --sprint <sprint-id>` — Display test report details (sprint-scoped validation)
81
-
82
- ### Database Audit
83
- - `audit` — Run database integrity checks (4 checks: dangling-relations, duplicate-ids, orphan-documents, inverse-consistency)
84
- - `--sprint <id>` — Scope checks to a specific sprint (where applicable)
85
- - `--checks <list>` — Run only specified checks
86
- - `--fix` — Auto-fix fixable issues with transaction safety (dangling-relations removal, inverse-consistency inverse creation)
87
- - `--fix-dry-run` — Preview fixes without applying, with per-category fix count reporting
88
- - `--format terminal|json|markdown` — Output format (default: terminal)
89
- - `--report-file <path>` — Write report to file
90
- - Exit codes: 0=clean, 1=issues found, 2=error
91
-
92
- ### Schema Migration
93
- - `graph migrate [--phase]` — Execute type system migration (entity rename/remove, doc type migration, relation type updates)
94
- - `graph status` — Show migration status
95
-
96
- ### Output Formats
97
- - `--format table|json|markdown|quiet` — Output format (project subcommands: table for list/actions, markdown for info/show)
98
- - `--json` — Shorthand for JSON format
99
- - `--quiet` — Minimal output (takes precedence over --format and --json)
100
126
 
101
- ## Kanban States
127
+ | Command | Description |
128
+ |---------|-------------|
129
+ | `review add <id>` | Create reviews with positional ID |
130
+ | `review list [--sprint]` / `review show <id>` | Browse review records |
131
+ | `test-report add <id>` | Record test execution results |
132
+ | `test-report list` / `test-report show <id>` | Browse test reports |
133
+ | `lesson update` | Record and update lessons learned |
134
+
135
+ ### Board Validation
102
136
 
103
- **Sprint:** PLANNING IN EXECUTION → CLOSING → CLOSED
137
+ | Command | Description |
138
+ |---------|-------------|
139
+ | `validate board` | Check board shape, integrity, and state fields |
140
+ | `validate spawn --sprint --task --stage --role` | Validate spawn legality |
104
141
 
105
- **Task:** Backlog → To Do → In Progress → In Review → Done
106
- - Escape states: Blocked (from any primary state), Dropped (from any primary state)
107
- - Terminal states: Done (success), Dropped (abandon)
142
+ ## Output Formats
108
143
 
109
- ## Installation
144
+ All commands support multiple output formats:
110
145
 
111
146
  ```bash
112
- npm install
113
- npm run build
147
+ cortex project list --format json # Structured JSON
148
+ cortex project list --format table # Tabular (default for list/actions)
149
+ cortex project info --format markdown # Markdown (default for info/show)
150
+ cortex project list --quiet # Minimal output
151
+ cortex project list --json # Shorthand for --format json
114
152
  ```
115
153
 
116
- ## Usage
154
+ Precedence: `--quiet` > `--format` > `--json`
117
155
 
118
- ```bash
119
- # Initialize a project
120
- cortex project init my-project
156
+ ## Kanban States
121
157
 
122
- # Create and start a sprint
123
- cortex -p my-project sprint init sprint-001
124
- cortex -p my-project sprint start
158
+ **Sprint lifecycle:**
125
159
 
126
- # Add and manage tasks
127
- cortex -p my-project task add --title "Implement feature" --stage IMPL --owner coder
128
- cortex -p my-project task move sprint-001-1 "In Progress"
129
- cortex -p my-project task move sprint-001-1 "Done"
160
+ ```
161
+ PLANNING IN EXECUTION CLOSING CLOSED
162
+ ```
130
163
 
131
- # Validate the board
132
- cortex -p my-project validate board
133
- cortex -p my-project validate spawn --sprint sprint-001 --task sprint-001-1 --stage IMPL --role coder
164
+ **Task lifecycle:**
134
165
 
135
- # Knowledge graph
136
- cortex -p my-project graph bootstrap schema.yaml
137
- cortex -p my-project entity create person-1 --type Person --props '{"name":"Alice"}'
138
- cortex -p my-project relation create person-1 works_on project-1
166
+ ```
167
+ Backlog To Do In Progress → In Review → Done
168
+ Blocked (from any state)
169
+ Dropped (from any state)
170
+ ```
139
171
 
140
- # Document management
141
- cortex -p my-project doc register design-doc --type design --title "System Design"
142
- cortex -p my-project doc search "authentication"
172
+ ## Global Options
143
173
 
144
- # Close sprint
145
- cortex -p my-project sprint close
146
- ```
174
+ | Option | Description |
175
+ |--------|-------------|
176
+ | `-p, --project <name>` | Target a specific project |
177
+ | `--sprint <id>` | Scope to a sprint (defaults to latest non-closed) |
178
+ | `--format <type>` | Output format: table, json, markdown, quiet |
179
+ | `--json` | Shorthand for `--format json` |
180
+ | `--quiet` | Minimal output |
181
+ | `-V, --version` | Print version |
182
+ | `-h, --help` | Display help |
147
183
 
148
184
  ## Development
149
185
 
150
186
  ```bash
151
- npm test # Run test suite (1095 tests)
152
- npm run build # TypeScript compilation
153
- npm run build:release # Build release binary
154
- npm run lint # Type-check only
187
+ npm install # Install dependencies
188
+ npm run build # TypeScript compilation
189
+ npm run build:release # Build single-file release binary
190
+ npm test # Run test suite
191
+ npm run lint # Type-check only
155
192
  ```
156
193
 
157
194
  ## License
158
195
 
159
- MIT
196
+ [MIT](https://github.com/lwelliot/cortex-cli/blob/main/LICENSE)
@@ -19,7 +19,7 @@ export interface SpawnResult {
19
19
  sprint_id: string;
20
20
  task_id: string;
21
21
  isLegal: boolean;
22
- verdict: 'OK' | 'ERR-SPAWN-SPRINT' | 'ERR-SPAWN-STATE' | 'ERR-SPAWN-ROLE';
22
+ verdict: 'OK' | 'ERR-SPAWN-SPRINT' | 'ERR-SPAWN-STATE' | 'ERR-SPAWN-ROLE' | 'ERR-TASK-NOTFOUND';
23
23
  reason?: string;
24
24
  }
25
25
  //# sourceMappingURL=validation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/models/validation.ts"],"names":[],"mappings":"AAEA,qCAAqC;AACrC,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;AAEzD,gCAAgC;AAChC,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,aAAa,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,iCAAiC;AACjC,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,eAAe,EAAE,CAAC;CAC3B;AAED,qCAAqC;AACrC,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,IAAI,GAAG,kBAAkB,GAAG,iBAAiB,GAAG,gBAAgB,CAAC;IAC1E,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB"}
1
+ {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/models/validation.ts"],"names":[],"mappings":"AAEA,qCAAqC;AACrC,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;AAEzD,gCAAgC;AAChC,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,aAAa,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,iCAAiC;AACjC,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,eAAe,EAAE,CAAC;CAC3B;AAED,qCAAqC;AACrC,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,IAAI,GAAG,kBAAkB,GAAG,iBAAiB,GAAG,gBAAgB,GAAG,mBAAmB,CAAC;IAChG,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB"}
@@ -1 +1 @@
1
- {"version":3,"file":"task.d.ts","sourceRoot":"","sources":["../../src/services/task.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,cAAc,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACtH,OAAO,KAAK,EAAE,UAAU,EAA+C,MAAM,kBAAkB,CAAC;AAwBhG,OAAO,EAAyB,iBAAiB,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AA4DtG;;;;;;;;;;;;GAYG;AACH,wBAAgB,OAAO,CACrB,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,EACb,IAAI,CAAC,EAAE,cAAc,GACpB,UAAU,CAoGZ;AAmBD;;;;;;;;;;GAUG;AACH,wBAAgB,QAAQ,CACtB,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE;IACJ,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GACA,UAAU,CAmHZ;AAED;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CACxB,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,gBAAgB,EACxB,QAAQ,CAAC,EAAE,MAAM,GAChB,UAAU,CA6HZ;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CACxB,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,MAAM,EAAE,MAAM,EACd,QAAQ,CAAC,EAAE,MAAM,GAChB,IAAI,CAgCN;AAED;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,UAAU,CAwB7F;AAED;;GAEG;AACH,wBAAgB,SAAS,CACvB,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE;IACR,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GACA,IAAI,EAAE,CAuBR;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,QAAQ,EAAE,MAAM,GACf,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAaxB;AAGD,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,CAAC"}
1
+ {"version":3,"file":"task.d.ts","sourceRoot":"","sources":["../../src/services/task.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,cAAc,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACtH,OAAO,KAAK,EAAE,UAAU,EAA+C,MAAM,kBAAkB,CAAC;AAwBhG,OAAO,EAAyB,iBAAiB,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AA4DtG;;;;;;;;;;;;GAYG;AACH,wBAAgB,OAAO,CACrB,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,EACb,IAAI,CAAC,EAAE,cAAc,GACpB,UAAU,CAoGZ;AAmBD;;;;;;;;;;GAUG;AACH,wBAAgB,QAAQ,CACtB,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE;IACJ,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GACA,UAAU,CAgIZ;AAED;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CACxB,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,gBAAgB,EACxB,QAAQ,CAAC,EAAE,MAAM,GAChB,UAAU,CA6HZ;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CACxB,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,MAAM,EAAE,MAAM,EACd,QAAQ,CAAC,EAAE,MAAM,GAChB,IAAI,CAgCN;AAED;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,UAAU,CAwB7F;AAED;;GAEG;AACH,wBAAgB,SAAS,CACvB,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE;IACR,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GACA,IAAI,EAAE,CAuBR;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,QAAQ,EAAE,MAAM,GACf,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAaxB;AAGD,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,CAAC"}
@@ -192,8 +192,17 @@ function moveTask(db, taskId, opts) {
192
192
  // Resolve sprint for task lookup (per-sprint ID policy)
193
193
  const sprintId = opts.sprintId || resolveActiveSprint(db).id;
194
194
  // Read task first (pre-lock, for validation)
195
- const task = db.prepare('SELECT * FROM tasks WHERE id = ? AND sprint_id = ? AND removed_at IS NULL').get(taskId, sprintId);
195
+ // First try with sprint_id filter (exact match)
196
+ let task = db.prepare('SELECT * FROM tasks WHERE id = ? AND sprint_id = ? AND removed_at IS NULL').get(taskId, sprintId);
197
+ // If not found in the resolved sprint, check if it exists in any sprint
198
+ // to give a more specific error (TaskNotInActiveSprintError vs TaskNotFoundError)
196
199
  if (!task) {
200
+ const taskInAnySprint = db.prepare('SELECT * FROM tasks WHERE id = ? AND removed_at IS NULL').get(taskId);
201
+ if (taskInAnySprint) {
202
+ // Task exists but is in a different sprint → specific error
203
+ throw new errors_1.TaskNotInActiveSprintError(taskId);
204
+ }
205
+ // Task truly doesn't exist → generic error
197
206
  throw new errors_1.TaskNotFoundError(taskId, sprintId);
198
207
  }
199
208
  // Active sprint enforcement: task must belong to the active sprint
@@ -1 +1 @@
1
- {"version":3,"file":"task.js","sourceRoot":"","sources":["../../src/services/task.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"task.js","sourceRoot":"","sources":["../../src/services/task.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ import type { SpawnResult } from '../models/validation';
5
5
  *
6
6
  * Requirements:
7
7
  * - Sprint must be IN EXECUTION (ERR-SPAWN-SPRINT)
8
+ * - Task must exist in the specified sprint (ERR-TASK-NOTFOUND)
8
9
  * - Task must be To Do or In Progress (ERR-SPAWN-STATE)
9
10
  * - Role must match the required stage role (ERR-SPAWN-ROLE)
10
11
  *
@@ -1 +1 @@
1
- {"version":3,"file":"spawn-legality.d.ts","sourceRoot":"","sources":["../../src/validators/spawn-legality.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAGxD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,kBAAkB,CAChC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,GACX,WAAW,CA+Db"}
1
+ {"version":3,"file":"spawn-legality.d.ts","sourceRoot":"","sources":["../../src/validators/spawn-legality.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAGxD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,kBAAkB,CAChC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,GACX,WAAW,CAgEb"}
@@ -2,6 +2,7 @@
2
2
  // Spawn legality checker
3
3
  // Validates spawn prerequisites: sprint phase, task state, role match
4
4
  // Implements AD-0009: Validation as Read-Only Snapshot
5
+ // Implements AD-0050: Cross-Sprint Task Detection in Spawn Validation
5
6
  // + FS-SS-006-0002 (validate spawn legality)
6
7
  Object.defineProperty(exports, "__esModule", { value: true });
7
8
  exports.checkSpawnLegality = checkSpawnLegality;
@@ -11,6 +12,7 @@ const errors_1 = require("../utils/errors");
11
12
  *
12
13
  * Requirements:
13
14
  * - Sprint must be IN EXECUTION (ERR-SPAWN-SPRINT)
15
+ * - Task must exist in the specified sprint (ERR-TASK-NOTFOUND)
14
16
  * - Task must be To Do or In Progress (ERR-SPAWN-STATE)
15
17
  * - Role must match the required stage role (ERR-SPAWN-ROLE)
16
18
  *
@@ -36,15 +38,16 @@ function checkSpawnLegality(db, sprintId, taskId, stage, role) {
36
38
  reason: `Sprint "${sprintId}" is "${sprint.status}", but spawn requires "IN EXECUTION"`,
37
39
  };
38
40
  }
39
- // Check task exists and is To Do or In Progress (per FS-SS-006-0002)
40
- const task = db.prepare('SELECT id, status FROM tasks WHERE id = ?').get(taskId);
41
+ // AD-0050 / FS-SS-006-0002: filtered query ensures task is in the correct sprint.
42
+ // If the task doesn't exist (or exists in a different sprint), zero rows returned → ERR-TASK-NOTFOUND.
43
+ const task = db.prepare('SELECT id, status, sprint_id FROM tasks WHERE id = ? AND sprint_id = ?').get(taskId, sprintId);
41
44
  if (!task) {
42
45
  return {
43
46
  sprint_id: sprintId,
44
47
  task_id: taskId,
45
48
  isLegal: false,
46
- verdict: 'ERR-SPAWN-STATE',
47
- reason: `Task "${taskId}" not found`,
49
+ verdict: 'ERR-TASK-NOTFOUND',
50
+ reason: `Task "${taskId}" not found in sprint "${sprintId}"`,
48
51
  };
49
52
  }
50
53
  if (task.status !== 'To Do' && task.status !== 'In Progress') {
@@ -1 +1 @@
1
- {"version":3,"file":"spawn-legality.js","sourceRoot":"","sources":["../../src/validators/spawn-legality.ts"],"names":[],"mappings":";AAAA,yBAAyB;AACzB,sEAAsE;AACtE,uDAAuD;AACvD,6CAA6C;;AAqB7C,gDAqEC;AAtFD,4CAAsD;AAEtD;;;;;;;;;;;;;;GAcG;AACH,SAAgB,kBAAkB,CAChC,EAAqB,EACrB,QAAgB,EAChB,MAAc,EACd,KAAa,EACb,IAAY;IAEZ,0CAA0C;IAC1C,MAAM,MAAM,GAAG,EAAE,CAAC,OAAO,CACvB,6CAA6C,CAC9C,CAAC,GAAG,CAAC,QAAQ,CAA+C,CAAC;IAE9D,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,4BAAmB,CAAC,QAAQ,CAAC,CAAC;IAC1C,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,KAAK,cAAc,EAAE,CAAC;QACrC,OAAO;YACL,SAAS,EAAE,QAAQ;YACnB,OAAO,EAAE,MAAM;YACf,OAAO,EAAE,KAAK;YACd,OAAO,EAAE,kBAAkB;YAC3B,MAAM,EAAE,WAAW,QAAQ,SAAS,MAAM,CAAC,MAAM,sCAAsC;SACxF,CAAC;IACJ,CAAC;IAED,qEAAqE;IACrE,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CACrB,2CAA2C,CAC5C,CAAC,GAAG,CAAC,MAAM,CAA+C,CAAC;IAE5D,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO;YACL,SAAS,EAAE,QAAQ;YACnB,OAAO,EAAE,MAAM;YACf,OAAO,EAAE,KAAK;YACd,OAAO,EAAE,iBAAiB;YAC1B,MAAM,EAAE,SAAS,MAAM,aAAa;SACrC,CAAC;IACJ,CAAC;IAED,IAAI,IAAI,CAAC,MAAM,KAAK,OAAO,IAAI,IAAI,CAAC,MAAM,KAAK,aAAa,EAAE,CAAC;QAC7D,OAAO;YACL,SAAS,EAAE,QAAQ;YACnB,OAAO,EAAE,MAAM;YACf,OAAO,EAAE,KAAK;YACd,OAAO,EAAE,iBAAiB;YAC1B,MAAM,EAAE,SAAS,MAAM,SAAS,IAAI,CAAC,MAAM,gDAAgD;SAC5F,CAAC;IACJ,CAAC;IAED,mBAAmB;IACnB,8FAA8F;IAC9F,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACnB,OAAO;YACL,SAAS,EAAE,QAAQ;YACnB,OAAO,EAAE,MAAM;YACf,OAAO,EAAE,KAAK;YACd,OAAO,EAAE,gBAAgB;YACzB,MAAM,EAAE,gBAAgB,KAAK,oBAAoB,KAAK,WAAW,IAAI,gBAAgB;SACtF,CAAC;IACJ,CAAC;IAED,OAAO;QACL,SAAS,EAAE,QAAQ;QACnB,OAAO,EAAE,MAAM;QACf,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,IAAI;KACd,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"spawn-legality.js","sourceRoot":"","sources":["../../src/validators/spawn-legality.ts"],"names":[],"mappings":";AAAA,yBAAyB;AACzB,sEAAsE;AACtE,uDAAuD;AACvD,sEAAsE;AACtE,6CAA6C;;AAsB7C,gDAsEC;AAxFD,4CAAsD;AAEtD;;;;;;;;;;;;;;;GAeG;AACH,SAAgB,kBAAkB,CAChC,EAAqB,EACrB,QAAgB,EAChB,MAAc,EACd,KAAa,EACb,IAAY;IAEZ,0CAA0C;IAC1C,MAAM,MAAM,GAAG,EAAE,CAAC,OAAO,CACvB,6CAA6C,CAC9C,CAAC,GAAG,CAAC,QAAQ,CAA+C,CAAC;IAE9D,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,4BAAmB,CAAC,QAAQ,CAAC,CAAC;IAC1C,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,KAAK,cAAc,EAAE,CAAC;QACrC,OAAO;YACL,SAAS,EAAE,QAAQ;YACnB,OAAO,EAAE,MAAM;YACf,OAAO,EAAE,KAAK;YACd,OAAO,EAAE,kBAAkB;YAC3B,MAAM,EAAE,WAAW,QAAQ,SAAS,MAAM,CAAC,MAAM,sCAAsC;SACxF,CAAC;IACJ,CAAC;IAED,kFAAkF;IAClF,uGAAuG;IACvG,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CACrB,wEAAwE,CACzE,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAkE,CAAC;IAEzF,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO;YACL,SAAS,EAAE,QAAQ;YACnB,OAAO,EAAE,MAAM;YACf,OAAO,EAAE,KAAK;YACd,OAAO,EAAE,mBAAmB;YAC5B,MAAM,EAAE,SAAS,MAAM,0BAA0B,QAAQ,GAAG;SAC7D,CAAC;IACJ,CAAC;IAED,IAAI,IAAI,CAAC,MAAM,KAAK,OAAO,IAAI,IAAI,CAAC,MAAM,KAAK,aAAa,EAAE,CAAC;QAC7D,OAAO;YACL,SAAS,EAAE,QAAQ;YACnB,OAAO,EAAE,MAAM;YACf,OAAO,EAAE,KAAK;YACd,OAAO,EAAE,iBAAiB;YAC1B,MAAM,EAAE,SAAS,MAAM,SAAS,IAAI,CAAC,MAAM,gDAAgD;SAC5F,CAAC;IACJ,CAAC;IAED,mBAAmB;IACnB,8FAA8F;IAC9F,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACnB,OAAO;YACL,SAAS,EAAE,QAAQ;YACnB,OAAO,EAAE,MAAM;YACf,OAAO,EAAE,KAAK;YACd,OAAO,EAAE,gBAAgB;YACzB,MAAM,EAAE,gBAAgB,KAAK,oBAAoB,KAAK,WAAW,IAAI,gBAAgB;SACtF,CAAC;IACJ,CAAC;IAED,OAAO;QACL,SAAS,EAAE,QAAQ;QACnB,OAAO,EAAE,MAAM;QACf,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,IAAI;KACd,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lwelliott/cortex-cli",
3
- "version": "1.0.3",
3
+ "version": "1.0.4",
4
4
  "description": "A TypeScript CLI for managing software project artifacts backed by SQLite",
5
5
  "license": "MIT",
6
6
  "repository": {