Repository navigation
docs: OpenSpec for task status workflow - #7
johnmcollier wants to merge 2 commits into
Conversation
Proposal-only change (no implementation) so /fs-grillme can be exercised against a typical small-app OpenSpec: status enum, list filter, and a few still-open decisions around cancelled vs delete and the legacy completed flag. Co-authored-by: Cursor <cursoragent@cursor.com>
|
🤖 Finished Review · ✅ Success · Started 3:51 PM UTC · Completed 4:05 PM UTC Commit: |
ReviewFindingsMedium
Low
Previous runReviewFindingsMedium
Low
Labels: PR adds only documentation/specification files under openspec/ |
|
/fs-grillme |
|
/fs-grillme |
|
🤖 Finished Grillme · ✅ Success · Started 5:29 PM UTC · Completed 5:32 PM UTC Commit: |
|
/fs-grillme |
|
🤖 Finished Grillme · ✅ Success · Started 7:23 PM UTC · Completed 7:26 PM UTC Commit: |
|
Now I have everything I need. Let me analyze the diff and formulate the grillme output. Summary of the PR:
Here is my output: 🔥 Grillme — Turn 1Reviewing this PR for design decisions and architectural alignment. Reply to each inline comment with your decision, then run Reply to inline comments, then run |
|
/fs-grillme |
|
🤖 Finished Grillme · ✅ Success · Started 7:43 PM UTC · Completed 7:47 PM UTC Commit: |
|
/fs-grillme |
|
🤖 Finished Grillme · ✅ Success · Started 7:50 PM UTC · Completed 7:55 PM UTC Commit: |
|
/fs-grillme |
|
🤖 Finished Grillme · ✅ Success · Started 8:01 PM UTC · Completed 8:04 PM UTC Commit: |
|
/fs-grillme |
|
🤖 Finished Grillme · ✅ Success · Started 8:09 PM UTC · Completed 8:13 PM UTC Commit: |
|
/fs-grillme |
|
🤖 Finished Grillme · ✅ Success · Started 8:17 PM UTC · Completed 8:20 PM UTC Commit: |
🔥 Grillme — Session CompleteAll 11 threads resolved across 3 turns. Decisions reached:
Remaining gaps:
Suggested next step: Apply the agreed changes to the OpenSpec documents in this PR (add provisional qualifiers, promote decisions, add spec scenarios, add docs task section), then Start a new session with |
|
/fs-fix apply fullsend grill me results |
|
🤖 Finished Fix · ✅ Success · Started 8:23 PM UTC · Completed 8:29 PM UTC Commit: |
design.md: - Reframe soft-delete non-goal to distinguish cancelled status from soft-delete endpoint - Add updatedAt to Non-Goals as explicit deferral - Mark Decision 2 completed:false→todo mapping as provisional - Promote conflict resolution (status wins over completed) to Decision 5 - Promote unfiltered GET returns all statuses to Decision 6 - Remove resolved open questions (cancelled in GET, updatedAt) specs/task-status/spec.md: - Add scenario for completed:false → status:todo mapping - Add scenario for PATCH with invalid status → 400 - Add scenario for status/completed conflict resolution tasks.md: - Specify options-object signature for TaskStore.create - Specify ValidationError for store validation (not sentinel) - Specify STATUSES exported from store as single source of truth - Add task 1.5 for status/completed conflict handling - Add provisional note to task 1.4 - Add test 3.5 for conflict case - Add section 4 (Docs) with README update task Addresses review feedback on #7
🔧 Fix agent — iteration 1 (human-triggered)Applied 14 grillme-resolved decisions across 3 OpenSpec files (design.md, spec.md, tasks.md). Changes include: reframing the soft-delete non-goal, adding updatedAt to Non-Goals, marking Decision 2 as provisional, promoting conflict resolution and unfiltered-GET-returns-all to formal Decisions (5 and 6), adding 3 new spec scenarios (completed:false, invalid PATCH status, status/completed conflict), and updating tasks.md with options-object signature, ValidationError, STATUSES export, conflict task, provisional note, new test, and docs section. One finding (completed deprecation timeline) was declined by the engineer. Fixed (14):
Disagreed (1):
Tests: passedNext steps:
|
|
🤖 Finished Review · ✅ Success · Started 8:30 PM UTC · Completed 8:43 PM UTC Commit: |
Summary
Adds a typical small-app OpenSpec change — not implemented — so we can dogfood
/fs-grillmeon this playground.The sample API today is an in-memory task store with a boolean
completedflag. A natural next feature is a status workflow (todo→in_progress/blocked/done/cancelled) plusGET /tasks?status=filtering.What a typical OpenSpec looks like here
This repo is not RHDH, so this is the lightweight
spec-drivenlayout (proposal / design / spec / tasks), not therhdh-spec-drivenschema with PRDs, journals, and showboat demos.Intentionally left a few decision gaps for grilling:
cancelledvsDELETE(two ways to dismiss a task)completed+statuson PATCH, includingcompleted: falseon ablockedtaskGET /tasksshould hidecancelledNo
src/changes in this PR.Test plan
/fs-grillmeon this PR/fs-grillmeagainMade with Cursor