-
ff004e2e48
fix(cli): correct audit query channel/kind/status enum names + drop dead --instance flag (#23 M8)
Joseph Doherty
2026-05-20 22:13:26 -04:00
-
36d58e8988
docs(cli): document scadalink audit group + audit-config rename (#23 M8)
Joseph Doherty
2026-05-20 22:03:32 -04:00
-
ba8ddcc032
refactor(cli): rename audit-log to audit-config with deprecation alias (#23 M8)
Joseph Doherty
2026-05-20 22:02:19 -04:00
-
d40ee85e14
feat(cli): table output formatter for audit events (#23 M8)
Joseph Doherty
2026-05-20 22:00:57 -04:00
-
4b3a692170
feat(cli): scadalink audit verify-chain subcommand v1 no-op (#23 M8)
Joseph Doherty
2026-05-20 21:57:16 -04:00
-
91682cd862
feat(cli): scadalink audit export subcommand (#23 M8)
Joseph Doherty
2026-05-20 21:56:20 -04:00
-
2fa46ed400
feat(cli): scadalink audit query subcommand (#23 M8)
Joseph Doherty
2026-05-20 21:55:38 -04:00
-
3263b39477
feat(cli): scaffold scadalink audit command group (#23 M8)
Joseph Doherty
2026-05-20 21:52:37 -04:00
-
a1bdd94d4c
feat(mgmt): /api/audit/{query,export} endpoints with permission gates (#23 M8)
Joseph Doherty
2026-05-20 21:49:14 -04:00
-
263884fa63
docs(audit): add M8 CLI implementation plan (#23)
Joseph Doherty
2026-05-20 21:39:29 -04:00
-
-
9ba453191b
Merge branch 'feature/audit-log-m7-central-ui': Audit Log #23 M7 Central UI
Joseph Doherty
2026-05-20 21:39:00 -04:00
-
-
fac31c6018
fix(ui): AuditLogQueryService uses scope-per-query to avoid DbContext race (#23 M7)
Joseph Doherty
2026-05-20 21:33:38 -04:00
-
9c955da2e7
test(ui): Audit Log Playwright E2E coverage (#23 M7)
Joseph Doherty
2026-05-20 21:24:19 -04:00
-
6dea84cd28
feat(security): OperationalAudit + AuditExport permissions for Audit Log surface (#23 M7)
Joseph Doherty
2026-05-20 21:09:42 -04:00
-
8744630adb
feat(ui): server-side streaming CSV export of Audit Log (#23 M7)
Joseph Doherty
2026-05-20 20:57:01 -04:00
-
943c2ced39
feat(ui): Audit KPI tiles on Health dashboard (#23 M7)
Joseph Doherty
2026-05-20 20:43:57 -04:00
-
38fc9b4102
feat(ui): drill-ins from detail pages to Audit Log (#23 M7)
Joseph Doherty
2026-05-20 20:26:28 -04:00
-
1c20e81d77
feat(ui): drill-in from Notifications to Audit Log (#23 M7)
Joseph Doherty
2026-05-20 20:20:54 -04:00
-
450f8bca28
feat(ui): AuditLogPage parses query-string filters for drill-ins (#23 M7)
Joseph Doherty
2026-05-20 20:19:47 -04:00
-
ae4480e7aa
feat(ui): AuditDrilldownDrawer with JSON/SQL render, cURL, drill-back, redaction badges (#23 M7)
Joseph Doherty
2026-05-20 20:13:33 -04:00
-
e052aa4ff8
feat(ui): AuditResultsGrid + AuditLogQueryService with keyset paging (#23 M7)
Joseph Doherty
2026-05-20 20:02:46 -04:00
-
13e84a76a7
feat(ui): AuditFilterBar component (#23 M7)
Joseph Doherty
2026-05-20 19:56:49 -04:00
-
12b86bea7a
feat(ui): scaffold Audit Log page + Audit nav group (#23 M7)
Joseph Doherty
2026-05-20 19:49:11 -04:00
-
a9f45b0861
refactor(ui): rename AuditLog viewer to ConfigurationAuditLog under /audit/configuration (#23 M7)
Joseph Doherty
2026-05-20 19:46:09 -04:00
-
2d13886286
docs(audit): add M7 Central UI implementation plan (#23)
Joseph Doherty
2026-05-20 19:43:30 -04:00
-
-
8c2382c2bc
docs(audit): roadmap corrections after M6
Joseph Doherty
2026-05-20 19:42:54 -04:00
-
6d7a03e099
Merge branch 'feature/audit-log-m6-reconciliation-purge': Audit Log #23 M6 Reconciliation + Purge + Partition Maintenance + Health Metrics
Joseph Doherty
2026-05-20 19:42:26 -04:00
-
-
eb5fa8f2bc
test(auditlog): partition maintenance roll-forward end-to-end (#23 M6)
Joseph Doherty
2026-05-20 19:38:07 -04:00
-
2138534581
test(auditlog): partition-switch purge end-to-end (#23 M6)
Joseph Doherty
2026-05-20 19:36:17 -04:00
-
66f6724c5d
test(auditlog): outage + reconciliation recovery end-to-end (#23 M6)
Joseph Doherty
2026-05-20 19:32:01 -04:00
-
ef49b55cf6
fix(health): decouple AuditCentralHealthSnapshot from ActorSystem (#23 M6)
Joseph Doherty
2026-05-20 19:25:28 -04:00
-
2744011ce9
feat(health): surface AuditRedactionFailure in central snapshot (#23 M6)
Joseph Doherty
2026-05-20 19:13:19 -04:00
-
70ed8d4557
feat(health): CentralAuditWriteFailures + AuditCentralHealthSnapshot (#23 M6)
Joseph Doherty
2026-05-20 19:11:52 -04:00
-
42333a72ed
feat(health): SiteAuditTelemetryStalledTracker subscribes to EventStream (#23 M6)
Joseph Doherty
2026-05-20 19:07:44 -04:00
-
e93f655ce4
feat(health): SiteAuditBacklog metric (count + age + bytes) (#23 M6)
Joseph Doherty
2026-05-20 19:02:01 -04:00
-
75b060e0a8
feat(auditlog): AuditLogPartitionMaintenanceService monthly roll-forward (#23 M6)
Joseph Doherty
2026-05-20 18:51:43 -04:00
-
cc2d6e91f1
fix(auditlog): SiteAuditReconciliationActor captures EventStream before await (#23 M6)
Joseph Doherty
2026-05-20 18:39:19 -04:00
-
660fdc4e93
feat(auditlog): AuditLogPurgeActor daily partition-switch purge (#23 M6)
Joseph Doherty
2026-05-20 18:36:31 -04:00
-
6069a20e0f
fix(configdb): replace SwitchOutPartitionAsync stub with drop-and-rebuild dance (#23 M6)
Joseph Doherty
2026-05-20 18:20:55 -04:00
-
c763bd9a04
feat(auditlog): SiteAuditReconciliationActor central singleton (#23 M6)
Joseph Doherty
2026-05-20 18:10:42 -04:00
-
640fd07454
feat(comms): site-side PullAuditEvents handler (#23 M6)
Joseph Doherty
2026-05-20 17:58:43 -04:00
-
25d9acbce3
feat(comms): PullAuditEvents RPC for audit reconciliation (#23 M6)
Joseph Doherty
2026-05-20 17:48:30 -04:00
-
b0584f7a08
docs(audit): add M6 reconciliation+purge+partition+health plan (#23)
Joseph Doherty
2026-05-20 17:44:12 -04:00
-
-
db05af897e
docs(audit): roadmap corrections after M5
Joseph Doherty
2026-05-20 17:43:44 -04:00
-
adc490b690
Merge branch 'feature/audit-log-m5-payload-redaction': Audit Log #23 M5 Payload + Redaction
Joseph Doherty
2026-05-20 17:43:19 -04:00
-
-
1856b63f0c
test(auditlog): redaction safety net edge cases (#23 M5)
Joseph Doherty
2026-05-20 17:38:59 -04:00
-
4eeda45f0e
test(auditlog): hot-path latency budget for IAuditPayloadFilter (#23 M5)
Joseph Doherty
2026-05-20 17:36:29 -04:00
-
b409afda2e
feat(auditlog): hot-reloadable AuditLogOptions + regex cache invalidation (#23 M5)
Joseph Doherty
2026-05-20 17:35:15 -04:00
-
23c0fd417e
feat(health): AuditRedactionFailure counter + bridge (#23 M5)
Joseph Doherty
2026-05-20 17:28:33 -04:00
-
9b1379ed9b
feat(auditlog): wire IAuditPayloadFilter into all writer paths (#23 M5)
Joseph Doherty
2026-05-20 17:21:57 -04:00
-
5a7f3e8bf6
feat(auditlog): per-connection SQL parameter redaction opt-in (#23 M5)
Joseph Doherty
2026-05-20 17:11:53 -04:00
-
37f17dc4a8
feat(auditlog): body regex redaction with over-redaction safety net (#23 M5)
Joseph Doherty
2026-05-20 17:09:36 -04:00
-
ad7b330f43
feat(auditlog): HTTP header redaction stage (#23 M5)
Joseph Doherty
2026-05-20 17:07:01 -04:00
-
bba2ef1b4d
feat(auditlog): DefaultAuditPayloadFilter truncation with UTF-8 boundary safety (#23 M5)
Joseph Doherty
2026-05-20 17:01:13 -04:00
-
25cdf857c9
feat(auditlog): IAuditPayloadFilter contract (#23 M5)
Joseph Doherty
2026-05-20 16:59:10 -04:00
-
e7b40c1c50
docs(audit): add M5 payload+redaction implementation plan (#23)
Joseph Doherty
2026-05-20 16:56:56 -04:00
-
-
dae6de2c48
docs(audit): roadmap corrections after M4
Joseph Doherty
2026-05-20 16:56:18 -04:00
-
ac7fc9ce4d
Merge branch 'feature/audit-log-m4-remaining-boundaries': Audit Log #23 M4 Remaining Boundary Emission
Joseph Doherty
2026-05-20 16:55:45 -04:00
-
-
065c8259ae
test(auditlog): audit failures never abort user-facing actions (#23 M4)
Joseph Doherty
2026-05-20 16:50:48 -04:00
-
a7eea0a795
test(auditlog): Inbound API request audit end-to-end (#23 M4)
Joseph Doherty
2026-05-20 16:48:27 -04:00
-
02727b3a66
test(auditlog): Notify dispatcher audit trail end-to-end (#23 M4)
Joseph Doherty
2026-05-20 16:47:09 -04:00
-
56b26339ca
test(auditlog): DB sync emission end-to-end (#23 M4)
Joseph Doherty
2026-05-20 16:43:55 -04:00
-
1c862989b4
feat(inbound): register AuditWriteMiddleware in pipeline (#23 M4)
Joseph Doherty
2026-05-20 16:35:13 -04:00
-
3c3f7770c1
feat(inbound): AuditWriteMiddleware emitting InboundRequest/InboundAuthFailure (#23 M4)
Joseph Doherty
2026-05-20 16:35:03 -04:00
-
855df759b5
feat(siteruntime): emit NotifySend(Submitted) on site-side Notify.To().Send (#23 M4)
Joseph Doherty
2026-05-20 16:18:46 -04:00
-
6de377a39e
feat(notif): emit NotifyDeliver(terminal) on terminal transitions (#23 M4)
Joseph Doherty
2026-05-20 16:12:44 -04:00
-
1dfd67a90d
feat(notif): emit NotifyDeliver(Attempted) per dispatcher attempt (#23 M4)
Joseph Doherty
2026-05-20 16:08:06 -04:00
-
b31747a632
feat(notif): NotificationOutboxActor + CentralAuditWriter wired (#23 M4)
Joseph Doherty
2026-05-20 16:04:01 -04:00
-
e4d902753b
feat(siteruntime): emit DbOutbound.DbWrite on sync Database.Execute*/ExecuteReader (#23 M4)
Joseph Doherty
2026-05-20 15:54:54 -04:00
-
c410fc6d43
docs(audit): add M4 remaining-boundaries implementation plan (#23)
Joseph Doherty
2026-05-20 15:41:13 -04:00
-
-
f48efa7ca8
docs(audit): roadmap corrections after M3
Joseph Doherty
2026-05-20 15:40:33 -04:00
-
d20e8f4e9d
Merge branch 'feature/audit-log-m3-cached-operations': Audit Log #23 M3 Cached Operations + Dual-Write
Joseph Doherty
2026-05-20 15:39:41 -04:00
-
-
73a19c6f02
refactor(auditlog): remove dead-code ternary in CachedCallLifecycleBridge (#23 M3 final-review fix)
Joseph Doherty
2026-05-20 15:39:10 -04:00
-
c3d4e6b1e0
test(auditlog): combined telemetry idempotency on retried packets (#23 M3)
Joseph Doherty
2026-05-20 15:27:14 -04:00
-
f063b35633
test(auditlog): cached DB write combined telemetry end-to-end (#23 M3)
Joseph Doherty
2026-05-20 15:26:04 -04:00
-
f4a7be4929
test(auditlog): cached call combined telemetry end-to-end (#23 M3)
Joseph Doherty
2026-05-20 15:25:10 -04:00
-
a3b0fb7f08
refactor(auditlog-tests): extract DirectActorSiteStreamAuditClient + add IngestCachedTelemetry support (#23 M3)
Joseph Doherty
2026-05-20 15:21:44 -04:00
-
f81750b2aa
fix(siteruntime): immediate-success CachedCall emits terminal telemetry (#23 M3)
Joseph Doherty
2026-05-20 15:15:11 -04:00
-
6fe23a4d9b
feat(host): register SiteCallAuditActor + CachedCallTelemetry forwarder/bridge (#22, #23 M3)
Joseph Doherty
2026-05-20 15:10:47 -04:00
-
047988e4c8
feat(siteruntime): Database.CachedWrite emits combined telemetry + S&F audit bridge (#23 M3)
Joseph Doherty
2026-05-20 14:55:17 -04:00
-
63eb1f4225
feat(snf): per-attempt and terminal cached-call lifecycle observer (#23 M3)
Joseph Doherty
2026-05-20 14:52:34 -04:00
-
42430dd10a
feat(siteruntime): ExternalSystem.CachedCall emits CachedSubmit telemetry (#23 M3)
Joseph Doherty
2026-05-20 14:48:05 -04:00
-
2145b29d4d
feat(auditlog): CachedCallTelemetryForwarder for site-side dual emission (#23 M3)
Joseph Doherty
2026-05-20 14:41:15 -04:00
-
73719ee066
feat(auditlog): extend ISiteStreamAuditClient with IngestCachedTelemetryAsync (#23 M3)
Joseph Doherty
2026-05-20 14:39:24 -04:00
-
0a97fff906
feat(auditlog): combined telemetry dual-write transaction (#23 M3)
Joseph Doherty
2026-05-20 14:33:14 -04:00
-
2b54290c7f
feat(comms): IngestCachedTelemetry RPC + CachedTelemetryPacket proto (#23 M3)
Joseph Doherty
2026-05-20 14:24:13 -04:00
-
de110f8b42
feat(scaudit): SiteCallAuditActor minimum surface (#22, #23 M3)
Joseph Doherty
2026-05-20 14:18:49 -04:00
-
bedfa6b8f3
feat(configdb): ISiteCallAuditRepository + EF impl, monotonic upsert (#22, #23 M3)
Joseph Doherty
2026-05-20 14:10:24 -04:00
-
6667f345fa
feat(configdb): add SiteCalls migration (#22, #23 M3)
Joseph Doherty
2026-05-20 14:05:36 -04:00
-
3162286ade
feat(configdb): map SiteCall to SiteCalls table (#22, #23 M3)
Joseph Doherty
2026-05-20 14:04:17 -04:00
-
e416b21dad
feat(commons): CachedCallTelemetry combined operational+audit packet (#23 M3)
Joseph Doherty
2026-05-20 13:58:57 -04:00
-
0f28d13da7
feat(siteruntime): Tracking.Status(id) script API (#23 M3)
Joseph Doherty
2026-05-20 13:56:59 -04:00
-
b86d7c61ab
feat(siteruntime): OperationTrackingStore site-local SQLite (#23 M3)
Joseph Doherty
2026-05-20 13:51:09 -04:00
-
1c38dd540f
feat(commons): TrackedOperationId strong type (#23 M3)
Joseph Doherty
2026-05-20 13:47:40 -04:00
-
4ca0b3ce2a
docs(audit): add M3 cached-operations implementation plan (#23)
Joseph Doherty
2026-05-20 13:43:46 -04:00
-
-
db34ba66bf
docs(audit): roadmap corrections after M2
Joseph Doherty
2026-05-20 13:41:34 -04:00
-
ee10f61582
Merge branch 'feature/audit-log-m2-site-sync-pipeline': Audit Log #23 M2 Site Pipeline (sync-only)
Joseph Doherty
2026-05-20 13:40:59 -04:00
-
-
f0ee125afa
test(auditlog): end-to-end sync-call emission via TestKit + MSSQL fixture (#23)
Joseph Doherty
2026-05-20 13:30:13 -04:00
-
dd3351da93
feat(health): SiteAuditWriteFailures counter + AuditLog bridge (#23)
Joseph Doherty
2026-05-20 13:22:25 -04:00
-
82a8bbf225
feat(siteruntime): ExternalSystem.Call emits Audit Log #23 event on every sync call
Joseph Doherty
2026-05-20 13:11:19 -04:00