2026-07-20 - 2026-10-20

Overview

13 Active Pull Requests
235 Active Issues
Excluding merges, 1 author has pushed 185 commits to master and 1341 commits to all branches. On master, 292 files have changed and there have been 34898 additions and 4020 deletions.

13 Pull requests merged by 1 user

Merged #730 Ensure driver test cleanup preserves primary failures 2026-10-13 21:06:34 -04:00

Merged #724 Fix DB-less ServiceLevel freshness and authorization remarks 2026-10-13 19:03:44 -04:00

Merged #720 Retain ServiceLevel requests across binding and publisher failures 2026-10-13 15:58:22 -04:00

Merged #714 Count individual skipped TRX results 2026-10-13 13:56:06 -04:00

Merged #715 Clarify S7 counter evidence and fixture limits 2026-10-13 11:54:59 -04:00

Merged #711 Bound CI concurrency and stabilize test fixtures 2026-10-13 11:54:18 -04:00

Merged #708 Clarify Galaxy native acknowledgement outcome documentation 2026-10-13 09:10:22 -04:00

Merged #706 fix(historian): preserve alarm delivery identity across retries 2026-10-13 07:11:12 -04:00

Merged #704 Accept supported definitive loss reasons in restart wire test 2026-10-13 06:30:24 -04:00

Merged #703 Cover concurrent gateway tag cache lookups 2026-10-13 05:22:45 -04:00

Merged #699 Fix historian missing-tag latency, paging limits and response contracts 2026-10-13 04:45:02 -04:00

Merged #506 feat(mtconnect): read-only MTConnect Agent driver (P1) — 23 tasks + 5-leg live gate 2026-07-27 14:02:29 -04:00

Merged #484 chore(auth): bump ZB.MOM.WW.Auth 0.1.1 -> 0.1.5 (family alignment) 2026-07-20 06:06:13 -04:00

221 Issues closed from 1 user

Closed #726 Driver test fixtures leave owned probe loops without guaranteed teardown 2026-10-13 21:06:34 -04:00

Closed #721 DB-less ServiceLevel does not age stale role snapshots without incoming messages 2026-10-13 19:03:45 -04:00

Closed #722 Correct obsolete AllowAnonymous per-node authorization remarks 2026-10-13 19:03:45 -04:00

Closed #719 ServiceLevel publication before SDK binding is dropped and unchanged state can remain deduplicated 2026-10-13 15:58:22 -04:00

Closed #606 Engineering system: CI evidence, global.json, regen-readme check, SlowUnit split (archreview r3 item 12) 2026-10-13 13:56:51 -04:00

Closed #712 CI TRX skip summary reports zero for skipped results 2026-10-13 13:56:06 -04:00

Closed #713 S7 counter documentation overstates wire encoding and live gate readiness 2026-10-13 11:55:00 -04:00

Closed #707 Current master CI has 18 unit failures across transport, Gateway and actor suites 2026-10-13 11:54:18 -04:00

Closed #709 Gateway ceiling theory registers duplicate boundary cases 2026-10-13 11:54:18 -04:00

Closed #710 Bootstrap retry cancellation test races a wall-clock deadline 2026-10-13 11:54:18 -04:00

Closed #705 Alarm historian: emit stable nonzero delivery IDs without changing queue dedup 2026-10-13 07:11:12 -04:00

Closed #702 Intermittent restart/reconnect wire test failure in full solution; isolated retry passes 2026-10-13 06:30:24 -04:00

Closed #701 Add concurrent cold/expiry coverage for Gateway tag-presence cache 2026-10-13 05:22:45 -04:00

Closed #653 Historian: re-measure 30 s HistoryRead of unprovisioned tags 2026-10-13 04:34:54 -04:00

Closed #696 Gateway AtTime: prior-sample search starts at the requested time, not min(T, now); strict-ceiling stopped-tag end-only reads costly 2026-10-13 04:34:54 -04:00

Closed #697 HistoryRead returns BadHistoryOperationUnsupported when the historian backend is unreachable (should be a retryable communication status) 2026-10-13 03:53:43 -04:00

Closed #698 Historian value types differ across backends for integer/Boolean nodes (SQL backends Int64, Gateway node type; Gateway Raw Boolean as Double) 2026-10-13 03:53:43 -04:00

Closed #695 Gateway raw: warm reads refuse a tie cluster that fits under the learned ceiling (look-back below a reverse segment or bound lookup) 2026-10-13 03:53:42 -04:00

Closed #692 HistoryRead-Raw with NumValuesPerNode=1 returns an empty page between every value 2026-10-13 02:12:18 -04:00

Closed #693 Gateway AtTime returns AVEVA interpolation unchanged (NULL handling, drift, no Interpolated bit) 2026-10-13 02:12:18 -04:00

Closed #690 Gateway raw reads return a stored NULL as value 0 (SQL backends return null) 2026-10-13 00:11:26 -04:00

Closed #691 Gateway historian: remaining Part 11/13 gaps after #685–#688 (ReturnBounds, reverse native aggregates, strict-ceiling uncapped reads, reverse events) 2026-10-13 00:11:26 -04:00

Closed #689 Gateway reverse raw paging reads ~32k rows per page on busy tags (ReverseRawReader sizing) 2026-10-13 00:11:25 -04:00

Closed #685 Gateway historian: native TimeAverage/Total rows — leading pre-window row passed through, Uncertain rows lose their value 2026-10-12 16:03:54 -04:00

Closed #688 Gateway historian: default MaxTimeWeightedRawRows + 18 exceeds the gateway default ceiling 2026-10-12 16:03:54 -04:00

Closed #686 Gateway historian: reverse and end-only capped raw HistoryReads fail (start > end sent to the gateway) 2026-10-12 16:03:53 -04:00

Closed #687 Gateway historian: raw HistoryRead returns AVEVA synthetic boundary row as a stored sample 2026-10-12 16:03:53 -04:00

Closed #681 Gateway historian: compute per-sample aggregates (Average, Count, Start/End, Delta, PercentGood...) from raw reads 2026-10-12 14:21:07 -04:00

Closed #675 HistoryRead paging (#669) follow-ups: reverse capped read, events end-only, Gateway year-9999 bound 2026-10-12 14:21:06 -04:00

Closed #677 Time-weighted aggregates (#671) follow-ups: reverse anchoring, Partial bit, integral unit, AggregateConfiguration, CLI list 2026-10-12 14:21:06 -04:00

Closed #682 Advertise only the aggregates the configured historian backend serves (HistoryServerCapabilities/AggregateFunctions) 2026-10-12 13:59:26 -04:00

Closed #683 Historian processed reads: bound the data-range lookup cost on QuestDB; trim the SqlServer Start/End query 2026-10-12 13:59:26 -04:00

Closed #684 Historian aggregates: Average/Minimum/Maximum include Uncertain samples (Part 13 / SDK use Good only) 2026-10-12 13:59:26 -04:00

Closed #679 Gateway historian: Count and Average mapped to AVEVA modes with different semantics (Counter delta, time-weighted average) 2026-10-12 08:38:37 -04:00

Closed #680 Time-weighted aggregates: forward differences from the SDK AggregateCalculator (TimeAverage/Total status, Total at start of data, Partial on truncated) 2026-10-12 08:38:37 -04:00

Closed #676 OpcUaClient session loss (#670) follow-ups: TCP-stall proxy test, ReconnectPeriod field, recovery latency, drop observability 2026-10-11 13:20:32 -04:00

Closed #678 Small follow-ups from the #667-#673 batch (retention cancel path, #672 tests, FOCAS flake, cosmetics, rig cert) 2026-10-11 13:20:32 -04:00

Closed #674 Part 11 modified-value history (#668) follow-ups: QuestDB TTL exposure, schema-v2 posture, cross-node ordering 2026-10-11 13:20:31 -04:00

Closed #671 historian(sqlserver): time-weighted Part 13 aggregates 2026-10-11 10:18:00 -04:00

Closed #672 historization: crash failover leaves a ~30 s capture gap (Primary unreachable but not downed) 2026-10-11 10:18:00 -04:00

Closed #673 test flake: FocasStatusFlagsTests.An_authored_FIXED_Status_tag_reads_the_flag intermittently Bad 2026-10-11 10:18:00 -04:00

Closed #669 history: node manager never issues event-HistoryRead continuation points 2026-10-11 10:17:59 -04:00

Closed #670 OpcUaClient driver: upstream session loss never goes Bad and never recovers (live-gate find) 2026-10-11 10:17:59 -04:00

Closed #667 historian(sqlserver): retention / purge for hist.Sample and hist.Event 2026-10-11 10:17:58 -04:00

Closed #668 historian(sqlserver): Part 11 modified values (ReadModified + audit of HistoryUpdate) 2026-10-11 10:17:58 -04:00

Closed #652 Historian: HistoryUpdate surface 2026-10-11 04:41:49 -04:00

Closed #666 historian: QuestDB backend (design + plan) 2026-10-11 04:41:48 -04:00

Closed #665 Delete the dead in-place ApplyDelta seam (config change = respawn only) 2026-10-09 11:33:08 -04:00

Closed #664 Mid-connect ApplyDelta: Calculation and Galaxy ignore the adopted config; no DeltaApplied re-register 2026-10-09 11:17:27 -04:00

Closed #663 DriverInstanceActor: in-place ApplyDelta while Connected leaves stale subscription handles 2026-10-09 08:00:21 -04:00

Closed #662 OpcUaClient native-alarm feed not restored by reconcile / lost on a non-respawning deploy 2026-10-09 07:40:35 -04:00

Closed #657 OpcUaClient respawn replays inactive+unacked conditions as Raise+Clear (duplicate rows, Active flicker) 2026-10-09 07:20:20 -04:00

Closed #660 AbLegacy Test Connect probe passes the raw ProbeAddress (PLC-5 octal probe address read as decimal) 2026-10-09 07:20:20 -04:00

Closed #661 Flaky: MTConnectSubscribeTests.A_rebaseline_that_delivers_nothing_still_advances_the_reconnect_backoff 2026-10-09 07:11:43 -04:00

Closed #659 AbLegacy libplctag: S/O/I files and control status bits fail on a real MicroLogix 1400 (default probe S:0 fails) 2026-10-09 05:48:34 -04:00

Closed #611 AbCip: ALMA alarm projection; writes to controller-discovered UDT members 2026-10-09 04:55:28 -04:00

Closed #658 OpcUaClient first sight of an inactive+acked upstream condition is told as Unspecified, not a flagged Clear 2026-10-09 04:55:28 -04:00

Closed #654 Known-cluster gate can stay unpublished (fail-open) for up to 60 s after central boot 2026-10-09 04:55:27 -04:00

Closed #655 Server never dispatches HistoryRead to a driver's IHistoryProvider 2026-10-09 04:55:27 -04:00

Closed #656 Galaxy reconnect snapshot: ActiveAcked entry for an unknown condition lands inactive; re-statements write duplicate Activated rows 2026-10-09 04:55:27 -04:00

Closed #633 FOCAS: porting backlog from the stranded auto/driver-gaps branch (15 items, writes policy decision first, #607) 2026-10-08 22:44:09 -04:00

Closed #612 TwinCAT: TC3 symbol-browse mode, member writes, hardware-gated validation 2026-10-08 22:44:08 -04:00

Closed #645 TwinCAT: hardware-gated items #310/#314 from driver-gaps backlog 2026-10-08 21:52:08 -04:00

Closed #647 FOCAS: native alarms never reach their Part 9 conditions 2026-10-08 21:52:07 -04:00

Closed #619 docker-dev rig hygiene: stale LDAP credentials, opc-plc alarm mismatch, central-2 serve path 2026-10-08 20:50:25 -04:00

Closed #644 Separate designs from driver-gaps backlog 2026-10-08 20:50:25 -04:00

Closed #649 OpcUaClient: HistoryRead ignores per-node StatusCode (BadAggregateNotSupported looks like empty data) 2026-10-08 20:50:24 -04:00

Closed #650 MTConnect: EVENT enumerations + DATA_SET/TABLE support 2026-10-08 20:50:24 -04:00

Closed #651 focas-sim fixture image on 10.100.0.35 is stale 2026-10-08 20:50:24 -04:00

Closed #648 OpcUaClient: TargetNamespaceKind=Equipment default (requires UnsMappingTable) is vestigial in v3 2026-10-08 20:50:23 -04:00

Closed #600 Historian: provision newly-historized existing tags, HistoryUpdate, slow reads of unprovisioned tags 2026-10-08 18:52:14 -04:00

Closed #601 Deploy honesty: degraded-apply ack amendment; malformed artifact bytes = "no answer" (archreview r3 item 7) 2026-10-08 18:52:13 -04:00

Closed #613 MTConnect P1.5: CONDITION as Part 9 alarms, TIME_SERIES arrays, EVENT enumerations, DataType validation 2026-10-08 18:52:13 -04:00

Closed #634 AbCip: porting backlog from the stranded auto/driver-gaps branch (11 items, #607) 2026-10-08 18:52:12 -04:00

Closed #635 OpcUaClient: porting backlog from the stranded auto/driver-gaps branch (9 items, #607) 2026-10-08 18:52:12 -04:00

Closed #632 S7: porting backlog from the stranded auto/driver-gaps branch (13 items, #607) 2026-10-08 18:52:11 -04:00

Closed #636 AbLegacy: porting backlog from the stranded auto/driver-gaps branch (9 items, #607) 2026-10-08 18:52:10 -04:00

Closed #622 OpcUaClient driver: replace scaffold-only unit suites with wire-level tests against the in-process server 2026-10-08 18:51:53 -04:00

Closed #643 ZB.MOM.WW.Theme: .rise animation leaves an identity transform that traps position:fixed descendants 2026-10-08 18:51:53 -04:00

Closed #646 AbLegacy: indirect addressing (N7:[N7:0]) runtime support 2026-10-08 18:51:53 -04:00

Closed #641 Native alarm conditions stay inactive after a rebuild when the alarm-tag set is unchanged 2026-10-08 18:51:52 -04:00

Closed #642 AdminUI: no typed editor for authoring native alarm config on raw tags 2026-10-08 18:51:52 -04:00

Closed #640 Driver diagnostics surface on /hosts 2026-10-08 18:51:51 -04:00

Closed #631 AdminUI cosmetics: stale one-time key banner after delete on /apikeys; modal backdrop wider than viewport on /raw 2026-10-08 16:34:06 -04:00

Closed #637 TwinCAT: porting backlog from the stranded auto/driver-gaps branch (4 items, #607) 2026-10-08 16:34:06 -04:00

Closed #638 Driver-gaps ledger: 4 UNCLEAR items need a human verdict (#226, #252, #298, #311) 2026-10-08 16:34:06 -04:00

Closed #629 Condition child nodes carry the condition type's ns=0 NodeIds (direct Read hits the type node) 2026-10-08 16:34:05 -04:00

Closed #630 FOCAS/AbLegacy InitializeAsync orphans previous DeviceState loops when called without teardown 2026-10-08 16:34:05 -04:00

Closed #627 MTConnect: TIME_SERIES observations as variable-length double[] with representation field 2026-10-08 16:34:04 -04:00

Closed #628 MTConnect: decide per-/raw-Device routing (client per device vs DraftValidator error) 2026-10-08 16:34:04 -04:00

Closed #626 MTConnect: surface CONDITION data items as Part 9 alarms (IAlarmSource) 2026-10-08 16:33:52 -04:00

Closed #639 test-x 2026-10-08 16:33:27 -04:00

Closed #623 Docs: rewrite the v2-era pages that are only bannered (IncrementalSync, AddressSpace, driver-specs, Secrets runbook) 2026-10-08 09:24:36 -04:00

Closed #624 Docs: correct stale claims and bookkeeping 2026-10-08 09:24:36 -04:00

Closed #625 Re-triage the 11 Deferred code-review findings and the Sql TODO(M2) 2026-10-08 09:24:36 -04:00

Closed #620 Redundancy: Primary selection still matches gossiped roles case-sensitively (Health.Akka OldestUpMember) 2026-10-08 09:24:35 -04:00

Closed #621 Migrate off obsolete OPC UA SDK APIs (Utils.Log*, sync Session/Discovery calls) 2026-10-08 09:24:35 -04:00

Closed #610 Server: array writes; decide ValueRank > 1 2026-10-08 09:24:34 -04:00

Closed #617 ACL: ns=0 standard nodes are ungated, so the "see nothing" boot warning overstates 2026-10-08 09:24:34 -04:00

Closed #618 Host: a fail-start exception leaves the dotnet process running 2026-10-08 09:24:34 -04:00

Closed #607 92 driver-gap issues (#225–#316) were closed against PRs merged into auto/driver-gaps, which never reached master 2026-10-08 09:24:33 -04:00

Closed #608 Drivers: take the live device host from DeviceConfig instead of string-matching (TODO(v3 WaveC)) 2026-10-08 09:24:33 -04:00

Closed #609 Telemetry: evict a driver's snapshot-cache entries when the instance is removed 2026-10-08 09:24:33 -04:00

Closed #604 AdminUI N−1 sweep: stale-open guard on 5 modals, ValidationSummary, API-key delete confirm, ErrorBoundary (archreview r3 item 10) 2026-10-08 09:24:32 -04:00

Closed #605 Galaxy gateway seam hardening (archreview r3 item 11) 2026-10-08 09:24:32 -04:00

Closed #599 Surgical deploys: announce surgically-added raw nodes + r3 item-6 residuals 2026-10-08 09:24:31 -04:00

Closed #602 Driver fleet round-3 batch (archreview r3 item 8) + deliberate health asymmetries 2026-10-08 09:24:31 -04:00

Closed #603 Dormant Core.VirtualTags engine decision, ScriptSandbox reference caching, single drain-gate predicate (archreview r3 item 9) 2026-10-08 09:24:31 -04:00

Closed #596 AdminUI /raw: decide auto-created "Device1", live-verify first-click fix, add a browsePageDelayMs field 2026-10-08 09:24:30 -04:00

Closed #597 Alarms: residuals from the #587/#586 reviews 2026-10-08 09:24:30 -04:00

Closed #598 Client.Shared: AddComment API, remove Galaxy-era fallback reads, LoggerLifecycle flake 2026-10-08 09:24:30 -04:00

Closed #594 Fixture-dependent suites fail instead of skipping when their simulator/profile is absent 2026-10-08 09:24:29 -04:00

Closed #595 OTOPCUA0001: 523 unsuppressed analyzer warnings across 13 test projects 2026-10-08 09:24:29 -04:00

Closed #593 Ab.Transport: offline/simulator test gaps left by #565, #570, #579 2026-10-08 09:24:28 -04:00

Closed #591 Flaky FocasDuplicateSiblingNameTests.Each_duplicate_axis_reads_its_own_position under load 2026-10-08 01:54:01 -04:00

Closed #589 Flaky S7SpanReadParityTests.One_undecodable_span_member_leaves_the_pass_Degraded under full-suite load 2026-10-08 01:54:00 -04:00

Closed #590 Flaky ClusterRoleInfoRoleLeaderCaseTests.RoleLeaderChanged_for_driver_then_Driver_keeps_distinct_entries under full-suite load 2026-10-08 01:54:00 -04:00

Closed #587 Alarms: a client Acknowledge/Confirm/AddComment emits no condition event (AutoReportStateChanges false + delta-gate) 2026-10-08 01:53:59 -04:00

Closed #588 ACL: model-change and audit events reach Server-object (i=2253) items ungated 2026-10-08 01:53:59 -04:00

Closed #585 AB transport: pin libplctag width-mismatch health/warn-once and DefaultTransport registration with tests 2026-10-08 01:53:58 -04:00

Closed #586 ACL: Server-object (i=2253) event subscriptions bypass the data-plane ACL 2026-10-08 01:53:58 -04:00

Closed #583 AB transport tests: replace fixed-delay absence assertions with positive controls 2026-10-08 01:53:57 -04:00

Closed #584 docs: replace the malformed T4:0/DN slash address form in docs/v2 2026-10-08 01:53:57 -04:00

Closed #581 Ab.Transport: compile out or gate test-only statics (OpenAttemptBudget, gate counters, ForceRootingForTest) 2026-10-08 01:53:56 -04:00

Closed #582 AbCip native: budget reply size in RequestScheduler.TakeBatch (verify mixed STRING/array packing) 2026-10-08 01:53:56 -04:00

Closed #579 AbCip native: make lease release non-blocking (async teardown) and align with AbLegacy 2026-10-08 01:53:55 -04:00

Closed #580 AB drivers: share MapStatus + libplctag orphan release across AbCip/AbLegacy; remove dead MapCipGeneralStatus/MapPcccStatus 2026-10-08 01:53:55 -04:00

Closed #577 AdminUI /raw driver-create quirks, CLI read throws on Bad, AbCip probe default warning 2026-10-08 01:53:54 -04:00

Closed #578 libplctag wrapper crashes the process: callback on a garbage-collected delegate (callback_func_ex) 2026-10-08 01:53:54 -04:00

Closed #575 AbCip differential harness: equal-refusal templates and budget-isolation test 2026-10-08 01:53:53 -04:00

Closed #576 AdminUI AbCip/AbLegacy driver forms drop unknown options and reset MaxConcurrentReads on save 2026-10-08 01:53:53 -04:00

Closed #573 Flaky AbLegacyReadWriteTests (~1 in 15 runs, pre-existing) 2026-10-08 01:53:52 -04:00

Closed #574 AbCip: ParseEnum transport error wording + probe test positive assertion 2026-10-08 01:53:52 -04:00

Closed #570 Native AbCip runtime: STRING capacity, mistype churn, malformed-name device backoff 2026-10-08 01:53:51 -04:00

Closed #572 Native AbCip browse: per-call template connections, instance-order assumption, unpaced listing 2026-10-08 01:53:51 -04:00

Closed #569 LibplctagConfinementGuard misses refs after // in literals, block comments, csproj 2026-10-08 01:53:50 -04:00

Closed #568 AbCip/AbLegacy: libplctag adapter status-mapping and WrapSync test gaps 2026-10-08 01:53:49 -04:00

Closed #567 Ab.Transport: RequestScheduler fragment/lock follow-ups 2026-10-08 01:53:48 -04:00

Closed #566 Ab.Transport: CipConnection/DeviceSessionPool test gaps and CIP-level close detection 2026-10-08 01:53:47 -04:00

Closed #565 Ab.Transport: EncapsulationClient drain/timeout/test follow-ups 2026-10-08 01:53:46 -04:00

Closed #563 ACL: an expired API key keeps its session's roles while Security:Acl:Enabled is false (arch-review 03/S19 residual R2) 2026-10-08 01:53:45 -04:00

Closed #564 Ab.Transport: CIP codec hardening (bounds, path casts, immutable constants) 2026-10-08 01:53:45 -04:00

Closed #562 ACL: event/alarm monitored items are revalidated by neither trigger (arch-review 03/S19 residual R1) 2026-10-08 01:53:44 -04:00

Closed #571 Native AbLegacy: refused PLC-5 writes surface as BadCommunicationError 2026-10-07 21:14:46 -04:00

Closed #561 Production host writes no log on wonder-app-vd03 — file sink opens a 0-byte file, zero events flow 2026-08-12 04:10:27 -04:00

Closed #560 Browse-committed MTConnect tags coerce to String at runtime while their nodes are numerically typed (RawBrowseCommitMapper drops the browsed native type — #536 class) 2026-08-10 07:38:45 -04:00

Closed #559 MQTT runtime TagConfig mappers reject leading-whitespace JSON that every other driver tolerates 2026-08-10 03:41:18 -04:00

Closed #556 Inspect polish: leading-whitespace pre-filter under-reports; FOCAS/MQTT advisories can swallow the rejection backstop 2026-08-10 03:15:24 -04:00

Closed #557 Reader asymmetries: OpcUaClient legacy PascalCase NodeId is readable but unsaveable; Mqtt Sparkplug parse accepts a payloadFormat the Plain parse rejects 2026-08-10 03:15:24 -04:00

Closed #558 Browse-commit parity guards overlap and one is misnamed; browser DriverType literals unguarded 2026-08-10 03:15:24 -04:00

Closed #554 Authoring models validate only enum keys — non-enum TagConfig keys (e.g. Modbus address) meet no gate until deploy 2026-08-10 02:01:36 -04:00

Closed #555 RawBrowseCommitMapper's fallback comment cites a parity guard (RawBrowseCommitMapperParityTests) that does not exist 2026-08-10 02:01:36 -04:00

Closed #552 Sql browse-commit emits a rowSelector-less WideRow config that authoring and runtime both reject — commit now fails loudly 2026-08-10 01:24:32 -04:00

Closed #553 CSV typed-column merge silently rewrites a typo'd enum in the TagConfigJson cell before any gate can see it 2026-08-10 01:24:32 -04:00

Closed #550 MTConnect driverDataType is a second, runtime-preferred spelling the AdminUI editor neither reads nor writes 2026-08-10 00:26:21 -04:00

Closed #551 Residual TagConfig gate-coverage gaps found by the #549 survey 2026-08-10 00:26:21 -04:00

Closed #549 MTConnect authoring accepts a dataType the runtime rejects (authoring weaker than runtime) 2026-08-09 22:20:01 -04:00

Closed #548 FOCAS: duplicate sibling axis names make the Axes/ fixed-tree subtree untrustworthy (#540 residual) 2026-08-06 21:09:08 -04:00

Closed #540 FOCAS: browse-committed tags are unreadable (BadNodeIdUnknown) — device-host prefix is written into TagConfig.Address 2026-08-06 20:47:29 -04:00

Closed #547 docs/security.md summary still claims NodeAcl enforcement is "never wired" and reads carry no authorization — stale since #520 stages 5–6 2026-08-06 20:46:41 -04:00

Closed #539 AbCip controller browse ignores the authored EtherNet/IP port (#534 defect, discovery half) — browses whatever answers on 44818 2026-08-06 20:42:42 -04:00

Closed #545 Mesh command/ack planes are h2c-only — the per-cluster PSK crosses the network in cleartext on a write surface (accept, or add a UseTls option) 2026-08-06 19:37:05 -04:00

Closed #546 AdminUI: DriverStatusPanel (Restart/Reconnect driver controls) is orphaned — referenced by no page 2026-08-06 19:37:05 -04:00

Closed #542 FleetStatusBroadcaster is blind to site nodes post-Phase-6 mesh split (fleet-wide gossip assumption) 2026-08-06 19:37:04 -04:00

Closed #543 Three pre-existing gRPC auth interceptors accept a whitespace-only configured key as SET (IsNullOrEmpty vs IsNullOrWhiteSpace) 2026-08-06 19:37:04 -04:00

Closed #544 Flaky test: ConfigPublishCoordinatorTimeoutTests.DeadlineElapsed_for_current_deployment_marks_TimedOut races its own 150 ms wall-clock deadline 2026-08-06 19:37:04 -04:00

Closed #541 Drivers report Healthy with 0 errors while silently ignoring tags they skipped at init 2026-08-06 02:20:15 -04:00

Closed #538 Continuous historization: one failing tag re-writes every healthy tag on every drain pass, outbox grows unbounded 2026-08-04 12:37:06 -04:00

Closed #537 Continuous historization: both pair nodes write duplicate live values (no Primary gate) 2026-08-04 12:37:05 -04:00

Closed #491 test(historian): live end-to-end gate for continuous-historization value capture 2026-08-04 11:29:22 -04:00

Closed #536 Browse-commit discards the discovered data type, so a browsed REAL commits as a DINT (AbCip, TwinCAT) 2026-08-01 15:20:33 -04:00

Closed #468 Universal discovery browser: full controller-tree render is live-verify-blocked by the ab_server fixture (no @tags walk) 2026-08-01 12:25:44 -04:00

Closed #535 AdminUI: /uns area + line names bypass the UNS segment rule, blocking fleet-wide deploys 2026-08-01 11:54:20 -04:00

Closed #520 Node ACLs are authored and deployed but never enforced — wire IPermissionEvaluator or retire the surface 2026-08-01 10:53:40 -04:00

Closed #534 AbLegacy PCCC read/write fails against every ab_server family (BadCommunicationError) — path never validated against a simulator 2026-08-01 02:24:50 -04:00

Closed #533 ACL: three different string-identity rules in one authorization path 2026-08-01 01:51:57 -04:00

Closed #532 Cluster:Roles has no OTOPCUA_ROLES fallback, despite docs claiming one — ClusterId resolves null 2026-08-01 01:51:56 -04:00

Closed #530 AdminUI: both ACL warning banners describe enforcement that no longer exists 2026-08-01 01:10:31 -04:00

Closed #531 AdminUI.Tests: PageAuthorizationGuardTests red on master — /apikeys was never classified 2026-08-01 01:10:31 -04:00

Closed #528 ACL: ConfigDbApiKeyStore confers roles from Cluster-scoped grants in ANY cluster 2026-08-01 01:10:30 -04:00

Closed #529 ACL: a NodeAcl row can scope at an entity in another cluster and pass the deploy gate 2026-08-01 01:10:30 -04:00

Closed #489 feat(raw): hot-rebind a renamed raw tag's live value without a node recreate 2026-07-31 12:00:20 -04:00

Closed #527 DriverInstanceActor.DisconnectObserved has no production sender — a driver whose device dies mid-run is never detected, never reconnects, and never reports comms loss 2026-07-31 10:59:17 -04:00

Closed #481 feat(alarms): bridge driver comms-loss into scripted-alarm input quality (Layer 4 of #477) 2026-07-31 10:04:09 -04:00

Closed #525 IDriver.GetMemoryFootprint / FlushOptionalCachesAsync have no consumer after #522 2026-07-31 10:03:39 -04:00

Closed #526 refactor(sql): .Browser references .Driver — the same layering violation #512 removed from MQTT 2026-07-31 10:03:21 -04:00

Closed #515 feat(mqtt): Sparkplug DataSet / Template / PropertySet metric support 2026-07-31 08:15:03 -04:00

Closed #511 feat(mqtt): Sparkplug primary-host STATE publishing (ActAsPrimaryHost) 2026-07-31 08:14:38 -04:00

Closed #508 feat(mqtt): write-through (IWritable) — Sparkplug NCMD/DCMD + plain publish (design P3) 2026-07-31 06:42:59 -04:00

Closed #510 fix(adminui): _canRebirth is captured at browse-open, so a reaped session still draws Request-rebirth 2026-07-31 06:42:58 -04:00

Closed #512 refactor(mqtt): .Browser references .Driver — extract the client-options builder so the layering exception can go 2026-07-31 06:42:58 -04:00

Closed #514 fix(adminui): Request-rebirth cannot be armed on a Sparkplug plant that has not birthed since the browse window opened 2026-07-31 06:42:58 -04:00

Closed #513 fix(adminui): the MQTT tag editor writes a meaningless payloadFormat into a Sparkplug tag blob 2026-07-31 06:42:57 -04:00

Closed #509 fix(adminui): a Sparkplug metric whose name contains / cannot be browse-committed 2026-07-31 06:42:15 -04:00

Closed #517 Driver health is published AFTER teardown, so GetHealth() can report Healthy with a disposed client 2026-07-31 05:25:41 -04:00

Closed #519 No driver's Bad/Uncertain status sub-code reaches an OPC UA client (3-state OpcUaQuality collapse) 2026-07-31 05:25:41 -04:00

Closed #524 DriverInstanceResilienceStatus: dead table — same defect as #521, keep or delete 2026-07-31 04:25:22 -04:00

Closed #522 Driver stability tiers are inert: every driver runs Tier A — pass real tiers or delete the machinery 2026-07-30 04:56:10 -04:00

Closed #521 IHostConnectivityProbe / DriverHostStatus: dead surface — build the publisher or delete it 2026-07-30 04:55:24 -04:00

Closed #523 Remove the periodic 5-minute device re-browse (tag-set drift detection) from FOCAS/TwinCAT/MTConnect/AbCip 2026-07-30 03:54:59 -04:00

Closed #507 feat(raw): re-migrate discovered-node injection onto the raw device subtree — IRediscoverable is inert in v3 2026-07-30 03:54:16 -04:00

Closed #516 Driver config edits are silently discarded on Modbus/FOCAS/OpcUaClient (deployment still seals green) 2026-07-30 03:54:16 -04:00

Closed #518 IRediscoverable + IHostConnectivityProbe events have no consumer in src/ (9 drivers raise into the void); CLAUDE.md Change Detection is wrong 2026-07-30 03:54:16 -04:00

Closed #490 feat(scripteditor): tag-path completion for absolute RawPaths 2026-07-26 11:08:36 -04:00

Closed #505 AdminUI cluster-node editor was dead: HTTP 500 on load (InputNumber<byte>) + Save a silent no-op (NodeId regex forbids ':') 2026-07-26 10:43:28 -04:00

Closed #488 feat(drivers): periodic reconcile of desired vs actual driver subscriptions 2026-07-26 10:43:02 -04:00

Closed #499 DraftValidator cannot see ClusterNode.DriverConfigOverridesJson — the third driver-config persistence surface 2026-07-26 10:43:02 -04:00

Closed #493 Phase 5 telemetry: existing deployments must populate ClusterNode.GrpcPort (seed only backfills fresh installs) 2026-07-26 10:43:01 -04:00

Closed #501 Two alarm-ack tests assert an absence with AwaitAssert, so they pass instantly and prove nothing 2026-07-26 10:43:01 -04:00

Closed #503 Flaky under load: Galaxy EventPumpBoundedChannelTests.Drops_newest_when_channel_fills_and_records_metric 2026-07-26 10:43:01 -04:00

Closed #492 2-node keep-oldest cannot survive an oldest-node crash (survivor downs ITSELF) — evaluate ScadaBridge's auto-down decision 2026-07-26 10:07:32 -04:00

Closed #504 bug(adminui): /scripts is a hard 500 when any Script.SourceHash is shorter than 12 chars 2026-07-26 09:45:13 -04:00

Closed #487 bug(alarms): an active scripted alarm under-reports as normal after a full-rebuild deploy 2026-07-26 09:20:48 -04:00

Closed #496 Sql driver: implement the §8.1 catalog identifier-validation gate (FF-1) 2026-07-26 08:34:51 -04:00

Closed #497 Wrong OPC UA status-code constants in three existing drivers (FF-2) 2026-07-26 08:34:51 -04:00

Closed #498 Deploy-time guard: reject a Sql DriverConfig blob carrying a connectionString key (FF-3) 2026-07-26 08:34:51 -04:00

Closed #500 Intermittent single-test failure in Runtime.Tests under full-sweep load (unidentified) 2026-07-26 08:34:51 -04:00

Closed #502 50 sub-second presence budgets remain in Runtime.Tests (the class behind three of #500's five defects) 2026-07-25 20:20:37 -04:00

Closed #494 /health/active returns 200 on every node — the tier cannot identify the active node 2026-07-24 12:45:50 -04:00

Closed #486 Node records Applied (and advances _currentRevision) for a deployment whose artifact it could not read 2026-07-21 03:28:00 -04:00

Closed #485 Transient ConfigDb error during artifact load empties the served address space (logs claim "rebuild becomes no-op") 2026-07-21 02:29:46 -04:00

233 Issues created by 1 user

Opened #485 Transient ConfigDb error during artifact load empties the served address space (logs claim "rebuild becomes no-op") 2026-07-21 02:17:26 -04:00

Opened #486 Node records Applied (and advances _currentRevision) for a deployment whose artifact it could not read 2026-07-21 03:02:26 -04:00

Opened #487 bug(alarms): an active scripted alarm under-reports as normal after a full-rebuild deploy 2026-07-21 03:36:40 -04:00

Opened #488 feat(drivers): periodic reconcile of desired vs actual driver subscriptions 2026-07-21 03:36:41 -04:00

Opened #489 feat(raw): hot-rebind a renamed raw tag's live value without a node recreate 2026-07-21 03:36:41 -04:00

Opened #490 feat(scripteditor): tag-path completion for absolute RawPaths 2026-07-21 03:36:41 -04:00

Opened #491 test(historian): live end-to-end gate for continuous-historization value capture 2026-07-21 03:36:41 -04:00

Opened #492 2-node keep-oldest cannot survive an oldest-node crash (survivor downs ITSELF) — evaluate ScadaBridge's auto-down decision 2026-07-21 14:30:30 -04:00

Opened #493 Phase 5 telemetry: existing deployments must populate ClusterNode.GrpcPort (seed only backfills fresh installs) 2026-07-23 17:38:20 -04:00

Opened #494 /health/active returns 200 on every node — the tier cannot identify the active node 2026-07-24 10:40:38 -04:00

Opened #496 Sql driver: implement the §8.1 catalog identifier-validation gate (FF-1) 2026-07-24 21:00:09 -04:00

Opened #497 Wrong OPC UA status-code constants in three existing drivers (FF-2) 2026-07-24 21:00:09 -04:00

Opened #498 Deploy-time guard: reject a Sql DriverConfig blob carrying a connectionString key (FF-3) 2026-07-24 21:00:10 -04:00

Opened #499 DraftValidator cannot see ClusterNode.DriverConfigOverridesJson — the third driver-config persistence surface 2026-07-25 16:08:59 -04:00

Opened #500 Intermittent single-test failure in Runtime.Tests under full-sweep load (unidentified) 2026-07-25 16:08:59 -04:00

Opened #501 Two alarm-ack tests assert an absence with AwaitAssert, so they pass instantly and prove nothing 2026-07-25 18:07:33 -04:00

Opened #502 50 sub-second presence budgets remain in Runtime.Tests (the class behind three of #500's five defects) 2026-07-25 18:39:57 -04:00

Opened #503 Flaky under load: Galaxy EventPumpBoundedChannelTests.Drops_newest_when_channel_fills_and_records_metric 2026-07-25 22:44:54 -04:00

Opened #504 bug(adminui): /scripts is a hard 500 when any Script.SourceHash is shorter than 12 chars 2026-07-26 09:06:58 -04:00

Opened #505 AdminUI cluster-node editor was dead: HTTP 500 on load (InputNumber<byte>) + Save a silent no-op (NodeId regex forbids ':') 2026-07-26 10:43:27 -04:00

Opened #507 feat(raw): re-migrate discovered-node injection onto the raw device subtree — IRediscoverable is inert in v3 2026-07-27 13:49:40 -04:00

Opened #508 feat(mqtt): write-through (IWritable) — Sparkplug NCMD/DCMD + plain publish (design P3) 2026-07-27 13:49:45 -04:00

Opened #509 fix(adminui): a Sparkplug metric whose name contains / cannot be browse-committed 2026-07-27 13:50:29 -04:00

Opened #510 fix(adminui): _canRebirth is captured at browse-open, so a reaped session still draws Request-rebirth 2026-07-27 13:50:30 -04:00

Opened #511 feat(mqtt): Sparkplug primary-host STATE publishing (ActAsPrimaryHost) 2026-07-27 13:50:30 -04:00

Opened #512 refactor(mqtt): .Browser references .Driver — extract the client-options builder so the layering exception can go 2026-07-27 13:50:30 -04:00

Opened #513 fix(adminui): the MQTT tag editor writes a meaningless payloadFormat into a Sparkplug tag blob 2026-07-27 13:50:31 -04:00

Opened #514 fix(adminui): Request-rebirth cannot be armed on a Sparkplug plant that has not birthed since the browse window opened 2026-07-27 13:51:16 -04:00

Opened #515 feat(mqtt): Sparkplug DataSet / Template / PropertySet metric support 2026-07-27 13:51:16 -04:00

Opened #516 Driver config edits are silently discarded on Modbus/FOCAS/OpcUaClient (deployment still seals green) 2026-07-27 13:51:59 -04:00

Opened #517 Driver health is published AFTER teardown, so GetHealth() can report Healthy with a disposed client 2026-07-27 13:52:03 -04:00

Opened #518 IRediscoverable + IHostConnectivityProbe events have no consumer in src/ (9 drivers raise into the void); CLAUDE.md Change Detection is wrong 2026-07-27 13:52:08 -04:00

Opened #519 No driver's Bad/Uncertain status sub-code reaches an OPC UA client (3-state OpcUaQuality collapse) 2026-07-27 13:52:12 -04:00

Opened #520 Node ACLs are authored and deployed but never enforced — wire IPermissionEvaluator or retire the surface 2026-07-27 18:35:58 -04:00

Opened #521 IHostConnectivityProbe / DriverHostStatus: dead surface — build the publisher or delete it 2026-07-27 18:55:13 -04:00

Opened #522 Driver stability tiers are inert: every driver runs Tier A — pass real tiers or delete the machinery 2026-07-27 19:54:08 -04:00

Opened #523 Remove the periodic 5-minute device re-browse (tag-set drift detection) from FOCAS/TwinCAT/MTConnect/AbCip 2026-07-28 13:26:41 -04:00

Opened #524 DriverInstanceResilienceStatus: dead table — same defect as #521, keep or delete 2026-07-30 04:56:41 -04:00

Opened #525 IDriver.GetMemoryFootprint / FlushOptionalCachesAsync have no consumer after #522 2026-07-30 04:56:41 -04:00

Opened #526 refactor(sql): .Browser references .Driver — the same layering violation #512 removed from MQTT 2026-07-31 06:17:41 -04:00

Opened #527 DriverInstanceActor.DisconnectObserved has no production sender — a driver whose device dies mid-run is never detected, never reconnects, and never reports comms loss 2026-07-31 09:54:31 -04:00

Opened #528 ACL: ConfigDbApiKeyStore confers roles from Cluster-scoped grants in ANY cluster 2026-08-01 01:10:30 -04:00

Opened #529 ACL: a NodeAcl row can scope at an entity in another cluster and pass the deploy gate 2026-08-01 01:10:30 -04:00

Opened #530 AdminUI: both ACL warning banners describe enforcement that no longer exists 2026-08-01 01:10:30 -04:00

Opened #531 AdminUI.Tests: PageAuthorizationGuardTests red on master — /apikeys was never classified 2026-08-01 01:10:31 -04:00

Opened #532 Cluster:Roles has no OTOPCUA_ROLES fallback, despite docs claiming one — ClusterId resolves null 2026-08-01 01:10:31 -04:00

Opened #533 ACL: three different string-identity rules in one authorization path 2026-08-01 01:10:31 -04:00

Opened #534 AbLegacy PCCC read/write fails against every ab_server family (BadCommunicationError) — path never validated against a simulator 2026-08-01 02:18:12 -04:00

Opened #535 AdminUI: /uns area + line names bypass the UNS segment rule, blocking fleet-wide deploys 2026-08-01 11:03:47 -04:00

Opened #536 Browse-commit discards the discovered data type, so a browsed REAL commits as a DINT (AbCip, TwinCAT) 2026-08-01 12:23:11 -04:00

Opened #537 Continuous historization: both pair nodes write duplicate live values (no Primary gate) 2026-08-01 19:58:20 -04:00

Opened #538 Continuous historization: one failing tag re-writes every healthy tag on every drain pass, outbox grows unbounded 2026-08-04 11:28:56 -04:00

Opened #539 AbCip controller browse ignores the authored EtherNet/IP port (#534 defect, discovery half) — browses whatever answers on 44818 2026-08-05 04:31:26 -04:00

Opened #540 FOCAS: browse-committed tags are unreadable (BadNodeIdUnknown) — device-host prefix is written into TagConfig.Address 2026-08-05 15:27:22 -04:00

Opened #541 Drivers report Healthy with 0 errors while silently ignoring tags they skipped at init 2026-08-05 17:32:44 -04:00

Opened #542 FleetStatusBroadcaster is blind to site nodes post-Phase-6 mesh split (fleet-wide gossip assumption) 2026-08-06 04:33:10 -04:00

Opened #543 Three pre-existing gRPC auth interceptors accept a whitespace-only configured key as SET (IsNullOrEmpty vs IsNullOrWhiteSpace) 2026-08-06 04:33:14 -04:00

Opened #544 Flaky test: ConfigPublishCoordinatorTimeoutTests.DeadlineElapsed_for_current_deployment_marks_TimedOut races its own 150 ms wall-clock deadline 2026-08-06 07:13:51 -04:00

Opened #545 Mesh command/ack planes are h2c-only — the per-cluster PSK crosses the network in cleartext on a write surface (accept, or add a UseTls option) 2026-08-06 07:14:14 -04:00

Opened #546 AdminUI: DriverStatusPanel (Restart/Reconnect driver controls) is orphaned — referenced by no page 2026-08-06 08:38:47 -04:00

Opened #547 docs/security.md summary still claims NodeAcl enforcement is "never wired" and reads carry no authorization — stale since #520 stages 5–6 2026-08-06 19:37:24 -04:00

Opened #548 FOCAS: duplicate sibling axis names make the Axes/ fixed-tree subtree untrustworthy (#540 residual) 2026-08-06 20:47:16 -04:00

Opened #549 MTConnect authoring accepts a dataType the runtime rejects (authoring weaker than runtime) 2026-08-09 21:46:18 -04:00

Opened #550 MTConnect driverDataType is a second, runtime-preferred spelling the AdminUI editor neither reads nor writes 2026-08-09 22:20:16 -04:00

Opened #551 Residual TagConfig gate-coverage gaps found by the #549 survey 2026-08-09 22:20:16 -04:00

Opened #552 Sql browse-commit emits a rowSelector-less WideRow config that authoring and runtime both reject — commit now fails loudly 2026-08-10 00:26:20 -04:00

Opened #553 CSV typed-column merge silently rewrites a typo'd enum in the TagConfigJson cell before any gate can see it 2026-08-10 00:26:20 -04:00

Opened #554 Authoring models validate only enum keys — non-enum TagConfig keys (e.g. Modbus address) meet no gate until deploy 2026-08-10 01:24:31 -04:00

Opened #555 RawBrowseCommitMapper's fallback comment cites a parity guard (RawBrowseCommitMapperParityTests) that does not exist 2026-08-10 01:24:31 -04:00

Opened #556 Inspect polish: leading-whitespace pre-filter under-reports; FOCAS/MQTT advisories can swallow the rejection backstop 2026-08-10 02:01:35 -04:00

Opened #557 Reader asymmetries: OpcUaClient legacy PascalCase NodeId is readable but unsaveable; Mqtt Sparkplug parse accepts a payloadFormat the Plain parse rejects 2026-08-10 02:01:35 -04:00

Opened #558 Browse-commit parity guards overlap and one is misnamed; browser DriverType literals unguarded 2026-08-10 02:01:35 -04:00

Opened #559 MQTT runtime TagConfig mappers reject leading-whitespace JSON that every other driver tolerates 2026-08-10 03:15:24 -04:00

Opened #560 Browse-committed MTConnect tags coerce to String at runtime while their nodes are numerically typed (RawBrowseCommitMapper drops the browsed native type — #536 class) 2026-08-10 07:22:14 -04:00

Opened #561 Production host writes no log on wonder-app-vd03 — file sink opens a 0-byte file, zero events flow 2026-08-11 04:58:52 -04:00

Opened #562 ACL: event/alarm monitored items are revalidated by neither trigger (arch-review 03/S19 residual R1) 2026-08-20 10:05:41 -04:00

Opened #563 ACL: an expired API key keeps its session's roles while Security:Acl:Enabled is false (arch-review 03/S19 residual R2) 2026-08-20 10:05:42 -04:00

Opened #564 Ab.Transport: CIP codec hardening (bounds, path casts, immutable constants) 2026-10-07 19:02:12 -04:00

Opened #565 Ab.Transport: EncapsulationClient drain/timeout/test follow-ups 2026-10-07 19:02:13 -04:00

Opened #566 Ab.Transport: CipConnection/DeviceSessionPool test gaps and CIP-level close detection 2026-10-07 19:02:13 -04:00

Opened #567 Ab.Transport: RequestScheduler fragment/lock follow-ups 2026-10-07 19:02:13 -04:00

Opened #568 AbCip/AbLegacy: libplctag adapter status-mapping and WrapSync test gaps 2026-10-07 19:02:14 -04:00

Opened #569 LibplctagConfinementGuard misses refs after // in literals, block comments, csproj 2026-10-07 19:02:14 -04:00

Opened #570 Native AbCip runtime: STRING capacity, mistype churn, malformed-name device backoff 2026-10-07 19:02:14 -04:00

Opened #571 Native AbLegacy: refused PLC-5 writes surface as BadCommunicationError 2026-10-07 19:02:14 -04:00

Opened #572 Native AbCip browse: per-call template connections, instance-order assumption, unpaced listing 2026-10-07 19:02:15 -04:00

Opened #573 Flaky AbLegacyReadWriteTests (~1 in 15 runs, pre-existing) 2026-10-07 19:02:15 -04:00

Opened #574 AbCip: ParseEnum transport error wording + probe test positive assertion 2026-10-07 19:02:15 -04:00

Opened #575 AbCip differential harness: equal-refusal templates and budget-isolation test 2026-10-07 19:02:15 -04:00

Opened #576 AdminUI AbCip/AbLegacy driver forms drop unknown options and reset MaxConcurrentReads on save 2026-10-07 19:11:02 -04:00

Opened #577 AdminUI /raw driver-create quirks, CLI read throws on Bad, AbCip probe default warning 2026-10-07 19:11:03 -04:00

Opened #578 libplctag wrapper crashes the process: callback on a garbage-collected delegate (callback_func_ex) 2026-10-07 19:40:43 -04:00

Opened #579 AbCip native: make lease release non-blocking (async teardown) and align with AbLegacy 2026-10-07 21:46:58 -04:00

Opened #580 AB drivers: share MapStatus + libplctag orphan release across AbCip/AbLegacy; remove dead MapCipGeneralStatus/MapPcccStatus 2026-10-07 21:46:59 -04:00

Opened #581 Ab.Transport: compile out or gate test-only statics (OpenAttemptBudget, gate counters, ForceRootingForTest) 2026-10-07 21:46:59 -04:00

Opened #582 AbCip native: budget reply size in RequestScheduler.TakeBatch (verify mixed STRING/array packing) 2026-10-07 21:46:59 -04:00

Opened #583 AB transport tests: replace fixed-delay absence assertions with positive controls 2026-10-07 21:47:00 -04:00

Opened #584 docs: replace the malformed T4:0/DN slash address form in docs/v2 2026-10-07 21:47:00 -04:00

Opened #585 AB transport: pin libplctag width-mismatch health/warn-once and DefaultTransport registration with tests 2026-10-07 21:51:03 -04:00

Opened #586 ACL: Server-object (i=2253) event subscriptions bypass the data-plane ACL 2026-10-07 23:13:41 -04:00

Opened #587 Alarms: a client Acknowledge/Confirm/AddComment emits no condition event (AutoReportStateChanges false + delta-gate) 2026-10-07 23:51:29 -04:00

Opened #588 ACL: model-change and audit events reach Server-object (i=2253) items ungated 2026-10-07 23:51:29 -04:00

Opened #589 Flaky S7SpanReadParityTests.One_undecodable_span_member_leaves_the_pass_Degraded under full-suite load 2026-10-08 00:16:57 -04:00

Opened #590 Flaky ClusterRoleInfoRoleLeaderCaseTests.RoleLeaderChanged_for_driver_then_Driver_keeps_distinct_entries under full-suite load 2026-10-08 00:17:12 -04:00

Opened #591 Flaky FocasDuplicateSiblingNameTests.Each_duplicate_axis_reads_its_own_position under load 2026-10-08 01:28:55 -04:00

Opened #592 Native AB transport: bench-controller proof of writes + PCCC, then decide libplctag deletion 2026-10-08 02:31:08 -04:00

Opened #593 Ab.Transport: offline/simulator test gaps left by #565, #570, #579 2026-10-08 02:31:08 -04:00

Opened #594 Fixture-dependent suites fail instead of skipping when their simulator/profile is absent 2026-10-08 02:31:09 -04:00

Opened #595 OTOPCUA0001: 523 unsuppressed analyzer warnings across 13 test projects 2026-10-08 02:31:09 -04:00

Opened #596 AdminUI /raw: decide auto-created "Device1", live-verify first-click fix, add a browsePageDelayMs field 2026-10-08 02:31:09 -04:00

Opened #597 Alarms: residuals from the #587/#586 reviews 2026-10-08 02:31:10 -04:00

Opened #598 Client.Shared: AddComment API, remove Galaxy-era fallback reads, LoggerLifecycle flake 2026-10-08 02:31:10 -04:00

Opened #599 Surgical deploys: announce surgically-added raw nodes + r3 item-6 residuals 2026-10-08 02:31:10 -04:00

Opened #600 Historian: provision newly-historized existing tags, HistoryUpdate, slow reads of unprovisioned tags 2026-10-08 02:31:10 -04:00

Opened #601 Deploy honesty: degraded-apply ack amendment; malformed artifact bytes = "no answer" (archreview r3 item 7) 2026-10-08 02:31:10 -04:00

Opened #602 Driver fleet round-3 batch (archreview r3 item 8) + deliberate health asymmetries 2026-10-08 02:31:11 -04:00

Opened #603 Dormant Core.VirtualTags engine decision, ScriptSandbox reference caching, single drain-gate predicate (archreview r3 item 9) 2026-10-08 02:31:11 -04:00

Opened #604 AdminUI N−1 sweep: stale-open guard on 5 modals, ValidationSummary, API-key delete confirm, ErrorBoundary (archreview r3 item 10) 2026-10-08 02:31:11 -04:00

Opened #605 Galaxy gateway seam hardening (archreview r3 item 11) 2026-10-08 02:31:12 -04:00

Opened #606 Engineering system: CI evidence, global.json, regen-readme check, SlowUnit split (archreview r3 item 12) 2026-10-08 02:31:12 -04:00

Opened #607 92 driver-gap issues (#225–#316) were closed against PRs merged into auto/driver-gaps, which never reached master 2026-10-08 02:31:12 -04:00

Opened #608 Drivers: take the live device host from DeviceConfig instead of string-matching (TODO(v3 WaveC)) 2026-10-08 02:31:12 -04:00

Opened #609 Telemetry: evict a driver's snapshot-cache entries when the instance is removed 2026-10-08 02:31:13 -04:00

Opened #610 Server: array writes; decide ValueRank > 1 2026-10-08 02:31:13 -04:00

Opened #611 AbCip: ALMA alarm projection; writes to controller-discovered UDT members 2026-10-08 02:31:13 -04:00

Opened #612 TwinCAT: TC3 symbol-browse mode, member writes, hardware-gated validation 2026-10-08 02:31:13 -04:00

Opened #613 MTConnect P1.5: CONDITION as Part 9 alarms, TIME_SERIES arrays, EVENT enumerations, DataType validation 2026-10-08 02:31:14 -04:00

Opened #614 Galaxy: AVEVA/licence-gated proofs; fire-and-forget native ack 2026-10-08 02:31:14 -04:00

Opened #615 v2 GA exit criteria still open: OPC UA CTT, redundancy cutover with a production client, Fleet Admin sign-off, Galaxy end-to-end 2026-10-08 02:31:14 -04:00

Opened #616 S7: Timer/Counter numbering and BCD decode need a real S7-300/400 CPU 2026-10-08 02:31:14 -04:00

Opened #617 ACL: ns=0 standard nodes are ungated, so the "see nothing" boot warning overstates 2026-10-08 02:31:15 -04:00

Opened #618 Host: a fail-start exception leaves the dotnet process running 2026-10-08 02:31:15 -04:00

Opened #619 docker-dev rig hygiene: stale LDAP credentials, opc-plc alarm mismatch, central-2 serve path 2026-10-08 02:31:15 -04:00

Opened #620 Redundancy: Primary selection still matches gossiped roles case-sensitively (Health.Akka OldestUpMember) 2026-10-08 02:31:15 -04:00

Opened #621 Migrate off obsolete OPC UA SDK APIs (Utils.Log*, sync Session/Discovery calls) 2026-10-08 02:31:16 -04:00

Opened #622 OpcUaClient driver: replace scaffold-only unit suites with wire-level tests against the in-process server 2026-10-08 02:31:16 -04:00

Opened #623 Docs: rewrite the v2-era pages that are only bannered (IncrementalSync, AddressSpace, driver-specs, Secrets runbook) 2026-10-08 02:31:16 -04:00

Opened #624 Docs: correct stale claims and bookkeeping 2026-10-08 02:31:16 -04:00

Opened #625 Re-triage the 11 Deferred code-review findings and the Sql TODO(M2) 2026-10-08 02:31:17 -04:00

Opened #626 MTConnect: surface CONDITION data items as Part 9 alarms (IAlarmSource) 2026-10-08 09:21:54 -04:00

Opened #627 MTConnect: TIME_SERIES observations as variable-length double[] with representation field 2026-10-08 09:21:55 -04:00

Opened #628 MTConnect: decide per-/raw-Device routing (client per device vs DraftValidator error) 2026-10-08 09:21:55 -04:00

Opened #629 Condition child nodes carry the condition type's ns=0 NodeIds (direct Read hits the type node) 2026-10-08 09:21:55 -04:00

Opened #630 FOCAS/AbLegacy InitializeAsync orphans previous DeviceState loops when called without teardown 2026-10-08 09:21:56 -04:00

Opened #631 AdminUI cosmetics: stale one-time key banner after delete on /apikeys; modal backdrop wider than viewport on /raw 2026-10-08 09:21:56 -04:00

Opened #632 S7: porting backlog from the stranded auto/driver-gaps branch (13 items, #607) 2026-10-08 09:22:01 -04:00

Opened #633 FOCAS: porting backlog from the stranded auto/driver-gaps branch (15 items, writes policy decision first, #607) 2026-10-08 09:22:01 -04:00

Opened #634 AbCip: porting backlog from the stranded auto/driver-gaps branch (11 items, #607) 2026-10-08 09:22:02 -04:00

Opened #635 OpcUaClient: porting backlog from the stranded auto/driver-gaps branch (9 items, #607) 2026-10-08 09:22:02 -04:00

Opened #636 AbLegacy: porting backlog from the stranded auto/driver-gaps branch (9 items, #607) 2026-10-08 09:22:02 -04:00

Opened #637 TwinCAT: porting backlog from the stranded auto/driver-gaps branch (4 items, #607) 2026-10-08 09:22:03 -04:00

Opened #638 Driver-gaps ledger: 4 UNCLEAR items need a human verdict (#226, #252, #298, #311) 2026-10-08 09:22:03 -04:00

Opened #639 test-x 2026-10-08 16:33:23 -04:00

Opened #640 Driver diagnostics surface on /hosts 2026-10-08 16:33:27 -04:00

Opened #641 Native alarm conditions stay inactive after a rebuild when the alarm-tag set is unchanged 2026-10-08 16:33:37 -04:00

Opened #642 AdminUI: no typed editor for authoring native alarm config on raw tags 2026-10-08 16:33:37 -04:00

Opened #643 ZB.MOM.WW.Theme: .rise animation leaves an identity transform that traps position:fixed descendants 2026-10-08 16:33:37 -04:00

Opened #644 Separate designs from driver-gaps backlog 2026-10-08 16:33:38 -04:00

Opened #645 TwinCAT: hardware-gated items #310/#314 from driver-gaps backlog 2026-10-08 16:33:49 -04:00

Opened #646 AbLegacy: indirect addressing (N7:[N7:0]) runtime support 2026-10-08 16:33:52 -04:00

Opened #647 FOCAS: native alarms never reach their Part 9 conditions 2026-10-08 18:51:30 -04:00

Opened #648 OpcUaClient: TargetNamespaceKind=Equipment default (requires UnsMappingTable) is vestigial in v3 2026-10-08 18:51:36 -04:00

Opened #649 OpcUaClient: HistoryRead ignores per-node StatusCode (BadAggregateNotSupported looks like empty data) 2026-10-08 18:51:36 -04:00

Opened #650 MTConnect: EVENT enumerations + DATA_SET/TABLE support 2026-10-08 18:51:37 -04:00

Opened #651 focas-sim fixture image on 10.100.0.35 is stale 2026-10-08 18:51:43 -04:00

Opened #652 Historian: HistoryUpdate surface 2026-10-08 18:51:43 -04:00

Opened #653 Historian: re-measure 30 s HistoryRead of unprovisioned tags 2026-10-08 18:51:44 -04:00

Opened #654 Known-cluster gate can stay unpublished (fail-open) for up to 60 s after central boot 2026-10-08 20:51:29 -04:00

Opened #655 Server never dispatches HistoryRead to a driver's IHistoryProvider 2026-10-08 20:51:44 -04:00

Opened #656 Galaxy reconnect snapshot: ActiveAcked entry for an unknown condition lands inactive; re-statements write duplicate Activated rows 2026-10-08 20:51:50 -04:00

Opened #657 OpcUaClient respawn replays inactive+unacked conditions as Raise+Clear (duplicate rows, Active flicker) 2026-10-09 00:15:09 -04:00

Opened #658 OpcUaClient first sight of an inactive+acked upstream condition is told as Unspecified, not a flagged Clear 2026-10-09 04:31:11 -04:00

Opened #659 AbLegacy libplctag: S/O/I files and control status bits fail on a real MicroLogix 1400 (default probe S:0 fails) 2026-10-09 05:23:50 -04:00

Opened #660 AbLegacy Test Connect probe passes the raw ProbeAddress (PLC-5 octal probe address read as decimal) 2026-10-09 05:41:49 -04:00

Opened #661 Flaky: MTConnectSubscribeTests.A_rebaseline_that_delivers_nothing_still_advances_the_reconnect_backoff 2026-10-09 05:48:34 -04:00

Opened #662 OpcUaClient native-alarm feed not restored by reconcile / lost on a non-respawning deploy 2026-10-09 07:12:42 -04:00

Opened #663 DriverInstanceActor: in-place ApplyDelta while Connected leaves stale subscription handles 2026-10-09 07:46:00 -04:00

Opened #664 Mid-connect ApplyDelta: Calculation and Galaxy ignore the adopted config; no DeltaApplied re-register 2026-10-09 11:01:24 -04:00

Opened #665 Delete the dead in-place ApplyDelta seam (config change = respawn only) 2026-10-09 11:20:02 -04:00

Opened #666 historian: QuestDB backend (design + plan) 2026-10-09 15:26:03 -04:00

Opened #667 historian(sqlserver): retention / purge for hist.Sample and hist.Event 2026-10-09 15:26:03 -04:00

Opened #668 historian(sqlserver): Part 11 modified values (ReadModified + audit of HistoryUpdate) 2026-10-09 15:26:04 -04:00

Opened #669 history: node manager never issues event-HistoryRead continuation points 2026-10-09 15:26:04 -04:00

Opened #670 OpcUaClient driver: upstream session loss never goes Bad and never recovers (live-gate find) 2026-10-09 15:26:04 -04:00

Opened #671 historian(sqlserver): time-weighted Part 13 aggregates 2026-10-09 15:26:12 -04:00

Opened #672 historization: crash failover leaves a ~30 s capture gap (Primary unreachable but not downed) 2026-10-11 04:41:43 -04:00

Opened #673 test flake: FocasStatusFlagsTests.An_authored_FIXED_Status_tag_reads_the_flag intermittently Bad 2026-10-11 04:41:43 -04:00

Opened #674 Part 11 modified-value history (#668) follow-ups: QuestDB TTL exposure, schema-v2 posture, cross-node ordering 2026-10-11 10:18:14 -04:00

Opened #675 HistoryRead paging (#669) follow-ups: reverse capped read, events end-only, Gateway year-9999 bound 2026-10-11 10:18:14 -04:00

Opened #676 OpcUaClient session loss (#670) follow-ups: TCP-stall proxy test, ReconnectPeriod field, recovery latency, drop observability 2026-10-11 10:18:14 -04:00

Opened #677 Time-weighted aggregates (#671) follow-ups: reverse anchoring, Partial bit, integral unit, AggregateConfiguration, CLI list 2026-10-11 10:18:14 -04:00

Opened #678 Small follow-ups from the #667-#673 batch (retention cancel path, #672 tests, FOCAS flake, cosmetics, rig cert) 2026-10-11 10:18:15 -04:00

Opened #679 Gateway historian: Count and Average mapped to AVEVA modes with different semantics (Counter delta, time-weighted average) 2026-10-11 10:40:36 -04:00

Opened #680 Time-weighted aggregates: forward differences from the SDK AggregateCalculator (TimeAverage/Total status, Total at start of data, Partial on truncated) 2026-10-11 11:26:40 -04:00

Opened #681 Gateway historian: compute per-sample aggregates (Average, Count, Start/End, Delta, PercentGood...) from raw reads 2026-10-11 15:23:24 -04:00

Opened #682 Advertise only the aggregates the configured historian backend serves (HistoryServerCapabilities/AggregateFunctions) 2026-10-11 15:23:24 -04:00

Opened #683 Historian processed reads: bound the data-range lookup cost on QuestDB; trim the SqlServer Start/End query 2026-10-11 16:38:14 -04:00

Opened #684 Historian aggregates: Average/Minimum/Maximum include Uncertain samples (Part 13 / SDK use Good only) 2026-10-11 16:38:14 -04:00

Opened #685 Gateway historian: native TimeAverage/Total rows — leading pre-window row passed through, Uncertain rows lose their value 2026-10-12 14:20:49 -04:00

Opened #686 Gateway historian: reverse and end-only capped raw HistoryReads fail (start > end sent to the gateway) 2026-10-12 14:20:49 -04:00

Opened #687 Gateway historian: raw HistoryRead returns AVEVA synthetic boundary row as a stored sample 2026-10-12 14:20:50 -04:00

Opened #688 Gateway historian: default MaxTimeWeightedRawRows + 18 exceeds the gateway default ceiling 2026-10-12 14:20:50 -04:00

Opened #689 Gateway reverse raw paging reads ~32k rows per page on busy tags (ReverseRawReader sizing) 2026-10-12 16:03:37 -04:00

Opened #690 Gateway raw reads return a stored NULL as value 0 (SQL backends return null) 2026-10-12 16:03:37 -04:00

Opened #691 Gateway historian: remaining Part 11/13 gaps after #685–#688 (ReturnBounds, reverse native aggregates, strict-ceiling uncapped reads, reverse events) 2026-10-12 16:03:37 -04:00

Opened #692 HistoryRead-Raw with NumValuesPerNode=1 returns an empty page between every value 2026-10-13 00:11:06 -04:00

Opened #693 Gateway AtTime returns AVEVA interpolation unchanged (NULL handling, drift, no Interpolated bit) 2026-10-13 00:11:06 -04:00

Opened #694 Gateway historian: strict lowered ceiling refuses ordinary pages; deep event reads slow (follow-ups from #689–#691 gate) 2026-10-13 00:11:06 -04:00

Opened #695 Gateway raw: warm reads refuse a tie cluster that fits under the learned ceiling (look-back below a reverse segment or bound lookup) 2026-10-13 02:12:07 -04:00

Opened #696 Gateway AtTime: prior-sample search starts at the requested time, not min(T, now); strict-ceiling stopped-tag end-only reads costly 2026-10-13 02:12:07 -04:00

Opened #697 HistoryRead returns BadHistoryOperationUnsupported when the historian backend is unreachable (should be a retryable communication status) 2026-10-13 02:12:08 -04:00

Opened #698 Historian value types differ across backends for integer/Boolean nodes (SQL backends Int64, Gateway node type; Gateway Raw Boolean as Double) 2026-10-13 02:12:08 -04:00

Opened #700 Complete live OPC UA historian verification after gateway control recovery 2026-10-13 04:47:43 -04:00

Opened #701 Add concurrent cold/expiry coverage for Gateway tag-presence cache 2026-10-13 04:47:43 -04:00

Opened #702 Intermittent restart/reconnect wire test failure in full solution; isolated retry passes 2026-10-13 05:08:12 -04:00

Opened #705 Alarm historian: emit stable nonzero delivery IDs without changing queue dedup 2026-10-13 06:39:53 -04:00

Opened #707 Current master CI has 18 unit failures across transport, Gateway and actor suites 2026-10-13 09:06:32 -04:00

Opened #709 Gateway ceiling theory registers duplicate boundary cases 2026-10-13 09:38:16 -04:00

Opened #710 Bootstrap retry cancellation test races a wall-clock deadline 2026-10-13 09:43:08 -04:00

Opened #712 CI TRX skip summary reports zero for skipped results 2026-10-13 10:57:26 -04:00

Opened #713 S7 counter documentation overstates wire encoding and live gate readiness 2026-10-13 11:12:56 -04:00

Opened #716 Redundancy interop runbook uses deleted types and wrong standard NodeId 2026-10-13 12:17:39 -04:00

Opened #717 Resolve standard non-transparent redundancy metadata deferred by current server 2026-10-13 12:17:40 -04:00

Opened #718 Legacy CI run 959 failed after retained log silence; root cause and runner cleanup evidence missing 2026-10-13 12:26:21 -04:00

Opened #719 ServiceLevel publication before SDK binding is dropped and unchanged state can remain deduplicated 2026-10-13 12:56:23 -04:00

Opened #721 DB-less ServiceLevel does not age stale role snapshots without incoming messages 2026-10-13 13:38:40 -04:00

Opened #722 Correct obsolete AllowAnonymous per-node authorization remarks 2026-10-13 13:39:49 -04:00

Opened #723 CI runbook retains obsolete job and worker model and test floor 2026-10-13 14:43:09 -04:00

Opened #725 Offline CI retains 417 distinct test-project build warnings 2026-10-13 16:03:28 -04:00

Opened #726 Driver test fixtures leave owned probe loops without guaranteed teardown 2026-10-13 16:11:03 -04:00

Opened #727 tests: guarantee cleanup in Modbus cache-reset fixture failure paths 2026-10-13 17:27:14 -04:00

Opened #728 ConditionRefresh wire test receives an extra Unspecified event in hosted CI 2026-10-13 17:36:10 -04:00

Opened #729 Modbus background delegates read mutable CTS fields after lifecycle replacement 2026-10-13 18:26:04 -04:00