- Phase 1: Auth, users, applications, issues, API
- Phase 2: Catalog, requests, approvals, notifications
- Phase 3: On-call, escalation, integrations
- Phase 4: Change management, CAB
- Phase 5: AWS, health scores
- Phase 6: Reporting, mobile
007_health_cloud.ts- Health scores, cloud accounts, resources, costs, metrics, mapping rules
- Health score configuration per tier (P1, P2, P3, P4) with customizable weights and penalties
- Tier weights affect scoring strictness (P1=1.5x, P2=1.2x, P3=1.0x, P4=0.8x)
- Component scores: Issues (40%), Changes (25%), SLA (25%), Uptime (10%)
- Issue penalties: Critical (-15), High (-8), Medium (-3), Low (-1)
- Score calculation from real issue and change data
- Score history tracking with trend detection (improving, stable, declining)
- Summary dashboard with excellent/good/warning/critical counts
- Multi-provider support (AWS, Azure, GCP) - stubs ready for implementation
- Cloud account management with credential storage
- Sync configuration (resources, costs, metrics) with scheduling
- Cloud resource tracking with application mapping
- Resource auto-mapping rules based on tags
- Cost reports by account, application, period (daily/weekly/monthly)
- Metrics storage for CloudWatch-style data
GET /v1/health/config- List health score configsGET/PUT /v1/health/config/:tier- Get/update config by tierGET /v1/health/scores- List all application health scoresGET /v1/health/summary- Health summary dashboardGET /v1/health/applications/:id- Get health score for applicationGET /v1/health/applications/:id/history- Health score historyPOST /v1/health/applications/:id/calculate- Calculate/recalculate health scoreGET/POST /v1/cloud/accounts- List/create cloud accountsGET/PUT/DELETE /v1/cloud/accounts/:id- Cloud account CRUDPOST /v1/cloud/accounts/:id/test- Test cloud account connectionGET /v1/cloud/resources- List cloud resourcesGET /v1/cloud/resources/types- Resource type summaryGET /v1/cloud/resources/:id- Get cloud resourcePOST /v1/cloud/resources/:id/map- Map resource to applicationDELETE /v1/cloud/resources/:id/map- Unmap resource from applicationGET /v1/cloud/applications/:id/resources- Resources by applicationGET /v1/cloud/costs- List cost reportsGET /v1/cloud/applications/:id/costs- Costs by applicationGET/POST /v1/cloud/mapping-rules- List/create mapping rulesDELETE /v1/cloud/mapping-rules/:id- Delete mapping rulePOST /v1/cloud/mapping-rules/apply- Apply mapping rules
- List health score configs (P1-P4 with weights)
- Get health config by tier (P1)
- Create cloud account (Production AWS)
- Test cloud account connection (stub)
- Create application (Payment Gateway, P1)
- Calculate health score (99.99% - no issues or failed changes)
- View health score history (1 entry)
- View health summary (1 excellent app)
006_changes.ts- Change windows, templates, requests, tasks, approvals, status history, comments
- Maintenance windows with recurrence patterns (one-time, weekly, monthly, custom)
- Support for multiple window types (maintenance, freeze, emergency_only, blackout)
- Application and tier filtering
- Notification timing before window starts
- Pre-defined templates for standard changes
- Default plans (implementation, rollback, test)
- Risk level defaults
- Approval requirements
- Full workflow: draft -> submitted -> approved -> scheduled -> implementing -> completed/failed/rolled_back
- Human-readable IDs (CHG-00001)
- Risk assessment with structured JSON
- CAB (Change Advisory Board) support
- Template integration for pre-populated plans
- Change window assignment
- Task management within changes
- Task types: pre_check, implementation, validation, rollback
- Status workflow: pending -> in_progress -> completed/skipped/failed
- Blocking task support
- Multi-step approval workflow
- Approval status tracking
- Approver comments
- Delegation support
GET/POST /v1/changes/change-windows- List/create change windowsGET /v1/changes/change-windows/upcoming- Upcoming windows calendarGET/PUT/DELETE /v1/changes/change-windows/:id- Window CRUDGET/POST /v1/changes/change-templates- List/create change templatesGET/PUT/DELETE /v1/changes/change-templates/:id- Template CRUDGET/POST /v1/changes- List/create change requestsGET/PUT/DELETE /v1/changes/:id- Change CRUDPOST /v1/changes/:id/submit- Submit for approvalPOST /v1/changes/:id/approve- Approve changePOST /v1/changes/:id/reject- Reject changePOST /v1/changes/:id/schedule- Schedule approved changePOST /v1/changes/:id/start- Start implementationPOST /v1/changes/:id/complete- Complete changePOST /v1/changes/:id/fail- Mark as failedPOST /v1/changes/:id/rollback- Mark as rolled backGET/POST /v1/changes/:id/tasks- Get/create tasksPUT/DELETE /v1/changes/:id/tasks/:taskId- Update/delete taskPOST /v1/changes/:id/tasks/:taskId/start- Start taskPOST /v1/changes/:id/tasks/:taskId/complete- Complete taskGET /v1/changes/:id/approvals- Approval historyGET /v1/changes/:id/history- Status historyGET/POST /v1/changes/:id/comments- Comments
- Create change window (Weekend Maintenance Window)
- Create change template (Database Patch)
- Create change request (CHG-00001) using template
- Add task to change (pre_check: Create database backup)
- Submit for approval (draft -> submitted)
- Approve change (submitted -> approved)
- Schedule change (approved -> scheduled)
- Start implementation (scheduled -> implementing)
- Complete change (implementing -> completed)
- View status history (6 transitions recorded)
- View approval records
005_oncall.ts- On-call schedules, rotations, shifts, escalation policies, escalation steps, schedule-application links
- Full schedule management with rotation patterns (daily, weekly, bi-weekly, custom)
- Configurable handoff time and day
- Timezone support per schedule
- Schedule-to-group association
- Color coding for visual distinction
- Active/inactive status
- User rotation management within schedules
- Position-based ordering
- Add/remove users from rotation
- Update rotation positions
- Manual shift creation with start/end times
- Primary and secondary shift types
- Multi-layer support (up to 10 layers)
- Override creation for temporary coverage
- Override reasons and original user tracking
- Date range queries for shift retrieval
- Policy management with repeat count and delay configuration
- Default policy designation
- Multi-step escalation with configurable delays
- Notification targets: schedule (on-call), user, or group
- Multi-channel notifications (email, SMS, Slack, phone)
- Step ordering and management
- Real-time query for current on-call responders
- Filter by schedule or application
- Override-aware (overrides take precedence)
- Returns user contact information
- Link schedules to applications
- Query schedules by application
- Unlink schedules from applications
GET/POST /v1/oncall/schedules- List/create on-call schedulesGET/PUT/DELETE /v1/oncall/schedules/:id- Schedule CRUDGET/POST /v1/oncall/schedules/:id/rotations- Get/add rotation membersPUT/DELETE /v1/oncall/schedules/:id/rotations/:rotationId- Update/remove rotationGET/POST /v1/oncall/schedules/:id/shifts- Get/create shiftsDELETE /v1/oncall/schedules/:id/shifts/:shiftId- Delete shiftPOST /v1/oncall/schedules/:id/override- Create shift overrideGET/POST /v1/oncall/schedules/:id/applications- Get/link applicationsDELETE /v1/oncall/schedules/:id/applications/:applicationId- Unlink applicationGET /v1/oncall/who-is-on-call- Query who is currently on callGET/POST /v1/oncall/escalation-policies- List/create escalation policiesGET/PUT/DELETE /v1/oncall/escalation-policies/:id- Policy CRUDGET/POST /v1/oncall/escalation-policies/:id/steps- Get/add escalation stepsPUT/DELETE /v1/oncall/escalation-policies/:id/steps/:stepId- Update/remove steps
- Create on-call schedule (Platform Engineering On-Call)
- Add user to rotation (position 1)
- Create primary shift (24-hour)
- Create override shift (covering for PTO)
- Query who is on call (returns override user)
- Create escalation policy (Critical Alert Policy)
- Add escalation steps (schedule notification, then user notification)
- Get policy with all steps
003_catalog_requests.ts- Catalog categories, items, bundles, service requests, approvals, notifications004_additional_permissions.ts- Added requests:assign, approvals:read, approvals:approve permissions
- Catalog categories with hierarchical support (parent_id)
- Catalog items with dynamic JSON form schema
- Form field types: text, textarea, email, phone, number, date, datetime, select, multi_select, radio, checkbox, file, user_picker, group_picker, application_picker
- Conditional field visibility
- Fulfillment and approval group assignment
- Expected completion days and pricing
- Full workflow: submitted -> pending_approval -> approved -> in_progress -> completed/cancelled
- Human-readable IDs (REQ-00001)
- Form data capture from catalog item schema
- Priority levels (low, medium, high, critical)
- Auto-calculated due dates based on catalog item expected completion days
- Status history tracking
- Request comments (public and internal)
- Multi-step approval workflow
- Group-based approvers
- Approval delegation support
- Pending approvals list for current user
- Notification channels (email, in_app, slack, webhook)
- Notification templates with variable substitution
- User notification preferences by event type
- Unread count tracking
- Mark as read (single and bulk)
GET/POST /v1/catalog/categories- List/create catalog categoriesGET/PUT/DELETE /v1/catalog/categories/:id- Category CRUDGET/POST /v1/catalog/items- List/create catalog itemsGET/PUT/DELETE /v1/catalog/items/:id- Item CRUDGET/POST /v1/requests- List/create service requestsGET/PUT /v1/requests/:id- Request CRUDPOST /v1/requests/:id/assign- Assign requestPOST /v1/requests/:id/start- Start work on requestPOST /v1/requests/:id/complete- Complete requestPOST /v1/requests/:id/cancel- Cancel requestGET /v1/requests/:id/approvals- Get request approvalsPOST /v1/requests/:id/approvals/:approvalId/approve- Approve requestPOST /v1/requests/:id/approvals/:approvalId/reject- Reject requestGET/POST /v1/requests/:id/comments- Request commentsGET /v1/requests/:id/history- Request status historyGET /v1/requests/my- My submitted requestsGET /v1/requests/assigned- Requests assigned to meGET /v1/requests/pending-approvals- Pending approvals for meGET /v1/notifications- List my notificationsGET /v1/notifications/unread-count- Unread notification countPOST /v1/notifications/:id/read- Mark notification as readPOST /v1/notifications/mark-all-read- Mark all as readDELETE /v1/notifications/:id- Delete notificationGET/PUT /v1/notifications/preferences- User notification preferencesGET/POST /v1/notifications/channels- Notification channels (admin)PUT /v1/notifications/channels/:id- Update channel (admin)GET /v1/notifications/templates- List notification templates (admin)PUT /v1/notifications/templates/:eventType/:channelType- Update template (admin)
- Create catalog category (Hardware)
- Create catalog item (Laptop Request) with form schema
- Submit service request (REQ-00001) with form data
- Start work on request (status: submitted -> in_progress)
- Complete request (status: in_progress -> completed)
- View request status history (3 transitions recorded)
- Notification templates seeded
- Docker Compose setup (PostgreSQL 15, Redis 7)
- Multi-tenant schema-per-tenant architecture
- Human-readable ID generation (APP-00001, ISS-00001)
- SLA policy configuration with business hours
- JWT authentication with refresh tokens
- RBAC with 4 default roles (admin, manager, agent, requester)
- 37+ granular permissions
- Zod validation on all endpoints
POST /v1/auth/register- Register new tenantPOST /v1/auth/login- User loginPOST /v1/auth/logout- User logoutPOST /v1/auth/refresh- Refresh tokenGET /v1/auth/me- Get current userPUT /v1/auth/password- Change passwordGET/POST /v1/users- List/create usersGET/PUT/DELETE /v1/users/:id- User CRUDGET /v1/users/:id/groups- User's groupsPUT /v1/users/:id/roles- Assign rolesGET/POST /v1/groups- List/create groupsGET/PUT/DELETE /v1/groups/:id- Group CRUDGET/POST/DELETE /v1/groups/:id/members- Group membersGET/POST /v1/roles- List/create rolesGET/PUT /v1/roles/:id- Role CRUDGET /v1/roles/permissions- List permissionsGET/POST /v1/applications- List/create applicationsGET/PUT/DELETE /v1/applications/:id- Application CRUDGET /v1/applications/:id/health- Health scoreGET/POST /v1/applications/:id/environments- EnvironmentsPUT/DELETE /v1/applications/:id/environments/:envId- Environment CRUDGET/POST /v1/issues- List/create issuesGET/PUT /v1/issues/:id- Issue CRUDPOST /v1/issues/:id/assign- Assign issuePOST /v1/issues/:id/escalate- Escalate issuePOST /v1/issues/:id/resolve- Resolve issuePOST /v1/issues/:id/close- Close issuePOST /v1/issues/:id/reopen- Reopen issueGET/POST /v1/issues/:id/comments- Issue commentsGET/POST /v1/issues/:id/worklogs- Issue worklogsGET /v1/issues/:id/history- Issue status historyGET /v1/issues/categories- Issue categoriesGET /health- Health checkGET /ready- Readiness check
| Time | Task | Status |
|---|---|---|
| 2025-12-10 15:37 | Read ARCHITECTURE.md, initialized PROGRESS.md | Completed |
| 2025-12-10 15:38 | Set up project structure | Completed |
| 2025-12-10 15:40 | Created database migrations | Completed |
| 2025-12-10 15:42 | Implemented auth module | Completed |
| 2025-12-10 15:45 | Implemented users/groups CRUD | Completed |
| 2025-12-10 15:48 | Implemented applications registry | Completed |
| 2025-12-10 15:50 | Implemented issues module | Completed |
| 2025-12-10 15:52 | Set up Docker | Completed |
| 2025-12-10 15:55 | Ran migrations | Completed |
| 2025-12-10 15:57 | Verified full flow | Completed |
| 2025-12-10 16:05 | Created Phase 2 migrations | Completed |
| 2025-12-10 16:06 | Implemented catalog service and routes | Completed |
| 2025-12-10 16:07 | Implemented requests service and routes | Completed |
| 2025-12-10 16:08 | Implemented notifications service and routes | Completed |
| 2025-12-10 16:10 | Ran migrations, verified Phase 2 flow | Completed |
| 2025-12-10 16:15 | Created Phase 3 migration (005_oncall.ts) | Completed |
| 2025-12-10 16:16 | Implemented oncall service and routes | Completed |
| 2025-12-10 16:17 | Ran migration 005, verified Phase 3 flow | Completed |
| 2025-12-10 16:20 | Created Phase 4 migration (006_changes.ts) | Completed |
| 2025-12-10 16:25 | Implemented change management services and routes | Completed |
| 2025-12-10 16:27 | Ran migration 006, verified Phase 4 flow | Completed |
| 2025-12-10 16:37 | Created Phase 5 migration (007_health_cloud.ts) | Completed |
| 2025-12-10 16:38 | Implemented health and cloud services and routes | Completed |
| 2025-12-10 16:41 | Ran migration 007, verified Phase 5 flow | Completed |
- Reporting dashboard with charts
- Report templates and scheduling
- Export functionality (PDF, Excel)
- Mobile-friendly views