Commit Graph

  • d51d35bd64 Merge branch 'docs/xml-doc-cleanup' master Joseph Doherty 2026-10-15 06:25:09 -04:00
  • 8c6067b62e docs: move subsystem gotchas out of CLAUDE.md into path-scoped .claude/rules Joseph Doherty 2026-10-15 06:14:58 -04:00
  • 826312befe docs: fill missing XML docs and strip tracking IDs from src comments Joseph Doherty 2026-10-15 06:14:58 -04:00
  • ebcbd81fca Merge pull request 'Ensure driver test cleanup preserves primary failures' (#730) from test/task-assertion-return-discard into master dohertj2 2026-10-13 21:06:31 -04:00
  • 4f537a5652 Merge remote-tracking branch 'origin/master' into test/task-assertion-return-discard test/task-assertion-return-discard Joseph Doherty 2026-10-13 19:03:52 -04:00
  • c89912a93b Merge pull request 'Fix DB-less ServiceLevel freshness and authorization remarks' (#724) from fix/dbless-servicelevel-freshness into master dohertj2 2026-10-13 19:03:42 -04:00
  • c4b4046832 test: verify missing-snapshot ServiceLevel timer behavior fix/dbless-servicelevel-freshness Joseph Doherty 2026-10-13 17:19:50 -04:00
  • eed7cc7d75 test: guarantee driver fixture cleanup without masking failures Joseph Doherty 2026-10-13 16:36:38 -04:00
  • 5310a7e07a Discard asserted probe-task return values without joining loops Joseph Doherty 2026-10-13 16:12:31 -04:00
  • e1feb9fbb6 Merge remote-tracking branch 'origin/master' into fix/dbless-servicelevel-freshness Joseph Doherty 2026-10-13 15:58:35 -04:00
  • 1bf8c614a9 Merge pull request 'Retain ServiceLevel requests across binding and publisher failures' (#720) from fix/servicelevel-binding-replay into master dohertj2 2026-10-13 15:58:19 -04:00
  • bc80b53e0e Merge ServiceLevel replay fixes for freshness integration Joseph Doherty 2026-10-13 15:11:20 -04:00
  • f478b844a1 docs: clarify anonymous session ACL enforcement Joseph Doherty 2026-10-13 14:16:39 -04:00
  • 1e71a25e3d fix: age DB-less ServiceLevel snapshots periodically Joseph Doherty 2026-10-13 14:29:00 -04:00
  • 8828e999c4 Merge remote-tracking branch 'origin/master' into fix/servicelevel-binding-replay fix/servicelevel-binding-replay Joseph Doherty 2026-10-13 13:56:26 -04:00
  • 4f7a07fbd3 Merge pull request 'Count individual skipped TRX results' (#714) from fix/trx-skip-reporting into master dohertj2 2026-10-13 13:56:04 -04:00
  • da2e441bb9 Merge branch 'fix/trx-skip-reporting' of https://gitea.dohertylan.com/dohertj2/lmxopcua into fix/servicelevel-binding-replay Joseph Doherty 2026-10-13 13:54:54 -04:00
  • c8e3e279b4 Retain and replay ServiceLevel across publisher binding and failures Joseph Doherty 2026-10-13 13:26:27 -04:00
  • 468f13cb56 Merge remote-tracking branch 'origin/master' into fix/trx-skip-reporting fix/trx-skip-reporting Joseph Doherty 2026-10-13 11:55:13 -04:00
  • f71fe13826 docs: record successful bounded CI baseline Joseph Doherty 2026-10-13 11:55:13 -04:00
  • 6f0674296b Merge pull request 'Clarify S7 counter evidence and fixture limits' (#715) from docs/s7-counter-evidence into master dohertj2 2026-10-13 11:54:57 -04:00
  • 19bc13bf6a Merge pull request 'Bound CI concurrency and stabilize test fixtures' (#711) from fix/bootstrap-and-boundary-test-fixtures into master dohertj2 2026-10-13 11:54:15 -04:00
  • cd50db136e docs: clarify S7 counter evidence and fixture limits docs/s7-counter-evidence Joseph Doherty 2026-10-13 11:34:59 -04:00
  • eecf301200 ci: count individual skipped TRX results Joseph Doherty 2026-10-13 11:05:49 -04:00
  • 76bdca90e9 ci: bound build and test concurrency fix/bootstrap-and-boundary-test-fixtures Joseph Doherty 2026-10-13 10:52:12 -04:00
  • 8ff9f38bbd Make bootstrap cancellation test deterministic and deduplicate boundary cases Joseph Doherty 2026-10-13 09:56:37 -04:00
  • 495606b9fb Merge pull request 'Clarify Galaxy native acknowledgement outcome documentation' (#708) from docs/galaxy-ack-rationale into master dohertj2 2026-10-13 09:10:19 -04:00
  • f794dc50b6 docs(galaxy): clarify native alarm acknowledgement outcomes docs/galaxy-ack-rationale Joseph Doherty 2026-10-13 09:07:13 -04:00
  • 7b23875070 Merge pull request 'fix(historian): preserve alarm delivery identity across retries' (#706) from fix/alarm-delivery-identity into master dohertj2 2026-10-13 07:11:09 -04:00
  • 109163621c fix(historian): preserve stable alarm delivery identities fix/alarm-delivery-identity Joseph Doherty 2026-10-13 07:10:58 -04:00
  • 0ccfbbee5c Merge pull request 'Accept supported definitive loss reasons in restart wire test' (#704) from fix/restart-loss-reason into master dohertj2 2026-10-13 06:30:22 -04:00
  • dccab57d39 test: accept definitive session loss reasons during restart fix/restart-loss-reason Joseph Doherty 2026-10-13 06:30:08 -04:00
  • a935e21bf8 Merge pull request 'Cover concurrent gateway tag cache lookups' (#703) from test/historian-cache-concurrency into master dohertj2 2026-10-13 05:22:42 -04:00
  • 3ec6006f57 test(historian): cover concurrent gateway tag cache lookups test/historian-cache-concurrency Joseph Doherty 2026-10-13 05:21:46 -04:00
  • 618d98e822 Merge pull request 'Fix historian missing-tag latency, paging limits and response contracts' (#699) from fix/historian-653-followups into master dohertj2 2026-10-13 04:45:00 -04:00
  • 5897764024 fix(historian): fail fast for missing tags and reduce gateway read cost fix/historian-653-followups Joseph Doherty 2026-10-13 04:31:52 -04:00
  • 97668d26d3 fix(historian): respect gateway ceilings and history value contracts Joseph Doherty 2026-10-13 03:51:04 -04:00
  • 66a2b0c3e9 Merge fix/694-gateway-ceiling-events: strict-ceiling raw paging, epoch boundary-row truncation, crowding re-read, EventReadHorizon (#694.1/.2) Joseph Doherty 2026-10-13 01:53:30 -04:00
  • de8bc7a12c fix(historian): #694 R2 cap the crowding re-read room at MaxTieClusterOverfetch Joseph Doherty 2026-10-13 01:53:14 -04:00
  • 3c3513ea3e fix(historian): #694 page raw reads at a strict gateway's learned ceiling; opt-in EventReadHorizon Joseph Doherty 2026-10-13 00:52:12 -04:00
  • a5a0496176 Merge fix/693-gateway-attime: Gateway AtTime from raw reads + shared evaluator, node type hint (#693) Joseph Doherty 2026-10-13 01:18:09 -04:00
  • 2609c5462e fix(historian): #693 re-review — AtTime read cap 64 + 16 per time (bursty tags need ~6) Joseph Doherty 2026-10-13 01:17:51 -04:00
  • 68a1f31397 fix(historian): #693 review — bisecting walk-back, small jump reads, read cap, DateTime/NaN hints Joseph Doherty 2026-10-13 01:09:54 -04:00
  • aa923cea83 Merge fix/692-n1-paging: every HistoryRead-Raw page is full; N=1 no longer alternates empty pages (#692) Joseph Doherty 2026-10-13 01:02:31 -04:00
  • e04e1bf127 fix(historian): #692 review — a drained tie cluster never resumes onto the exclusive EndTime Joseph Doherty 2026-10-13 01:02:12 -04:00
  • 0d249f3ee9 fix(historian): #693 AtTime type hint — Boolean nodes stepped, integer nodes rounded to their type Joseph Doherty 2026-10-13 00:52:03 -04:00
  • 3d7eea6280 docs(historian): #692 raw paging fills every page; lookahead row; marked placeholders Joseph Doherty 2026-10-13 00:42:13 -04:00
  • 8dfa165110 fix(historian): #692 every HistoryRead-Raw page is full — no empty page between values Joseph Doherty 2026-10-13 00:42:13 -04:00
  • 37390139fe fix(historian): #693 Gateway AtTime evaluated from raw reads with the shared AtTimeEvaluator Joseph Doherty 2026-10-13 00:40:38 -04:00
  • 15ccd9b722 docs(historian): #691.1 Gateway start-bound lookup inherits the per-millisecond tie limit Joseph Doherty 2026-10-12 18:20:14 -04:00
  • 942ca7bc14 Merge feat/691-return-bounds: Part 11 ReturnBounds on every backend (#691.1) Joseph Doherty 2026-10-12 18:14:06 -04:00
  • df0c1f3513 docs(historian): #691 bound walk-back cost after the #689 walk (rebase onto 88141d6e) Joseph Doherty 2026-10-12 17:55:34 -04:00
  • ba46f4f47a docs(historian): #691 review — breaking change names both SDK defaults (ReturnBounds + IsReadModified), GoodNoData, Gateway horizon, HonorReturnBounds Joseph Doherty 2026-10-12 17:01:51 -04:00
  • 934909b430 fix(historian): #691 review — clamp Gateway at-or-after read, GoodNoData when nothing exists, HonorReturnBounds kill switch Joseph Doherty 2026-10-12 17:00:40 -04:00
  • ebc6b8d4d9 chore(historian): #691 comment order in ServeRawPagedAsync Joseph Doherty 2026-10-12 16:27:50 -04:00
  • f6681544e7 docs(historian): #691 bounding values (ReturnBounds) — Historian.md + CLAUDE.md Joseph Doherty 2026-10-12 16:27:27 -04:00
  • 92aab7282c test(historian): #691 Gateway bounding values over the real source and an AVEVA-shaped wire Joseph Doherty 2026-10-12 16:26:54 -04:00
  • 60febbf2dc feat(historian): #691 HistoryRead-Raw ReturnBounds — Part 11 bounding values on every backend Joseph Doherty 2026-10-12 16:25:00 -04:00
  • 88141d6ed5 Merge fix/689-reverse-walk-sizing: page-sized reverse walk, skip proven-empty history, reverse events on Gateway (#689 #691.4 #691.5) Joseph Doherty 2026-10-12 17:50:56 -04:00
  • 9bb1363cd6 fix(historian): #691.4 re-review — never narrow a walk segment below the 1 ms request granularity Joseph Doherty 2026-10-12 17:50:39 -04:00
  • 574c3aa1b0 fix(historian): #691.4 review — Null reports SupportsReverseEvents = true, like raw Joseph Doherty 2026-10-12 17:37:32 -04:00
  • d28e3e64f1 fix(historian): #691.4 review — search the gap above a truncated read by gallop then bisect, never below 1 ms Joseph Doherty 2026-10-12 17:37:32 -04:00
  • ccda27d220 fix(historian): #691.4 review — uncapped Gateway events reads no longer pre-size to int.MaxValue Joseph Doherty 2026-10-12 17:20:41 -04:00
  • d277f34a96 fix(historian): #691.4 walk reverse events reads back on forward-only backends (Gateway) Joseph Doherty 2026-10-12 16:48:05 -04:00
  • 186b7d5ea5 fix(historian): #691.5 a reverse walk proves the rest empty once and carries it page to page Joseph Doherty 2026-10-12 16:32:00 -04:00
  • d33992034d fix(historian): #689 size reverse-walk segments from the page, not the tie budget Joseph Doherty 2026-10-12 16:25:07 -04:00
  • 71d031fcd0 docs(historian): #691.2 forward native reads now share the 100k-interval BucketPlan cap Joseph Doherty 2026-10-12 17:00:44 -04:00
  • f0d064a68c Merge fix/690-691-gateway-mapping: Bad Gateway rows carry no value, learned gateway ceiling, native TimeAverage/Total grid both directions (#690 #691.2 #691.3) Joseph Doherty 2026-10-12 17:00:37 -04:00
  • 830b47f624 fix(historian): #691.2 review — forward native TimeAverage/Total on the SQL grid: clipped latest interval read over its exact span, Partial, interval clamped to the window Joseph Doherty 2026-10-12 16:55:01 -04:00
  • 7b86059daf fix(historian): #691.3 review — remember a strict gateway's ceiling per data source; re-probe once when a bounded read comes back full Joseph Doherty 2026-10-12 16:50:32 -04:00
  • ab5030174a fix(historian): #691.3 review — a ceiling-bound per-sample read names the gateway ceiling, not the cap Joseph Doherty 2026-10-12 16:47:57 -04:00
  • 0e47e887de fix(historian): #691.2 serve reverse native TimeAverage/Total on Gateway via forward reads on the later-anchored #677 grid Joseph Doherty 2026-10-12 16:17:05 -04:00
  • dbffb6bdb4 fix(historian): #691.3 strict-ceiling gateway: re-ask once at the named ceiling, never answer a truncated read Joseph Doherty 2026-10-12 16:13:14 -04:00
  • 39552e15b9 fix(historian): #690 Gateway raw/AtTime Bad rows carry no value (a stored NULL was value 0) Joseph Doherty 2026-10-12 16:08:54 -04:00
  • 1f5d310071 Merge fix/685-687-688-gateway-mapping: Gateway native-aggregate rows, raw boundary rows dropped, budget vs ceiling (#685 #687 #688) Joseph Doherty 2026-10-12 15:49:53 -04:00
  • a3ee917fb4 fix(historian): #687 re-review — a row at/before the Unix epoch is never a stored sample Joseph Doherty 2026-10-12 15:47:39 -04:00
  • 8114f13a28 fix(historian): #687 review — one bounded re-read instead of failing, raw budget unclamped, exclusive forward end Joseph Doherty 2026-10-12 15:19:34 -04:00
  • 6796ba4126 fix(historian): #688 clamp the Gateway per-sample row budget at the gateway's default ceiling Joseph Doherty 2026-10-12 14:37:35 -04:00
  • 9e47532283 fix(historian): #687 Gateway raw reads drop AVEVA's synthetic start-boundary row Joseph Doherty 2026-10-12 14:35:20 -04:00
  • 44a03bedc0 fix(historian): #685 Gateway native TimeAverage/Total — drop AVEVA's pre-window row, keep Uncertain values Joseph Doherty 2026-10-12 14:31:31 -04:00
  • 9ced6455ad Merge fix/686-gateway-reverse-raw: Gateway reverse/end-only raw reads served by forward walk-back (#686) Joseph Doherty 2026-10-12 15:14:43 -04:00
  • 2d03268975 docs(historian): #686 review — reverse raw walk details, uncapped Gateway raw reads, tie-cluster status Joseph Doherty 2026-10-12 15:11:21 -04:00
  • cf1af55720 fix(historian): #686 review — bounded, density-aware reverse raw walk; uncapped Gateway raw reads Joseph Doherty 2026-10-12 15:11:21 -04:00
  • be2f0cc14d docs(historian): #686 open-ended and reverse raw reads on every backend Joseph Doherty 2026-10-12 14:42:27 -04:00
  • 410c8d8976 fix(historian): #686 serve reverse/end-only raw reads on forward-only backends (Gateway) Joseph Doherty 2026-10-12 14:42:27 -04:00
  • 70fb1f1fda Merge fix/683-joinback-plan: FORCESEEK exact-key StartEnd picks (#683 live gate 9 F1) Joseph Doherty 2026-10-12 13:15:00 -04:00
  • ce3369ebca fix(historian): #683 live gate 9 F1 — force an exact-key seek for every StartEnd pick Joseph Doherty 2026-10-12 13:14:24 -04:00
  • fe644d7eda Merge perf/683-data-range: QuestDB tag index, data range read first, SqlServer StartEnd window-bounded PK join-back (#683) Joseph Doherty 2026-10-12 11:10:48 -04:00
  • 4a3b12564a fix(historian): #683 review — bound the StartEnd pick joins to the window; usable picks re-check usability Joseph Doherty 2026-10-12 11:10:30 -04:00
  • 910befc84c perf(historian): #683 SqlServer StartEnd join-back on PK Joseph Doherty 2026-10-12 10:33:28 -04:00
  • cc0cc8cd89 fix(historian): #683 review — a refused tag ADD INDEX only warns; document index trade-offs Joseph Doherty 2026-10-12 10:15:37 -04:00
  • 549d2d68b3 perf(historian): index the QuestDB sample tag column; read the data range before the buckets (#683) Joseph Doherty 2026-10-12 09:40:28 -04:00
  • 197246c3c1 Merge feat/681-gateway-per-sample: Gateway serves the per-sample aggregates from raw reads via the shared evaluator (#681) Joseph Doherty 2026-10-12 10:06:56 -04:00
  • 9d5eef658f fix(historian): #681 re-review — OpcQuality low-byte comparison, no-data boundary quality is 1 Joseph Doherty 2026-10-12 10:06:54 -04:00
  • 5f225f0b44 fix(historian): #681 on #682/#684 — Gateway served set is the 12-member ServedAggregates; raw buckets use Good-only values Joseph Doherty 2026-10-12 10:00:30 -04:00
  • 78f604e0cd feat(historian): Gateway serves the per-sample aggregates from raw reads with the shared Sql.Common evaluator (#681) Joseph Doherty 2026-10-12 09:55:32 -04:00
  • dbdf29c8fc Merge fix/684-uncertain-samples: Average/Min/Max/Range/*ActualTime use Good samples only; Min/Max status per Part 13 (#684) Joseph Doherty 2026-10-12 09:55:10 -04:00
  • c0d6bacd9c fix(historian): #684 review — Uncertain non-numeric samples do not refuse the Good-value aggregates; real-SQL Uncertain-above-max test Joseph Doherty 2026-10-12 09:54:51 -04:00
  • a11ab0dc08 fix(historian): per-sample Average/Min/Max/Range/ActualTime use Good samples only, Part 13 min/max status (#684) Joseph Doherty 2026-10-12 09:03:47 -04:00
  • 113f1eaf7c Merge feat/682-advertised-aggregates: HistoryServerCapabilities/AggregateFunctions lists only the backend's served aggregates (#682) Joseph Doherty 2026-10-12 09:21:40 -04:00