Skip to content

Add sync_enabled entitlement and /v1/licenses/entitlements endpoint - #1

Merged
Sbussiso merged 1 commit into
masterfrom
sync-entitlement
Sep 3, 2026
Merged

Add sync_enabled entitlement and /v1/licenses/entitlements endpoint#1
Sbussiso merged 1 commit into
masterfrom
sync-entitlement

Conversation

@Sbussiso

@Sbussiso Sbussiso commented Sep 3, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Adds a sync_enabled boolean entitlement to License, independent of the existing Sentinel-AI validity — a self-hosted license can opt into cloud data-sync separately from Sentinel AI.
  • Adds GET /v1/licenses/entitlements (Bearer key), deliberately separate from /check-in so a high-frequency validator (e.g. the new Sentinel-Sync-Service, checking on every push) doesn't write into the check-in audit log or fight Command Center's own check-in loop for rate-limit headroom.
  • sync_enabled is also included in /check-in's response, so Command Center's existing 15-min check-in loop picks it up for free.
  • manage_license.py --enable-sync / --disable-sync to actually operate the new flag.

Why

Lays the groundwork for Sentinel-Sync-Service — self-hosted Command Center's new opt-in cloud data-sync tier.

Test plan

  • 8 new tests (entitlements endpoint + check-in reflecting the new field) — 32/32 passing
  • ruff check . clean

🤖 Generated with Claude Code

Lays the groundwork for Sentinel-Sync-Service (self-hosted Command
Center's cloud data-sync tier): a license can now opt into cloud
data-sync independently of its Sentinel AI entitlement, and other
services can validate a key's entitlements without writing into the
check-in audit trail.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@Sbussiso
Sbussiso merged commit 28c591b into master Sep 3, 2026
1 check passed
@Sbussiso
Sbussiso deleted the sync-entitlement branch September 3, 2026 00:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant