Files
bitgate/fixtures/bitvid/characterization-cases.json
thePR0M3TH3AN 4f689184e2 feat(core): rebuild governance core to the plan's decision model
The evaluator was a skeleton with invented thresholds (5/3/10/5) and two
unimplemented branches. Rebuild it against the migration plan's spec and the
behavior characterized from the pinned reference commit.

Core:
- four independent decision dimensions (ranking, visibility, interaction,
  transaction) with severity ladders and max-merge composition
- stable reason identifiers replacing free-text strings
- structured evidence, redacted unless a profile opts in
- administrative-state reduction with capability filtering at merge time, so
  revoking a role drops that actor's entries immediately
- protected actors stripped from every denial set
- snapshot fingerprints for cache invalidation
- generic policy engine: applications supply profiles and category thresholds;
  the core carries none of its own

Characterization:
- 34 generated fixtures covering every behavior the plan's Phase 0 requires
- conformance suite that actually evaluates them, replacing a placeholder that
  asserted a list's length
- reference thresholds (3/3/20/5, 60-day mute window) live in bitvid-compat as
  an application profile, not as engine defaults

Fixes found while building:
- reduceAdminState accepted malformed target identifiers, because getTargetKey
  formats anything it is given
- community-user-deny fired for any contributor rather than only for
  community-curated sources

273 tests pass; typecheck and the reference-import guard are clean.
2026-08-09 17:33:41 -04:00

37 lines
1015 B
JSON

[
"trusted-report-threshold-reached",
"trusted-report-below-threshold",
"duplicate-reporter-dedupe",
"blocked-reporter-ignored",
"denied-reporter-ignored",
"untrusted-reporter-ignored",
"spam-report-hide-threshold",
"non-spam-reports-never-hide",
"trusted-mute-below-threshold",
"trusted-mute-at-threshold",
"expired-trusted-mute",
"duplicate-muter-dedupe",
"personal-block-precedence",
"admin-user-deny",
"admin-event-deny",
"admin-event-deny-applies",
"author-deny-reaches-events",
"admin-address-deny",
"community-blacklist-merge",
"curator-cannot-deny-events",
"revoked-actor-contribution-dropped",
"protected-target",
"moderator-trust-seed",
"seeds-yield-to-real-contacts",
"viewer-override-softens-hide",
"viewer-override-cannot-escalate",
"author-override",
"home-hide-bypass",
"recent-hide-bypass",
"playback-enforces-hide",
"playback-exposes-evidence",
"evidence-redacted-by-default",
"cache-fallback-effective",
"clean-target-allowed"
]