docs: point markdown backlogs at Gitea issues (status lives in Gitea)
Adds the family backlog standard to the root index (open work = Gitea issues, shared label set, BTDB excluded) and converts components/*/GAPS, hosted-lib CLAUDE.md notes, code-reviews, infra/glauth and plan docs to banner + issue pointers (scadaproj #5-#19, ScadaBridge#79).
This commit is contained in:
@@ -51,8 +51,13 @@ Every normalized component is one subfolder of `components/` with this layout:
|
||||
- **`current-state/<project>/`** is descriptive, not aspirational. It must match the project's
|
||||
real code, with `file:line` references. Each ends in an **Adoption plan**: what that project
|
||||
deletes/replaces to reach the spec, and what stays bespoke.
|
||||
- **`GAPS.md`** is the working backlog: it turns the delta between every `current-state` and the
|
||||
`spec` into concrete, prioritized items.
|
||||
- **`GAPS.md`** turns the delta between every `current-state` and the `spec` into concrete,
|
||||
prioritized items — but **status lives in Gitea** (family standard, 2026-11-06). Open items are
|
||||
tracked as issues on [`dohertj2/scadaproj`](https://gitea.dohertylan.com/dohertj2/scadaproj/issues)
|
||||
(the 2026-11-06 sweep filed them with label `migrated`); each GAPS file carries a banner and
|
||||
`→ #N` pointers next to migrated items, and is otherwise a historical/design record. File new gaps
|
||||
as issues (family labels `type:*`, `priority:p0..p3`, `blocked`, `cross-repo`) and reference them
|
||||
from GAPS/current-state docs as `#N` — do not track open/closed status in the markdown.
|
||||
|
||||
## Workflow to normalize a component
|
||||
|
||||
@@ -66,7 +71,7 @@ Every normalized component is one subfolder of `components/` with this layout:
|
||||
concrete library API in `shared-contract/`. Keep the surface minimal — extract only what is
|
||||
genuinely common; leave domain-specific logic in the projects.
|
||||
4. **Log gaps + adoption.** Fill `GAPS.md` with per-project divergences and an adoption/extraction
|
||||
backlog (priority / effort / risk). Add the per-project "what to delete/replace" to each
|
||||
backlog (priority / effort / risk), and file each open item as a Gitea issue (`→ #N` in the file). Add the per-project "what to delete/replace" to each
|
||||
`current-state` doc.
|
||||
5. **Register.** Add/maintain the component's row in the registry table above.
|
||||
|
||||
|
||||
@@ -1,5 +1,10 @@
|
||||
# Audit — gaps & adoption backlog
|
||||
|
||||
> **Status lives in Gitea.** Open items from this file are tracked as issues on
|
||||
> [gitea.dohertylan.com/dohertj2/scadaproj](https://gitea.dohertylan.com/dohertj2/scadaproj/issues)
|
||||
> (label `migrated`, 2026-11-06). This file is a historical/design record — do not track status
|
||||
> here; file new work as an issue.
|
||||
|
||||
Divergence of each project from [`spec/SPEC.md`](spec/SPEC.md), and the ordered backlog to
|
||||
reach the shared `ZB.MOM.WW.Audit` library. Status legend: ⛔ gap · 🟡 partial · ✅ matches.
|
||||
|
||||
|
||||
@@ -1,5 +1,10 @@
|
||||
# Auth — gaps & adoption backlog
|
||||
|
||||
> **Status lives in Gitea.** Open items from this file are tracked as issues on
|
||||
> [gitea.dohertylan.com/dohertj2/scadaproj](https://gitea.dohertylan.com/dohertj2/scadaproj/issues)
|
||||
> (label `migrated`, 2026-11-06). This file is a historical/design record — do not track status
|
||||
> here; file new work as an issue.
|
||||
|
||||
Divergence of each project from [`spec/SPEC.md`](spec/SPEC.md), and the ordered backlog to
|
||||
reach the shared `ZB.MOM.WW.Auth` library. Status legend: ⛔ gap · 🟡 partial · ✅ matches.
|
||||
|
||||
|
||||
@@ -1,5 +1,10 @@
|
||||
# Configuration validation — gaps & adoption backlog
|
||||
|
||||
> **Status lives in Gitea.** Open items from this file are tracked as issues on
|
||||
> [gitea.dohertylan.com/dohertj2/scadaproj](https://gitea.dohertylan.com/dohertj2/scadaproj/issues)
|
||||
> (label `migrated`, 2026-11-06). This file is a historical/design record — do not track status
|
||||
> here; file new work as an issue.
|
||||
|
||||
Divergence of each project from [`spec/SPEC.md`](spec/SPEC.md), and the ordered backlog to adopt
|
||||
the shared `ZB.MOM.WW.Configuration` library. The library is **BUILT @ 0.1.0** (42 tests, re-run
|
||||
green 2026-07-18) at
|
||||
|
||||
@@ -1,5 +1,10 @@
|
||||
# Health — gaps & adoption backlog
|
||||
|
||||
> **Status lives in Gitea.** Open items from this file are tracked as issues on
|
||||
> [gitea.dohertylan.com/dohertj2/scadaproj](https://gitea.dohertylan.com/dohertj2/scadaproj/issues)
|
||||
> (label `migrated`, 2026-11-06). This file is a historical/design record — do not track status
|
||||
> here; file new work as an issue.
|
||||
|
||||
Divergence of each project from [`spec/SPEC.md`](spec/SPEC.md), and the ordered backlog to
|
||||
reach the shared `ZB.MOM.WW.Health` library. Status legend: ⛔ gap · 🟡 partial · ✅ matches.
|
||||
|
||||
@@ -13,7 +18,7 @@ reach the shared `ZB.MOM.WW.Health` library. Status legend: ⛔ gap · 🟡 part
|
||||
> **Caveat on the evidence:** this was verified by `PackageReference` + registration-call grep,
|
||||
> which proves the library is wired in — *not* that every per-app probe below is registered or
|
||||
> that the endpoint tiers match the spec. The divergence tables further down were written
|
||||
> pre-adoption and have **not** been re-verified against current code; treat them as historical
|
||||
> pre-adoption and have **not** been re-verified against current code (→ #11); treat them as historical
|
||||
> until someone re-walks them. They also predate HistorianGateway, which is absent from every
|
||||
> table below.
|
||||
|
||||
@@ -181,12 +186,12 @@ Plan + design: [`../../docs/plans/2026-06-01-health-library-adoption.md`](../../
|
||||
|
||||
### Deferred (verified ill-fitting on adoption — re-scoped from the original backlog)
|
||||
|
||||
- **#4 downstream gRPC dependency probes — DROPPED for now.** Neither repo holds a host-level
|
||||
- **#4 downstream gRPC dependency probes — DROPPED for now.** (→ #11) Neither repo holds a host-level
|
||||
`GrpcChannel` to probe: the MxGateway↔worker IPC is **named pipes** (not gRPC), and OtOpcUa's
|
||||
gateway channel is created **per-driver** from DB config (no DI-level channel). MxGateway readiness
|
||||
instead probes the SQLite auth store (`AuthStoreHealthCheck`). A real worker/downstream probe needs
|
||||
a custom non-gRPC check — future work.
|
||||
- **#3 `IActiveNodeGate` seam unification (ScadaBridge) — DEFERRED.** ScadaBridge's `IActiveNodeGate`
|
||||
- **#3 `IActiveNodeGate` seam unification (ScadaBridge) — DEFERRED.** (→ #11) ScadaBridge's `IActiveNodeGate`
|
||||
is `…ScadaBridge.InboundAPI.IActiveNodeGate`, wired into inbound-API endpoint gating — a different
|
||||
interface from the shared `ZB.MOM.WW.Health.IActiveNodeGate`. Unification touches the InboundAPI
|
||||
path; its existing `ActiveNodeGate` (logic identical to the shared `AkkaActiveNodeGate`) was kept.
|
||||
|
||||
@@ -1,5 +1,10 @@
|
||||
# Observability — gaps & adoption backlog
|
||||
|
||||
> **Status lives in Gitea.** Open items from this file are tracked as issues on
|
||||
> [gitea.dohertylan.com/dohertj2/scadaproj](https://gitea.dohertylan.com/dohertj2/scadaproj/issues)
|
||||
> (label `migrated`, 2026-11-06). This file is a historical/design record — do not track status
|
||||
> here; file new work as an issue.
|
||||
|
||||
Divergence of each project from [`spec/SPEC.md`](spec/SPEC.md), and the ordered backlog to
|
||||
reach the shared `ZB.MOM.WW.Telemetry` library. Status legend: ⛔ gap · 🟡 partial · ✅ matches.
|
||||
|
||||
@@ -17,7 +22,7 @@ reach the shared `ZB.MOM.WW.Telemetry` library. Status legend: ⛔ gap · 🟡 p
|
||||
> listener, OTLP opt-in wiring) were **all subsequently executed the same day** — see the
|
||||
> "Follow-ons — DONE 2026-06-01" table at the bottom of this file, which this banner previously
|
||||
> contradicted (reconciled 2026-08-07). Only the operational items under "Still open" there
|
||||
> (deploying an OTel collector; further ScadaBridge instruments) remain.
|
||||
> (deploying an OTel collector → #13; further ScadaBridge instruments) remain.
|
||||
|
||||
## Divergence vs spec
|
||||
|
||||
@@ -225,7 +230,7 @@ sister apps in one pass, behaviour-preserving. Each adoption landed on a per-rep
|
||||
precedence and silently drop the knob. So ScadaBridge keeps the factory and only **adds the shared
|
||||
`TraceContextEnricher`** to it — gaining trace↔log correlation without regressing the contract. Full
|
||||
`AddZbSerilog` adoption for ScadaBridge would first require teaching the shared bootstrap to accept a
|
||||
caller-supplied minimum-level governance hook.
|
||||
caller-supplied minimum-level governance hook (→ #12).
|
||||
- **MxGateway keeps `GatewayLogScope` + request-logging middleware as-is.** The Serilog MEL provider
|
||||
captures MEL `BeginScope` dictionaries as structured properties, so the scope/correlation code keeps
|
||||
producing the same properties under Serilog. Only the provider swap + the `ILogRedactor` adapter were
|
||||
@@ -248,7 +253,7 @@ behaviour-preserving except the intentional, no-consumer-yet metric-shape change
|
||||
|
||||
**Still open (not code — operational/future):**
|
||||
|
||||
- **OTLP is opt-in but unexercised** until an OTel collector endpoint is deployed and the
|
||||
- **OTLP is opt-in but unexercised** (→ #13) until an OTel collector endpoint is deployed and the
|
||||
`<App>:Telemetry:Exporter=Otlp` + `:OtlpEndpoint` config is set. The wiring is in place; only a
|
||||
collector is missing.
|
||||
- **Further ScadaBridge instruments** beyond the first 4 are additive future work (not blocking).
|
||||
|
||||
@@ -1,5 +1,10 @@
|
||||
# Secrets — GAPS (adoption backlog)
|
||||
|
||||
> **Status lives in Gitea.** Open items from this file are tracked as issues on
|
||||
> [gitea.dohertylan.com/dohertj2/scadaproj](https://gitea.dohertylan.com/dohertj2/scadaproj/issues)
|
||||
> (label `migrated`, 2026-11-06). This file is a historical/design record — do not track status
|
||||
> here; file new work as an issue.
|
||||
|
||||
The delta between each project's [`current-state`](current-state/) and the
|
||||
[`SPEC`](spec/SPEC.md), as prioritized work. The library itself is **built + published +
|
||||
reference-consumer-proven**; everything here is per-app adoption of an existing lib (not lib
|
||||
@@ -73,7 +78,7 @@ construction).
|
||||
every central version a transitive ceiling, demanding `Google.Protobuf`, `Grpc.Net.Client`,
|
||||
`Microsoft.Data.SqlClient` and `Newtonsoft.Json` bumps. That is a gRPC/data-access change to a
|
||||
production SCADA platform and deserves its own reviewed commit. **Still open as a follow-up** —
|
||||
it is the better long-term posture.
|
||||
it is the better long-term posture. → ScadaBridge#79
|
||||
- ✅ `0.2.0` **PUBLISHED to the Gitea feed 2026-07-18** (all 5 packages; restore-verified from a
|
||||
scratch consumer — resolves `SQLitePCLRaw.lib.e_sqlite3 2.1.12`, `Microsoft.Data.SqlClient 6.0.2`,
|
||||
`Akka.Cluster.Tools 1.5.62`, and scans clean). Merged to `main` @ `15ef1f3`.
|
||||
|
||||
@@ -1,5 +1,10 @@
|
||||
# UI Theme — gaps & adoption backlog
|
||||
|
||||
> **Status lives in Gitea.** Open items from this file are tracked as issues on
|
||||
> [gitea.dohertylan.com/dohertj2/scadaproj](https://gitea.dohertylan.com/dohertj2/scadaproj/issues)
|
||||
> (label `migrated`, 2026-11-06). This file is a historical/design record — do not track status
|
||||
> here; file new work as an issue.
|
||||
|
||||
Divergence of each project from [`spec/SPEC.md`](spec/SPEC.md), and the ordered backlog to
|
||||
reach adoption of the `ZB.MOM.WW.Theme` shared RCL. Status legend: ⛔ gap · 🟡 partial · ✅ matches.
|
||||
|
||||
@@ -35,7 +40,7 @@ reach adoption of the `ZB.MOM.WW.Theme` shared RCL. Status legend: ⛔ gap ·
|
||||
> **MxGateway** shed the dead `.sidebar` block + orphaned `.dashboard-login`/`.login-card` (−106), keeping
|
||||
> `.app-bar` (still used by `/denied`) + the `.chip` override. Each verified unreferenced before removal; all
|
||||
> three build clean (0 warn/0 err). OtOpcUa's copy was the notable one — it *overrode* the kit, not just dead code.
|
||||
> **Still deferred:** a kit-side `layout.css` `calc(100vh - 3.3rem)` review; and ScadaBridge's `Host` consumes the
|
||||
> **Still deferred:** a kit-side `layout.css` `calc(100vh - 3.3rem)` review (→ #10); and ScadaBridge's `Host` consumes the
|
||||
> kit only **transitively via `CentralUI`** (no direct `PackageReference`) — builds green, but an implicit dependency.
|
||||
>
|
||||
> _Feed note: the same audit re-confirmed `ZB.MOM.WW.Theme 0.2.0` **is** genuinely on the Gitea feed (registration
|
||||
|
||||
Reference in New Issue
Block a user