SIENTIAPDE-1972: F4 close-out - ledger de commits + gates de integracao (Task 21.end)

This commit is contained in:
PedroHMCosme
2026-07-15 15:33:03 -03:00
parent cebb5215a3
commit e0d8dd3729

View File

@@ -99,7 +99,14 @@ At the end of each phase Fx, before starting the next:
- Wire the gRPC `slot_lookup` seam (address→names from the current slot) so on-demand reads persist; if the lookup becomes I/O-bound, move it inside the servicer's try/except.
- gRPC server is internal-only, no auth (no consumer yet — likely frontend later, per feature owner).
- Edge case (minor): `read_now` with `SourceTimestamp=None` persists `timestamp=None`; add a guard if it matters in practice.
**F4 — Wiring, health, deploy, hardening:** _(fill at F4 close-out)_
**F4 — Wiring, health, deploy, hardening** — base `e9ce9e5`. Status: ✅ complete, 222 unit tests green, ruff clean, `grep -i kafka` = 0.
- `ff605ee` feat(gateway): GatewayConfig env (NATS/gRPC/certs/write flags) (Task 17)
- `3912687` feat(gateway): wire engines+adapters via GatewayRuntime (write/gRPC live; subscription v2 gated on 1974) (Task 18)
- `3f413f8` fix(gateway): app survives runtime init failure; dedupe NATS-down notifications; fix stale slot_lookup note (Task 18)
- `21d0b37` docs(gateway): deploy notes for helm/images/platform repos (Task 19+20)
- `cebb521` chore(gateway): final sweep - README/functional Kafka cleanup, asyncua pin, 1879 checklist verification (Task 21)
- Deferred by design (verified in Task 21): NTP sync + `Good_Local_Override` quality downgrade (no flag exists; ties to a real clock-drift case), write-via-OPC-method (card marks it flag/future). Pre-existing legacy files >500 lines (`ingestor_manager.py` 578, `opc_manager.py` 507) flagged, untouched (predate the gateway).
- Integration gates (cross-repo): subscription v2 swap + gRPC persist → SIENTIAPDE-1974; write_status column (Flyway) + Laborious NATS publish → SIENTIAPDE-1975; NATS broker in cluster → SIENTIAPDE-1985. End-to-end validation (real NATS + OPC server machine) agreed with the feature owner for deployment time.
### Final: open per-phase PRs (only after F4 is complete, tested, working)
Since all phases live on one feature branch, split them at the end using the recorded SHA ranges: for each phase in order F0→F4, create a phase branch off `main` (or stacked on the previous phase branch) containing only that phase's code commits (cherry-pick the ledger's SHA range), then open one PR per phase targeting `main`, in phase order. This keeps each PR small and reviewable instead of one giant diff.
@@ -913,9 +920,9 @@ async def test_readtag_maps_response():
---
### Task 21.end: F4 close-out + open per-phase PRs (see [Phase Delivery](#phase-delivery--commit-ledger))
- [ ] Full `pytest tests` green + `ruff` clean; all F0–F4 phases complete, tested, working.
- [ ] Record F4 commit SHAs (base + range) in the [Commit Ledger](#commit-ledger).
- [ ] **Now** open one PR per phase (F0→F4) from the recorded SHA ranges, in order — this is the only point where PRs are opened.
- [x] Full `pytest tests` green (222) + `ruff` clean; all F0–F4 phases complete and unit-tested.
- [x] F4 commit SHAs recorded in the [Commit Ledger](#commit-ledger) (base `e9ce9e5`).
- [ ] **Now** open one PR per phase (F0→F4) from the recorded SHA ranges, in order — this is the only point where PRs are opened. *(Pending: user go-ahead — requires push; also note the epic's end-to-end validation with a real NATS broker + OPC server machine is agreed for deployment time, per the feature owner.)*
---