Express Deletion
Express Deletion (MC #10493)
CEO directive: "Express je tvoj bug, brisi" — 2026-05-02
PR: #39
Status: DONE (merged 2026-05-02)
Outcome: 141 api-express files deleted, 415 npm packages deregistered
Context
Bilko had dual backends for 3 months post-Kotlin migration:
apps/api-express/(12 routes, 9 services, Node.js/TypeScript)apps/api/(Kotlin/Ktor, Exposed ORM, Flyway migrations)
Stage environment: Running Kotlin (bilko/api:stage-1f48fdc)
Prod environment: STILL running Express (bilko-api on Cloud Run, digest 2986d8b0..., port 4000)
CEO decision 2026-05-02: Kotlin is canonical. Express is deprecated. Delete immediately.
Actions Taken
- Branch created:
feat/bilko-kill-express - Directory deleted:
rm -rf apps/api-express/ - Workspace cleanup: Updated
package.jsonworkspaces (removedapps/api-express) - Docs updated:
CLAUDE.md— removed Express backend descriptionBUILD-BLUEPRINT.md— removed Express references
- CI verification:
turbo.jsonandcloudbuild.yamlhad ZERO Express references (no changes needed) - Cloud Run verification: Stage
bilko-api-stageconfirmed Kotlin-safe (revisionstage-1f48fdc) - Package install test:
npm install→ exit 0 (no broken workspace refs)
PR Details
URL: https://github.com/johnatbasicas/bilko/pull/39
Commit: 2c63cdb
Files changed: 141 deletions
Packages removed: 415 npm dependencies
Merge: Squash-merged 2026-05-02 08:51:17 UTC
Root Finding: PROD Still on Express
During Cloud Run inventory (MC #10493 verification by kelsey-hightower):
Stage API (bilko-api-stage):
- Image:
bilko/api:stage-1f48fdc(Kotlin) - Port: 4001
- Healthy
Prod API (bilko-api):
- Image digest:
sha256:2986d8b0...(Express container) - Port: 4000
- Still serving Express backend
Implication: Deleting apps/api-express/ from git does NOT affect prod — prod is running a stale container image. Prod cutover requires separate deployment action.
Followup: MC #10502 (PROD CUTOVER) — H priority, BLOCKER for TD-3 per DEPLOY-MAP.md
Side-Effect: Web Dockerfile Broke
Discovered: 2026-05-02 by kelsey-hightower during MC #10494 deploy verification
Root cause: apps/web/Dockerfile contained:
COPY apps/api-express/package.json ./apps/api-express/
This line was used for web build dependency extraction. When PR #39 deleted apps/api-express/, the COPY directive failed:
Step 8/24 : COPY apps/api-express/package.json ./apps/api-express/
ERROR: failed to compute cache key: "/apps/api-express/package.json" not found: not found
Impact: Web Cloud Build pipeline failed for 3 consecutive builds (regression window: PR #39 merge → PR #41 fix)
Fix: PR #41 (MC #10505) — removed single line from apps/web/Dockerfile
Verification
Tested by:
- codecraft — codebase integrity (no dangling imports)
- kelsey-hightower — Cloud Run service state
Evidence directory: /tmp/evidence-10493/
Smoke tests:
- Stage API health:
curl https://bilko-api-stage-dh4m46blja-lz.a.run.app/api/v1/health→ HTTP 200, Kotlin response shape - Web build: Cloud Build ID
b3bbde85SUCCESS (post-PR #41 fix) - Package install:
npm installexit 0, no workspace errors
Docs Cleanup
Files updated in PR #39:
CLAUDE.md
Before:
Backend: Express (apps/api-express/) — 12 routes, 9 services
Migration: Kotlin in progress (apps/api/)
After:
Backend: Kotlin/Ktor (apps/api/) — canonical since 2026-05-02
BUILD-BLUEPRINT.md
Before:
- Express API (Node.js/TypeScript)
- Kotlin API (migration target)
After:
- Kotlin/Ktor API (canonical)
- Note: Express deleted 2026-05-02 per ADR-021 package rename + CEO directive
Open Items
1. PROD Cutover (MC #10502)
Blocker: TD-3 per DEPLOY-MAP.md
Action required: Deploy Kotlin container to prod bilko-api Cloud Run service
Risk: Prod still on Express means any regression fix in Kotlin (e.g., MC #10494 registracija) does NOT reach prod users
Priority: H
2. Cloud Build API Pipeline
Current state: cloudbuild.yaml deploys web only (no Kotlin API build/deploy)
Risk: Kotlin code changes have no CI gate; manual deploy only
Followup: MC #10498 (Arch roadmap — Kotlin CI pipeline)
References
MCs:
- MC #10493 — Express deletion (this page)
- MC #10502 — PROD CUTOVER (open, H priority)
- MC #10505 — Web Dockerfile regression fix
PRs:
Evidence:
/tmp/evidence-10493/— postflight artifacts- DEPLOY-MAP.md — Cloud Run service inventory