Update .kiro: remove SQLite hooks, add PostgreSQL migration hook, add workflow steering, sync specs
This commit is contained in:
28
.kiro/specs/jira-api-compliance-cleanup/tasks.md
Normal file
28
.kiro/specs/jira-api-compliance-cleanup/tasks.md
Normal file
@@ -0,0 +1,28 @@
|
||||
# Tasks
|
||||
|
||||
## Task 1: Remove the POST /api/jira/search route
|
||||
|
||||
- [x] 1.1 Delete the `router.post('/search', ...)` handler from `backend/routes/jiraTickets.js` (the entire block from the JSDoc comment through the closing `});`)
|
||||
- [x] 1.2 Verify no other code in the routes file references the removed handler
|
||||
- [x] 1.3 Verify the server starts without errors after the route removal
|
||||
|
||||
## Task 2: Widen the JQL time window to 72 hours
|
||||
|
||||
- [x] 2.1 In `backend/helpers/jiraApi.js`, change the `searchIssuesByKeys()` JQL string from `updated >= -24h` to `updated >= -72h`
|
||||
- [x] 2.2 Update the JSDoc comment on `searchIssuesByKeys()` if it references the 24-hour window
|
||||
|
||||
## Task 3: Update the API use-cases documentation
|
||||
|
||||
- [x] 3.1 In `docs/api/jira-api-use-cases.md`, update the bulk sync use case (Use Case 8) to reflect the `-72h` JQL window and remove any reference to arbitrary JQL or `POST /rest/api/2/search`
|
||||
- [x] 3.2 Update the Compliance Summary Table to reflect that JQL queries use predefined scoped patterns (no arbitrary JQL passthrough) and the `-72h` window
|
||||
- [x] 3.3 Update the Estimated Daily API Usage table to remove the arbitrary JQL search row and recalculate the total
|
||||
- [x] 3.4 Add `POST /rest/api/2/search` to the Blocked Endpoints section with an explanation that arbitrary JQL search via POST is not used
|
||||
|
||||
## Task 4: Write property-based test for JQL window invariant
|
||||
|
||||
- [x] 4.1 Create a property-based test that verifies `searchIssuesByKeys()` always generates JQL containing `updated >= -72h` and `project =` for any non-empty array of issue keys
|
||||
|
||||
## Task 5: Write example-based tests for route removal and remaining routes
|
||||
|
||||
- [x] 5.1 Write a test that sends `POST /api/jira/search` and asserts HTTP 404
|
||||
- [x] 5.2 Write tests that verify the remaining Jira routes (`GET /lookup/:issueKey`, `POST /sync-all`, `POST /:id/sync`, `POST /create-in-jira`) still respond with non-404 status codes
|
||||
Reference in New Issue
Block a user