Ahmed Darrazi
|
9eb3a849e2
|
feat(005): Generate task breakdown for Bulk Operations feature
98 tasks across 10 phases organized by user story:
- Phase 1-2: Setup + Foundational (13 tasks)
- Phase 3-4: US1 Bulk Delete + US2 Export (22 tasks) - MVP
- Phase 5: US5 Type-to-Confirm (7 tasks)
- Phase 6: US6 Progress Tracking (12 tasks)
- Phase 7-9: US3 Prune + US4 Delete Runs + Backup Sets (31 tasks)
- Phase 10: Polish + QA (13 tasks)
MVP Scope: 35 tasks (16-22 hours)
Full P1/P2: 85 tasks (26-34 hours)
Production Ready: 98 tasks (30-40 hours)
Each user story independently testable:
- US1: Bulk delete policies (local, ignored_at flag)
- US2: Bulk export to backup set
- US3: Prune old policy versions (eligibility checks)
- US4: Delete restore runs (skip running)
- US5: Type-to-confirm for ≥20 items
- US6: Progress tracking with Livewire polling
Parallel opportunities identified:
- All tests per story can run parallel
- User stories can be worked on by different devs
- Models/jobs in different files can be created parallel
Critical path to MVP: T001→T007→T014→T024 (12-16 hours)
|
2025-12-22 01:32:05 +01:00 |
|
Ahmed Darrazi
|
673fbd6b22
|
spec(005): Add comprehensive implementation plan for Bulk Operations
Adds:
- plan.md: Technical context, constitution check, phases
- research.md: 7 research decisions (progress tracking, chunking, type-to-confirm)
- data-model.md: BulkOperationRun model, schema changes, query patterns
- quickstart.md: Developer onboarding, testing workflows, debugging
Key Decisions:
- BulkOperationRun model + Livewire polling for progress
- collect()->chunk(10) for memory-efficient processing
- Filament form + validation for type-to-confirm
- ignored_at flag to prevent sync re-adding deleted policies
- Eligibility scopes for safe Policy Version pruning
Estimated: 26-34 hours (3 phases for P1/P2 features)
Next: /speckit.tasks to generate task breakdown
|
2025-12-22 01:27:42 +01:00 |
|
Ahmed Darrazi
|
1fa15b4db2
|
spec: Feature 004 & 005 with production-tested Graph API strategies
Feature 004 (Assignments & Scope Tags):
- Use fallback strategy for assignments read (direct + $expand)
- Use POST /directoryObjects/getByIds for stable group resolution
- POST /assign only (not PATCH) for assignments write
- Handle 204 No Content responses
Feature 005 (Bulk Operations):
- Policies: Local delete only (ignored_at flag, no Graph DELETE)
- Policy Versions: Eligibility checks + retention policy
- BulkOperationRun model for progress tracking
- Livewire polling for UI updates (not automatic)
- Chunked processing + circuit breaker (abort >50% fail)
- array $ids in Job constructor (not Collection)
|
2025-12-22 01:07:03 +01:00 |
|