-
Notifications
You must be signed in to change notification settings - Fork 0
[OpenSpec] [planix] register-schemas #2
Copy link
Copy link
Open
Description
Replace the placeholder example schema in planix_register.json with 5 production-ready schemas (task, project, column, timeEntry, label) that fully encode the Planix data model. Add seed data per ADR-016 so fresh installs start with a working demo environment.
Specs
- register-schemas — defines and registers the complete Planix data model in OpenRegister
Tasks
Schema Definitions
- 1. Define
taskschema inplanix_register.json- All properties from design.md included (title, description, status, priority, project, etc.)
-
required: ["title", "status"]
- 2. Define
projectschema inplanix_register.json- All properties included (title, description, status, color, icon, members, etc.)
-
required: ["title", "status"]
- 3. Define
columnschema inplanix_register.json- All properties included (title, project, order, wipLimit, color, type)
-
required: ["title", "project", "order"]
- 4. Define
timeEntryschema inplanix_register.json- All properties included (task, user, duration, date, description)
-
required: ["task", "user", "duration", "date"]
- 5. Define
labelschema inplanix_register.json- All properties included (title, color, description)
-
required: ["title", "color"]
Seed Data
- 6. Add seed data — Labels (5 objects)
- Bug, Feature, Docs, Design, Infrastructure labels with correct colors
- 7. Add seed data — Projects (3 objects)
- client-portal-v2, infrastructure-migration, onboarding-automation
- 8. Add seed data — Columns (12 objects — 4 per project)
- To Do, In Progress, Review, Done per project with correct WIP limits
- 9. Add seed data — Tasks (5 objects)
- fix-login-redirect, design-dashboard-widgets, write-api-docs, k8s-namespace-setup, onboarding-n8n-workflow
- 10. Add seed data — Time Entries (3 objects)
- Two entries for fix-login-redirect, one for k8s-namespace-setup
Integration
- 11. Bump register version from
0.1.0to0.2.0- Update
info.versioninplanix_register.json - Update
SettingsService.phpif it holds a version constant
- Update
- 12. Remove
exampleschema reference fromDeepLinkRegistrationListener- Remove or replace all references to slug
"example"
- Remove or replace all references to slug
Verification
- 13. Verify import in local dev environment
- All 5 schemas present in planix register
- All seed objects created
- Register version matches 0.2.0
- 14. Verify idempotency — re-import does not create duplicates
- 15. Verify schema validation
- POST without title returns 400
- POST with invalid status enum returns 400
- 16. Run
composer check:strict- All PHPCS, PHPMD, Psalm, PHPStan checks pass
Reactions are currently unavailable