Merged
Conversation
added 11 commits
March 30, 2026 14:42
…peckit.plan) - plan.md: Implementation architecture, constitution checks pass - research.md: 7 key technical decisions (event sourcing, idempotency, UX, projections, auth, state, errors) - data-model.md: RideDeleted event, Ride aggregate transitions, read projections, API schema - quickstart.md: Testing workflow, validation commands, acceptance criteria, debugging guide - contracts/ride-delete-api.yaml: OpenAPI 3.0 DELETE endpoint spec - contracts/ride-deleted-event.schema.json: Event schema Next: speckit.tasks to generate actionable task list
…mplete) 120 actionable tasks organized by phase and user story: - Phase 1: Environment verification (1 task) - Phase 2: Contracts & Infrastructure review (4 tasks, [P] parallel) - Phase 3: F# Domain layer (11 tasks, TDD red-green cycles) - Phase 4: C# API layer (21 tasks, authorization + idempotency) - Phase 5: React Frontend (22 tasks, dialog + integration) - Phase 6: E2E Integration tests (5 tasks, [P] parallel) - Phase 7: Polish & Verification (10 tasks, verification checklist) Format compliance: ✓ Strict checkbox format: [ ] T### [P] [US#] Description + file path ✓ 17 [P] markers for parallel-safe tasks (60% time savings potential) ✓ 41 [US#] labels mapping to user stories ✓ TDD gated: Red tests before implementation on all major features ✓ Dependencies matrix with critical path and parallel opportunities Ready for implementation execution.
T010-T011 (Event Payload): ✓ GREEN (4 tests) - RideDeletedEventPayload.cs implemented - Tests verify EventType, Source constants, Create method T012-T013 (Delete Handler): ✓ GREEN (5 tests) - DeleteRideHandler.cs implemented with: * Non-existent ride detection * Ownership verification (authorization) * Idempotent deletion * Outbox event creation * Logging All 9 domain/handler tests passing. Ready for API layer (Phase 4).
…alidation - Add RideDeleteDialog component + styles + tests - Integrate delete action into HistoryPage and table row controls - Add delete API client in ridesService with tests - Add E2E delete history suite including cross-user forbidden scenario - Update backend delete service for idempotent re-delete and immediate read-model removal - Verify: frontend unit tests (66), backend tests (76), delete E2E (4), frontend build pass, lint pass - Mark completed tasks in specs/007-delete-rides/tasks.md
- Mark all phases 1-6 tasks complete in tasks.md - T115: Verify DELETE endpoint responding (401 on unauthenticated request) - T116: Smoke test via E2E - all 4 delete scenarios pass (30.4s) - Basic delete flow with UI interaction - Cancel dialog flow - Idempotent delete with isIdempotent flag - Cross-user authorization (403 NOT_RIDE_OWNER) - T117: Document 8 edge cases and known behaviors - Empty history, rapid deletes, offline handling, precision - Create docs/007-delete-rides-edge-cases.md - T118: Verify all 9 acceptance criteria pass - Dialog confirmation, totals refresh, filtered ranges - T119: Code review checklist complete - F# domain pure functions verified - C# API minimal style confirmed - React hooks with explicit types (no 'any') - TypeScript service with full error handling - TDD discipline followed throughout - Contracts and documentation in place Implementation Status: ✅ COMPLETE - 142 automated tests passing (66 frontend + 76 backend) - 4/4 E2E scenarios verified - All acceptance criteria met - Code quality gates passed (eslint, stylelint, csharpier) - Ready for PR review and merge
typescript-eslint@8.57.x requires typescript >=4.8.4 <6.0.0 but the project uses typescript@6.0.2. Version 8.58.0 extends the peer range to <6.1.0, allowing clean npm install without --legacy-peer-deps.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.