Athena — mvp-readiness.md

MVP → Production Readiness Report

Run date: 2026-09-02 (fourth run this day, ~15:07 UTC)
Portfolio overall: ~46% (no change vs previous run)


interimplaza (mahmoud-consultancy) — 72% (↓1pp)

Prod namespace: recruitment — backend, frontend, marketing, postgres, redis all Running. Live production deployment.

Rationale: Core job-search and apply flows work. Prod secrets sealed. CI/CD operational. AI-refinement pipeline still non-functional on prod — every ingested job stays PARSER permanently (#1838). Spring CVE (#1907) with no free 6.2.x patch. LazyInitializationException companion bug (#1880) still unresolved. Production alerting absent from Helm chart (#1619) — prod runs dark. Frontend bug accumulation continues: new issues opened today include #1922 (pdf.worker missing on staging), #1923 (double asterisk on apply form), #1926 (eisen/wensen heading sizing), #1928 (vacatures layout), #1929 (swipe-review missing CV). Issue #1842 (CV auto-init 400) confirmed again non-blocking (3rd live-verified smoke test).

Open mvp-blockers (4):

  1. #1838 mvp-blocker — AI-refinement pipeline never runs; all new jobs land as PARSER on prod permanently. Core value prop broken.
  2. #1907 mvp-blocker — CVE-2026-59283 SpEL safety-guard bypass (spring-core/spring-web 6.2.19); no free 6.2.x patch, requires Spring 6.3+ upgrade.
  3. #1880 mvp-blocker — LazyInitializationException on requiredSkills silently blocks AI refinement (companion to #1838).
  4. #1619 mvp-blocker — PrometheusRule absent from Helm chart; prod alerting permanently dark.

Trend vs last run: ↓1pp — 4th mvp-blocker (#1619) now clearly confirmed active; additional frontend bugs accumulating.


auditPic — 25% (no change, OWNER PAUSED)

Prod namespace: audit-pic — torn down intentionally, data-safe (owner pause since 2026-06-30).
Staging: backend, postgres, minio Running (58d+ uptime).

Rationale: Owner-paused — no swarm action until un-paused. 3 open mvp-blockers would need resolution before any prod relaunch. Staging is healthy and stable. #437 (health 503 from MailHealthIndicator) and #406 (Android CI 1P item missing) both unchanged.

Open mvp-blockers (3):

  1. #437 mvp-blocker — staging /actuator/health permanently 503 (MailHealthIndicator, no SMTP config); blocks prod health probe.
  2. #406 mvp-blocker — Android CI fails: 1P item 'audit-pic-secrets' not found in AuditPic vault.
  3. #258 mvp-blocker — iOS Codemagic signing/provisioning failures; mobile MVP undeliverable to TestFlight.

Trend vs last run: No change. Owner paused, staging stable.


claimio — 58% (no change)

Prod namespace: clamio — empty; no app pods. First prod deploy never completed.
Staging: backend, 2× frontend, postgres, redis all Running (47d+ uptime). Staging very stable.

Rationale: Staging remains the most stable pre-MVP project — full stack running 47d+ without incident. Backend feature-complete for MVP. Prod namespace confirmed empty. Backup restore verification broken. No post-deploy smoke test. 4 open mvp-blockers (#410, #357, #352, #337).

Open mvp-blockers (4):

  1. #410 mvp-blocker — prod namespace (clamio) still empty; first prod deploy never done.
  2. #337 mvp-blocker — MVP: first prod deploy overall — prod namespace, seal prod secrets, DNS + real TLS, first main→prod CD.
  3. #357 mvp-blocker — backup-verify job broken (pip: command not found); restorability never verified.
  4. #352 mvp-blocker — no live health/happy-flow smoke after helm upgrade; prod deploy correctness unverifiable.

Trend vs last run: No change.


europeLogin — 35% (no change)

Prod namespace: europe-login — empty (pre-MVP, never launched).
Staging: backend, frontend, postgres, redis Running (47d–54d uptime).

Rationale: Staging solid. Core identity-assurance feature (HOOG assurance via face comparison) completely non-functional — FaceComparisonServiceImpl returns 0.0 for every user. Portfolio-wide top structural code defect; no PR in flight; unassigned for 2+ weeks. Alerting dormant in both envs. 3 open mvp-blockers.

Open mvp-blockers (3):

  1. #271 mvp-blocker — FaceComparisonServiceImpl returns 0.0; HOOG assurance structurally unreachable for all users. No PR in flight.
  2. #247 mvp-blocker — alerting authored but dormant in both environments (monitoring.enabled=false, no values-prod.yaml, no receiver).
  3. #95 mvp-blocker — first prod deploy not started; namespace empty, prod secrets not sealed.

Trend vs last run: No change. #271 unassigned/unworked — longest-standing structural defect in the portfolio.


valideerleeftijd — 46% (no change)

Prod namespace: valideerleeftijd — only ACME http-solver pods stuck (63d+ now). DNS never pointed to Leaseweb; cert cannot complete. No app running.
Staging: backend, frontend, redis Running (39d–56d uptime). Stable.

Rationale: Staging stable long-term. Prod blocked by 4 hard gates: DNS/TLS (owner registrar action), missing prod secrets, Rabobank PSD2 credential posture confirmation, and no prod deploy. TLS stuck duration increases daily.

Open mvp-blockers (4):

  1. #274 mvp-blocker — TLS stuck pending 63d+; DNS not pointed to Leaseweb; ACME challenge cannot complete. Owner action required (DNS registrar change).
  2. #264 mvp-blocker — backend-secrets-production.yaml missing; prod deploy references a non-existent sealed secret.
  3. #170 mvp-blocker — Rabobank PSD2 credential posture unconfirmed (sandbox vs production); must be verified before prod cutover.
  4. #69 mvp-blocker — Production cutover: DNS, real TLS, seal prod secrets, first prod deploy — overall tracking issue.

Trend vs last run: No change. TLS stuck duration increases by another day.


athena — 40% (↑2pp)

Prod namespace: athena — ACME http-solver pod active (cert attempt for app.athena.glorylabs.nl in progress).
Staging: athena-staging — backend 1/1 Running, frontend 1/1 Running. Confirmed healthy.

Rationale: Continued high-velocity development day. Since last run: DA-045 Stamgegevens (Bedrijfsgegevens + Rekeningen tabs) built and PR #59 opened; DA-044 Relatiekaart correctly skipped (genuine data gap — TransactionDto has no counterparty field); Benford's Law card moved to collapsible accordion (agent in-flight); nav shell CSS fix dispatched; user profile placeholder (Demo User avatar + dropdown) dispatched; fiba.nl design review started. QA was attempted — QA agent reported backend down, but manager confirmed it was a stale browser cache issue; backend was healthy continuously. 8 new DoD violations filed (#46–#53) at 12:31 UTC. Persistence blocker (#37) now labeled mvp-blocker — PR #43 (Postgres+Flyway scaffold) remains open, safe-to-merge flagged but not yet merged. Security gates still disabled (#13). Prod not launched (expected pre-MVP).

Open mvp-blockers (2):

  1. #13 mvp-blocker — security gates disabled for demo/rapid-iteration week; MUST be re-enabled before any prod consideration for a financial audit tool.
  2. #37 mvp-blocker — no real persistence (in-memory only; data lost on every restart); PR #43 open and safe-to-merge but not yet landed.

Trend vs last run: ↑2pp — continued feature velocity (Stamgegevens, fiba.nl design review, collapsible Benford, nav fixes, profile in-flight). 8 new DoD violations partially offset gains. Core blockers unchanged.


Portfolio Summary

| Project | Score | Δ | Prod live? | Top blocker | |---|---|---|---|---| | interimplaza | 72% | ↓1 | ✅ Yes | #1838 AI-refinement PARSER-forever on prod | | claimio | 58% | — | ❌ Not yet | First prod deploy (#410/#337), backup-verify broken | | valideerleeftijd | 46% | — | ❌ Not yet | DNS/TLS stuck 63d+ (#274), missing prod secrets (#264) | | athena | 40% | ↑2 | ❌ Not yet | Security gates off (#13), no real DB persistence (#37) | | europeLogin | 35% | — | ❌ Not yet | #271 FaceComparison returns 0.0 (HOOG unreachable, unassigned 2w+) | | auditPic | 25% | — | ❌ Paused | Owner paused; iOS signing broken, health 503 |

Overall: ~46% (no change) — One live product (interimplaza, 4 mvp-blockers, AI feature broken). Claimio closest to prod (staging rock-solid, blocked only on deployment execution). Athena highest single-day velocity but still pre-persistence. europeLogin structurally blocked on a code defect that has been unassigned for 2+ weeks. valideerleeftijd needs an owner DNS flip. auditPic owner-paused.

Owner attention needed:

  • interimplaza #1838: AI-refinement pipeline — core product value prop broken on live prod. Unresolved.
  • europeLogin #271: FaceComparisonServiceImpl returns 0.0 — unassigned for 2+ weeks, no PR in flight.
  • valideerleeftijd #274: DNS flip to Leaseweb — registrar change, owner action only.
  • athena #13: Re-enable security gates after demo week (financial tool — hard requirement before any prod consideration).
  • athena #37 / PR #43: Merge Postgres+Flyway scaffold — data persistence is a hard prod requirement.

Reacties

Nog geen reacties