The lists are the profile's views
- Context: the lists of tasks were Go predicates over Go-named views (Next, Focus, Outbox) and Go-named properties (
focus,area,contexts,due), so a profile could word a list but not change what it held, and every new list was a Go change. - Decision: a view is a row of
views.toml: awhenover a task’s or a gate’s facts, evaluated only ininternal/catalog, with its grouping, sort, key and whether it hides a disabled plugin’s tasks; the review’s steps and the badge name views. The tasks service pages and counts the views it is given and never names one. A mechanism that acts on a property (the area and contexts filters, the star, the deadline) reads the propertytasks.tomlgives itsrole. - Consequence: a user adds, changes or removes a list with a
views.toml; a view reading more than a task’s own fields is served whole, since gates, wakes and items change without moving the task. - Enforced by:
TestGoNamesNoView,TestGoNamesNoBundledProperty,TestOnlyTheCatalogEvaluatesIntentPredicates,TestAViewIsTheProfilesPredicate,TestAUserViewLoads. See Tasks and views.