Hito activo: Junio
Última sincronización: 2026-08-13 (auto via GitHub Action — no editar a mano). Deadline: 2026-09-15 · 33 días restantes Repo:
gala1234/thefittclub
Estado del hito
██████████████████░░ 88% (560/633 pts)
| Métrica | Valor |
|---|---|
| Tickets totales | 179 (160 done · 0 en vuelo · 19 pending) |
| Puntos restantes | 73 pts |
| ETA (early) | 2026-12-28 (20 semanas) |
| ETA (late, +50%) | 2027-03-06 |
| Fuente velocity | real (pts/hour) · 0.187 pts/h · 5.33 h/pt (n=260) · 20h working/week |
| Velocity real | 0.187 pts/h · 5.33 h/pt (n=260) |
| Velocity calendar | 56.63 pts/week (n=74, last 4 wks) |
| ¿Llega a deadline? | ⚠️ En riesgo (ETA early 104 días después de deadline) |
Carga de trabajo
| Effort | Tickets | Pts | Detalle |
|---|---|---|---|
| XS | 2 | 1 pts | T479 · T480 |
| S | 2 | 2 pts | T300 · T478 |
| M | 10 | 30 pts | T386 · T420 · T387 · T411 · T433 · T457 · T468 · T473 · T476 · T477 |
| L | 5 | 40 pts | T65 · T410 · T434 · T474 · T475 |
Contenido real por producto
Derivado del código en cada corrida — la fase cuenta como contenido REAL solo si existe
drizzle/seeds/catalog/products/ritual/<producto>-phase<N>-data.ts. El scaffold dummy (T211) NO cuenta. Dos Ritual Core distintos — no confundirlos.
| Producto | F1 | F2 | F3 | F4 | Real |
|---|---|---|---|---|---|
Ritual Core Legacy (prod_ritual_core_legacy) — el producto de las socias vitalicias — pipeline T65 | ✅ | ✅ | ⬜ | ⬜ | 2/4 |
Ritual Core nuevo (prod_ritual_core) — futuro: versión del Legacy con varias sesiones por día para elegir duración (express/base/progressive) | ⬜ | ⬜ | ⬜ | ⬜ | 0/4 |
En vuelo ahora
(ningún ticket de Junio en Active ni QA)
Listos para activar (sin bloqueos)
Estos tickets no tienen dependencias pendientes — pueden pasar a Active con un “go”:
| # | Ticket | Título | Effort | Model | Domain |
|---|---|---|---|---|---|
| 1 | T300 | Archive all Zenler data before account access expires (~1 month) | S | sonnet | content-migration |
| 2 | T65 | Zenler Content Pipeline: Ritual Core Legacy → MVP | L | mixed | content-pipeline |
| 7 | T420 | fix: phase-change modal shows invented track totals and the wrong progress counter (+ presentation pass) | M | mixed | dashboard |
| — | T410 | Public testimonial wall + UI consumption from the SSOT | L | mixed | design |
| — | T411 | Club points for testimonials: per-product amounts, profile display, in-product prompts | M | mixed | other |
| — | T433 | Start a programme over from zero | M | opus | dashboard |
| — | T434 | Tell her when her effort will not unlock the level test, and why | L | opus | dashboard |
| — | T457 | The prod content deploy is broken, and the snapshot that protects Back Office edits was never committed | M | opus | infra |
| — | T468 | The result she reads is derived from the number she gets, not from a parallel score | M | opus | onboarding |
| — | T473 | See and set which engine governs each product, from the Back Office | M | opus | admin |
| — | T474 | Track thresholds move onto the engine; purge the ghost unlock thresholds | L | opus | schema |
| — | T476 | Level-up tests follow the engine: coverage per transition, and no test offered after the last phase | M | mixed | dashboard |
| — | T477 | The engine seed stops masquerading as the engine: honest degradation, observed | M | sonnet | onboarding |
| — | T478 | fix: a racing double-submit of a passed evaluation writes duplicate “passed” history rows | S | sonnet | player |
| — | T479 | The onboarding question library shows and edits visible_in_autotest | XS | sonnet | admin |
| — | T480 | fix: two phase lookups still match raw sort_order against the phase number | XS | sonnet | dashboard |
Grafo de dependencias
Tickets con dependencias explícitas (de la sección “Blockers / dependencies” de cada spec):
- T386 (Legacy migration go-live: invitation wave + first access) → depende de: T65 ⏳, T214 ✅
- T387 (Q3 personalization seed: Semana-0 survey → migrated members’ physical profiles) → depende de: T300 ⏳
- T475 (Onboarding questions born from the assigned engine, plus the founder’s own extras) → depende de: T473 ⏳
Cuellos de botella
Tickets que bloquean a otros (ordenados por impacto):
- T65 (Zenler Content Pipeline: Ritual Core Legacy → MVP) — bloquea 1 ticket(s): T386
- T300 (Archive all Zenler data before account access expires (~1 month)) — bloquea 1 ticket(s): T387
- T473 (See and set which engine governs each product, from the Back Office) — bloquea 1 ticket(s): T475
Próximas 4 semanas
Tickets de Junio proyectados por semana (basado en velocity + cola de prioridad):
| Semana | Tickets Junio | Pts | Otros | Riesgo |
|---|---|---|---|---|
| Wk1 (2026-08-10) | T300 | 1 | — | ✓ |
| Wk2 (2026-08-17) | T65 | 8 | — | ✓ |
| Wk3 (2026-08-24) | T386 | 3 | — | ✓ |
| Wk4 (2026-08-31) | T420 | 3 | — | ✓ |
Backlog completo Junio
| # | Ticket | Título | Brief | Effort | Model | Domain | Deps |
|---|---|---|---|---|---|---|---|
| 1 | T300 | Archive all Zenler data before account access expires (~1 month) | Extract and archive the member data that lives only in Zenler (assignment photos… | S | sonnet | content-migration | — |
| 2 | T65 | Zenler Content Pipeline: Ritual Core Legacy → MVP | Zenler Content Pipeline: Ritual Core Legacy → MVP | L | mixed | content-pipeline | — |
| 3 | T386 | Legacy migration go-live: invitation wave + first access | Invitar a las socias legacy a la app y llevarlas hasta su primer acceso: email d… | M | mixed | T65, T214 | |
| 7 | T420 | fix: phase-change modal shows invented track totals and the wrong progress counter (+ presentation pass) | El modal «Subir de fase» enseña números inventados: «3 de 1 semanas» con barra l… | M | mixed | dashboard | — |
| 12 | T387 | Q3 personalization seed: Semana-0 survey → migrated members’ physical profiles | Aplicar la «Encuesta - Semana 0» (archivada por T300) al perfil físico de las so… | M | mixed | content-migration | T300 |
| — | T410 | Public testimonial wall + UI consumption from the SSOT | El muro público de historias: moderno y cinematográfico, con las historias aprob… | L | mixed | design | — |
| — | T411 | Club points for testimonials: per-product amounts, profile display, in-product prompts | Escribir una historia da puntos del Club, distintos según el producto (Ritual, M… | M | mixed | other | — |
| — | T433 | Start a programme over from zero | A member — or the founder on her behalf — can return a programme to its starting… | M | opus | dashboard | — |
| — | T434 | Tell her when her effort will not unlock the level test, and why | When a woman’s choices mean she will not reach the stimulus her body needs, the … | L | opus | dashboard | — |
| — | T457 | The prod content deploy is broken, and the snapshot that protects Back Office edits was never committed | npm run db:seed -- --env=prod aborts with a Cloudflare D1_RESET_DO error, so… | M | opus | infra | — |
| — | T468 | The result she reads is derived from the number she gets, not from a parallel score | The auto-test decides her result with a points score and her plan length with th… | M | opus | onboarding | — |
| — | T473 | See and set which engine governs each product, from the Back Office | No BO screen shows or changes which engine a product progresses under; the only … | M | opus | admin | — |
| — | T474 | Track thresholds move onto the engine; purge the ghost unlock thresholds | The last progression values outside the engine are the per-track consecutive wee… | L | opus | schema | — |
| — | T475 | Onboarding questions born from the assigned engine, plus the founder’s own extras | engine_questions exists in schema and runtime reads none of it; the real polic… | L | opus | onboarding | T473 |
| — | T476 | Level-up tests follow the engine: coverage per transition, and no test offered after the last phase | Nothing checks that every engine-governed transition has a level-up test, and th… | M | mixed | dashboard | — |
| — | T477 | The engine seed stops masquerading as the engine: honest degradation, observed | Four surfaces answer with the hardcoded RITUAL_CORE_ENGINE_SEED when the engin… | M | sonnet | onboarding | — |
| — | T478 | fix: a racing double-submit of a passed evaluation writes duplicate “passed” history rows | Two racing submits of a passed evaluation both land, writing two “passed” histor… | S | sonnet | player | — |
| — | T479 | The onboarding question library shows and edits visible_in_autotest | visible_in_autotest decides which questions the public auto-test asks, the adm… | XS | sonnet | admin | — |
| — | T480 | fix: two phase lookups still match raw sort_order against the phase number | T351’s convention — a phase number is an ordinal position, never a raw `sort_ord… | XS | sonnet | dashboard | — |
Completados en Junio
| Ticket | Título | Effort | Cerrado |
|---|---|---|---|
| T35 | Cookie consent banner + legal-surface completion | M | 2026-05-29T23:08:35Z |
| T38 | Branded error pages: routing + HTTP layer (404, 500, offline) | S | 2026-07-31T18:19:23Z |
| T40 | Auth hardening: rate limiting + health-data consent | L | 2026-05-30 |
| T41 | Rebrand system core (DESIGN.md v5, foundation for T97–T104) | L | 2026-05-22T16:45:32Z |
| T42 | AI code review automation (PR-gate via Anthropic API) | M | 2026-05-19T13:05:27Z |
| T43 | AI-Agent Security Checklist + Endpoint Audit | M | 2026-05-21T09:15:00Z |
| T44 | LLM input/output hardening (provider-aware, Workers AI primary) | L | 2026-05-22T23:00:00Z |
| T45 | Dependency supply-chain policy (lockfile + Dependabot + action pinning + SBOM) | M | 2026-05-19T23:06:58Z |
| T47 | Repo layout convention + dep-cruiser enforcement | M | 2026-05-20T18:02:47Z |
| T48 | Seeds consolidation (first layout migration) | M | 2026-05-20T21:25:08Z |
| T49 | EU compliance umbrella (DPIA + DPAs + retention + breach SOP + VAT + cross-system GDPR cascade) | L | 2026-06-24T05:12:29Z |
| T50 | Accessibility WCAG 2.1 AA baseline + CI enforcement | M | 2026-05-20T22:45:03Z |
| T51 | Admin BO audit log (transversal) | L | 2026-05-29T17:08:11Z |
| T52 | PWA contract + service worker strategy + Lighthouse gate | L | 2026-08-02T13:53:24Z |
| T55 | Analytics tool selection + GDPR-clean wiring | M | 2026-06-06T13:33:30Z |
| T56 | 56b — Public status page + incident CMS | L | 2026-07-20 |
| T57 | Per-product retention design (Rituales / Módulos / Cápsulas) | M | 2026-06-24T11:09:27Z |
| T60 | Cook thefittclub-eu-compliance-advisor skill via Skill Creator | S | 2026-05-29T14:51:09Z |
| T61 | Pre-MVP lead magnet (decision + production) | M | ? |
| T67 | Skills as pre-commit / CI deterministic gate | S | 2026-05-19 |
| T68 | Setup Loops + migracion SendGrid | S | 2026-05-28 |
| T69 | DB schema leads + bilingual guides + migrations | M | 2026-06-07T00:11:37Z |
| T70 | Pagina /auto-test (surface completa: UI + logica + resultado) | L | 2026-07-28T17:09:59Z |
| T71 | Auto-test bonus PDF delivery (3 variants, ES+EN) | M | 2026-08-03T11:34:18Z |
| T72 | /guias + /guias/[slug] (listado + detalle + form descarga) | L | 2026-06-21T04:45:08Z |
| T73 | Ritual Core waitlist (Home section + founding members) | M | 2026-06-24T12:26:21Z |
| T74 | Worker API /api/leads (POST) | M | ? |
| T75 | Loops sync (webhooks + journeys) | L | 2026-05-28 |
| T76 | Email templates Loops (3x5 = 15 emails, ES/EN) | L | 2026-05-28 |
| T77 | PDFs a R2 + signed URLs | S | ? |
| T78 | Analytics tracking (lead magnets) | M | 2026-08-03T20:38:16Z |
| T80 | Test architecture: 4-layer pyramid + tests/e2e/ restructure + ADR | M | 2026-05-19T07:44:39Z |
| T81 | Observability service unit tests + T27 QA theater | S | 2026-05-19T08:07:45Z |
| T84 | Adapt to react-router 7.15 + @types/react 19.2 strictness | S | 2026-05-20T08:36:47Z |
| T85 | i18n stack major upgrade (i18next 24→26 + react-i18next 15→17 + http-backend 3→4) | M | 2026-05-22T23:38:54Z |
| T86 | Vite 6 → 8 upgrade | M | 2026-05-27T09:20:15Z |
| T88 | Board + spec blocker auto-cleanup on ticket close | S | 2026-05-20T10:15:17Z |
| T89 | lint-board-blockers regex false positives on dates and filename slugs | XS | 2026-05-20T13:22:28Z |
| T90 | Pre-commit hooksPath auto-wire + board lint coverage | XS | 2026-05-20T15:54:04Z |
| T91 | PR subscription poll-back protocol | XS | 2026-05-20T17:13:15Z |
| T92 | Resolve EvolutionChartsPanel ↔ ui/index.ts circular import | XS | 2026-05-20T20:16:22Z |
| T94 | Breakpoints: Tailwind default contract | S | 2026-05-21T13:51:54Z |
| T97 | Rebrand: auth surfaces (signup / login / reset-password) | L | 2026-05-31 |
| T98 | Rebrand: global navigation + footer | M | 2026-05-30T12:53:53Z |
| T99 | Rebrand: dashboard “Mi espacio” Phase M (umbrella — close handoff gaps) | M | 2026-06-16T20:43:53Z |
| T100 | Rebrand: player session shell | L | 2026-06-19T17:25:00+00:00 |
| T101 | Rebrand: onboarding flow | M | 2026-06-14T00:47:48Z |
| T102 | Rebrand: landing Hito 1 (lead-magnet funnel homepage) | M | 2026-06-13T09:41:35Z |
| T103 | Rebrand: account / profile | S | 2026-06-20T15:29:12Z |
| T104 | Rebrand: error pages (404 / 500 / offline) | S | 2026-07-31T11:17:18Z |
| T110 | Consolidar 4 audit jobs en uno (palanca #3 cost mitigation) | M | 2026-05-22 |
| T116 | Backfill dependency-justification.md rows missed by T85 (+ stale security-baseline.md note) | XS | 2026-05-23T05:23:28Z |
| T119 | CI test gate: vitest unit + component as required check + anti-trivial-test defenses | S | 2026-05-23T18:58:26Z |
| T121 | Skill .usage-log.jsonl persistence in remote-only mode | XS | 2026-05-23T18:58:26Z |
| T136 | Canonical brand pages for LLM citation: /metodo + /faq | M | 2026-06-16T10:12:11+00:00 |
| T152 | De-medicalise UI copy: clinical framing → body-awareness language | XS | 2026-05-29T19:48:49Z |
| T153 | Resend email infrastructure (unified) | L | 2026-05-28 |
| T172 | Bilingual media + subtitles schema | L | 2026-06-01T18:46:07Z |
| T173 | i18n schema consistency cleanup | M | 2026-06-01T16:30:55Z |
| T174 | i18n storage-pattern gate (enforce ADR-0010 mechanically) | M | 2026-06-01T22:24:17Z |
| T175 | Design SSOT: single canonical source + versioning policy | M | 2026-06-10T22:50:40Z |
| T176 | Component reuse contract + enforcement gate | M | 2026-05-31T18:25:38Z |
| T177 | Forms SSOT: primitive library + migrate hand-rolled forms | L | 2026-05-31T21:25:27Z |
| T178 | Buttons SSOT: route all CTAs through <Button> | L | 2026-06-01T10:07:35Z |
| T179 | BentoCard consolidation: 6 files → 1 variant-driven primitive | M | 2026-06-18T17:03:24Z |
| T180 | Modal consolidation: composable bodies over one Modal base | M | 2026-06-24T13:36:00Z |
| T183 | BO: per-locale media upload (es/en) for catalog content | L | 2026-06-01T20:02:49Z |
| T184 | Retire legacy shared media columns + dummy per-locale media seed | M | 2026-06-01T21:26:33Z |
| T190 | Reduce Cloudflare preview request consumption (avoid free-tier daily cap) | XS | 2026-06-03T09:54:34Z |
| T193 | Zenler legacy membership migration (users + access + progress) | M | 2026-06-05T12:08:08Z |
| T194 | Legacy payment transactions ledger (preserve full Zenler purchase history) | M | 2026-06-05T17:21:21Z |
| T195 | Formalise payment_transactions retention + erasure in security-baseline.md §4 | XS | 2026-06-05T18:55:27Z |
| T197 | Onboarding consent coherence + skip-to-generic escape | L | 2026-06-25T16:42:17Z |
| T200 | Safe-start gate: no active program before postpartum-readiness floor | M | 2026-06-26T10:46:00Z |
| T201 | fix: legacy seed generators emit BEGIN TRANSACTION (D1 rejects it) | XS | 2026-06-05T18:22:56Z |
| T202 | Back Office payments ledger view (read-only) | S | 2026-06-05T18:45:00Z |
| T203 | BO payments: membership filter + payment detail view | M | 2026-06-05T23:21:38Z |
| T204 | Ritual Core Legacy: product definition + cohort eligibility + entitlement seed | M | 2026-06-06T08:22:27Z |
| T205 | Retention: computed re-engagement (pause / lapse) | M | 2026-06-06T11:41:42Z |
| T210 | Footer + nav “Próximamente” state + resolve unlinked public pages (absorbs T165) | M | 2026-06-06T14:35:45Z |
| T211 | Seed: Ritual Core Legacy phases (21 sessions/phase + 2→3 & 3→4 transitions) | M | 2026-06-06T15:41:00Z |
| T214 | Legacy position backfill (currentPhase + mainSequenceDay from real Zenler progress) | M | 2026-06-06T18:55:17Z |
| T215 | Archive Zenler data before losing access | M | 2026-06-07 |
| T218 | Back Office: page media assets library (marketing images + videos) | L | 2026-06-12T06:03:16Z |
| T219 | Front-end page-asset consumption layer (slot registry + hook + fallback) | M | 2026-06-12T19:07:40Z |
| T220 | Rebrand: biblioteca (member catalog) | L | ? |
| T221 | Rebrand: fase actual (current-phase detail surface) | M | 2026-06-16T15:45:04Z |
| T222 | Rebrand: module & capsule detail | M | 2026-07-01T20:29:14Z |
| T223 | Drift-audit: auth surfaces (T97) vs Main Style | S | 2026-06-11T08:25:21Z |
| T224 | Drift-audit: global nav + footer (T98) vs Main Style | S | 2026-06-11T15:08:24Z |
| T225 | Fix: password show/hide toggle dead until field interaction under iOS autofill | S | 2026-07-01T22:26:50Z |
| T226 | Nav state matrix + scroll-overlap aterrizaje (Main Style) | M | 2026-06-11T17:09:34Z |
| T230 | Fix: home loader 500s when page-asset resolution fails (page_media_assets missing in prod D1) | XS | 2026-06-13T10:17:44Z |
| T231 | Dashboard hero: session-meta block (stats + materials) | S | 2026-06-13T17:44:59Z |
| T232 | Dashboard collection data projection (DAL for the vitrina) | M | 2026-06-13T18:12:50Z |
| T233 | Dashboard “Tu Colección” vitrina + StateVacio convergence | L | 2026-06-13T19:59:13Z |
| T234 | Dashboard progress card → FaseActualCard | M | 2026-06-14T14:24:49Z |
| T235 | Capsule “Reto” (challenge) product concept: data + backoffice | M | 2026-06-13T20:59:38Z |
| T236 | Collection cards: per-addon urgency countdown | S | 2026-06-13T22:41:26Z |
| T237 | Brand doctrine: motivation vs anti-gamification (rewrite the rule) | S | 2026-06-13T17:44:59Z |
| T239 | BO-configurable onboarding step groups (data-driven wizard, per product) | L | 2026-07-02T12:24:39Z |
| T240 | Playwright E2E infra fix (auto-install Chromium in ephemeral containers) | XS | ? |
| T243 | Back Office media: upload reliability + CF resource deletion + subtitle validation | M | 2026-06-15T07:46:13+00:00 |
| T244 | Scalable multi-surface page-asset slots (extends T219) | M | 2026-06-15T15:29:40Z |
| T254 | Back Office: pick from existing Cloudflare Stream / Images library (no re-upload) | M | 2026-06-15T12:14:47Z |
| T256 | BO media library + landing media rendering (CF Images variants, editor preview, founder video, list filter/sort/paginate) | XL | 2026-06-15T18:40:31Z |
| T258 | Landing card media (BO-managed) + hero image-or-video | M | 2026-06-15T20:15:51Z |
| T261 | Rebrand: El Método (/metodo · /method) | M | 2026-06-19T21:49:13Z |
| T262 | Rebrand: FAQ (/faq) | M | 2026-06-19T23:43:25Z |
| T263 | Rebrand: Soporte (/soporte · /support) | M | 2026-06-20T08:28:22Z |
| T264 | Rebrand: dashboard StateVacio / StateOferta — land the HERO “Estados del Dashboard” design | L | 2026-06-16T19:13:17Z |
| T265 | Fix: dashboard needs_onboarding classifier disagrees with the onboarding route (CTA bounces to dashboard) | S | 2026-06-16T20:38:34Z |
| T266 | Physical-profile delivery model: decouple delivery_type from postpartum recency | L | 2026-06-19T06:37:45Z |
| T271 | fix: completed prod_ritual_core_legacy sessions don’t appear in “Your library” | S | ? |
| T274 | Account credential: role/tier badge + member number | M | 2026-07-25T15:55:00Z |
| T275 | Account privacy section: GDPR export + delete logic | L | ? |
| T276 | Account physical: wire the stimulus readout to the real derived plan | M | ? |
| T278 | Profile avatar upload (member photo, R2-backed) | S | 2026-06-25 |
| T283 | Wire lead-magnet email delivery (/api/leads → Resend) | S | ? |
| T287 | fix: guide PDF upload presign returns HTML (UI-route action) → move to resource route | S | ? |
| T289 | fix: R2 signing hard-500s authed surfaces (missing creds / sign failure) → degrade gracefully | S | 2026-06-21T17:40:00Z |
| T291 | fix: Fase 1 techniques broken in the app (BO works) — library queries wrong product for legacy users; player technique video not rendering + desktop overlap | M | 2026-06-23T20:15:28Z |
| T295 | Unified TechniqueViewer redesign (player + biblioteca) + acquisition ceremony | L | ? |
| T297 | Technique acquisition loop polish: immersive library viewer + “new technique” library-nav indicator | M | ? |
| T298 | Dashboard welcome row: mobile edge/border-radius clipping of kicker + switcher | XS | 2026-07-03T14:45:25Z |
| T317 | AEPD pre-launch: Privacy Policy (Art. 13) + RAT + go-live checklist | M | 2026-06-25T16:42:17Z |
| T319 | Profile ambassador programme (referral code + discount + points ledger + waitlist) | L | 2026-08-02T10:47:40Z |
| T320 | Lead multi-tag model (accumulating funnel/origin/lifecycle tags) + Zenler re-import | M | 2026-06-27T17:19:30Z |
| T329 | Accessibility baseline: resolve the expired T41 contrast deferrals for real | M | 2026-07-01 |
| T338 | Fix: prep-mode dashboard loop — restore START + retarget prep banner to the player | S | 2026-07-03T14:00:08Z |
| T353 | fix: dashboard progress counters must reflect reality (same-day repeats, cross-product leak, completion idempotency) | M | 2026-07-26T17:05:00Z |
| T354 | fix: player completion screen shows false “end of this phase” — next-session states (locked / loop / next phase / continue) | M | 2026-07-26T22:20:56Z |
| T355 | fix: library seal badge never clears (multi-unlock asymmetry, per-device state, techniques-facet-only witness) | M | 2026-07-28T10:16:24Z |
| T356 | fix: trained-day bucketing uses UTC, not the member’s real day (Europe/Madrid evening sessions land on the wrong date) | M | 2026-07-27T11:11:22Z |
| T358 | fix: session shows “0 min” when routine blocks are tagged under a non-resolved product-modality (per-modality duration fallback) | S | ? |
| T364 | fix: the CI flags step turns a tolerated warning into a red build | XS | 2026-08-02T13:06:57Z |
| T368 | E2E progress-state fixtures: seed personas for every player next-session state | M | 2026-07-26T22:20:56Z |
| T371 | E2E fixture accounts still live in production carrying real training data | S | 2026-08-05T09:14:12Z |
| T374 | Doctrina v4: ventanas F3-F4 [3,6], config-only (sustituye el suelo plano [5,5]) | S | 2026-07-28T17:09:59Z |
| T377 | fix: tfc-brand-vocab-lint is blind to the brand’s forbidden tech-copy phrases | XS | ? |
| T378 | fix: Art. 9 health data is processed with no demonstrable consent record for pre-ledger members | M | 2026-07-29T23:32:57Z |
| T380 | fix: the sign-in form puts her password in the URL if she submits before the page hydrates | XS | 2026-07-29T23:35:58Z |
| T381 | Contact the members holding Art. 9 data without a consent record | S | 2026-08-05T07:56:41Z |
| T382 | fix: the verify-email wait state drifted from its delivered design | S | 2026-08-07T13:36:29Z |
| T389 | Shell viewport band: a page is the viewport minus the top navigation | S | 2026-07-31T11:17:18Z |
| T403 | fix: a switched-off ambassador programme takes the whole profile page down | XS | 2026-08-02T13:04:34Z |
| T406 | fix: the phase-schedule editor deletes every day it declined to show | S | 2026-08-02T14:59:29Z |
| T409 | Testimonial capture form + curation SSOT (“Tu historia”, circular arc 4) | M | ? |
| T423 | study: the progression engine and which of its parameters the Back Office should own | M | 2026-08-08T08:16:47Z |
| T424 | One owner for host configuration (canonical origin, brand entity @id, link base) | S | 2026-08-08T08:35:35Z |
| T425 | fix: the auto-test pill row hardcodes the phase count the Back Office owns | XS | 2026-08-07T20:41:25Z |
| T426 | fix: the SessionStart hook never wires core.hooksPath in a remote session | S | 2026-08-08T13:29:47Z |
| T427 | Seed phase_unlock_conditions for phases 2, 3 and 4 (the gate silently falls back to code) | S | 2026-08-11T11:07:03Z |
| T428 | One question bank, soft voice: onboarding and auto-test ask the same questions | L | 2026-08-11T17:01:37Z |
| T429 | The progression engine, rebuilt: per-phase base weeks + per-answer rules, no clamp | XL | 2026-08-11T21:31:07Z |
| T430 | The Back Office grid: every answer’s effect on every phase, with impact preview | XL | 2026-08-12T06:15:06Z |
| T431 | fix: the auto-test publishes the wrong product’s numbers | S | 2026-08-10T15:55:41Z |
| T432 | Member-facing phase descent, and free movement between phases already earned | L | 2026-08-12T10:19:13Z |
| T471 | fix: persistEngine rewrites the engine in sequential statements — a mid-write death serves a mutilated engine to every member | S | 2026-08-12T07:27:37Z |
| T472 | Engine grid legibility: label the cells, explain saturation where it happens, and a guide that matches the screen | M | 2026-08-12T21:43:29Z |
Auto-generado por scripts/maintenance/generate-vault-dashboard.mjs. Última corrida: 2026-08-13.