Joseph Doherty
a7a8f1e493
docs(audit): correct file:line refs + split MxGateway CLI/dashboard action vocab (review fixes)
2026-06-01 07:01:46 -04:00
Joseph Doherty
aa2251b93d
feat(health): core review fixes (async writer, gRPC cancellation, validation, configurable retry-after)
2026-06-01 07:00:21 -04:00
Joseph Doherty
cf277eb7df
feat(health.akka): active/leader check with role filter + IActiveNodeGate impl
2026-06-01 06:55:46 -04:00
Joseph Doherty
9c8c1431af
docs(audit): current-state ScadaBridge
2026-06-01 06:55:07 -04:00
Joseph Doherty
02cc687556
docs(audit): current-state MxAccessGateway
2026-06-01 06:55:07 -04:00
Joseph Doherty
e498bb7c5a
docs(audit): current-state OtOpcUa
2026-06-01 06:55:07 -04:00
Joseph Doherty
2dbedce0ac
feat(health.ef): generic DatabaseHealthCheck<TContext>
2026-06-01 06:48:20 -04:00
Joseph Doherty
25dd328280
feat(health.akka): cluster health check with configurable status policy
2026-06-01 06:47:29 -04:00
Joseph Doherty
1ab2f32e8e
feat(health): gRPC dependency health check
2026-06-01 06:44:05 -04:00
Joseph Doherty
5b82d68ea9
feat(health): IActiveNodeGate seam + RequireActiveNode filter
2026-06-01 06:43:11 -04:00
Joseph Doherty
d1b837e718
feat(health): canonical JSON health response writer
2026-06-01 06:42:24 -04:00
Joseph Doherty
5fb579c2f0
docs: implementation plan for ZB.MOM.WW.Audit shared library
2026-06-01 06:39:05 -04:00
Joseph Doherty
18be42d0e2
feat(health): scaffold ZB.MOM.WW.Health solution + Task 4 (tags + three-tier MapZbHealth)
...
Consolidates the library into the scadaproj repo (matching the ZB.MOM.WW.Auth
convention — tracked in-parent, not a nested repo). 3 dependency-split packages
(core / .Akka / .EntityFrameworkCore) + 3 test projects, .slnx, central PM.
Task 4: ZbHealthTags + MapZbHealth (/health/ready,/active,/healthz). 8/8 tests.
2026-06-01 06:35:39 -04:00
Joseph Doherty
07d5907258
docs(health): resolve spec/contract/gaps consistency (review fixes)
...
Applies canonical resolutions for eight settled decisions:
- GAPS: remove three stale "Decisions still open" bullets (#1 IActiveNodeGate placement, #2 GrpcChannel type, #3 OtOpcUaCompat named constant)
- Shared contract: AkkaClusterHealthCheck, ActiveNodeHealthCheck constructors take IServiceProvider (lazy ActorSystem, Degraded-when-not-ready)
- Shared contract: AkkaActiveNodeGate takes IServiceProvider; reads SelfMember+leader directly, null-guarded; does not proxy ActiveNodeHealthCheck
- Shared contract: DatabaseHealthCheckOptions.Probe renamed to ProbeQuery; consumer matrix updated
- Shared contract: settled AddZbHealthChecks open question removed (spec §5 is per-project AddHealthChecks)
- SPEC §2.2: OtOpcUaCompat Leaving/Exiting cell updated from — to Degraded + footnote; §2.3 startup-safety note added
- README: status line corrected from "built and tested" to "scaffolded … implementation is follow-on (task #7 )"; IActiveNodeGate "left per-project" bullet removed
- OtOpcUa current-state: AddZbHealthChecks → AddHealthChecks().AddCheck<...>(); IClusterRoleInfo note reframed as accepted trade-off
- ScadaBridge current-state: IActiveNodeGate bullet rewritten — interface moves to ZB.MOM.WW.Health on adoption, InboundApiEndpointFilter references shared interface
2026-06-01 06:33:42 -04:00
Joseph Doherty
16540b3001
docs: design for audit normalization component + ZB.MOM.WW.Audit
2026-06-01 06:32:39 -04:00
Joseph Doherty
3d25ee5090
docs(health): current-state x3 + GAPS + README
...
Code-verified current-state docs for OtOpcUa (three-tier full), ScadaBridge
(two-tier, no /healthz), and MxAccessGateway (bare liveness only / no probes).
GAPS backlog with P1 for MxGateway and convergence items for Akka status policy,
DB probe technique, and response writer. README with per-project status table.
2026-06-01 06:23:53 -04:00
Joseph Doherty
1dc35a8c43
docs(health): spec + ZB.MOM.WW.Health shared contract
...
Authors components/health/spec/SPEC.md (normalized three-tier endpoint
convention, probe catalog, response-writer contract, migration notes) and
components/health/shared-contract/ZB.MOM.WW.Health.md (paper API for the
3-package library: core, Akka, EntityFrameworkCore).
2026-06-01 06:20:19 -04:00
Joseph Doherty
c77df2a2cd
docs: implementation plans for ZB.MOM.WW.Health + ZB.MOM.WW.Telemetry
...
Two TDD plans (one per library, per house precedent) derived from the approved
design, with co-located .tasks.json execution-persistence:
- Health: components/health docs + 3 dependency-split packages (11 tasks)
- Telemetry: components/observability docs + 2 packages (3 OTel signals +
Serilog) + the MxGateway MEL->Serilog migration (12 tasks)
Each task carries classification / est-time / parallelizable metadata for the
executing-plans workflow.
2026-06-01 06:15:22 -04:00
Joseph Doherty
29b309c6c1
docs: design for health + observability normalization components
...
Adds the approved brainstorm design for the next two component-normalization
entries (Health #1 , Observability #2 from upcoming.md):
- components/health/ -> ZB.MOM.WW.Health (3 dependency-split packages)
- components/observability/ -> ZB.MOM.WW.Telemetry (2 packages, 3 OTel signals
+ shared Serilog bootstrap)
Scope: normalization docs + build both libraries (.NET 10, tested, packed);
one sister-repo touch (MxGateway MEL->Serilog migration); no other app adoption.
Unifying hinge: one identity triple (service.name/site.id/node.role) feeds both
the OTel Resource and the Serilog enrichers.
2026-06-01 06:08:51 -04:00
Joseph Doherty
b95c413c08
docs: add normalization backlog (upcoming.md)
...
Capture the next candidate components for the normalize → shared-library
treatment (Health, Telemetry, Audit model, gRPC contracts, Logging),
grounded in a cross-repo scan, so the backlog survives beyond this session.
2026-06-01 05:46:54 -04:00
Joseph Doherty
6185009554
Merge feat/zb-mom-ww-theme: ZB.MOM.WW.Theme shared UI kit (0.1.0) + ui-theme normalization component
2026-06-01 05:18:46 -04:00
Joseph Doherty
2485d86205
docs: register ui-theme component in indexes
2026-06-01 05:16:58 -04:00
Joseph Doherty
029ac0719b
docs(ui-theme): current-state ×3 + GAPS adoption backlog
2026-06-01 05:15:38 -04:00
Joseph Doherty
95975d0754
docs(ui-theme): spec, design tokens, shared contract
2026-06-01 05:11:43 -04:00
Joseph Doherty
46ce627ea5
docs(theme): RCL README + verified pack
...
Full Release build (0 warnings, TreatWarningsAsErrors), 32/32 bUnit tests green.
Pack confirmed: staticwebassets/css/theme.css, staticwebassets/css/layout.css, and
the three IBM Plex woff2 fonts ship in ZB.MOM.WW.Theme.0.1.0.nupkg. README covers
the one-paragraph intro, 3-step Adopt guide, thin-MainLayout→ThemeShell delegation
example, component/enum reference table, static-asset paths, and build commands.
2026-06-01 05:05:26 -04:00
Joseph Doherty
fe774f8ee4
fix(theme): correct sticky rail selector, harden bool attrs/tests, doc LoginCard security contract
...
- layout.css: fix @media sticky selector from #sidebar-collapse → #theme-rail (Fix 1)
- NavRailTests/CommonControlsTests: add TDD tests verifying Blazor omits false bool attrs (Fix 2)
- TechButton: rename Extra → AdditionalAttributes, move @attributes splat first (Fix 3)
- LoginCard: add security contract XML/comment docs on ReturnUrl and ChildContent (Fix 4)
- build/pack.sh, push.sh: fix comment from ZB.MOM.WW.Auth → ZB.MOM.WW.Theme (Fix 5)
2026-06-01 05:03:17 -04:00
Joseph Doherty
cac2f659e4
feat(theme): ThemeHead stylesheet entry point
2026-06-01 04:56:26 -04:00
Joseph Doherty
40f6962d05
feat(theme): TechButton/TechCard/TechField
2026-06-01 04:56:06 -04:00
Joseph Doherty
f7ec3fd732
feat(theme): LoginCard
2026-06-01 04:55:24 -04:00
Joseph Doherty
b09de9b777
feat(theme): ThemeShell canonical side-rail
...
Add ThemeShell.razor (regular component, not LayoutComponentBase) with
Product, Accent, Logo, Nav, RailFooter, and ChildContent parameters.
Accent uses nullable AccentStyle so the style attribute is entirely
absent when null. Composes BrandBar inside .side-rail, wraps page in
<main class="page">. Add ThemeShellTests.cs (4 tests: product/nav/body,
accent sets css var, no-accent emits no style, RailFooter). All 18 tests
green, 0 build warnings.
2026-06-01 04:53:52 -04:00
Joseph Doherty
75e58085d1
refactor(theme): unify components into ZB.MOM.WW.Theme namespace
...
Add @namespace ZB.MOM.WW.Theme to each component .razor file so the
Razor compiler places all four components in the flat ZB.MOM.WW.Theme
namespace rather than ZB.MOM.WW.Theme.Components. Remove the now-
redundant global using ZB.MOM.WW.Theme.Components from both _Imports
files. Also add @namespace ZB.MOM.WW.Theme to the root _Imports.razor.
Consumers need only @using ZB.MOM.WW.Theme. All 14 tests green.
2026-06-01 04:53:12 -04:00
Joseph Doherty
a74ad7008d
feat(theme): NavRailItem + NavRailSection
2026-06-01 04:47:36 -04:00
Joseph Doherty
8e70718ca4
feat(theme): BrandBar
2026-06-01 04:46:58 -04:00
Joseph Doherty
af8682c0f2
feat(theme): StatusPill widget
2026-06-01 04:46:24 -04:00
Joseph Doherty
6736415a32
feat(theme): vendor tokens, fonts, and side-rail layout CSS
2026-06-01 04:44:36 -04:00
Joseph Doherty
24fce87c96
feat(theme): scaffold ZB.MOM.WW.Theme RCL + test project
2026-06-01 04:41:48 -04:00
Joseph Doherty
5d1cae3fc6
docs: add ZB.MOM.WW.Theme implementation plan (13 tasks)
2026-06-01 04:39:06 -04:00
Joseph Doherty
f9d570c323
docs: add UI-theme component design
...
Brainstormed design for normalizing UI theming across the 3 sister apps
into a single .NET 10 RCL (ZB.MOM.WW.Theme): canonical side-rail shell +
Technical-Light tokens/fonts as static assets + StatusPill/LoginCard/
TechButton-Card-Field, with per-app name/accent/logo. Mirrors the auth
component's path-to-shared-code treatment; app adoption tracked as
follow-on.
2026-06-01 04:29:58 -04:00
Joseph Doherty
f624217af8
docs: add human-facing repo README
...
Complements CLAUDE.md (the Claude-Code index) with a human overview:
what's in here, the sister projects + data flow, the component-
normalization concept, and the ZB.MOM.WW.Auth package/consumer matrix
with build/test commands.
2026-06-01 04:12:43 -04:00
dohertj2
37e23cf9f2
Initial commit: scadaproj umbrella — sister-project index, auth component normalization (design + GAPS), and the built ZB.MOM.WW.Auth shared library (0.1.0, flattened in).
2026-06-01 03:59:23 -04:00