Define transitive trust for referenced sub-recipes
- Dominant language
- Rust
- Stars
- 54.2k
- Forks
- 6.2k
- Avg merge
- 3d 4h
- Merged PRs (30d)
- 240
Description
**What problem would this solve?**
Desktop recipe trust currently identifies the top-level recipe, while referenced sub-recipes are loaded later from their paths. If referenced content changes after the top-level recipe was accepted, the prior decision does not clearly define whether the changed child is still trusted.
**What would a good outcome look like?**
Goose has an explicit transitive trust model for referenced recipes. A user’s acceptance applies to identifiable content, and any relevant child change is detected before delegation without leaving a time-of-check/time-of-use gap.
**Possible approaches**
- Snapshot and hash the complete resolved recipe graph when trust is granted, then revalidate the relevant child at delegation.
- Store recursive content digests and invalidate acceptance when any referenced recipe changes.
- Require an independent trust decision for each referenced recipe when it is first delegated to.
The design should define cycles, missing or remote references, nested recipes, and compatibility with existing accepted-recipe records.
**Additional context**
- [x] I have verified this does not duplicate an existing feature request
Do not begin implementation until the issue reaches **Ready** on the [Goose Issues board](https://github.com/orgs/aaif-goose/projects/1).
Contributor guide
Research direction
The issue concerns the trust model for referenced sub-recipes in the Goose AI agent. Start by examining the code that loads and validates recipes, likely in a module like `recipe_loader` or `trust_manager`. Look for existing trust decisions and how referenced recipes are resolved. Understanding the current graph resolution and delegation logic is key. A successful outcome would be a design document specifying the transitive trust model, handling cycles, missing references, and compatibility with existing records.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- ai-infra-agents, security
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100