Feat settings cascade #3

Merged
xcaliber merged 3 commits from feat/settings-cascade into main 2026-03-26 18:03:44 +00:00

3 Commits

Author SHA1 Message Date
e2196d89b2 Break v0.2.0 roadmap into subversions (0.2.1–0.2.3)
Some checks failed
CI/CD / detect-changes (pull_request) Successful in 4s
CI/CD / test-frontend (pull_request) Successful in 5s
CI/CD / test-go-pg (pull_request) Failing after 2m30s
CI/CD / test-sqlite (pull_request) Successful in 2m54s
CI/CD / build-and-deploy (pull_request) Has been skipped
v0.2.0: RBAC + settings cascade (done)
v0.2.1: default surface routing + ICD
v0.2.2: event bus + trigger system
v0.2.3: SDK stabilization + task extension

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-26 18:02:28 +00:00
75a66dc6b9 Update VERSION to 0.2.0 and mark settings cascade complete in roadmap
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-26 17:58:20 +00:00
45448698d6 Feat settings cascade with user_overridable flag
Three-tier settings resolution (global → team → user) with per-key
user_overridable flag in package manifests. Admins can lock settings
that team admins and users cannot override.

- Add package_team_settings table (migration 010)
- Add GetTeamSettings/SetTeamSettings/DeleteTeamSettings to PackageStore
- Add ResolveSettings, ParseSettingsSchema, FilterOverridableKeys
- Rewrite Starlark settings.get() to use cascade resolver
- Add TeamID to RunContext for team-aware resolution
- Enforce user_overridable on user settings save
- Add team package settings API (GET/PUT/DELETE)
- 12 unit tests for cascade resolution

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-26 17:57:14 +00:00