mirror of
https://github.com/PR0M3TH3AN/bitgate.git
synced 2026-10-27 16:41:03 +00:00
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.
37 lines
1015 B
JSON
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"
|
|
]
|