You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
security: should [lifecycle] and [dream] be read from a project-local uteke.toml? #1534
.uteke/uteke.toml in a working copy can be an untrusted clone. config_layers::UNTRUSTED_PROJECT_KEYS already strips credentials, endpoints, the embedding backend, [server] and (since #1508) [privacy]. [recall], [tier], [dream] and [lifecycle] are not stripped, and docs/configuration.md says they may be set per project. The CLI and uteke-serve honour them; uteke-mcp will too once #1515 part 4 lands (agents run it inside arbitrary checkouts).
A cloned repository can therefore set [recall] min_score = 1.0 (every recall returns nothing) or destructive thresholds in [lifecycle] (deprecated_ttl_days = 0, max_deprecate_percent = 100, auto_prune_enabled = true, soft_delete_only = false) that the next lifecycle cycle applies to the user's store.
Options
Keep as is (per-project lifecycle is a documented feature).
Make [lifecycle] and [dream] global-only (add them to the untrusted keys, like [privacy]); [recall] and [tier] stay per project.
Also make [recall] global-only.
Notes
Found by the local Cora review of #1515 part 4. A change to the untrusted list is a behaviour change for people who set lifecycle per project; UTEKE_TRUST_PROJECT_CONFIG=1 keeps the old behaviour.
Activity