mirror of
https://github.com/Sea-Haven-Industries/shoc-backend.git
synced 2026-10-02 10:53:23 +00:00
80 lines
3.4 KiB
Markdown
80 lines
3.4 KiB
Markdown
# Phase 7 — Gates Sign-Off Checklist
|
||
|
||
**Programa:** Work Orders Board
|
||
**Fase:** 7 — Rollout e Produção
|
||
|
||
---
|
||
|
||
## Engineering readiness (código — branch `feat/work-orders-phase-7`)
|
||
|
||
Itens de engenharia entregues no repositório. Não substituem gates de staging/ops abaixo.
|
||
|
||
| # | Item | Evidência | Status |
|
||
|---|------|-----------|--------|
|
||
| E1 | `GET /api/workorders/ops/health` | `WorkOrderOpsController` + `WorkOrderOpsHealthService` | [x] |
|
||
| E2 | `POST /api/workorders/ingest` + `X-Ingest-Key` | `WorkOrderIngestController` + `IngestApiKeyFilter` | [x] |
|
||
| E3 | `Sync:Enabled` → 503 no SyncController | `SyncOptions` + checks em WorkOrders/Comments/VendorReplies/All | [x] |
|
||
| E4 | Legacy deprecation middleware | `LegacyDeprecationMiddleware` + `LegacyEndpoints` config | [x] |
|
||
| E5 | Blazor sunset guard | `BlazorWorkOrderSunsetOptions` + guard em `WorkorderService` | [x] |
|
||
| E6 | Alertas documentados | [cloudwatch-alerts.md](cloudwatch-alerts.md) | [x] |
|
||
| E7 | Lambda mapping documentado | [lambda-ingest-discovery.md](lambda-ingest-discovery.md) | [x] |
|
||
| E8 | Testes coexistência | `dotnet test --filter FullyQualifiedName~WorkOrderPhase7` | [x] |
|
||
| E9 | Fase 6 slide-over API | `GET detail/audit/comments/media`, completion-doc, templates | [x] |
|
||
|
||
**Config flags (default seguro em prod):**
|
||
|
||
- `WorkOrderIngest:Enabled=true` (requer `ApiKey`)
|
||
- `Sync:Enabled=true` até cutover
|
||
- `LegacyEndpoints:DeprecationEnabled=false` até anúncio
|
||
- `BlazorWorkOrderSunset:Enabled=false` até data PO
|
||
|
||
---
|
||
|
||
## Gate de entrada (GO Fase 7)
|
||
|
||
Bloqueia piloto em produção até todos os itens estarem verdes.
|
||
|
||
| # | Gate | Artefato / evidência | Status |
|
||
|---|------|----------------------|--------|
|
||
| 1 | Fases 0–6 validadas em staging | `docs/work-orders/phase-0` … `phase-6` READMEs | [ ] |
|
||
| 2 | Sign-off CTO/PO Fase 0 | [phase-0-gates-signoff.md](../phase-0/phase-0-gates-signoff.md) | [ ] |
|
||
| 3 | Dry-run migrations Phase0–Phase6 | [migration-dry-run-report.md](../phase-0/migration-dry-run-report.md) | [ ] |
|
||
| 4 | Smoke multi-consumidor | [smoke-checklist.md](../phase-0/smoke-checklist.md) | [ ] |
|
||
| 5 | Vendor Portal regression | Checklist dispatch checklist/signoff | [ ] |
|
||
| 6 | SHOC E2E staging | Contratos phase-1 … phase-6 integrados | [ ] |
|
||
| 7 | Tier volume confirmado | [volume-discovery-report.md](../phase-0/volume-discovery-report.md) | [ ] |
|
||
|
||
### Checklist PO ([consumer-inventory.md](../phase-0/consumer-inventory.md))
|
||
|
||
- [ ] App mobile externo confirmado (sim/não/N/A)
|
||
- [ ] Data sunset Blazor WO definida: _______________
|
||
- [ ] `FrontendBaseUrl` produção → SHOC configurado
|
||
- [ ] Owner Lambda cutover nomeado: _______________
|
||
|
||
**Assinatura GO Fase 7**
|
||
|
||
| Papel | Nome | Data |
|
||
|-------|------|------|
|
||
| CTO | | |
|
||
| PO | | |
|
||
|
||
---
|
||
|
||
## Gates de saída (DONE Fase 7)
|
||
|
||
| Gate | Critério | Status |
|
||
|------|----------|--------|
|
||
| Piloto | 1–2 dispatchers SHOC em prod; UAT assinado | [ ] |
|
||
| Rollout | 100% dispatchers no board SHOC | [ ] |
|
||
| Estabilidade | Zero P1 por 2 semanas consecutivas | [ ] |
|
||
| Blazor | Módulo WO sunset (`BlazorWorkOrderSunset:Enabled`) | [ ] |
|
||
| Lambda | Ingest direto `POST /api/workorders/ingest`; Dynamo/Sync desligados | [ ] |
|
||
| Monitoramento | `GET /api/workorders/ops/health` + alertas CloudWatch criados | [ ] |
|
||
| Legado | Headers `Sunset`/`Deprecation` nos endpoints legado | [ ] |
|
||
|
||
**Assinatura DONE Fase 7**
|
||
|
||
| Papel | Nome | Data |
|
||
|-------|------|------|
|
||
| CTO | | |
|
||
| PO | | |
|