Claude Agent
c9f9a1ca0e
feat(5.16+5.17): tipografie/antet branded + tipuri cont, planuri si enforcement
PRD 5.16 — propagare design finalizata (system font stack, fara IBM Plex self-hostat):
- US-001/002/008: tokeni --font-ui/--font-mono (system stack) + scala --fs-*; zero
@font-face si zero /static/fonts/; landing aliniat la acelasi stack
- US-003: RAR online = dot compact in antet + meniu burger; banda rosie DOAR pe blocat
(invariant zero-silent-failures pastrat)
- US-010: antet "ROMFAST AUTOPASS" + nume service + /login brandeit 2 coloane + badge plan;
meniu burger cu separatoare; gate strict pe is_authenticated
- US-011: selector tema pill icon+eticheta (reuse THEMES)
- US-004/005/006/007: bug-fix editor prestatii (picker cod+denumire, add_extra in mod
operatii, cod ales se salveaza fara "+", Renunta inchide via closest)
- US-012/013: landing Autentificare->/login; wizard import colapsat + 4 pasi pe tokeni
- fix VERIFY E2E: contoare duplicate pe 390px (inline display:flex batea @media) -> CSS + test-lock
PRD 5.17 — tipuri de cont + trial Pro 30z + enforcement DUR:
- US-001/002/008: accounts.tier + trial_until (migrare aditiva defensiva); app/plans.py
sursa unica (PLANS, FREE_MONTHLY_LIMIT=60, effective_tier(now injectabil), monthly_usage,
CONSUMED_STATUSES); create_account trial Pro 30z; CLI set-tier (protejat id=1, audit)
- US-003/004/005: enforce volum 60/luna INAINTE de build_key pe ambele canale
(PLAN_LIMITA_LUNARA, 3 niveluri + log_event); gate API Pro+ (PLAN_FARA_API 403 actionabil);
valideaza/nomenclator raman permise; downgrade lazy; flag AUTOPASS_ENFORCE_PLANS (kill-switch)
- US-006: badge plan antet + linie burger + consum N/60 + warn>=80% + 6 stari + copy RO
pluralizat + banner one-time trial->Gratuit + pagina Cont
Regresie: 1380 passed, 0 failed, 1 deselected (live). E2E browser pe 390/1280 confirmat.
Backend trimitere (worker/masina stari/idempotenta/contract RAR) NEATINS. Lucrul 5.18
(corpus kNN) ramane separat, necomis.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-29 06:02:40 +00:00
..
2026-06-19 10:52:17 +00:00
2026-06-15 13:49:20 +00:00
2026-06-28 20:48:34 +00:00
2026-06-26 15:16:28 +00:00
2026-06-23 11:56:05 +00:00
2026-06-29 06:02:40 +00:00
2026-06-27 18:52:20 +00:00
2026-06-27 18:52:20 +00:00
2026-06-18 17:19:06 +00:00
2026-06-23 18:45:39 +00:00
2026-06-29 06:02:40 +00:00
2026-06-23 20:51:16 +00:00
2026-06-23 18:45:39 +00:00
2026-06-26 15:16:28 +00:00
2026-06-16 20:15:59 +00:00
2026-06-23 19:35:47 +00:00
2026-06-18 16:43:21 +00:00
2026-06-18 17:19:06 +00:00
2026-06-28 01:39:54 +00:00
2026-06-28 20:48:34 +00:00
2026-06-23 20:51:16 +00:00
2026-06-15 20:20:18 +00:00
2026-06-28 20:48:34 +00:00
2026-06-28 20:48:34 +00:00
2026-06-23 18:45:39 +00:00
2026-06-23 10:28:09 +00:00
2026-06-19 10:52:17 +00:00
2026-06-16 20:13:19 +00:00
2026-06-29 06:02:40 +00:00
2026-06-17 17:35:50 +00:00
2026-06-29 06:02:40 +00:00
2026-06-28 20:48:34 +00:00
2026-06-28 20:48:34 +00:00
2026-06-16 20:41:59 +00:00
2026-06-26 15:16:28 +00:00
2026-06-17 06:51:21 +00:00
2026-06-16 20:51:57 +00:00
2026-06-19 10:52:17 +00:00
2026-06-23 10:28:09 +00:00
2026-06-27 18:52:20 +00:00
2026-06-16 20:31:27 +00:00
2026-06-27 23:34:33 +00:00
2026-06-18 22:26:10 +00:00
2026-06-18 18:27:09 +00:00
2026-06-22 12:16:41 +00:00
2026-06-23 13:39:53 +00:00
2026-06-22 12:16:41 +00:00
2026-06-23 18:45:39 +00:00
2026-06-23 18:45:39 +00:00
2026-06-24 12:47:37 +00:00
2026-06-23 21:14:53 +00:00
2026-06-28 20:48:34 +00:00
2026-06-18 16:43:21 +00:00
2026-06-26 15:16:28 +00:00
2026-06-24 12:47:37 +00:00
2026-06-24 12:47:37 +00:00
2026-06-26 15:16:28 +00:00
2026-06-18 17:19:06 +00:00
2026-06-23 18:45:39 +00:00
2026-06-28 20:48:34 +00:00
2026-06-25 20:20:58 +00:00
2026-06-15 17:28:33 +00:00
2026-06-29 06:02:40 +00:00
2026-06-27 23:34:33 +00:00
2026-06-26 15:16:28 +00:00
2026-06-23 18:45:39 +00:00
2026-06-23 18:45:39 +00:00
2026-06-24 12:47:37 +00:00
2026-06-29 06:02:40 +00:00
2026-06-28 20:48:34 +00:00
2026-06-27 18:52:20 +00:00
2026-06-27 18:52:20 +00:00
2026-06-23 18:45:39 +00:00
2026-06-23 19:35:47 +00:00
2026-06-26 15:16:28 +00:00
2026-06-16 20:23:11 +00:00
2026-06-23 18:45:39 +00:00
2026-06-29 06:02:40 +00:00
2026-06-26 15:16:28 +00:00
2026-06-24 12:47:37 +00:00
2026-06-27 18:52:20 +00:00
2026-06-19 10:52:17 +00:00
2026-06-18 16:43:21 +00:00
2026-06-23 10:28:09 +00:00
2026-06-23 10:28:09 +00:00
2026-06-26 15:16:28 +00:00
2026-06-27 18:52:20 +00:00
2026-06-25 20:20:58 +00:00
2026-06-28 20:48:34 +00:00
2026-06-27 18:52:20 +00:00
2026-06-28 20:48:34 +00:00
2026-06-29 06:02:40 +00:00
2026-06-28 20:48:34 +00:00
2026-06-18 16:43:21 +00:00
2026-06-25 20:20:58 +00:00
2026-06-25 20:20:58 +00:00
2026-06-25 20:20:58 +00:00
2026-06-25 20:20:58 +00:00
2026-06-23 10:28:09 +00:00
2026-06-19 08:56:45 +00:00
2026-06-25 20:20:58 +00:00
2026-06-26 15:16:28 +00:00
2026-06-28 20:48:34 +00:00
2026-06-27 18:52:20 +00:00
2026-06-19 08:56:45 +00:00
2026-06-25 20:37:00 +00:00
2026-06-23 11:56:05 +00:00
2026-06-29 06:02:40 +00:00
2026-06-23 10:28:09 +00:00
2026-06-29 06:02:40 +00:00
2026-06-22 12:16:41 +00:00
2026-06-23 18:45:39 +00:00
2026-06-23 11:56:05 +00:00
2026-06-23 18:45:39 +00:00
2026-06-18 16:43:21 +00:00
2026-06-28 20:48:34 +00:00
2026-06-23 20:51:16 +00:00
2026-06-27 18:52:20 +00:00
2026-06-27 23:34:33 +00:00
2026-06-25 20:20:58 +00:00
2026-06-25 20:20:58 +00:00
2026-06-24 12:47:37 +00:00
2026-06-24 12:47:37 +00:00
2026-06-19 08:56:45 +00:00
2026-06-24 12:47:37 +00:00
2026-06-19 08:56:45 +00:00
2026-06-26 15:16:28 +00:00
2026-06-27 18:52:20 +00:00
2026-06-26 15:16:28 +00:00
2026-06-28 20:48:34 +00:00
2026-06-26 15:16:28 +00:00
2026-06-29 06:02:40 +00:00
2026-06-19 08:56:45 +00:00
2026-06-25 20:20:58 +00:00
2026-06-25 21:13:42 +00:00
2026-06-27 18:52:20 +00:00
2026-06-27 23:34:33 +00:00
2026-06-19 08:56:45 +00:00
2026-06-26 15:16:28 +00:00
2026-06-29 06:02:40 +00:00
2026-06-28 20:48:34 +00:00
2026-06-25 20:37:00 +00:00
2026-06-18 18:27:09 +00:00
2026-06-27 18:52:20 +00:00
2026-06-28 20:48:34 +00:00
2026-06-29 06:02:40 +00:00
2026-06-28 20:48:34 +00:00
2026-06-28 20:48:34 +00:00
2026-06-25 20:20:58 +00:00
2026-06-29 06:02:40 +00:00
2026-06-26 15:16:28 +00:00
2026-06-23 11:56:05 +00:00
2026-06-23 18:45:39 +00:00
2026-06-23 10:28:09 +00:00
2026-06-23 19:35:47 +00:00