Commit Graph

61 Commits

Author SHA1 Message Date
rcourtman a67845ada0 Retire self-hosted volume caps 2026-04-28 20:36:37 +01:00
rcourtman c197f6a7a5 Move license test signers to testsupport 2026-04-28 19:12:21 +01:00
rcourtman b29f398b9d Fix release-mode licensing test expectations 2026-04-28 18:58:35 +01:00
rcourtman 1d189d3343 Clarify hosted entitlement signing compatibility 2026-04-28 18:47:19 +01:00
rcourtman 2b1d82d965 Retire self-hosted trial posture prompts 2026-04-28 17:39:09 +01:00
rcourtman 7cc980ad1d Retire self-hosted trial signup control plane 2026-04-28 17:02:04 +01:00
rcourtman ded190dcab Retire hosted AI quickstart runtime 2026-04-28 16:11:27 +01:00
rcourtman b1e179479d Retire self-hosted AI quickstart surfaces 2026-04-28 15:49:18 +01:00
rcourtman fab0e77800 Refine self-hosted Pro value copy 2026-04-28 09:56:03 +01:00
rcourtman e0c4533fb4 Remove self-hosted monitoring upsell copy 2026-04-28 09:33:26 +01:00
rcourtman 430f0d3fa2 Clarify Pro Plus continuity feature contract 2026-04-26 21:08:15 +01:00
rcourtman d36f465b7c Preserve uncapped self-hosted commercial continuity 2026-04-26 14:32:00 +01:00
rcourtman b4692ef7f0 Encode canonical self-hosted feature metadata 2026-04-23 15:30:42 +01:00
rcourtman a5687cd22e Formalize v6 paid-surface classification 2026-04-23 14:53:41 +01:00
rcourtman 74c2660f8d Expose infrastructure onboarding diagnostics 2026-04-22 15:37:56 +01:00
rcourtman 767a0dd5ba Instrument infrastructure onboarding funnel and harden onboarding proof 2026-04-22 15:04:33 +01:00
rcourtman 8a42bb432e Harden commercial callback and transport URL policy 2026-04-22 10:57:21 +01:00
rcourtman de99fcb1f0 Restrict purchase return HTTP callbacks to loopback 2026-04-22 09:49:36 +01:00
rcourtman a44cde6b92 Gate licensing test helpers out of release builds 2026-04-22 06:18:40 +01:00
rcourtman f7c1d9b629 Require accepted org invitations and stable runtime capabilities 2026-04-22 03:06:22 +01:00
rcourtman 70acd663bd Strengthen export and license persistence encryption 2026-04-22 01:03:10 +01:00
rcourtman 360d08104e Compile out release env guardrail bypasses 2026-04-22 00:05:57 +01:00
rcourtman d8d94c48e1 Expose local commercial funnel diagnostics 2026-04-20 22:27:34 +01:00
rcourtman c20766b7b8 Instrument self-hosted billing conversion stages 2026-04-20 21:46:59 +01:00
rcourtman 61430703b2 Reframe self-hosted paid value around operator outcomes 2026-04-20 17:30:52 +01:00
rcourtman c4a4d175ce Fix v6 dry run backend contract regressions 2026-04-20 14:57:49 +01:00
rcourtman 9e60f2aec6 Scrub stale community billing caps
Refs #1429
2026-04-19 12:17:20 +01:00
rcourtman 943389827f Scrub stale monitored-system caps on self-hosted uncapped tiers
v5-migrated installations can persist a legacy max_monitored_systems value
(e.g. Community=1) in the license claims. After 5914a4127 made all
self-hosted tiers uncapped, EffectiveLimits() only scrubbed Lifetime and
v5-grandfathered Pro, so migrated Community / Pro / Relay installs kept
emitting the old cap and the "Over plan" banner still rendered on rc.2.

Extend the scrub to every self-hosted tier whose TierMonitoredSystemLimits
entry is 0, and stop monitoredSystemContinuityStatusLocked() from falling
back to the grant's plan limit when the license says uncapped. 0 is now
a first-class "unlimited" signal, not a missing-data sentinel.

The grandfather-floor continuity is still captured for audit, but no
longer enforces on self-hosted tiers. Cloud and MSP limit resolution is
untouched.

Refs #1429
2026-04-17 13:52:02 +01:00
rcourtman 9855973e5b Fix non-root storage hardening for Helm startup 2026-04-16 21:26:02 +01:00
rcourtman 5914a4127d Make self-hosted core monitoring uncapped
Refs #1409
2026-04-16 01:21:57 +01:00
rcourtman 6d65571105 Preserve grandfathered recurring billing baselines 2026-04-15 14:32:46 +01:00
rcourtman 8d703f2371 Explain monitored-system over-plan legitimacy 2026-04-15 13:38:57 +01:00
rcourtman 6c1364ef54 Clarify monitored-system admission freeze posture 2026-04-15 13:15:10 +01:00
rcourtman f3c4d4d83d Grandfather active v5 Pro customers as uncapped 2026-04-15 00:35:24 +01:00
rcourtman b84e4067e8 Uncap grandfathered lifetime entitlements 2026-04-14 23:34:37 +01:00
rcourtman 7cac04e2ff Track v6 install version through licensing runtime 2026-04-14 11:44:59 +01:00
rcourtman 166b4768db Fix grant refresh callback race test 2026-04-11 19:15:27 +01:00
rcourtman b846d66fd0 Gate release mock fixtures behind demo entitlement 2026-04-10 12:33:57 +01:00
rcourtman 46a262f19d Require canonical monitored-system usage availability 2026-04-09 11:15:56 +01:00
rcourtman 5567fd1b80 Stabilize commercial activation continuity ownership 2026-04-09 08:07:34 +01:00
rcourtman f03c8d3441 Make billing recovery route-owned and unblock governed commits 2026-04-08 22:11:10 +01:00
rcourtman 9e83d0862d Tighten self-hosted purchase return binding 2026-04-08 20:21:36 +01:00
rcourtman 7c8fddd9f0 Retire legacy self-hosted checkout compatibility paths 2026-04-08 19:01:22 +01:00
rcourtman 4eb7b58065 Hide checkout intents behind Pulse Account handoffs 2026-04-08 18:43:37 +01:00
rcourtman 81f64edace Decouple monitored-system continuity capture from billing reads 2026-04-08 18:32:43 +01:00
rcourtman 1649faa75d Use opaque Pulse Account handoffs for self-hosted upgrades 2026-04-08 17:24:35 +01:00
rcourtman 10f1459d1a Preserve grandfathered monitored-system floors for v5 upgrades 2026-04-08 17:02:21 +01:00
rcourtman 7a47f0923e Canonicalize monitored-system admission enforcement 2026-04-07 20:11:57 +01:00
rcourtman 8c004f9a4c Use opaque checkout intents for self-hosted upgrade returns 2026-04-07 19:45:20 +01:00
rcourtman cc5ee2e24c Split commercial posture from billing entitlements 2026-04-07 13:24:55 +01:00