Joseph Doherty
28cab6e881
docs(sms): design for SMS (Twilio) notification adapter + T10 plumbing (T9 Teams→SMS pivot)
2026-06-19 09:34:45 -04:00
Joseph Doherty
023c4f7cde
docs(m10): mark M10 UI/UX platform delivered + sync README/CLAUDE + log follow-ups
2026-06-18 20:20:39 -04:00
Joseph Doherty
c0aaba17ea
docs(m10): T34 theme dark-mode feasibility spike findings
2026-06-18 19:18:49 -04:00
Joseph Doherty
d8ba99d19d
docs(m10): UI/UX platform implementation plan — 17 tasks, 5 waves (T33-T36, T41)
2026-06-18 19:15:54 -04:00
Joseph Doherty
1a23b902b2
docs(m10): UI/UX platform design — modal host, tokens+dark mode, pager/filter extractions, a11y pass, alarm-override Playwright
2026-06-18 19:01:54 -04:00
Joseph Doherty
ba335519f4
docs(m9): mark M9 delivered + sync TemplateEngine/TreeView/DataConnection/schema-library/CLI docs
...
- 2026-06-15-stillpending-completion-design.md: M9 section marked DELIVERED with per-feature
summary and deferrals (folder drag-drop, unified outbox page).
- stillpending.md: T22–T26/T28/T30–T32 + CLI cached-call marked [DELIVERED M9]; permanent
deferrals (folder drag-drop, unified outbox page) retained as [PERM].
- Component-TemplateEngine.md: TemplateFolder SortOrder + ReorderTemplateFolderCommand;
Expression-trigger analysisKind (Advisory/Strict) on Alarm + Script; Script parameter
JSON Schema / lib: ref note; Inheritance Resolve authoring section (GetResolvedTemplateMembersCommand /
TemplateInheritanceResolver / staleness banner); updated Responsibilities.
- Component-TreeView.md: T22 search box wired note; T23 folder sibling reorder + root context
menu note; drag-drop permanently deferred clarified in V7 worked example.
- Component-CentralUI.md: template tree search + inherited-members panel (T26 staleness banner)
added to Template Authoring; drag-drop permanently deferred note; Schema Library page (T32)
added as new subsection; ParameterValueForm + Monaco hover (T30/T31) noted; connection
live-status (T25) + move-connection (T24) added to Site & Data Connection Management.
- Component-ConfigurationDatabase.md: SharedSchema entity + ISharedSchemaRepository row added.
- Component-CLI.md: --trigger-kind option added to template alarm add/update and script add/update.
- src/ZB.MOM.WW.ScadaBridge.CLI/README.md: --trigger-kind option added to template alarm
add/update and template script add/update command tables (already had cached-call group).
2026-06-18 13:39:33 -04:00
Joseph Doherty
939aea159b
docs(m9): implementation plan + task persistence (17 tasks, 5 waves)
...
Bite-sized per-task plan for T22-T26, T28, T30-T32 + CLI cached-call retry/discard.
ManagementActor.cs/ValidationService.cs/shared-razor serialization points enumerated;
blockedBy deps + Parallelizable-with sets; integration trace + EF model-drift + shared
fixture re-run checklist per integration-catches-cross-cutting-gaps.
2026-06-18 10:08:57 -04:00
Joseph Doherty
4b152958df
docs(m9): approved design — Templates & authoring (T22-T26, T28, T30-T32 + CLI cached-call retry/discard)
...
Locked decisions: T26 authoring-only (resolve + staleness banner, no stored-row
mutation); T32 full ($ref resolver + template-level schema library, no new package);
unified-outbox page deferred (CLI retry/discard ships instead); T23 menu-based
reorder + root context menu (no drag-drop); guarded move-connection; reuse existing
health transport for live status; T28 opt-in strict escalation layer.
2026-06-18 10:01:38 -04:00
Joseph Doherty
4d888c63a3
docs(m8): Transport site/instance transport, name-mapping, Myers diff, stale enumeration (M8 INT)
2026-06-18 07:53:25 -04:00
Joseph Doherty
2f3c1a4e64
chore(m8): task persistence for Transport plan (15 tasks, dependency DAG)
2026-06-18 05:31:01 -04:00
Joseph Doherty
1ee75ac620
docs(m8): Transport T18/T20/#16 implementation plan (15 tasks, waves A-E + INT)
2026-06-18 05:29:39 -04:00
Joseph Doherty
e4964f7b30
docs(m8): approved Transport T18/T20 + #16 design (site/instance transport, name-mapping, Myers diff)
2026-06-18 05:25:04 -04:00
Joseph Doherty
40928535fd
docs(m7): reflect OPC UA / MxGateway UX (T13-T17) across component docs + CLAUDE/stillpending/completion-design
2026-06-18 04:13:21 -04:00
Joseph Doherty
a87bf8a459
docs(m7): implementation plan + task graph — 22 tasks across waves A-E (T13-T17)
2026-06-18 01:57:18 -04:00
Joseph Doherty
254e0e729f
docs(m7): approved design — OPC UA / MxGateway UX (T13-T17)
...
Full-M7 scope: operator Alarm Summary (per-instance live snapshots),
MxGateway secured writes (Operator+Verifier roles + PendingSecuredWrite +
central relay), OPC UA BrowseNext paging + bounded recursive search,
type-info surfacing + attribute-override CSV import, Verify-endpoint button +
site-local cert trust (broadcast to both nodes). Builds on the merged
opcua-tag-browser + mxgw-supervisory-write foundations already in main.
2026-06-18 01:44:40 -04:00
Joseph Doherty
241a792e7b
docs(kpi): K17 — #26 KpiHistory component doc + README/CLAUDE + cross-component interactions + completion-design update
2026-06-17 20:52:12 -04:00
Joseph Doherty
4c6ae9da0e
docs(m6): KPI History tasks.json (K1-K17 with blockedBy graph)
2026-06-17 19:32:58 -04:00
Joseph Doherty
1809664bcb
docs(m6): KPI History & Trends implementation plan (K1-K17, bite-sized tasks + execution waves)
2026-06-17 19:32:58 -04:00
Joseph Doherty
6084e56c9f
docs(m6): KPI History & Trends design — reusable tall/EAV KPI-history backbone + trend charts for all sources; T9/T10 (Teams) deferred to next major version
2026-06-17 19:32:58 -04:00
Joseph Doherty
1045e7966d
docs(plans): implementation plan for Debug View tabs + hierarchy trees
...
7 tasks (DV-1..DV-7): additive AlarmStateChanged native-binding contract
chain, site snapshot native placeholders, DebugTreeNode + pure builder
(attribute + alarm trees with roll-up/filter), DebugView tabs reusing
TreeView<TItem>, docs, and integration (build + docker + Playwright).
2026-06-17 14:14:58 -04:00
Joseph Doherty
811d72255c
docs(plans): design for Debug View tabs + hierarchy trees
...
Tabbed Attributes/Alarms view with collapsible composition trees derived
from path-qualified canonical names; all configured alarms (computed +
native) shown with current status; branch-level status roll-up; native
source bindings as nodes with conditions nested. Site snapshot enriched
with placeholder rows for idle native sources via an additive
IsConfiguredPlaceholder field on AlarmStateChanged.
2026-06-17 14:06:08 -04:00
Joseph Doherty
e8db6c71a8
docs(plans): mark WaitAsync compile-surface tasks complete in tasks.json
2026-06-17 11:24:03 -04:00
Joseph Doherty
dc43a3f0f6
docs(plans): add WaitAsync compile-surface mirror-gaps plan + tasks
2026-06-17 11:00:41 -04:00
Joseph Doherty
af54c8ad11
merge: integrate WaitAsync/M5-audit (parallel session) with galaxy array-write + inbound-timeout fixes
2026-06-17 09:28:15 -04:00
Joseph Doherty
11534089b9
docs(siteruntime): mark WaitAsync deferred items implemented (§3/§4.2/§6) + fast-path throwing-predicate test
2026-06-17 09:15:42 -04:00
Joseph Doherty
cd15426b21
docs(siteruntime): plan for WaitAsync deferred items (WaitForAsync, quality-gated, routed §6)
2026-06-17 08:58:05 -04:00
Joseph Doherty
b89d69a008
docs(siteruntime): add WaitAsync attribute-change helper spec
2026-06-17 08:14:09 -04:00
Joseph Doherty
f63055c296
chore(inbound): task-persistence for Ipsen MES MoveIn plan
2026-06-16 22:00:10 -04:00
Joseph Doherty
6fbf3e71fd
docs(inbound): implementation plan for Ipsen MES MoveIn
2026-06-16 22:00:10 -04:00
Joseph Doherty
d8ccad6f54
docs(inbound): design for Ipsen MES MoveIn -> reactor MES receiver
...
SAPID(+side) -> BTDB Machine.SAPID -> Code -> instance; inbound script does
the lookup via a new scoped read-only DB helper, then routes to a new T1
template script that gates on MoveInReadyFlag and writes the MoveIn to the
correct Left/Right MES receiver. -LT deferred.
2026-06-16 22:00:10 -04:00
Joseph Doherty
0e9bcbb676
docs(m5): implementation plan + tasks for audit hardening T3-T8
2026-06-16 21:12:52 -04:00
Joseph Doherty
1b7600fcb3
docs(m5): design — audit hardening T3-T8 (T1 hash-chain + T2 Parquet stay deferred)
2026-06-16 21:10:21 -04:00
Joseph Doherty
e77e209b8a
docs(m4): fix bundle CLI example option names in transport design §13 (--output/--input, not --out/positional)
2026-06-16 20:37:51 -04:00
Joseph Doherty
0780c2e49e
docs(m4.4): clear stale deferred/no-op markers for shipped features (relay, bundle-import audit, M5 redaction, audit drill-in, Transport CLI, traceability)
...
- SiteCallAudit/ServiceCollectionExtensions.cs: drop "still deferred" note on relay; point to SiteCallAuditActor where it lives
- Transport/Import/BundleImporter.cs: update "Only LoadAsync implemented" to reflect all three phases shipped
- SiteRuntime/Scripts/AuditingDbCommand.cs: replace two M5-deferred redaction comments with accurate references to AuditLogOptions.PerTargetOverrides
- SiteRuntime/Scripts/ScriptRuntimeContext.cs: replace "M5 will layer redaction" note with accurate description of shipped redactor
- CentralUI/AuditLogPage.razor.cs: replace "Bundle C wires… no-op seam" with accurate description of HandleRowSelected implementation
- docs/plans/2026-05-24-transport-design.md §13: update from "CLI Deferred / not built in v1" to reflect shipped BundleCommands.cs; update Open Questions entry
- docs/plans/2026-05-24-transport.md: convert Out-of-Scope "Do NOT build CLI" reminder to a factual note that it shipped
- docs/plans/2026-05-24-transport.md.tasks.json: flip all 30 tasks from pending → done (entire Transport feature shipped)
2026-06-16 20:30:29 -04:00
Joseph Doherty
0cc8642cfa
docs(m3): implementation plan + tasks for shared ScriptAnalysis consolidation
2026-06-16 19:09:12 -04:00
Joseph Doherty
8e99f22b24
docs(m3): design — shared ScriptAnalysis project consolidating the 4 trust-model analyzers
2026-06-16 19:07:32 -04:00
Joseph Doherty
dc9f31537a
docs: record final-review follow-ups (deployed-snapshot normalization gap I-1; CLI native-form help example)
2026-06-16 18:34:34 -04:00
Joseph Doherty
c53b621b85
docs: mark native-typed JSON feature complete; update Component-Commons codec note
...
NJ-6: full solution builds 0/0; feature-targeted tests green (Commons codec 38,
TemplateEngine InstanceService 17, ConfigDB normalizer 8, Transport serializer 12,
SiteRuntime InstanceActor 47). Component-Commons now describes the native-typed
List encoding + read-both decode + the three normalization paths. #93/M3 folded in.
2026-06-16 18:27:10 -04:00
Joseph Doherty
69f7c526d0
docs: implementation plan for native-typed JSON List values + normalization
...
6 tasks (NJ-1..NJ-6): native codec + read-both decode; stamp override
ElementDataType (#93/M3); idempotent central startup normalizer; site
override-load normalization; normalize-on-import; integration + docs.
2026-06-16 17:13:14 -04:00
Joseph Doherty
91b1aa1275
docs: design for native-typed JSON List attribute values + data normalization
...
Encode emits native-typed JSON ([10,20], [true,false], ISO dates); Decode reads
both old (array-of-strings) and new forms. Existing data normalized via an
idempotent central MS SQL startup normalizer, active site SQLite normalization in
the InstanceActor override-load path, and normalize-on-import for bundles.
Approved via brainstorming (Approach B, thorough).
2026-06-16 17:08:38 -04:00
Joseph Doherty
734c161383
docs: mark multi-value (List) attribute feature complete; document DataType.List + ElementDataType in Component-Commons
...
MV-15 integration checkpoint: full solution builds 0/0; feature-targeted tests
green across Commons, TemplateEngine, SiteRuntime, DataConnectionLayer,
Communication, Transport, ManagementService, CLI, CentralUI (255 tests).
2026-06-16 16:34:56 -04:00
Joseph Doherty
09d7319958
docs: implementation plan for structured multi-value (List) attributes
...
15 tasks (MV-1..MV-15) with classifications, dependencies, and TDD steps:
type model, AttributeValueCodec, idempotent migration, flatten, validation,
runtime encode/decode, DCL array coercion, stream encode, management, CLI,
transport, two UI editors, and integration verification.
2026-06-16 15:16:06 -04:00
Joseph Doherty
b238228d8b
docs: design for structured multi-value (List) attributes
...
Add a first-class DataType.List + ElementDataType companion so object
attributes can store homogeneous scalar lists (e.g. MoveInWorkOrderNumbers,
MoveInPartNumbers) across all four lifecycle paths: script write/read,
static authored default, OPC UA array read, OPC UA array write.
Canonical JSON value codec; whole-list override; element type fixed by base;
idempotent migration widening Value to nvarchar(max) + adding ElementDataType.
Approved via brainstorming.
2026-06-16 15:10:32 -04:00
Joseph Doherty
13cd53ad1c
docs(plan): mark disable-login DL-1..DL-4 complete
2026-06-16 08:55:09 -04:00
Joseph Doherty
57302500ac
docs(security): document dev disable-login flag + ship default-false config key
...
Adds a "Dev Disable-Login Flag" subsection to Component-Security.md covering
ScadaBridge:Security:Auth:DisableLogin / User, the AutoLoginAuthenticationHandler
mechanism, and the no-environment-guard / startup-warning production risk.
Ships DisableLogin: false under ScadaBridge → Security → Auth in:
- src/.../Host/appsettings.json (canonical default)
- docker/central-node-a/appsettings.Central.json
- docker/central-node-b/appsettings.Central.json
Also records DL-3 commit SHAs in the plan tasks file.
2026-06-16 08:54:11 -04:00
Joseph Doherty
e89604298d
feat(security): wire DisableLogin flag — auto-login scheme + startup warning
2026-06-16 08:47:19 -04:00
Joseph Doherty
dcd445a380
feat(security): AutoLoginAuthenticationHandler — all-roles system-wide dev auto-login
2026-06-16 08:40:30 -04:00
Joseph Doherty
56d6508a5b
docs(plan): implementation plan for dev disable-login flag (4 tasks)
2026-06-16 08:35:05 -04:00
Joseph Doherty
5cf2d1cb99
docs(plan): design for dev disable-login auto-login flag (port from OtOpcUa)
...
Faithful copy (warning only, no env guard); custom AuthenticationHandler under the
cookie scheme; reuses M2.19 SessionClaimBuilder for an all-roles system-wide principal.
2026-06-16 08:31:19 -04:00
Joseph Doherty
077770fe35
docs(plan): record M2.19 review-fix SHA; M2 (Tier-2) complete — all 20 tasks done
2026-06-16 08:12:49 -04:00