Staging - #1606
Conversation
Merge CI (Project 01)
Fix: write permissions missing
chore(gitops): separate dev and staging targetRevisions and workflows
…8m to prevent node OOM eviction - Increase memory requests from 128Mi to 256Mi for all backend services in dev and staging - Reduce JVM -Xmx from 160m to 128m to lower actual memory footprint - This helps scheduler distribute pods more evenly across nodes - Node 37c7zk was at 99% memory causing pod evictions
The per-service ServiceMonitors scraped /actuator/prometheus:8090, an endpoint the Spring Boot apps do not expose (micrometer-prometheus not on classpath). Every scrape returned HTTP 500, which the Istio sidecars recorded as errors, turning all backend nodes red in Kiali (dev + staging). JVM metrics already flow via the OTel agent -> Collector -> Prometheus (job yas-msa/<svc>), so these ServiceMonitors produced zero data and only added error noise. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
BitDive Runtime Review - PR #1606PR: #1606 SummaryThis 264-file PR is overwhelmingly CI/CD pipeline infrastructure, K8s Helm charts, test additions, and frontend TypeScript. The only production Java source change is a Three before/after trace pairs on deployed services (product, location, inventory) show zero contract divergence with clean baselines — identical SQL, REST, writes, data payloads, and execution trees. All four deployed services compile on JDK 21 and serve HTTP 200. Two consecutive review iterations converge on the same verdict with no new findings. Runtime Verification Matrix
How to read BitDive evidenceOpen an Evidence share link. The Behavior Δ /
Review scope and validation coverage
Out of scope: Frontend TypeScript/React changes (60+ files), test file additions, delivery/search/sampledata (not deployed in this environment). CI/CD pipeline YAML is the primary PR intent — human review recommended. Change #1 — stable deploy canaries (no collateral regression)Three before/after trace pairs independently verified. All show clean baselines, zero contract divergence, zero write delta, zero downstream delta. The only production Java change in this PR is a Behavior contract# Deploy canary scenarios — runtime contract (3 services paired)
- HTTP 200 OK (product 1195ms, location 437ms, inventory 305ms)
+ HTTP 200 OK (product 30ms, location 131ms, inventory 7ms)
- SQL: product 3 reads, location 1 read, inventory 1 read
+ SQL: product 3 reads, location 1 read, inventory 1 read (identical)
- REST: product 1 (MediaService.getMedia), location 0, inventory 0
+ REST: product 1 (MediaService.getMedia), location 0, inventory 0 (identical)
- writes: 0 across all three services
+ writes: 0 across all three services (identical)
- data: iPhone 15 ($799), 249 countries, 3 warehouses (WH With Stock, BRR Base, BRR Head)
+ data: iPhone 15 ($799), 249 countries, 3 warehouses (identical)
# first divergence: MediaService.getMedia() response date header (timestamp only — no contract impact)Scenario matrix
Trace evidence
Contract delta
Key trace deltaFirst meaningful divergence:
Timing difference is attributed to JVM warmup state on the baseline. Contract comparison confirms zero divergence despite timing variance. Advisory findings (non-blocking)
Follow-Ups
RecommendationApprove with notes. This is a CI/CD and infrastructure PR (264 files) with zero production runtime behavioral changes. The only production Java change is a |
No description provided.