Skip to content

feat: prepare registration-v4 legal contract - #22

Draft
nicoechaniz wants to merge 2 commits into
mainfrom
feat/registration-v4
Draft

feat: prepare registration-v4 legal contract#22
nicoechaniz wants to merge 2 commits into
mainfrom
feat/registration-v4

Conversation

@nicoechaniz

@nicoechaniz nicoechaniz commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

Outcome

Prepares — but does not publish — registration-v4, adding the bilingual disclosure required before CompleteRegistration/Purchase can ship.

The branch is rebased on current main (b62cd9c) and preserves the official inline Ticket Tailor widget, URL normalization/cache busting, checkout identity prefill, bilingual email typo and DNS/MX validation, confirmation content, and the latest registration-page redesign.

Canonical artifacts

  • v3 immutable: /legal/terms/registration-v3.html
    • SHA-256 0d65e0c03acd635f08c3e04628a19ef0e674e08612e2ac2446502f3b10b6b54e
  • v4 immutable: /legal/terms/registration-v4.html
    • SHA-256 c062b63921bf9a0d175a9770eaeaee647e65347bb3a1188285bc7c3706a1b773
  • /politica/ is byte-identical to v4 in this commit.

V4 explicitly discloses the opaque technical Purchase conversion identifier used for deduplication; it remains separate from PII and raw provider IDs.

Behavior and compatibility

  • form submits terms_version=registration-v4;
  • browser keys are version-scoped to avoid v3/v4 idempotency payload reuse;
  • confirmation still reads valid v3 status contexts after cutover;
  • consent notice and policy describe PageView, canonical CompleteRegistration and paid-only Purchase, plus explicit non-PII boundaries;
  • local build includes policy and immutable legal artifacts.

Coordination required

The current Bot accepts one configured terms version. This PR must remain draft until Mariano deploys the exact allowlisted v3+v4 compatibility contract described in docs/registration-v4-cutover.md, or registration is explicitly closed for an atomic cutover. Never deploy one side alone while registration is open.

Verification

  • 29/29 tests
  • build green
  • diff-check green
  • source and dist/ hashes verified byte-for-byte

Closes no issue yet. Related: #12, SairaAsua/proyecciones-mito#33.

@nicoechaniz

Copy link
Copy Markdown
Contributor Author

Hash v4 final actualizado tras explicitar el identificador opaco de conversión usado para deduplicar Purchase: c062b63921bf9a0d175a9770eaeaee647e65347bb3a1188285bc7c3706a1b773. El hash v3 permanece sin cambios. Aún no publicado.

@nicoechaniz

Copy link
Copy Markdown
Contributor Author

Rebased onto current landing main f7237ca after PRs #24#26 and the latest registration-page redesign. The rebased diff preserves the official inline Ticket Tailor widget, removes only widget/modal_widget flags, keeps the cache-busted asset, and remains clean/mergeable. Verification on head 4f0b0d3: 25/25 tests, build, diff-check, and exact source/dist hashes pass.

@nicoechaniz
nicoechaniz force-pushed the feat/registration-v4 branch from 4f0b0d3 to 8b6dd6c Compare August 4, 2026 18:08
@nicoechaniz

Copy link
Copy Markdown
Contributor Author

Rebased onto current landing main 5bdfde4. Head 8b6dd6c preserves the official inline widget, duplicate-flag normalization, cache busting, Ticket Tailor identity prefill, email-domain typo validation, current confirmation pages and the latest visual/content work. Verification: 27/27 tests, build, diff-check and byte-exact v3/v4 source/dist hashes pass.

@nicoechaniz
nicoechaniz force-pushed the feat/registration-v4 branch from 8b6dd6c to 5ef1005 Compare August 4, 2026 18:30
@nicoechaniz

Copy link
Copy Markdown
Contributor Author

Actualización por cambios concurrentes de Mariano/Sai: rebase limpio sobre main@b62cd9c (incluye validación MX #29). Nuevo head 5ef1005. Gates: 29/29 tests, build y diff-check verdes. Se preservan widget inline, prefill, validación tipográfica/MX y los hashes byte-exactos v3/v4. Sigue draft hasta coordinar el corte backend v4.

@Mar-IA-no

Copy link
Copy Markdown
Contributor

Coordinación de supersesión: el contenido funcional de este stack fue reaplicado sobre el main vigente, preservando la autoría de Nico, revisado y publicado mediante PR #35 (merge 107bb44). La implementación publicada conserva registration-v4, verificación de buzón compatible, CompleteRegistration deduplicado y consentimiento Meta. Para evitar trabajo duplicado, por favor cerrá esta PR apilada; no modificaremos ni eliminaremos su rama. Cualquier evolución posterior debe partir del main actual.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants