Files
ui/_docs/03_implementation/deploy_cycle3_report.md
Oleksandr Bezdieniezhnykh eef3bdf7db [AZ-509][AZ-510][AZ-511] Cycle 3 closure: deploy + retro + state
Steps 16 (Deploy) and 17 (Retrospective) outputs for cycle 3.

- 03_implementation/deploy_cycle3_report.md — ui/ dev pushed
  (15838c5..09449bd, 5 commits); stage/prod cutover deferred
  per push-scope gate option A.
- 06_metrics/retro_2026-05-13_cycle3.md — cycle 3 retro: 6/9
  pts shipped (AZ-510, AZ-511); AZ-512 deferred to backlog
  at cross-workspace prereq gate (AZ-513 filed on admin/).
- 06_metrics/structure_2026-05-13.md — structural snapshot
  referenced by retro.
- LESSONS.md — appended 3 cycle-3 lessons (process x2,
  architecture x1).
- _autodev_state.md — cycle 3 closed; cycle 4 Step 9 not
  started.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-13 04:15:37 +03:00

4.7 KiB

Cycle 3 Step 16 — Deploy Report

Date: 2026-05-13 Cycle: 3 (autodev existing-code Step 16) Mode chosen: real cutover (option A in the cycle-3 deploy gate) Push scope chosen: ui/ dev only (option A in the push-scope sub-gate; B/C/D not selected) Outcome: ui/ dev pushed; stage/prod cutover deferred to a later turn; admin/ dev NOT pushed.

What was actually deployed

Repo Branch Commits pushed Pipeline triggered
ui/ dev (15838c5..09449bd) 5 Woodpecker dev build for ui/
admin/ 0 (locally ahead by 1) none

Commits pushed to ui/ origin/dev

09449bd [AZ-510][AZ-511][AZ-512][AZ-513] Cycle 3 Steps 12-15 + admin prereq
6c7e297 [AZ-512] Defer to backlog at cross-workspace BLOCKING gate
c368f60 [AZ-511] classColors carve-out to src/class-colors/ (closes F3)
70fb452 [AZ-510] Auth bootstrap: POST refresh + chained /users/me
098a556 [AZ-509][AZ-510][AZ-511][AZ-512] Cycle 3 new-task: epic + 3 task specs

What was NOT done (deferred / pending)

ID Item Reason Owner
D-CY3-STAGE ui/ dev → stage → push origin/stage User chose option A (dev-only) at the push-scope gate. Stage cutover deferred to a later autodev / manual run. User
D-CY3-MAIN ui/ stage → main → push origin/main (prod cutover) Same reason as above. Devices will not auto-pull cycle-3 changes until this completes. User
D-CY3-ADMIN-PUSH admin/ dev push origin/dev User did not select option D at the push-scope gate. The AZ-513 task spec sits locally on admin/ dev. Docs-only commit — no admin/ build trigger expected even when pushed. User
D-CY3-AZ513-IMPL Implementation of AZ-513 (admin/ POST + PATCH + DELETE /classes routes) New cross-workspace dependency: admin/ workspace must implement before AZ-512 can ship. Filed in Jira (AZ-513, parent epic AZ-509, Blocks AZ-512). admin/ team

Carry-forward from cycle 2

The cycle-2 deploy_planning_sync_cycle2.md deferred 3 items to leftovers in _docs/_process_leftovers/2026-05-12_az-498-deploy-and-key-revocations.md. Cycle 3 did NOT close any of them:

ID (cycle 2) Item Status as of 2026-05-13
L-AZ-498-DEPLOY UI tile-swap prod cutover Still deferred — cross-workspace satellite-provider gate unchanged; UI prod cutover would now ship cycle-3 + cycle-2 simultaneously.
L-AZ-499-OWM-REVOKE OWM key revocation at owm dashboard Still pending — manual third-party action; owner: user.
L-AZ-501-GOOGLE-REVOKE Google Geocode key revocation at Google Cloud Console Still pending — manual third-party action; owner: user.

These leftovers need a status sweep at the start of the next /autodev invocation per tracker.mdc Leftovers Mechanism.

Cycle-3 deployment-doc deltas (NOT written this cycle)

In strict autodev terms, Step 16 in this cycle was a real cutover (option A), not a planning sync. The cycle-2 pattern of patching _docs/02_document/deployment/* was therefore skipped here because:

  • AZ-510 and AZ-511 introduced no changes to Dockerfile, .woodpecker/, env vars, or nginx (verified via git diff --stat 70fb452^..HEAD -- nginx.conf Dockerfile .woodpecker/ e2e/ .env.example mission-planner/.env.example — empty).
  • AZ-510 wire-shape change is internal to the auth path; the production admin/ service already serves POST /api/admin/auth/refresh (used by the existing 401-retry path in src/api/client.ts:88-99) and GET /api/admin/users/me, so deployment-side configuration is already correct.
  • AZ-512 (deferred) introduced no source changes.

If a future cycle adds env vars, infra changes, or new services, the cycle-2 planning-sync pattern (update environment_strategy.md, ci_cd_pipeline.md, containerization.md, observability.md) should be applied.

Verification

  • git push origin dev for ui/ returned 15838c5..09449bd dev -> dev (5 commits, fast-forward).
  • git status -sb for ui/ confirms dev and origin/dev are synced post-push (no [ahead N]).
  • Functional test suite green pre-push (231 passed, 13 quarantined skips — see test-output/summary.csv and test-output/fast-report.xml).
  • Static perf NFT-PERF-01 green pre-push (290 575 B gzipped vs ≤ 2 097 152 B threshold — see test-output/performance-summary.txt).
  • Security cycle-3 delta verdict PASS_WITH_WARNINGS pre-push (see _docs/05_security/security_report_cycle3_delta.md).
  • No nginx/Docker/CI config changes in cycle 3 (verified via git diff --stat 70fb452^..HEAD -- nginx.conf Dockerfile .woodpecker/ e2e/ .env.example mission-planner/.env.example empty).

Auto-chain

→ Step 17 (Retrospective) for cycle 3.