Commit Graph

1127 Commits

Author SHA1 Message Date
rcourtman aeede4fb2f Hydrate Assistant handoff resource scope 2026-05-06 17:59:55 +01:00
rcourtman 25f9172e2e Preserve Patrol handoff context across Assistant turns 2026-05-06 17:46:14 +01:00
rcourtman 7de85ff257 Keep Patrol handoff context model-only in Assistant 2026-05-06 17:37:19 +01:00
rcourtman b84fc2301a Surface paid runtime mismatch in licensing 2026-05-06 17:18:35 +01:00
rcourtman 87ba22b0fc Surface Patrol investigation records in Assistant context 2026-05-06 17:00:05 +01:00
rcourtman 75e3cb76fd Add structured Patrol investigation records 2026-05-06 16:31:51 +01:00
rcourtman 177cbea8c9 Add ESPHome mock availability fixture
Refs #1460
2026-05-06 14:25:36 +01:00
rcourtman 2f5aa20122 Add mock availability endpoint fixtures
Refs #1460
2026-05-06 14:08:03 +01:00
rcourtman edae6d1edc refactor: split alert config and callbacks
Extract alert config types, normalization, and identity helpers into internal/alerts/config while preserving the existing alerts package API through aliases and wrappers.

Move Manager callback lifecycle state into a same-package callbackBus, keeping public Set/Subscribe methods unchanged.

Harden metrics SQLite artifacts to owner-only permissions and cover permissive umask behavior.

Proof: go test -json ./internal/api -count=1; go test ./internal/alerts/... ./internal/monitoring ./internal/ai/... ./internal/websocket ./internal/config ./pkg/metrics; go test ./internal/alerts/... ./pkg/metrics
2026-05-06 13:01:32 +01:00
rcourtman d6ca8b12e6 Add agentless availability targets
Refs #1460
2026-05-06 10:35:34 +01:00
rcourtman 30180727ad Harden Proxmox setup token ACLs 2026-05-05 14:19:50 +01:00
rcourtman 81b31e4d3b Remove monitored-system volume caps
Retire runtime/API/UI monitored-system volume enforcement now that infrastructure monitoring is no longer capped.

Keep only legacy metadata scrubbing and purchase-start compatibility for old max_monitored_systems references.

Rename the remaining preview surface to monitored-system impact and make previews explanatory rather than save-blocking.

Update subsystem contracts and RA7 evidence for the caps-retired invariant.
2026-05-05 12:59:59 +01:00
rcourtman fed3b776e0 Fail closed on ambiguous email principal resolution 2026-05-05 09:26:10 +01:00
rcourtman d91c2afedb Fail closed dry-run action execution 2026-05-05 09:22:04 +01:00
rcourtman 53a928ee2d Prevent contact-email principal takeover 2026-05-05 09:19:29 +01:00
rcourtman 04fb02defc Use stable principals in Stripe webhook fixtures 2026-05-05 09:10:44 +01:00
rcourtman df14e5d356 Pin strict organization identity invariants 2026-05-05 09:06:01 +01:00
rcourtman 82a2494ffa Add action execution safety contract 2026-05-04 23:19:58 +01:00
rcourtman ea0b20cd19 Use strict org principals for runtime access 2026-05-04 23:16:15 +01:00
rcourtman 002d68cef7 Require stored principal for checkout magic links 2026-05-04 23:06:47 +01:00
rcourtman 2040285085 Add action decision API 2026-05-04 22:56:55 +01:00
rcourtman 7af1276c3b Fail closed on blank magic-link principals 2026-05-04 22:43:35 +01:00
rcourtman 9cddb49dd5 Fail closed on hosted handoff identity 2026-05-04 09:47:54 +01:00
rcourtman fdb9ad17f6 Use stable hosted signup owner ids 2026-05-04 09:33:19 +01:00
rcourtman 9291ee2999 Persist action plans in audit trail 2026-05-04 09:30:57 +01:00
rcourtman e3c1dad256 Hide public demo admin reads 2026-05-04 09:14:09 +01:00
rcourtman 3953554ae1 Bind owner identity across token minting 2026-05-04 00:50:14 +01:00
rcourtman c874da9ab8 Reserve API token owner metadata 2026-05-04 00:30:09 +01:00
rcourtman 2c96242487 Use stable SSO principals
Derive OIDC and SAML browser-session principals from provider-scoped subjects instead of mutable username or email claims.

Preserve compatibility by migrating legacy username/email RBAC assignments to the stable SSO principal when no authoritative group mapping is present, and pin the invariant in API/security contracts.
2026-05-04 00:16:31 +01:00
rcourtman 7829c3e6ed Pin hosted identity invariants
Resolve hosted magic-link verification through current organization membership so sessions bind to the stored stable user principal instead of token email.

Add the v6 identity invariant contract and static guards covering hosted handoff, checkout, provisioning, and magic-link boundaries.
2026-05-03 23:58:08 +01:00
rcourtman b11f57ed62 Add API-first action planning endpoint 2026-05-03 23:51:54 +01:00
rcourtman 3e497ecb70 Harden hosted tenant identity keys
Use stable control-plane user IDs as hosted tenant organization principals while preserving email as contact metadata and legacy fallback. Cloud handoff sessions now bind to the signed subject instead of email, seeded tenant orgs store owner/member email separately from durable user IDs, and the subsystem contracts pin that boundary.
2026-05-03 23:28:26 +01:00
rcourtman 83f6296c94 Audit SSO entitlement and provider settings
Align internal license bridge tests with Community-tier SSO, harden SAML login method handling, and expose OIDC groups-claim configuration for provider restrictions and role mapping.

Refs #1449
2026-05-03 13:19:51 +01:00
rcourtman 82c54cc39b Make self-hosted SSO Community-tier
Treat OIDC, SAML, and multi-provider SSO as included Community capabilities while retaining advanced_sso as a compatibility key. Remove SAML-specific paywalls and paid-upgrade copy from runtime, settings UI, entitlement snapshots, docs, journey proof, and subsystem contracts.

Refs #1449
2026-05-03 12:48:01 +01:00
rcourtman 21e5e7fd01 Fix bootstrap token logger race 2026-05-03 12:25:56 +01:00
rcourtman a3617b923a Fix remaining RC3 backend CI races 2026-05-01 22:03:22 +01:00
rcourtman 53838d8f93 Fix RC3 backend release blockers 2026-05-01 21:36:28 +01:00
rcourtman 67f2ce5dc2 Preserve PVE authorized_keys symlinks in setup scripts
Refs #1297
2026-05-01 20:28:11 +01:00
rcourtman 0273ab8456 Resolve RC3 issue follow-up candidates
Preserve the most severe Proxmox connection member state so offline members roll up correctly.

Move history-chart tooltips beside the hovered point when space allows and resolve PBS metric alerts against PBS thresholds during config reevaluation.

Refs #1441

Refs #1452

Refs https://github.com/rcourtman/Pulse/discussions/1448
2026-05-01 20:28:11 +01:00
rcourtman 85e0de271b Gate relay mobile tokens behind Relay license 2026-04-30 12:53:29 +01:00
rcourtman f67f877f95 Clamp AI control settings to entitlements 2026-04-30 12:38:17 +01:00
rcourtman 99129d0c09 Retire product upgrade metrics runtime
Remove local upgrade-metrics API registration, settings payload wiring, startup store migration, and backend conversion recorder hooks from the normal product runtime.

Delete the retired conversion/funnel and metering packages from compiled licensing code, and extend diagnostics boundary audits and governance contracts so maintainer commercial analytics cannot return through Settings or diagnostics.
2026-04-30 12:24:22 +01:00
rcourtman daf825dee6 Remove customer commercial analytics wrappers 2026-04-30 11:46:16 +01:00
rcourtman 0bbba3b818 Restrict commercial metrics reporting access 2026-04-30 10:00:35 +01:00
rcourtman c6bcad255a Remove internal analytics from diagnostics 2026-04-30 09:23:40 +01:00
rcourtman 5e8619eb58 Canonicalize Docker Podman management API copy 2026-04-30 09:13:04 +01:00
rcourtman e79764a0fd Canonicalize Docker Podman diagnostics copy 2026-04-30 00:27:10 +01:00
rcourtman 05ccfe6656 Prove legacy Pro migrations keep v6 entitlements 2026-04-29 20:17:59 +01:00
rcourtman c743a231b8 Retire dashboard landing surface 2026-04-29 16:25:09 +01:00
rcourtman cc470635b9 Surface resource relationship map 2026-04-29 15:30:12 +01:00