This website requires JavaScript.
c8211f6363
feat(transport-ui): import Map step + per-line diff view (M8 E2)
Joseph Doherty
2026-06-18 07:21:23 -04:00
e67587ec93
fix(transport-ui): use DataConnection ctor in CountSecrets tests (M8 build fix)
Joseph Doherty
2026-06-18 07:11:41 -04:00
565d53d0fe
feat(transport): import name-map plumbing via CLI + ManagementActor (M8 D3)
Joseph Doherty
2026-06-18 07:08:33 -04:00
d974477e87
fix(transport): connection map Pass-2 (FK) + site-qualified connection resolution (M8 D1-FIX, C1+C2)
Joseph Doherty
2026-06-18 07:08:31 -04:00
6457f03fae
feat(transport): apply site/instance import with name-map + FK rewire (M8 D1, T18)
Joseph Doherty
2026-06-18 06:52:40 -04:00
542a3e92eb
fix(transport-ui): count site data-connection config in export secret banner (M8, C2-SECRET-1)
Joseph Doherty
2026-06-18 06:37:38 -04:00
50d77b07cf
feat(transport): preview diff + required-mapping detection + blockers (M8 C2)
Joseph Doherty
2026-06-18 06:28:47 -04:00
d0b38ad726
feat(transport-ui): export wizard site/instance selection (M8 E1)
Joseph Doherty
2026-06-18 06:26:36 -04:00
bdbf5cdab0
feat(transport): export site/instance selection end-to-end via CLI + ManagementActor (M8 B4)
Joseph Doherty
2026-06-18 06:14:39 -04:00
d7dae24355
feat(transport): per-line Myers code diff + site/connection/instance compare (M8 C1, T20)
Joseph Doherty
2026-06-18 06:07:04 -04:00
7e5b1b0275
feat(transport): resolve site/instance export selection + deps (M8 B1)
Joseph Doherty
2026-06-18 05:55:56 -04:00
bb6e883758
feat(transport): serialize site/connection/instance entities<->DTOs (M8 B2)
Joseph Doherty
2026-06-18 05:54:17 -04:00
aefdb9f4b6
feat(transport): manifest summary counts + schemaVersion 1.1 (M8 B3)
Joseph Doherty
2026-06-18 05:52:12 -04:00
0e507052a1
feat(transport): site/connection/instance bundle DTOs (M8 A2)
Joseph Doherty
2026-06-18 05:42:24 -04:00
c1282e06a2
feat(transport): pure Myers LineDiffer helper (M8 A3, T20)
Joseph Doherty
2026-06-18 05:41:10 -04:00
4f1925870f
feat(transport): name-map types + preview/selection/summary extensions (M8 A1)
Joseph Doherty
2026-06-18 05:40:24 -04:00
2f3c1a4e64
chore(m8): task persistence for Transport plan (15 tasks, dependency DAG)
Joseph Doherty
2026-06-18 05:31:01 -04:00
1ee75ac620
docs(m8): Transport T18/T20/#16 implementation plan (15 tasks, waves A-E + INT)
Joseph Doherty
2026-06-18 05:29:39 -04:00
e4964f7b30
docs(m8): approved Transport T18/T20 + #16 design (site/instance transport, name-mapping, Myers diff)
Joseph Doherty
2026-06-18 05:25:04 -04:00
0c7774acdc
fix(mgmt): re-assert MxGateway protocol at secured-write execute (D2 TOCTOU guard, T14b)
Joseph Doherty
2026-06-18 04:24:53 -04:00
40928535fd
docs(m7): reflect OPC UA / MxGateway UX (T13-T17) across component docs + CLAUDE/stillpending/completion-design
Joseph Doherty
2026-06-18 04:13:21 -04:00
39afa2743e
fix(comm): route Search/Verify/WriteTag commands through SiteCommunicationActor + DeploymentManager (M7 end-to-end)
Joseph Doherty
2026-06-18 03:59:35 -04:00
384204b71a
feat(centralui): cert-management UI + Trust action + site relay (T17)
Joseph Doherty
2026-06-18 03:53:32 -04:00
2d139442ba
fix(siteruntime): CertStoreActor — dispose listed certs + reject path-traversal thumbprints (T17)
Joseph Doherty
2026-06-18 03:42:17 -04:00
a56805e681
test(centralui): register IEndpointVerificationService in OpcUaEndpointEditor/DataConnectionForm fixtures broken by B8 verify-button (T17)
Joseph Doherty
2026-06-18 03:38:43 -04:00
1a7e735149
feat(centralui): Secured Writes page — operator submit + verifier queue + history (T14b)
Joseph Doherty
2026-06-18 03:34:08 -04:00
b08bfae329
feat(audit): SecuredWrite audit kinds + best-effort per-lifecycle central direct-write; guard approve Decode (T14b)
Joseph Doherty
2026-06-18 03:17:56 -04:00
c8d9303031
feat(siteruntime): per-node CertStore actor + trust broadcast to both site nodes (T17)
Joseph Doherty
2026-06-18 03:13:48 -04:00
303385fd98
feat(centralui): Verify-endpoint button + result/cert panel (T17)
Joseph Doherty
2026-06-18 03:12:11 -04:00
45a5a92455
fix(centralui): NodeBrowserDialog — reset load/expand spinner on error + clear stale failure on blank search (T15)
Joseph Doherty
2026-06-18 03:05:23 -04:00
733c7bf66c
feat(dcl): OPC UA verify-endpoint probe with untrusted-cert capture (T17)
Joseph Doherty
2026-06-18 03:00:55 -04:00
90abb4b8e2
feat(centralui): NodeBrowserDialog search + load-more + type column (T15/T16)
Joseph Doherty
2026-06-18 03:00:16 -04:00
1f7bb7ace3
feat(mgmt): secured-write approve relays to site MxGateway write with CAS race guard (T14b)
Joseph Doherty
2026-06-18 02:59:43 -04:00
74dd26eebd
feat: OPC UA address-space search plumbing — actor + comm + BrowseService (T15)
Joseph Doherty
2026-06-18 02:51:57 -04:00
c00c8241b3
feat(dcl): bounded recursive OPC UA address-space search adapter (T15)
Joseph Doherty
2026-06-18 02:45:01 -04:00
9ec2450ad5
feat: thread BrowseNext continuation token through actor + BrowseService (T15)
Joseph Doherty
2026-06-18 02:43:25 -04:00
d5e7e897c0
feat(centralui): InstanceConfigure CSV bulk override import (T16)
Joseph Doherty
2026-06-18 02:30:33 -04:00
25c9240415
feat(mgmt): secured-write submit/reject/list handlers + Operator/Verifier gating (T14b)
Joseph Doherty
2026-06-18 02:29:29 -04:00
586d54359c
feat(cli): instance import-overrides --file (T16)
Joseph Doherty
2026-06-18 02:27:40 -04:00
2cfe0de927
feat(dcl): BrowseNext continuation paging + StubOpcUaClient canned browse (T15)
Joseph Doherty
2026-06-18 02:21:59 -04:00
3c9122bc07
feat(centralui): operator Alarm Summary page + per-instance snapshot fan-out (T13)
Joseph Doherty
2026-06-18 02:21:41 -04:00
6a6f8949b9
fix(commons): OverrideCsvParser — preserve literal mid-field quotes, error on unterminated quoted field (T16 CSV)
Joseph Doherty
2026-06-18 02:13:10 -04:00
c799f41d53
feat(db): PendingSecuredWrite entity + migration + repository (T14b)
Joseph Doherty
2026-06-18 02:09:31 -04:00
a0ce8b6c44
feat(security): add Operator + Verifier roles + policies + LDAP mapping options (T14a)
Joseph Doherty
2026-06-18 02:07:01 -04:00
5fd77c7155
feat(dcl): surface OPC UA DataType/ValueRank/Writable on BrowseNode (T16 type-info)
Joseph Doherty
2026-06-18 02:02:23 -04:00
bf1f2f6892
feat(centralui): extract AlarmStateBadges shared component from DebugView (T13)
Joseph Doherty
2026-06-18 02:02:09 -04:00
77a31ba994
feat(commons): quote-aware OverrideCsvParser (T16 CSV)
Joseph Doherty
2026-06-18 02:01:38 -04:00
a87bf8a459
docs(m7): implementation plan + task graph — 22 tasks across waves A-E (T13-T17)
Joseph Doherty
2026-06-18 01:57:18 -04:00
254e0e729f
docs(m7): approved design — OPC UA / MxGateway UX (T13-T17)
Joseph Doherty
2026-06-18 01:44:40 -04:00
241a792e7b
docs(kpi): K17 — #26 KpiHistory component doc + README/CLAUDE + cross-component interactions + completion-design update
Joseph Doherty
2026-06-17 20:52:12 -04:00
3f1f4ed7c6
test(kpi): K17 — Playwright KPI trend-chart spec (tolerant, SkippableFact)
Joseph Doherty
2026-06-17 20:50:23 -04:00
eb4bce3e49
refactor(kpi): K13/K15 trend review fixups — per-metric isolation, disable-during-load + logging, loading-flag finally, test coverage
Joseph Doherty
2026-06-17 20:44:34 -04:00
7d7c6cbb05
feat(kpi): K16 — Health dashboard per-site trend panel
Joseph Doherty
2026-06-17 20:36:09 -04:00
3595a41349
feat(kpi): K15 — Audit Log trend charts
Joseph Doherty
2026-06-17 20:30:38 -04:00
4a88355098
feat(kpi): K14 — Site Calls trend charts
Joseph Doherty
2026-06-17 20:30:36 -04:00
0dc819f191
feat(kpi): K13 — Notification Outbox trend charts (T11 first consumer)
Joseph Doherty
2026-06-17 20:29:30 -04:00
f0177d5073
feat(kpi): K11 — KpiHistoryQueryService (scoped read + bucketing)
Joseph Doherty
2026-06-17 20:21:17 -04:00
e14433cd64
feat(kpi): K5 — Host central wiring + KpiHistoryRecorder cluster singleton + appsettings (not readiness-gated)
Joseph Doherty
2026-06-17 20:20:34 -04:00
601cc6f594
feat(kpi): K9 — SiteHealth sample source (per-site, from aggregator)
Joseph Doherty
2026-06-17 20:20:18 -04:00
cb2a516187
refactor(kpi): K4/K10/K12 review fixups — test data-race + faulted-tick liveness, dead-branch/unused removal, NaN-guard assertions, value clamp + doc
Joseph Doherty
2026-06-17 20:15:47 -04:00
5613a5efb7
feat(kpi): K12 — reusable KpiTrendChart SVG component
Joseph Doherty
2026-06-17 20:06:31 -04:00
9c2e7ab4cb
feat(kpi): K4 — KpiHistoryRecorderActor (best-effort sampling + daily purge)
Joseph Doherty
2026-06-17 20:06:09 -04:00
76f5ed72e4
feat(kpi): K10 — KpiSeriesBucketer last-per-bucket downsampler
Joseph Doherty
2026-06-17 20:04:51 -04:00
e6c15250ce
refactor(kpi): K2/K6/K7 review fixups — empty-batch guard + sealed repo + uniform TryAddEnumerable + KPI-age doc fidelity + coverage
Joseph Doherty
2026-06-17 20:00:43 -04:00
456e61dff3
feat(kpi): K7 — SiteCallAudit sample source
Joseph Doherty
2026-06-17 19:53:49 -04:00
6f6157ce89
feat(kpi): K8 — AuditLog sample source
Joseph Doherty
2026-06-17 19:53:41 -04:00
0d6c026dff
feat(kpi): K6 — NotificationOutbox sample source (global/site/node)
Joseph Doherty
2026-06-17 19:53:39 -04:00
9ffa34d3e7
feat(kpi): K3 — KpiHistory project + options/validator + AddKpiHistory
Joseph Doherty
2026-06-17 19:45:07 -04:00
cabc557629
feat(kpi): K2 — KpiSample EF mapping + KpiHistoryRepository + AddKpiSampleTable migration
Joseph Doherty
2026-06-17 19:44:51 -04:00
460777bffa
feat(kpi): K1 — KpiSample + IKpiSampleSource + IKpiHistoryRepository contracts (Commons)
Joseph Doherty
2026-06-17 19:35:50 -04:00
4c6ae9da0e
docs(m6): KPI History tasks.json (K1-K17 with blockedBy graph)
Joseph Doherty
2026-06-17 05:29:20 -04:00
1809664bcb
docs(m6): KPI History & Trends implementation plan (K1-K17, bite-sized tasks + execution waves)
Joseph Doherty
2026-06-17 05:27:50 -04:00
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
Joseph Doherty
2026-06-17 05:18:58 -04:00
59e094ada3
test(playwright): DebugViewTree — tolerate empty alarm forest (TreeView renders EmptyContent, not role=tree, when no alarms)
Joseph Doherty
2026-06-17 16:08:37 -04:00
e7660134f2
fix(communication): drop IsConfiguredPlaceholder rows in StreamRelayActor before gRPC pack
Joseph Doherty
2026-06-17 15:44:28 -04:00
7f59ae12cb
test(playwright): DebugView tabs+trees — assert tabbed layout, tree panes, Alarms-tab switch on connected instance
Joseph Doherty
2026-06-17 15:33:28 -04:00
ef86a2db28
refactor(debugview): cosmetic polish — test-seam comment, default-arm comment, tighten severity assertion
Joseph Doherty
2026-06-17 15:30:18 -04:00
50ce26f2e6
feat(centralui): DV-5 — Debug View tabbed composition trees (Attributes/Alarms)
Joseph Doherty
2026-06-17 15:23:49 -04:00
59f135a4cf
docs(DV-6): document Debug View tabbed-tree layout, native placeholders, and new AlarmStateChanged fields
Joseph Doherty
2026-06-17 15:21:42 -04:00
c1e786e3fc
refactor(DebugTreeBuilder): DRY BuildAttributeTree via WalkBranches; guard empty NativeSourceCanonicalName
Joseph Doherty
2026-06-17 15:18:09 -04:00
5f387ef3e3
feat(debugview): DV-4 implement BuildAlarmTree (computed leaves, native binding nodes, roll-up, filter)
Joseph Doherty
2026-06-17 15:12:57 -04:00
69b83379d5
test(dv-3): add 4-level roll-up + deep-leaf filter tests; return AsReadOnly; add caller-contract remark
Joseph Doherty
2026-06-17 15:09:01 -04:00
b5347faf44
fix(DV-2): clarify placeholder comment, stable MinValue timestamp, drain DCL probe in new tests
Joseph Doherty
2026-06-17 15:08:37 -04:00
cc017aabfc
feat(debugview): DV-3 DebugTreeNode model + attribute tree builder
Joseph Doherty
2026-06-17 15:01:02 -04:00
5d07ac24cb
feat(debugview): DV-2 emit placeholder rows for quiet native alarm bindings
Joseph Doherty
2026-06-17 15:00:20 -04:00
899ad6e106
feat(debugview): DV-1 native-binding linkage on AlarmStateChanged contract chain
Joseph Doherty
2026-06-17 14:52:03 -04:00
1045e7966d
docs(plans): implementation plan for Debug View tabs + hierarchy trees
Joseph Doherty
2026-06-17 14:14:58 -04:00
811d72255c
docs(plans): design for Debug View tabs + hierarchy trees
Joseph Doherty
2026-06-17 14:06:08 -04:00
670b607acb
fix(templateengine): SemanticValidator accepts composition-delegated CallScript (Children[x].CallScript leaf-name match)
Joseph Doherty
2026-06-17 12:43:17 -04:00
0e989c867d
feat(siteruntime): event-driven Attributes.WriteBatchAndWaitAsync (batched DCL write + trigger + existing WaitForAttribute waiter) + compile mirror
Joseph Doherty
2026-06-17 12:13:02 -04:00
e8db6c71a8
docs(plans): mark WaitAsync compile-surface tasks complete in tasks.json
Joseph Doherty
2026-06-17 11:24:03 -04:00
8dcc55f633
test: address review feedback — cover WaitForAsync predicate overload; clarify ChildrenAccessor parity row; dedup object-method exclusion
Joseph Doherty
2026-06-17 11:16:33 -04:00
b88f04ec2d
fix(siteruntime): normalize routed WaitForAttribute response value for cross-process transport
Joseph Doherty
2026-06-17 11:10:17 -04:00
adc8ee4afa
test(scriptanalysis): parity test fails on any unmirrored runtime accessor method
Joseph Doherty
2026-06-17 11:09:00 -04:00
bee295d3ee
fix(central-ui): mirror WaitForAttribute on inbound-script analysis RouteTarget
Joseph Doherty
2026-06-17 11:04:13 -04:00
a1186685a9
fix(scriptanalysis): mirror WaitAsync/WaitForAsync on CompileAttributeAccessor
Joseph Doherty
2026-06-17 11:03:24 -04:00
dc43a3f0f6
docs(plans): add WaitAsync compile-surface mirror-gaps plan + tasks
Joseph Doherty
2026-06-17 11:00:41 -04:00
c2e89e9d40
fix(central-ui): never render DB connection strings on Integration Definitions list
Joseph Doherty
2026-06-17 10:44:43 -04:00
af54c8ad11
merge: integrate WaitAsync/M5-audit (parallel session) with galaxy array-write + inbound-timeout fixes
Joseph Doherty
2026-06-17 09:28:15 -04:00
bf2f481bb4
fix(siteruntime): normalize routed script return value for cross-process transport
Joseph Doherty
2026-06-17 09:19:12 -04:00