## [2026-06-12T12:30:51.302Z]
Aspect parser gains a scope: block to declare review granularity. The scope.per field (node|file) controls whether the reviewer sees all mapped files at once or one file at a time. The optional scope.files predicate (path/content atoms, same grammar as architecture when.path) narrows the subject set by filtering which mapped files the reviewer actually sees. Wrong-family atoms in scope.files (node, relations, descendants) now produce a cross-hint error directing authors to aspect when: instead. Aggregate aspects (no rule source) are explicitly rejected from declaring scope, since they produce no verdicts. This is a pure additive parse path — absent scope field leaves AspectDef.scope undefined, preserving all existing behavior.
## [2026-06-12T13:14:03.501Z]
Updated parseFileWhen call to pass site: 'scope.files', satisfying the new required parameter introduced to make predicate cross-hint messages name the correct call site. No logic change to the aspect parser itself.
