PPF402 Baja and Alta saved as Modificacion in vehicle history
Stakeholder Pending CSV 2026-10-16 12:07 row 19 reports that PPF402 Baja and subsequent Alta appear as Modificacion. SELECT-only PROD identifies app history 514234 estado BAJA and 514237 estado ALTA on 2026-10-15; both have stored tramite MODIF (DEV analogous). Preserve completed MOVILBA-451 contract: a real Baja is stored as zero-length BAJA-state period with tramite MODIF and expte_baja, while UI/PDF should label the event Baja registrada from its state/shape. Do not retag the Baja row or invent a BAJA tramite catalog value. Diagnose BAJA-to-ALTA classification for the successor; make future re-Alta an ALTA tramite if supported by catalog and business rule, with a separately reviewed narrow repair of PPF402 successor only if needed. Test displayed labels and stored canonical IDs across history/API/PDF, preserving internal-only MODIF and MOVILBA-511 transfers. No RUTAP import or unrelated row change; PROD import lock remains.
Activity
-
was: Stakeholder Pending CSV 2026-10-16 12:07 row 19 reports PPF402 Baja and Alta displayed as Modificacion. Fresh SELECT-only PROD shows app history 514234 estado BAJA and 514237 estado ALTA, both 2026-10-15 and both tramite_id 318 MODIF; DEV has analogous app rows. Diagnose the UI Alta/Baja writer classification, correct future persistence without changing unrelated MODIF semantics, and design a narrowly reviewed repair for existing PPF402 history only if necessary. Verify stored catalog-resolved tramite, history UI/API/PDF and same-day Baja->Alta tests. No RUTAP import; PROD import lock remains.
-
Catalog check: tramite ALTA=317 and MODIF=318; no BAJA tramite. Baja estado=117 is not a tramite. Keep PPF402 Baja app rows stored MODIF per MOVILBA-451, derive displayed Baja from event shape. db04 SELECT-only design /data-lezama/movilba/evidencia/MOVILBA-832/2026-10-16-ppf402-cycle-and-tramite-design.md SHA256 4519c202f963f395f2033d68c7629b66dc1d97b97b95ecb52db4c9b569423994. Re-Alta rows PROD 514237, DEV 617980/617982 may need narrowly reviewed 318->317 repair after future writer fix; no writes/import now.
-
db04 corrected PPF402 DB design after MOVILBA-451 scope check: /data-lezama/movilba/evidencia/MOVILBA-832/2026-10-16-ppf402-cycle-and-tramite-design.md SHA256 82f7d64c56a27b80f719b97e324115cd939d2fba87d57dfce5717c824854f650 supersedes 4519c202. Baja stays stored MODIF/estado BAJA; only re-Alta PROD514237 and DEV617980/617982 candidates for 318->317 after writer review. No DB write/import.
-
Artifact identity correction: db04 restored PPF402 design byte-for-byte to original SHA256 4519c202f963f395f2033d68c7629b66dc1d97b97b95ecb52db4c9b569423994 at /data-lezama/movilba/evidencia/MOVILBA-832/2026-10-16-ppf402-cycle-and-tramite-design.md. Interim SHA 82f7d64c and BAJA-catalog proposal are void. MOVILBA-451 scope unchanged: stored Baja MODIF, display Baja from event shape; re-Alta ALTA review; 833 view separate. No DB writes.
-
FINAL PM choice B: real Baja continues stored as tramite MODIF=318 per completed MOVILBA-451; history/UI/PDF display Baja from BAJA-state zero-length event and expte_baja. A prior BAJA -> current ALTA successor must store tramite ALTA=317. Do NOT create a BAJA tramite catalog option or return BAJA from writer, because PROD/DEV have none and it would abort Baja edits. Earlier 12:19 PM instruction implying stored Baja=BAJA was incorrect and is superseded. Same-day lifecycle view is MOVILBA-833. No import or DB writes authorized by this decision.
-
audit fail: Writer four pins acf1553c/664b0de3/6abe48e4/67d81ba7 on b7d66241: focused classifier/closure/transfer, save-error integration, preimage, targeted ESLint/typecheck/diff. No DB, live user, repair or833 view audit.
payload
{"scope":"Writer four pins acf1553c/664b0de3/6abe48e4/67d81ba7 on b7d66241: focused classifier/closure/transfer, save-error integration, preimage, targeted ESLint/typecheck/diff. No DB, live user, repair or833 view audit.","outcome":"fail","evidence":"audit-mba-l-ca | 2026-10-16 ART. Exact four SHA pins match. Focused6/6 pass, classifier8 assertions, targeted ESLint/typecheck/diff pass. In-memory HEAD classifier control returns MODIF for prior BAJA/current ALTA and fails expected ALTA; candidate passes. BLOCKER: node --test tools/tests/colectivo-save-errors.test.cjs rc1,4/8: date rejection serialization, malformed date, same-day write boundary and closed-period lower bound fail. Queued select fixture lacks newly added prior-state resolver query, producing unexpected-query/misaligned result. Adapt fixture without weakening controls; add runtime repository selection control for re-Alta ALTA versus actual Baja MODIF (current repository addition is static regex). Stored Baja remains MODIF as required; no new catalog proposed. Initial audit preimage harness crashed due missing compile filename; corrected in-memory harness discriminated as reported. No release/DB authorization.","reportRef":null} -
Liquidation report effect resolved from existing contract in src/lib/reportes/liquidacion.ts:23-33,103-130: Fecha alta is the vehicle's latest ALTA tramite through cutoff. A genuine UI Baja->re-Alta therefore resets it to the re-Alta date for later monthly reports; earlier cutoffs retain prior Alta. The :91-97 imported-only comment is stale observation, not an exclusion rule. Add focused report regression/update comment; do not filter app ALTA. No data write authorized by this decision.
-
Refrozen five-file writer/test candidate after prior audit FAIL: original four SHA prefixes acf1553c/664b0de3/6abe48e4/67d81ba7 unchanged; tools/tests/colectivo-save-errors.test.cjs SHA256 8d3251e5efa5032fc92206659b9de519e1e31b6b9040f486fa121251f09ca549 adds qualified prior-state lookup fixture only when colectivo preimage exists, preserving missing-colectivo query order. Audit asked to rerun affected/full tools and source/type/lint/diff. No DB/deploy.
-
Interim five-file fixture correction verified by audit: colectivo-save-errors 8/8, prior four failures resolved. Not a final PASS. Final consolidated patch must test writer lookup with actual prior BAJA->submitted ALTA and submitted BAJA->stored MODIF, plus monthly liquidacion latest-ALTA cutoff regression and stale import-only comment correction; report SQL stays unchanged. Audit will run full tools/source/lint/type on one final repin. No DB/deploy.
-
audit pass: Five pinned files acf1553c/664b0de3/6abe48e4/67d81ba7/8d3251e5 on release b7d66241. Tools/source/strict lint/typecheck/diff; classifier preimage and save-error controls. No DB writes, live writer/report, build or833 view.
payload
{"scope":"Five pinned files acf1553c/664b0de3/6abe48e4/67d81ba7/8d3251e5 on release b7d66241. Tools/source/strict lint/typecheck/diff; classifier preimage and save-error controls. No DB writes, live writer/report, build or833 view.","outcome":"pass","evidence":"audit-mba-l-ca | 2026-10-16 ART. All five hashes unchanged before/after. Full pnpm test:tools rc0 (DB tests skipped), source79/79 rc0, lint:strict/typecheck/diff rc0. Affected save-errors8/8 restores four previously failing controls. Prior classifier HEAD preimage returns MODIF for BAJA->ALTA, fails expected ALTA; candidate classifier/closure/line-transfer tests pass. Stored real Baja remains MODIF; canonical prior BAJA/current ALTA selects ALTA; internal/transfer rules retained. Static repository flow uses qualified live catalog and same transaction. Actual DB insertion/re-Alta runtime and liquidation SQL result NOT EXERCISED; repository new-flow coverage is static plus helper, not live transaction proof. Liquidation SQL includes app rows and latest ALTA before cutoff: reopening moves Fecha alta as PM explicitly accepted; stale comment follow-up per PM. Two unrelated834 files present and separately audited, not part832. No historical-row repair/view/deploy authorization; earlier FAIL retained as history.","reportRef":null} -
Final seven-file code/test candidate frozen: four writer/helper pins acf1553c/664b0de3/6abe48e4/67d81ba7; writer mock/runtime test 77dc9241; liquidation.ts 117e4f16 comment correction, no SQL change; liquidacion-realta.test.ts eaa599c4 tests actual MAX/FILTER expression with September prior Alta, October app re-Alta and MODIF control. Audit requested full tools/source/lint/type/diff and discriminating preimage; no DB write/deploy.
-
audit pass: Final7 files on b7d66241: writer acf1553c/664b0de3/6abe48e4/67d81ba7, runtime77dc9241, report117e4f16/eaa599c4. Source/tools/strict lint/typecheck/diff. No live DB/report,833 view, repair, build or deploy.
payload
{"scope":"Final7 files on b7d66241: writer acf1553c/664b0de3/6abe48e4/67d81ba7, runtime77dc9241, report117e4f16/eaa599c4. Source/tools/strict lint/typecheck/diff. No live DB/report,833 view, repair, build or deploy.","outcome":"pass","evidence":"audit-mba-l-ca | 2026-10-16 ART. Seven exact hashes reverified after gates. Full test:source rc0 (50 files); test:tools128 pass/2 credential-dependent DB skips/0fail; lint:strict,typecheck,diff rc0. Runtime save-error controls10/10 use real repository/query generation through mocked write boundary: re-Alta selects ALTA, actual Baja selects MODIF. In-memory prior-behavior mutant removing re-Alta branch9/10, specifically MODIF!=ALTA. Report SQL unchanged; stale comment corrected. New report test extracts actual MAX/FILTER and exercises in-memory SQLite: prior cutoff retains old Alta, later cutoff includes app re-Alta, changing app rows to MODIF returns prior Alta. This is aggregate semantics with static scope/catalog-join assertions, not full PostgreSQL/view/XLSX or real PPF402 results. Transfer/internal source controls pass. Other834 files present/separately audited, not in832 scope. Node24.22 vs pin24.14.1 warning persists. Final code/test acceptance only; no historical repair or live ticket closure.","reportRef":null} -
Final seven-file code audit PASS recorded by audit-mba-l-ca; immutable manifest /data-lezama/movilba/evidencia/MOVILBA-832/2026-10-16-final-code-sha256.txt SHA256 97e73a3aa02b50ad02efe8df228b082103bb93f35fa57f926d4867fe9fb2f16a. db04 SELECT-only measured current PPF402 latest ALTA 2026-03-30 (alta_por_tramite true) in both bases; after reviewed re-Alta 318->317 row repair expected 2026-10-15 for October cutoff. No DB repair/view/deploy yet; code commit only cleared.
-
audit fail: Targeted DB SQL43ccacd0 static review + reported rollback evidence66d3b26f; separate from seven-file code PASS. No DB execution/apply.
payload
{"scope":"Targeted DB SQL43ccacd0 static review + reported rollback evidence66d3b26f; separate from seven-file code PASS. No DB execution/apply.","outcome":"fail","evidence":"audit-mba-l-ca | 2026-10-16 ART. Repair validates canonical tramite317/318, but tests estado_id116 without pinning its canonical active vehiculo/estado ALTA meaning. Full history-row hash does not cover option-catalog changes. Add exact qualified active state116=ALTA preflight before re-Alta repair; reject changed/missing meaning. Only1 PROD/2 DEV pinned rows updated, JSON comparison excludes only tramite_id, default rollback and reported restored digests reviewed. Code PASS remains valid; this FAIL applies DB guard only.","reportRef":null} -
audit pass: Corrected repair SQL127e6066; static exact-row/catalog/postimage review plus db04 rollback evidence8e2e2049. Shared/release bytes equal. Separate from code PASS; no audit DB execution/apply.
payload
{"scope":"Corrected repair SQL127e6066; static exact-row/catalog/postimage review plus db04 rollback evidence8e2e2049. Shared/release bytes equal. Separate from code PASS; no audit DB execution/apply.","outcome":"pass","evidence":"audit-mba-l-ca | 2026-10-16 ART. New preflight validates active canonical vehiculo/estado116=ALTA and existing tramite317=ALTA/318=MODIF. Full row hashes pin PROD514237 and DEV617980/617982; only tramite_id changes, expected1/2 counts and public view resolution asserted. No Baja retag/catalog/source import changes. Evidence reports exact PROD->DEV default ROLLBACK rc0 and independent original-row-digest postreads. Catalog-mismatch negative execution not supplied; guard reviewed statically. Repair is compatible with reviewed writer and accepted liquidation latest-Alta effect. Apply only PM-controlled sequence after writer integration, PROD then DEV, with fresh postchecks; no live apply/closure claim.","reportRef":null} -
v5.6.254 release in progress: audited code committed DEV 5b73c1f2, PROD merge 8ad77a62; both health/freshness patch254. Exact 832 row repair SQL127e6066 committed and applied PROD->DEV by db04; PPF402 re-Alta rows now ALTA, Baja rows remain MODIF. Pod develop mirror 47b9e57/EventListener202, live build pending. Live history/UI/PDF verification pending; do not close yet.
-
v5.6.254 fleet rollout complete: DEV commit 5b73c1f2 and PROD merge 8ad77a62, pod develop mirror 47b9e57; PROD, DEV and pod /api/health all status ok serviceId35709 (patch254). Exact audited 832/833 SQL was applied PROD->DEV before code. No import/restore. Behavior verification of PPF402 detail/history/PDF and authenticated Fabricantes navigation remains; health is not closure proof.
-
Authenticated UI verification currently unavailable: Chrome MovilBA tab is at DEV /user/login and no authenticated detail session is present; no agent login attempted. Fleet /api/health patch254 on PROD/DEV/pod and DB postreads are green. Keep open for real detail/history/PDF or stakeholder navigation proof; no duplicate submission or further DB write.
-
Authenticated PROD UI checked by proxy-mba-w-ca in Elazar Pimentel session, app.movilba.com/vehiculos/PPF402, v5.6.254. History now shows latest Alta 2026-10-15 after Baja→Alta, with preceding 2026-10-15 administrative Baja represented as Modificacion / Baja registrada; earlier imported Alta 2026-03-30 is shown with Vigente hasta 2026-10-15. Proxy reports read-only, no app-data edit. This is proxy observation; item retained open pending review.
-
Completed on v5.6.254. Audited writer code 2ecc293c and targeted re-Alta row repair SQL 127e6066 applied PROD then DEV: re-Alta history is canonical ALTA=317; real Baja remains MODIF=318 plus estado BAJA per MOVILBA-451. Authenticated PROD PPF402 page and 2-page PDF checked read-only by proxy-mba-w-ca in Elazar session at 13:06-13:07 ART (hub tag proxy-mba-w-ca-mvb5v7v5rimt): latest Alta 15/10/2026 and preceding Baja registrada 15/10/2026 render in correct order; PDF distinguishes both events. No app-data edit or import. Eduardo/Eugenia access is separate MOVILBA-834.
-
Follow-up authenticated PROD PDF check by proxy-mba-w-ca, Elazar session, v5.6.254, read-only: Exportar PDF from existing PPF402 rendered 2 pages. PDF history latest EX-2026-46125058 Alta 2026-10-15, Estado Baja→Alta, interno58→60; preceding EX-2026-46114164 Baja registrada 2026-10-15; prior imported Alta 2026-03-30; oldest Alta 2025-07-08/Baja 2026-02-25. Detail UI displays Trámite Modificacion on the Baja while PDF presents Baja registrada and omits a separate Trámite label. Current Alta history and expected Baja event label verified; retain this output-format distinction for review. No data edits.