Files
dh-inspeccion-v2/deploy.log
T

501 lines
24 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
✔ D5.3.20 builds OOXML Word from the frozen act snapshot without external document dependencies (0.295001ms)
✔ F4 keeps report generation act-scoped while findings and inspection lifecycle remain independent (0.143439ms)
✔ D5.3.21/F4 stores configurable recipients without hardcoding addresses and retires Director delivery (0.917552ms)
✔ D5.3.21 creates an immutable act PDF and separates its delivery from the editable INF Word (0.210622ms)
✔ D5.3.21 keeps an auditable retryable outbox with explicit waiting states (0.560927ms)
✔ F4 SMTP can be administered in database while retaining environment fallback (0.150419ms)
✔ D5.3.21/F4 delivery stays act-scoped after multiple acts per inspection (0.28184ms)
✔ D5.3.22 revision ledger is retained as historical INF versioning (4.398318ms)
✔ F4 explicitly retires Director review approval and final-signature state (0.316654ms)
✔ F4 removes active Director endpoints but preserves historical signature evidence (0.2821ms)
✔ F4 replaces Director approval with editable INF then immutable GEDO IF officialization (0.142208ms)
✔ F4 delivery has no Director recipient while preserving company office and inspector copies (0.711827ms)
✔ F4 Director-retirement rollback reconstructs schema and RBAC contract without inventing deleted data (0.188258ms)
✔ F4 document workflow changes do not reopen acts or mutate finding history (0.175518ms)
✔ D5.3.23 records field discoveries as auditable provisional inventory records (1.286345ms)
✔ D5.3.23 only lets a mobile assigned inspector create during an active visit (0.324586ms)
✔ F1.1 preserves D5.3.23 field discovery while linking only to the current draft act (0.174145ms)
✔ D5.3.23 office review can approve match or reject without deleting historical objects (0.143959ms)
✔ D5.3.23 preserves immutable inspection history when matching an existing inventory object (0.11166ms)
✔ D5.3.24 stores parent area and operator as explicit non-overlapping temporal context (1.196528ms)
✔ D5.3.24 reconstructs previous context from immutable asset versions during migration (0.2022ms)
✔ D5.3.24 separates ordinary editing from an audited context transfer (0.380211ms)
✔ D5.3.24 closes the previous interval and appends the replacement without deleting history (0.311366ms)
✔ D5.3.24 temporal reconstruction resolves context by effective validity at the requested instant (0.128326ms)
✔ D5.3.25 creates an append-only verification event ledger and reconstructs prior history (1.180773ms)
✔ D5.3.25 records every office control-date change without replacing historical events (0.344516ms)
✔ D5.3.25 makes one field result immutable and appends its result event (0.204622ms)
✔ D5.3.25 preserves successive verification visits as separate historical attempts (0.162829ms)
✔ D5.3.25 exposes the complete verification history through finding detail and a dedicated endpoint (0.122506ms)
✔ D5.3.3 separates operational state from data quality and adds registry structures (7.456258ms)
✔ D5.3.3 keeps physical hierarchy separate from legal and organizational relations (2.766806ms)
✔ D5.3.3 only accepts OPERATOR relations for exclusive asset assignment (1.844447ms)
✔ D5.4.1 exports controller-visible selection views so Nest declaration build can name them (1.15939ms)
✔ D5.4 models type applicability and concrete Inventory exceptions separately (0.650814ms)
✔ D5.4 exposes only applicable catalog items and enforces the same rule on field creation (0.193336ms)
✔ D5.4 stores suggested and actual severity independently on the 1 to 10 scale (0.11777ms)
✔ D5.4 turns OTHER into an office proposal without rewriting the original finding (0.109057ms)
✔ D5.4 keeps contextual catalog administration in office permissions and audited routes (0.114915ms)
✔ D5.5 stores explicit Area and Operator context plus append-only checklist generations (0.970663ms)
✔ D5.5 exposes Area then active OPERATOR choices and a server-generated planning checklist (0.273358ms)
✔ D5.5 classifies antecedents overdue items and next controls while adding actionable assets automatically (0.181567ms)
✔ D5.5 treats manual additions as preventive and requires an auditable reason for exclusions (0.580006ms)
✔ D5.5/F4 keeps verification visits inside the Area Operator contract and start remains APK-only (0.280779ms)
✔ D5.5/F4 requires a current checklist before planning or start and keeps start under mobile policy (0.17053ms)
✔ D5.6.1 exposes controlled administrative password reset with the existing user-update permission (1.759537ms)
✔ D5.6.1 resets lockout revokes sessions and audits without persisting the password value (0.32766ms)
✔ D5.6.4/F4 generates inspection codes server-side with an annual transactional sequence (2.655176ms)
✔ D5.6.4/F4 creates one inspection from Area Operator, start and lead inspector without legacy title or end date (0.771449ms)
✔ D5.6.4 assigns the lead inspector and generates the checklist in the same creation transaction (0.238124ms)
✔ D5.6.4/F4 uses the same inspection numbering and start-only planning for verification visits (2.250126ms)
✔ D5.6 immutable act closure survives F4 as LOCKED then SEALED (1.235957ms)
✔ D5.6 preserves findings responses evidence and verification history as non destructive follow-up (0.460113ms)
✔ D5.6 keeps Inventory temporal context and contextual finding applicability independent and historical (0.378999ms)
✔ F4 preserves reviewed web planning and APK-only inspection execution (0.254518ms)
✔ D5.6 report generation remains attached to sealing each act (3.344449ms)
✔ F4 replaces Director approval with editable INF then immutable GEDO IF officialization (0.397407ms)
✔ F4 keeps auditable delivery, removes Director recipient and makes SMTP administrable (0.289062ms)
✔ D5.6 remains a historical closure baseline while Phase F introduces explicit migrations (0.525242ms)
✔ F1.1/F4 allows many acts per inspection while keeping only one draft at a time (1.042772ms)
✔ F1.1/F4 preserves exactly one frozen report per act instead of per inspection (0.232816ms)
✔ F4 seals one act without closing its parent inspection (0.411588ms)
✔ F4 closes an inspection only after every non-cancelled act is sealed (0.200506ms)
✔ F4 requires exactly one terminal company outcome before an act can be sealed (0.199666ms)
✔ F1.1/F4 keeps field-created Inventory linked only to the current draft act (1.029412ms)
✔ F1.2 stores one append-only administrative deadline ledger per Act (1.337452ms)
✔ F1.2 preserves ambiguous historical finding deadlines instead of collapsing them (0.124ms)
✔ F1.2 stores company responses and protected PDF metadata at Act level (0.096167ms)
✔ F1.2 deadline and company response DTOs reject invalid office input (4.580706ms)
✔ F1.2 derives administrative queues from Acts instead of replacing finding history (0.125301ms)
✔ F1.3 agrupa pendientes de campo por Acta y Hallazgo (0.947207ms)
✔ F1.3 expone el briefing para una inspección planificada (0.548969ms)
✔ F1.3 no usa el plazo del Hallazgo como plazo administrativo (0.290023ms)
✔ F4 removes the Survey execution controller from the active API (1.177319ms)
✔ F4 removes Survey execution and review permissions from active authorization (0.202219ms)
✔ F4 removes Survey execution DTOs together with the retired endpoint surface (1.497698ms)
✔ F4 drops Survey report tables without CASCADE so unexpected dependencies stop migration (0.427983ms)
✔ F4 rollback can reconstruct the historical Survey report integrity rules (2.065725ms)
✔ F4 removes Survey planning controllers from the active API (0.917031ms)
✔ F4 removes Survey planning permissions and their role bindings (0.208758ms)
✔ F4 rollback retains the former role-permission map only as a reversible migration path (0.146303ms)
✔ F4 removes Survey planning DTOs from the active code surface (0.860645ms)
✔ F4 drops Survey planning tables after removing their permissions (0.225524ms)
✔ F4 rollback can reconstruct historical Survey planning dates and asset references (0.169258ms)
✔ TokenService issues and verifies access tokens (9.027128ms)
✔ TokenService rotates opaque refresh credentials without storing plaintext (1.128814ms)
tests 436
suites 0
pass 436
fail 0
cancelled 0
skipped 0
todo 0
duration_ms 66598.450181
========== BUILD WEB CANDIDATA ==========
#0 building with "default" instance using docker driver
#1 [internal] load build definition from Dockerfile
#1 transferring dockerfile: 334B done
#1 DONE 0.0s
#2 [internal] load metadata for docker.io/library/node:24-alpine
#2 DONE 0.5s
#3 [internal] load metadata for docker.io/library/nginx:alpine
#3 DONE 0.7s
#4 [internal] load .dockerignore
#4 transferring context: 75B done
#4 DONE 0.0s
#5 [builder 1/7] FROM docker.io/library/node:24-alpine@sha256:50c8e8ca1d27439048670df5883f32d57cf81cff6233222c893fd0d9884cbd81
#5 resolve docker.io/library/node:24-alpine@sha256:50c8e8ca1d27439048670df5883f32d57cf81cff6233222c893fd0d9884cbd81 0.0s done
#5 DONE 0.0s
#6 [stage-1 1/3] FROM docker.io/library/nginx:alpine@sha256:72ba65eb42c10344912a84ff42408db7d34f2feb642204570ab8fc5ffd29f1d3
#6 resolve docker.io/library/nginx:alpine@sha256:72ba65eb42c10344912a84ff42408db7d34f2feb642204570ab8fc5ffd29f1d3 0.0s done
#6 DONE 0.0s
#7 [internal] load build context
#7 transferring context: 1.22MB 0.0s done
#7 DONE 0.1s
#8 [builder 2/7] WORKDIR /app
#8 CACHED
#9 [builder 3/7] COPY package*.json ./
#9 CACHED
#10 [builder 5/7] COPY tsconfig*.json vite.config.ts index.html ./
#10 CACHED
#11 [stage-1 2/3] COPY nginx/default.conf /etc/nginx/conf.d/default.conf
#11 CACHED
#12 [builder 7/7] RUN npm run build
#12 CACHED
#13 [builder 4/7] RUN npm ci
#13 CACHED
#14 [builder 6/7] COPY src ./src
#14 CACHED
#15 [stage-1 3/3] COPY --from=builder /app/dist /usr/share/nginx/html
#15 CACHED
#16 exporting to image
#16 exporting layers 0.0s done
#16 exporting manifest sha256:8e9f8366bc74717e1d301433dd6b09b523db6e7b597eb4ac2f1fb05dcaa262e3
#16 exporting manifest sha256:8e9f8366bc74717e1d301433dd6b09b523db6e7b597eb4ac2f1fb05dcaa262e3 done
#16 exporting config sha256:ba767c7801e6c8e6d587a9350a3b5b23f55ebe6cb10138371a826fa70f0ba175 done
#16 exporting attestation manifest sha256:849ebc2f367dff660e0b6826edfee9762b074aa9bb4ee6f9172cd93e18850f9d 0.0s done
#16 exporting manifest list sha256:a0e05698f017dfc919d8fa9881030a66450e5f0a5ba14693875c771b6a03dc11 0.0s done
#16 naming to docker.io/library/dhv2-web:gitea-20260914_110058 done
#16 unpacking to docker.io/library/dhv2-web:gitea-20260914_110058 0.1s done
#16 DONE 0.2s
========== BACKUP PRE ==========
database-before.dump: OK
source-before.tar.gz: OK
.env: OK
previous.sha: OK
target.sha: OK
docker-before.txt: OK
========== FAST-FORWARD ==========
2388052 fix(api): align health version with package metadata
637c28d fix(web): align visible version with 0.23.0-2
fc0c62c docs(android): pin 0.19.2 server compatibility
3ab10b3 chore(web): bump version for deferred Acta urgency
c6475c8 fix(api): clear legacy draft urgency during migration
b757bf7 ci(gitea): run planning smoke API requests inside container
e30e5d9 fix(android): align Acta flow and defer urgency to close
d44ae04 test(android): align 0.19.1 release contract and record field review
78e9297 fix(android): align GPS and technical inventory field workflow
7fcb1d4 fix(android): harden field session and writes for 0.19.1 candidate
Updating e55684b..2388052
Fast-forward
.github/workflows/android.yml | 10 +-
android-app/FINAL_RELEASE_CHECKLIST.md | 9 +-
android-app/RELEASE.md | 48 ++++++++--
android-app/REVIEW_0_19_1.md | 49 ++++++++++
android-app/app/build.gradle.kts | 4 +-
.../com/korexlabs/dhinspeccion/MainViewModel.kt | 100 ++++++++++----------
.../com/korexlabs/dhinspeccion/OperationTracker.kt | 16 ++++
.../com/korexlabs/dhinspeccion/data/DhMobile.kt | 31 +++---
.../dhinspeccion/data/FieldCoordinates.kt | 14 +++
.../dhinspeccion/data/FieldFindingsMobile.kt | 24 ++---
.../com/korexlabs/dhinspeccion/data/MobileActs.kt | 45 ++++-----
.../dhinspeccion/data/MobileInspectionOpen.kt | 18 +---
.../dhinspeccion/data/MobileSessionCoordinator.kt | 32 +++++++
.../korexlabs/dhinspeccion/data/TechnicalValues.kt | 64 +++++++++++++
.../dhinspeccion/ui/FieldFindingScreen.kt | 4 +
.../com/korexlabs/dhinspeccion/ui/LoginGate.kt | 12 ++-
.../korexlabs/dhinspeccion/ui/MobileActsScreen.kt | 51 +++++-----
.../dhinspeccion/ui/ModernMobileActsScreen.kt | 76 ++++++++-------
.../korexlabs/dhinspeccion/ui/ModernVisitRoot.kt | 61 +++++-------
.../dhinspeccion/ui/TechnicalFieldsButton.kt | 99 +++++++++++++++++++
.../korexlabs/dhinspeccion/FieldCoordinatesTest.kt | 24 +++++
.../dhinspeccion/FinalFieldFlowContractTest.kt | 2 +-
.../dhinspeccion/MobileSessionCoordinatorTest.kt | 105 +++++++++++++++++++++
.../korexlabs/dhinspeccion/OperationTrackerTest.kt | 28 ++++++
.../korexlabs/dhinspeccion/ReleaseMetadataTest.kt | 4 +-
.../korexlabs/dhinspeccion/TechnicalValuesTest.kt | 28 ++++++
api-v3/package-lock.json | 4 +-
api-v3/package.json | 2 +-
.../src/database/entities/inspection-act.entity.ts | 4 +-
.../1790113800000-f6-1-act-urgency-at-lock.ts | 17 ++++
.../dto/create-inspection-act.dto.ts | 5 -
.../dto/update-inspection-act.dto.ts | 6 --
.../src/inspection-acts/inspection-acts.service.ts | 5 +-
.../dto/prepare-inspection-act.dto.ts | 7 ++
.../inspection-closing.controller.ts | 4 +-
.../inspection-closing.service.ts | 34 ++++---
api-v3/src/version.ts | 2 +-
.../unit/f4-act-web-lifecycle-contract.test.ts | 2 +-
api-v3/test/unit/f4-android-act-contract.test.ts | 2 +-
api-v3/test/unit/f4-health-metadata.test.ts | 6 +-
api-v3/test/unit/f5-android-test-cut.test.ts | 4 +-
.../test/unit/f6-3-mobile-act-finding-flow.test.ts | 32 +++++--
api-v3/test/unit/inspection-acts-dto.test.ts | 6 +-
api-v3/test/unit/inspection-closing-dto.test.ts | 12 +++
scripts/ci-inspection-planning-smoke.sh | 44 +++++----
web-v2/package-lock.json | 4 +-
web-v2/package.json | 2 +-
web-v2/src/config/version.ts | 2 +-
.../inspections/InspectionClosurePanel.tsx | 2 +-
web-v2/src/lib/inspectionActF4Api.ts | 4 +-
web-v2/src/pages/InspectionActEditorPage.tsx | 2 +-
51 files changed, 850 insertions(+), 322 deletions(-)
create mode 100644 android-app/REVIEW_0_19_1.md
create mode 100644 android-app/app/src/main/java/com/korexlabs/dhinspeccion/OperationTracker.kt
create mode 100644 android-app/app/src/main/java/com/korexlabs/dhinspeccion/data/FieldCoordinates.kt
create mode 100644 android-app/app/src/main/java/com/korexlabs/dhinspeccion/data/MobileSessionCoordinator.kt
create mode 100644 android-app/app/src/main/java/com/korexlabs/dhinspeccion/data/TechnicalValues.kt
create mode 100644 android-app/app/src/main/java/com/korexlabs/dhinspeccion/ui/TechnicalFieldsButton.kt
create mode 100644 android-app/app/src/test/java/com/korexlabs/dhinspeccion/FieldCoordinatesTest.kt
create mode 100644 android-app/app/src/test/java/com/korexlabs/dhinspeccion/MobileSessionCoordinatorTest.kt
create mode 100644 android-app/app/src/test/java/com/korexlabs/dhinspeccion/OperationTrackerTest.kt
create mode 100644 android-app/app/src/test/java/com/korexlabs/dhinspeccion/TechnicalValuesTest.kt
create mode 100644 api-v3/src/database/migrations/1790113800000-f6-1-act-urgency-at-lock.ts
create mode 100644 api-v3/src/inspection-closing/dto/prepare-inspection-act.dto.ts
========== BUILD PRODUCCIÓN ==========
Image dhv2-api Building
Image dhv2-web Building
Image dhv2-migrate Building
#1 [internal] load local bake definitions
#1 reading from stdin 1.35kB done
#1 DONE 0.0s
#2 [migrate internal] load build definition from Dockerfile
#2 transferring dockerfile: 595B done
#2 DONE 0.0s
#3 [web internal] load build definition from Dockerfile
#3 transferring dockerfile: 407B done
#3 DONE 0.0s
#4 [web internal] load metadata for docker.io/library/node:24-alpine
#4 ...
#5 [web internal] load metadata for docker.io/library/nginx:alpine
#5 DONE 0.2s
#4 [migrate internal] load metadata for docker.io/library/node:24-alpine
#4 DONE 0.2s
#6 [web internal] load .dockerignore
#6 transferring context: 148B done
#6 DONE 0.0s
#7 [migrate internal] load .dockerignore
#7 transferring context: 147B done
#7 DONE 0.0s
#8 [web internal] load build context
#8 DONE 0.0s
#9 [migrate internal] load build context
#9 DONE 0.0s
#10 [migrate builder 1/7] FROM docker.io/library/node:24-alpine@sha256:50c8e8ca1d27439048670df5883f32d57cf81cff6233222c893fd0d9884cbd81
#10 resolve docker.io/library/node:24-alpine@sha256:50c8e8ca1d27439048670df5883f32d57cf81cff6233222c893fd0d9884cbd81 0.1s done
#10 DONE 0.1s
#11 [web stage-1 1/3] FROM docker.io/library/nginx:alpine@sha256:72ba65eb42c10344912a84ff42408db7d34f2feb642204570ab8fc5ffd29f1d3
#11 resolve docker.io/library/nginx:alpine@sha256:72ba65eb42c10344912a84ff42408db7d34f2feb642204570ab8fc5ffd29f1d3 0.1s done
#11 DONE 0.1s
#9 [migrate internal] load build context
#9 ...
#8 [web internal] load build context
#8 transferring context: 1.23MB 0.1s done
#8 DONE 0.1s
#9 [migrate internal] load build context
#9 transferring context: 2.61MB 0.3s done
#9 DONE 0.3s
#12 [web stage-1 2/3] COPY nginx/default.conf /etc/nginx/conf.d/default.conf
#12 CACHED
#13 [web builder 2/7] WORKDIR /app
#13 CACHED
#14 [web builder 3/7] COPY package*.json ./
#14 CACHED
#15 [web builder 4/7] RUN npm ci
#15 CACHED
#16 [web builder 5/7] COPY tsconfig*.json vite.config.ts index.html ./
#16 CACHED
#17 [web builder 6/7] COPY src ./src
#17 CACHED
#18 [web builder 7/7] RUN npm run build
#18 CACHED
#19 [web stage-1 3/3] COPY --from=builder /app/dist /usr/share/nginx/html
#19 CACHED
#13 [migrate builder 2/7] WORKDIR /app
#13 CACHED
#20 [migrate builder 3/7] COPY package*.json ./
#20 CACHED
#21 [migrate builder 4/7] RUN npm ci
#21 CACHED
#22 [migrate builder 5/7] COPY nest-cli.json tsconfig.json ./
#22 CACHED
#23 [migrate builder 6/7] COPY src ./src
#23 DONE 0.2s
#24 [web] exporting to image
#24 exporting layers 0.0s done
#24 exporting manifest sha256:15b625150665274f80bb75f1b9c89f5b7c5a3177ca19dd97c4c4d831ef6d0501 0.0s done
#24 exporting config sha256:bb75764566f45722d26fedc2e7489b01fee987c36a3919b7c50a59d0d4003c67 0.0s done
#24 exporting attestation manifest sha256:460c9215c7446620029d7064fd5a9a5ad6a3fe9688eaefcc3da5f668a858bdde 0.2s done
#24 exporting manifest list sha256:5dfe1b3588504ea21f4dc8f1a62b5856b4b48f7de313a0c0d2242aa789495c71 0.0s done
#24 naming to docker.io/library/dhv2-web:latest
#24 naming to docker.io/library/dhv2-web:latest done
#24 unpacking to docker.io/library/dhv2-web:latest 0.1s done
#24 DONE 0.5s
#25 [migrate builder 7/7] RUN npm run build
#25 ...
#26 [web] resolving provenance for metadata file
#26 DONE 0.1s
#25 [migrate builder 7/7] RUN npm run build
#25 0.748
#25 0.748 > dhv2-api@0.29.0-2 build
#25 0.748 > nest build
#25 0.748
#25 DONE 17.0s
#27 [migrate runner 3/7] WORKDIR /app
#27 CACHED
#28 [migrate runner 4/7] COPY package*.json ./
#28 CACHED
#29 [migrate runner 2/7] RUN apk add --no-cache unzip
#29 CACHED
#30 [migrate runner 5/7] RUN npm ci --omit=dev && npm cache clean --force
#30 CACHED
#27 [api runner 3/7] WORKDIR /app
#27 CACHED
#28 [api runner 4/7] COPY package*.json ./
#28 CACHED
#29 [api runner 2/7] RUN apk add --no-cache unzip
#29 CACHED
#31 [migrate runner 6/7] COPY --from=builder /app/dist ./dist
#31 DONE 0.2s
#32 [api runner 7/7] RUN mkdir -p /app/storage/asset-media/imports && chown -R node:node /app/storage
#32 DONE 0.3s
#33 [migrate] exporting to image
#33 exporting layers
#33 exporting layers 0.3s done
#33 exporting manifest sha256:a033ecd35eaf16fa7b010b8c6938c30193d39698afaadbb4440f1a2b556b1f5b
#33 exporting manifest sha256:a033ecd35eaf16fa7b010b8c6938c30193d39698afaadbb4440f1a2b556b1f5b 0.1s done
#33 exporting config sha256:1e83d24727773012322785c76364a7b88fc2280343842ac3199c8a877662031c 0.0s done
#33 exporting attestation manifest sha256:39dd978b8b39a25c62e1f2c64bc2b8d121f7fb066bd3fbd6e2a86f7174454ff1
#33 exporting attestation manifest sha256:39dd978b8b39a25c62e1f2c64bc2b8d121f7fb066bd3fbd6e2a86f7174454ff1 0.0s done
#33 exporting manifest list sha256:56fbd9d6fa8de6c61c855c7d1b92656fc947fe7df340d5a7954e1a83651c5088 0.0s done
#33 naming to docker.io/library/dhv2-migrate:latest done
#33 unpacking to docker.io/library/dhv2-migrate:latest
#33 unpacking to docker.io/library/dhv2-migrate:latest 0.2s done
#33 DONE 0.7s
#34 [api] exporting to image
#34 exporting layers 0.3s done
#34 exporting manifest sha256:d119421e73e4de4be5a657c4e0c7908e453f42dafa5edc3a274747693d893349 0.1s done
#34 exporting config sha256:a771ceb481567df296ab27eca910fa466aab92cc8fdea0218e41eb32b978146c 0.0s done
#34 exporting attestation manifest sha256:d5d52d4eb3fd70550f99db6e1f5e6397accb6ec57fbea549a9d79dad09d27518 0.0s done
#34 exporting manifest list sha256:c86ab4dc337d1fa817c0c9c1c0f783a68068b4ffe1670ea5364c38da8a6dcec7 0.0s done
#34 naming to docker.io/library/dhv2-api:latest 0.0s done
#34 unpacking to docker.io/library/dhv2-api:latest 0.2s done
#34 DONE 0.8s
#35 [migrate] resolving provenance for metadata file
#35 ...
#36 [api] resolving provenance for metadata file
#36 DONE 0.1s
#35 [migrate] resolving provenance for metadata file
#35 DONE 0.2s
Image dhv2-migrate Built
Image dhv2-web Built
Image dhv2-api Built
========== MIGRACIONES ==========
Container dhv2-db Running
Container dhv2-db Waiting
Container dhv2-db Healthy
Container dhv2-migrate-run-a4a410304c0a Creating
Container dhv2-migrate-run-a4a410304c0a Created
> dhv2-api@0.29.0-2 migration:run
> node dist/database/migration-cli.js run
Applied migrations: 0
npm notice
npm notice New major version of npm available! 11.19.0 -> 12.0.2
npm notice Changelog: https://github.com/npm/cli/releases/tag/v12.0.2
npm notice To update run: npm install -g npm@12.0.2
npm notice
Container dhv2-db Running
Container dhv2-db Waiting
Container dhv2-db Healthy
Container dhv2-migrate-run-a0fcf0498b48 Creating
Container dhv2-migrate-run-a0fcf0498b48 Created
> dhv2-api@0.29.0-2 migration:show
> node dist/database/migration-cli.js show
Pending migrations: no
npm notice
npm notice New major version of npm available! 11.19.0 -> 12.0.2
npm notice Changelog: https://github.com/npm/cli/releases/tag/v12.0.2
npm notice To update run: npm install -g npm@12.0.2
npm notice
========== RECREATE API + WEB ==========
Container dhv2-api Recreate
Container dhv2-api Recreated
Container dhv2-web Recreate
Container dhv2-web Recreated
Container dhv2-api Starting
Container dhv2-api Started
Container dhv2-web Starting
Container dhv2-web Started
========== HEALTH ==========
{"status":"ok","service":"dhv2-api","api":"v3","version":"0.29.0-2","phase":"F6.1","database":"ok","time":"2026-09-14T14:03:13.928Z","latencyMs":3}
========== VERIFICACIÓN FINAL ==========
NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
dhv2-api dhv2-api "docker-entrypoint.s…" api 5 seconds ago Up 2 seconds 127.0.0.1:3101->3000/tcp
dhv2-db postgis/postgis:16-3.5 "docker-entrypoint.s…" db 4 weeks ago Up 4 weeks (healthy) 5432/tcp
dhv2-web dhv2-web "/docker-entrypoint.…" web 4 seconds ago Up 2 seconds 127.0.0.1:8182->80/tcp
Servicios críticos: OK
database-before.dump: OK
source-before.tar.gz: OK
.env: OK
previous.sha: OK
target.sha: OK
docker-before.txt: OK
database-after.dump: OK
deployed.sha: OK
deployed-versions.txt: OK
health.json: OK
migrations.txt: OK
docker-after.txt: OK
============================================================
DH V2 · DEPLOY OK
============================================================
Commit: 23880521d94f56a7ca6963a7616f77a5bac9a552
API: 0.29.0-2
WEB: 0.23.0-2
Backup: /root/DH_V2_BACKUPS/GITEA_DEPLOY_20260914_110058
============================================================