Commit Graph

  • 11534089b9 docs(siteruntime): mark WaitAsync deferred items implemented (§3/§4.2/§6) + fast-path throwing-predicate test Joseph Doherty 2026-06-17 09:15:42 -04:00
  • c482cac110 feat(siteruntime): unpack routed RouteToWaitForAttributeRequest into InstanceActor (spec §6 site half) Joseph Doherty 2026-06-17 09:10:08 -04:00
  • 61048a4ecf feat(siteruntime): WaitForAsync/WaitResult + quality-gated WaitAsync (spec §3, §4.2) Joseph Doherty 2026-06-17 09:05:12 -04:00
  • 0f6da8a106 feat(inbound): routed Route.To().WaitForAttribute — contract + central path (spec §6) Joseph Doherty 2026-06-17 09:02:21 -04:00
  • cd15426b21 docs(siteruntime): plan for WaitAsync deferred items (WaitForAsync, quality-gated, routed §6) Joseph Doherty 2026-06-17 08:58:05 -04:00
  • 04e97f4a87 fix(siteruntime): harden WaitAsync — no spurious match on quality republish, guard throwing predicate, Ask-timeout returns false Joseph Doherty 2026-06-17 08:44:03 -04:00
  • eeb6210151 fix(dcl): address MXAccess array attributes with trailing "[]" on write Joseph Doherty 2026-06-17 08:32:03 -04:00
  • 75ffa09b8f feat(siteruntime): event-driven Attributes.WaitAsync attribute-change helper Joseph Doherty 2026-06-17 08:25:06 -04:00
  • b89d69a008 docs(siteruntime): add WaitAsync attribute-change helper spec Joseph Doherty 2026-06-17 08:14:09 -04:00
  • 8cbecdec0e fix(inbound): materialize array params as typed lists, not JsonElement Joseph Doherty 2026-06-17 07:34:39 -04:00
  • 45b23476fc fix(dcl): pad List writes to the Galaxy array's full declared size Joseph Doherty 2026-06-17 06:34:05 -04:00
  • 30d07b91f4 fix(dcl): write List attributes as real MXAccess arrays (not a stringified List) Joseph Doherty 2026-06-17 06:07:40 -04:00
  • b5333d0f15 fix(dcl): default MxGateway advises to supervisory when WriteUserId==0 Joseph Doherty 2026-06-17 05:25:18 -04:00
  • 639e331db1 test+docs(m5): M5.7 — de-date 2 EndToEnd purge tests (closes #52); document T3-T8 in Component-AuditLog/-CLI/README/CLAUDE Joseph Doherty 2026-06-16 22:26:09 -04:00
  • 1b63d6751f fix(audit): M5 integration — add BackfillSourceNodeAsync to 5 test stubs (M5.5+M5.6 interface collision after cherry-pick recovery) Joseph Doherty 2026-06-16 22:11:10 -04:00
  • 50b674accc feat(audit): M5.5 per-channel retention overrides via purge-role bounded delete (T3) Joseph Doherty 2026-06-16 21:47:50 -04:00
  • 55630b48b6 feat(audit): M5.6 SourceNode sentinel backfill (purge-role) + CLI + runbook note (T5) Joseph Doherty 2026-06-16 22:02:21 -04:00
  • d4ec84d5fb fix(inbound): log swallowed scope-creation failure + test scope disposal on script throw Joseph Doherty 2026-06-16 21:51:33 -04:00
  • daff1446d8 feat(inbound): expose read-only Database helper on InboundScriptContext Joseph Doherty 2026-06-16 21:45:13 -04:00
  • 16fc62bfa0 test(inbound): add namespace + Query() coverage for InboundDatabaseHelper Joseph Doherty 2026-06-16 21:40:52 -04:00
  • 90ac746fdc feat(inbound): read-only InboundDatabaseHelper for inbound scripts Joseph Doherty 2026-06-16 21:36:07 -04:00
  • f63055c296 chore(inbound): task-persistence for Ipsen MES MoveIn plan Joseph Doherty 2026-06-16 21:32:16 -04:00
  • 6fbf3e71fd docs(inbound): implementation plan for Ipsen MES MoveIn Joseph Doherty 2026-06-16 21:31:26 -04:00
  • d8ccad6f54 docs(inbound): design for Ipsen MES MoveIn -> reactor MES receiver Joseph Doherty 2026-06-16 21:22:31 -04:00
  • de2968b03d fix(audit): M5.3 review I-1 — use the request-start options snapshot for header redaction (no mid-request reload split) Joseph Doherty 2026-06-16 21:49:43 -04:00
  • 20760014c2 feat(audit): M5.4 ParentExecutionId tag-cascade for alarm + nested calls (T4) Joseph Doherty 2026-06-16 21:42:14 -04:00
  • 209f368cb5 feat(audit): M5.2 per-node stuck-count KPIs (T6) — repo per-node aggregation, actor message pair, CentralUI tiles Joseph Doherty 2026-06-16 21:34:14 -04:00
  • a07ff28f10 feat(audit): M5.3 response-capture increments — request headers, ceiling-hits counter, per-method body opt-out (T7) Joseph Doherty 2026-06-16 21:23:07 -04:00
  • 0569c5ff23 feat(audit): M5.1 audit tree endpoint + CLI audit tree (T8) Joseph Doherty 2026-06-16 21:20:54 -04:00
  • 0e9bcbb676 docs(m5): implementation plan + tasks for audit hardening T3-T8 Joseph Doherty 2026-06-16 21:12:52 -04:00
  • 1b7600fcb3 docs(m5): design — audit hardening T3-T8 (T1 hash-chain + T2 Parquet stay deferred) Joseph Doherty 2026-06-16 21:10:21 -04:00
  • e77e209b8a docs(m4): fix bundle CLI example option names in transport design §13 (--output/--input, not --out/positional) Joseph Doherty 2026-06-16 20:37:51 -04:00
  • dd545281e6 docs(m4.3): reconcile CLI README + Component-CLI to registered commands/options (document bundle group; fix option drift) Joseph Doherty 2026-06-16 20:30:40 -04:00
  • 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) Joseph Doherty 2026-06-16 20:30:29 -04:00
  • 13605d3dfd docs(m4.1): reconcile Config-DB AuditLog schema + Commons (AuditEvent/ApiKey/SiteCall/NotificationType) to shipped code Joseph Doherty 2026-06-16 20:29:16 -04:00
  • c3b046457e docs(m4.2): reconcile InboundAPI (Bearer/audit-timing/type-validation), Security (cookie session, role names), Notification (Email-only, AuditKind vocab) to code Joseph Doherty 2026-06-16 20:27:43 -04:00
  • 9106efafd8 Merge main (DCL alarm fixes 06ef177..9b78e60) into M3 branch Joseph Doherty 2026-06-16 20:20:27 -04:00
  • fb5f14e04f docs(m3): document Script Analysis component (#25); reconcile consumer specs + README/CLAUDE component list Joseph Doherty 2026-06-16 20:05:24 -04:00
  • 069757209a fix(scriptanalysis): M3.6 — full-framework analysis refs close forbidden-type-in-allowed-ns blind spot; pin Process/Stopwatch; fix stale codec test; drop dead ContainsInCode Joseph Doherty 2026-06-16 20:00:28 -04:00
  • 9b78e6071d fix(dcl): identify MxGateway native alarms by object-relative reference Joseph Doherty 2026-06-16 19:46:44 -04:00
  • cf935d5744 refactor(centralui): M3.5 ScriptAnalysisService uses shared deny-list + delegates trust verdict Joseph Doherty 2026-06-16 19:40:03 -04:00
  • 64d6ac7288 refactor(siteruntime): M3.3 ValidateTrustModel delegates to shared ScriptAnalysis + compile-surface parity test Joseph Doherty 2026-06-16 19:37:50 -04:00
  • 14bd25196a feat(templateengine): M3.2 deploy gate delegates to shared ScriptAnalysis (real compile + authoritative forbidden-API) Joseph Doherty 2026-06-16 19:36:03 -04:00
  • 784fee7b07 refactor(inboundapi): M3.4 ForbiddenApiChecker delegates to shared ScriptAnalysis validator Joseph Doherty 2026-06-16 19:35:43 -04:00
  • 361e7f41ba fix(dcl): broadcast SnapshotComplete sentinel to all alarm subscribers Joseph Doherty 2026-06-16 19:33:41 -04:00
  • 069c0e0b1a fix(scriptanalysis): M3.1 review — Pass 2 self-sufficient descent, pin nested-forbidden + nameof cases, drop dead code Joseph Doherty 2026-06-16 19:29:59 -04:00
  • 4f2b17ce6d feat(scriptanalysis): M3.1 shared trust validator + compiler + compile surfaces + tests Joseph Doherty 2026-06-16 19:18:39 -04:00
  • 0cc8642cfa docs(m3): implementation plan + tasks for shared ScriptAnalysis consolidation Joseph Doherty 2026-06-16 19:09:12 -04:00
  • 8e99f22b24 docs(m3): design — shared ScriptAnalysis project consolidating the 4 trust-model analyzers Joseph Doherty 2026-06-16 19:07:32 -04:00
  • 06ef1779bd fix(dcl): deliver initial-read seed value after subscription registration Joseph Doherty 2026-06-16 18:02:42 -04:00
  • 33af948651 Merge feature/native-typed-json: native-typed JSON for List attribute values + data normalization Joseph Doherty 2026-06-16 18:36:07 -04:00
  • dc9f31537a docs: record final-review follow-ups (deployed-snapshot normalization gap I-1; CLI native-form help example) Joseph Doherty 2026-06-16 18:34:34 -04:00
  • c53b621b85 docs: mark native-typed JSON feature complete; update Component-Commons codec note Joseph Doherty 2026-06-16 18:27:10 -04:00
  • feeae1371e fix(multivalue): NJ-3/NJ-4/NJ-5 review fixes Joseph Doherty 2026-06-16 18:25:42 -04:00
  • f4b101b532 feat(db): idempotent startup normalizer rewriting List values to native JSON Joseph Doherty 2026-06-16 17:50:19 -04:00
  • e3d804a1a6 feat(transport): normalize List attribute values to native JSON on import Joseph Doherty 2026-06-16 17:50:05 -04:00
  • 5841cec958 feat(siteruntime): normalize old-form List static overrides to native JSON on load Joseph Doherty 2026-06-16 17:49:21 -04:00
  • bf80ca1388 test(commons): NJ-1 review — backward-compat decode tests for old-form Float/DateTime + assert DateTime list is quoted-string array Joseph Doherty 2026-06-16 17:38:57 -04:00
  • abe8832e9e feat(template): stamp ElementDataType on instance attribute overrides Joseph Doherty 2026-06-16 17:33:15 -04:00
  • 180d55482b feat(commons): native-typed JSON for List values; Decode reads both forms Joseph Doherty 2026-06-16 17:32:40 -04:00
  • 69f7c526d0 docs: implementation plan for native-typed JSON List values + normalization Joseph Doherty 2026-06-16 17:13:14 -04:00
  • d312dfb139 fix(management): honor DisableLogin on the Basic-Auth CLI surfaces Joseph Doherty 2026-06-16 17:12:17 -04:00
  • 91b1aa1275 docs: design for native-typed JSON List attribute values + data normalization Joseph Doherty 2026-06-16 17:08:38 -04:00
  • cdf0a199cb Merge feature/multivalue-attribute: structured multi-value (List) attributes Joseph Doherty 2026-06-16 16:51:36 -04:00
  • 94be5e813b fix(siteruntime): decode List value to typed array before DCL write (OPC UA array write path) Joseph Doherty 2026-06-16 16:48:28 -04:00
  • 734c161383 docs: mark multi-value (List) attribute feature complete; document DataType.List + ElementDataType in Component-Commons Joseph Doherty 2026-06-16 16:34:56 -04:00
  • ca9ee5ea2a fix(ui): MV-14 review — surface SetAttributeOverride failures in InstanceConfigure save loop (no false success toast) Joseph Doherty 2026-06-16 16:32:28 -04:00
  • 100540b153 fix(multivalue): MV-11/MV-13 review nits — correct CLI attribute-delete README synopsis; explicit Disabled + dead-branch cleanup in TemplateEdit list editor Joseph Doherty 2026-06-16 16:27:44 -04:00
  • ae2e1efb1c feat(ui): List attribute override editor in InstanceConfigure Joseph Doherty 2026-06-16 16:25:58 -04:00
  • ba7331e67c feat(ui): List attribute editor in TemplateEdit Joseph Doherty 2026-06-16 16:20:08 -04:00
  • 85db4571b2 feat(cli): --element-type and JSON --value for List attributes Joseph Doherty 2026-06-16 16:18:08 -04:00
  • 0164f8a0d6 fix(mgmt): MV-10 review fixes (ElementDataType fixed-field in LockEnforcer; graceful bad-DataType error; message consistency) Joseph Doherty 2026-06-16 16:13:38 -04:00
  • 1525670fe7 feat(mgmt): accept + validate ElementDataType on attribute add/update Joseph Doherty 2026-06-16 16:05:05 -04:00
  • ad6bfc8af9 fix(siteruntime): reject SetStaticAttribute with malformed list value (no silent poison persist) Joseph Doherty 2026-06-16 15:59:30 -04:00
  • 7f97780bb3 feat(siteruntime): decode static List attributes to typed lists in InstanceActor (load/override/set) Joseph Doherty 2026-06-16 15:52:29 -04:00
  • 6ef6bab26e fix(validation): MV-5 review nit — use IsNullOrWhiteSpace for List default-value guard (consistency) Joseph Doherty 2026-06-16 15:49:01 -04:00
  • 96e817a7e1 fix(siteruntime): MV-8 review fixes (construct list inside try; dictionary attr lookup; test hygiene) Joseph Doherty 2026-06-16 15:48:25 -04:00
  • 4765706e94 feat(dcl): coerce OPC UA array reads to typed list attributes; Bad quality on element mismatch Joseph Doherty 2026-06-16 15:39:19 -04:00
  • 872ce2b565 feat(validation): semantic checks for List attributes (element type, default value, trigger operands) Joseph Doherty 2026-06-16 15:38:18 -04:00
  • a1d464b50d fix(siteruntime): encode list attribute writes via AttributeValueCodec (was .ToString()) Joseph Doherty 2026-06-16 15:38:00 -04:00
  • ba414cbb68 feat(comm): stream List attribute values as canonical JSON Joseph Doherty 2026-06-16 15:37:33 -04:00
  • 492b41f0fd fix(multivalue): Wave-2 review fixes (MV-2/MV-4/MV-12) Joseph Doherty 2026-06-16 15:33:27 -04:00
  • 02aff2436e feat(template): carry ElementDataType through flatten/override Joseph Doherty 2026-06-16 15:24:31 -04:00
  • e7e34b26f1 feat(transport): round-trip ElementDataType for List attributes Joseph Doherty 2026-06-16 15:23:39 -04:00
  • 4a4b3d677d feat(db): migration for ElementDataType + widen attribute Value to nvarchar(max) (idempotent) Joseph Doherty 2026-06-16 15:22:29 -04:00
  • 8bd8079a7f feat(commons): AttributeValueCodec for canonical list value encode/decode Joseph Doherty 2026-06-16 15:21:56 -04:00
  • 70fa0e7397 feat(commons): add DataType.List + ElementDataType companion for multi-value attributes Joseph Doherty 2026-06-16 15:18:12 -04:00
  • 09d7319958 docs: implementation plan for structured multi-value (List) attributes Joseph Doherty 2026-06-16 15:16:06 -04:00
  • b238228d8b docs: design for structured multi-value (List) attributes Joseph Doherty 2026-06-16 15:10:32 -04:00
  • 2c8706ca67 Merge feature/inbound-xapikey: accept X-API-Key as inbound-API credential transport Joseph Doherty 2026-06-16 14:07:20 -04:00
  • 1392fd144a test(inbound-api): X-API-Key review nits — whitespace-auth fallthrough test + dedupe + comment wording Joseph Doherty 2026-06-16 14:06:03 -04:00
  • 510559e1be feat(inbound-api): accept X-API-Key header as credential transport alongside Authorization: Bearer Joseph Doherty 2026-06-16 14:01:01 -04:00
  • 7362598b69 Merge feature/disable-login: dev auto-login flag (ScadaBridge:Security:Auth:DisableLogin) Joseph Doherty 2026-06-16 08:56:46 -04:00
  • 13cd53ad1c docs(plan): mark disable-login DL-1..DL-4 complete Joseph Doherty 2026-06-16 08:55:09 -04:00
  • 57302500ac docs(security): document dev disable-login flag + ship default-false config key Joseph Doherty 2026-06-16 08:54:11 -04:00
  • 75919cec31 test(security): DL-3 review nits — assert OnValidatePrincipal on prod path + warning/doc polish Joseph Doherty 2026-06-16 08:52:28 -04:00
  • e89604298d feat(security): wire DisableLogin flag — auto-login scheme + startup warning Joseph Doherty 2026-06-16 08:47:19 -04:00
  • 0926ce4dda test(security): DL-2 review nits — assert IsAuthenticated + clarify handler flag gating Joseph Doherty 2026-06-16 08:44:06 -04:00
  • dcd445a380 feat(security): AutoLoginAuthenticationHandler — all-roles system-wide dev auto-login Joseph Doherty 2026-06-16 08:40:30 -04:00
  • 72691e5577 feat(security): AuthDisableLoginOptions + Roles.All for dev auto-login Joseph Doherty 2026-06-16 08:36:48 -04:00