SIENTIAPDE-1972: F2 close-out - ledger de commits + carry-forward notes (Task 13.end)
This commit is contained in:
@@ -80,7 +80,16 @@ At the end of each phase Fx, before starting the next:
|
||||
- **Task 18 (wiring):** decide how many `SubscriptionEngine` instances the app builds. Current code keeps a single engine-wide `non_receive_count` and `check_opc_listenning(server_name)` takes a param — safe only if **one engine per OPC server**. If one engine is shared across servers, a datachange on server A masks silence on server B → must partition cycle/non-receive state per server. Make this deliberate at wiring time.
|
||||
- **Task 12 (DataSink):** drop the currently-unused `metadata` param from `DataSink.__init__` while adding `update_write_status`.
|
||||
- **F4 cleanup:** `README.md` and `tests/functional/test_single_node.py`/`conftest.py` still reference Kafka (stale/commented dead code) — remove during F4 hardening (Task 21 sweep).
|
||||
**F2 — Active write via NATS (C2, C3):** _(fill at F2 close-out)_
|
||||
**F2 — Active write via NATS (C2, C3)** — base `2a9af05`. Status: ✅ complete, 192 unit tests green, ruff clean.
|
||||
- `dcf8369` feat(gateway): WriteEngine (status_code/timestamp/flags, safe converter, rate-limit) (Task 11)
|
||||
- `86d0f6c` fix(gateway): make WriteEngine + converter raise-safe against malformed write commands (Task 11)
|
||||
- `905da51` feat(gateway): DataSink.update_write_status Postgres by timestamp+model_id (C3); drop unused metadata param (Task 12)
|
||||
- `abff80e` fix(gateway): tighten SQL identifier validation to fullmatch (reject trailing newline) (Task 12)
|
||||
- `165ac79` feat(gateway): NatsWriteConsumer (Core NATS, queue group) (C2) (Task 13)
|
||||
- Carry-forward:
|
||||
- **asyncua version hygiene:** requirements pin `asyncua==1.1.5` but the dev/test env runs 1.1.8. The DataValue/StatusCode_ behavior was verified identical on both, but align the pin (bump to 1.1.8) or the env during F4 (Task 21) so version-specific bugs can't slip through.
|
||||
- **`_SESSION_BAD_NAMES` in write.py** duplicates a subset of Laborious's reconnectable-error list (cross-repo) — move to `sientia_do` if it drifts (ponytail note in code).
|
||||
- **`_server_cfg` in write.py** is minimal (url/security off the cmd); full connector-DB lookup by `server_id` is Task 18 (F4 wiring) — ponytail note in code.
|
||||
**F3 — Active reads + gRPC (C4):** _(fill at F3 close-out)_
|
||||
**F4 — Wiring, health, deploy, hardening:** _(fill at F4 close-out)_
|
||||
|
||||
@@ -726,9 +735,9 @@ async def test_bad_json_does_not_raise():
|
||||
---
|
||||
|
||||
### Task 13.end: F2 close-out (see [Phase Delivery](#phase-delivery--commit-ledger))
|
||||
- [ ] Full `pytest tests` green + `ruff` clean.
|
||||
- [ ] Record F2 commit SHAs (base + range) in the [Commit Ledger](#commit-ledger).
|
||||
- [ ] Do NOT open the PR yet.
|
||||
- [x] Full `pytest tests` green (192) + `ruff` clean.
|
||||
- [x] F2 commit SHAs recorded in the [Commit Ledger](#commit-ledger) (base `2a9af05`).
|
||||
- [ ] PR intentionally NOT opened yet — opened only after F4 closes.
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user