Commit Graph

1 Commits

Author SHA1 Message Date
John Dvorak f410b6c902 rigor: complex-graph crucible — community/scale-free/hierarchy/dense generators
The engine's campaigns ran on toy star graphs. complex-graphs.js adds four
production-shaped generators:

- community: stochastic block model with nested groups (groups of groups),
  tuple-to-userset access, defeasible blocked overlay, cross-community
  delegation chains
- scale-free: preferential attachment, power-law degree distribution,
  hub-heavy adjacency
- hierarchy: org-tree (org -> dept -> team -> member) with 3-hop ownership
  chains
- dense-adversarial: maximal overlap on small graphs — reciprocal edges,
  self-loops, multi-rule policies (cycle + cache-collision pressure)

complex-graph-crucible.test.js runs four crucibles over them: structural
shape assertions across seeds, exhaustive normal/binary/snapshot parity
with bounds on every query, a 300-effort rigor fuzz campaign over
(generator, seed, user, relation, object) triples enforcing
allow/deny + possibility agreement across all three evaluation modes, and
a reachability guard proving complex policies (TTU, chain) are actually
exercised rather than denied trivially.

Generator fixes along the way: sub-groups own their own resources so the
one-level TTU is structurally reachable, and departments own resources so
the 3-hop chain terminates. Full rigor 234/234.
2026-08-02 13:51:03 -07:00