feat(gating): auto-update Base+ (absorbe #271) + override licence (Rust) #301
Labels
No labels
autopilot:pending-human
source:analyste
source:defenseur
source:human
source:medic
status:approved
status:blocked
status:in-progress
status:needs-clarification
status:needs-fix
status:ready
status:review
status:triage
type:bug
type:feature
type:infra
type:refactor
type:schema
type:security
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: maximus/Simpl-Resultat#301
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Cote Rust : auto-update passe Base+ (absorbe #271), purge des entrees mortes de FEATURE_TIERS, override features[] fail-closed, dev-override pour tester les tiers. Independant du reste (parallelisable).
Fichiers concernes
src-tauri/src/commands/entitlements.rs(modifier) — FEATURE_TIERS + is_feature_allowed/check_entitlement.src-tauri/src/commands/license_commands.rs(modifier) — resolution features via chemin machine-binding + dev-override.src-tauri/Cargo.toml(modifier) — Cargo featuredev-override(off par defaut).Depends on
Criteres d'acceptation
entitlements.rs:("auto-update", &[EDITION_BASE, EDITION_PREMIUM]); commentaire « temporarily open » retire ; testfree_allows_auto_update_temporarily->free_denied_auto_update.web-sync,cloud-backup,advanced-reports(aucun call-site ; advanced-reports->Premium contredit la matrice TS). Ne reste queauto-update.is_feature_allowed(f, ed) || features.contains(f).dev-override(off par defaut, jamais dans le feature-set release) ; sous cette feature, current_edition litSR_DEV_EDITION. Test queSR_DEV_EDITIONn'a AUCUN effet feature-off.Review caveats (/review-spec — a respecter)
debug_assertions(activable sur un build release -> backdoor Premium).Decisions prises en planification
Spec source
spec-decisions-feature-gating.md + spec-plan-feature-gating.md (racine, force-add ; verdict /review-spec jaune, corrections integrees).
Corrections /review-spec :
FEATURE_TIERS:web-sync,cloud-backup,advanced-reports(aucun call-site ;advanced-reports->Premium contredit la matrice TSreports-advanced->Base+). Ne laisser queauto-update.features[]fail-closed en Free : resoudre les features via le chemin machine-binding (ignorees si l edition downgrade a free) — CWE-863.SR_DEV_EDITIONderriere une Cargo featuredev-override(off par defaut), PASdebug_assertions(activable sur un build release -> backdoor Premium, CWE-489) + test que c est sans effet quand la feature est off.