mirror of
https://github.com/PR0M3TH3AN/bitgate.git
synced 2026-10-27 08:31:00 +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.
89 lines
3.4 KiB
JSON
89 lines
3.4 KiB
JSON
{
|
|
"name": "duplicate-muter-dedupe",
|
|
"description": "The same account muting repeatedly counts once.",
|
|
"behavior": "Muters are counted uniquely.",
|
|
"profile": "feed",
|
|
"now": 1750000000,
|
|
"authority": {
|
|
"root": "a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1",
|
|
"actors": {
|
|
"a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1": [
|
|
"super_admin"
|
|
],
|
|
"b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2b2": [
|
|
"moderator"
|
|
],
|
|
"c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3c3": [
|
|
"curator"
|
|
]
|
|
},
|
|
"protectedActors": [
|
|
"a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1"
|
|
]
|
|
},
|
|
"trust": {
|
|
"contacts": [
|
|
"0101010101010101010101010101010101010101010101010101010101010101",
|
|
"0202020202020202020202020202020202020202020202020202020202020202",
|
|
"0303030303030303030303030303030303030303030303030303030303030303",
|
|
"0404040404040404040404040404040404040404040404040404040404040404",
|
|
"0505050505050505050505050505050505050505050505050505050505050505",
|
|
"0606060606060606060606060606060606060606060606060606060606060606",
|
|
"0707070707070707070707070707070707070707070707070707070707070707",
|
|
"0808080808080808080808080808080808080808080808080808080808080808",
|
|
"0909090909090909090909090909090909090909090909090909090909090909",
|
|
"0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a",
|
|
"0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b",
|
|
"0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c",
|
|
"0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d",
|
|
"0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e",
|
|
"0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f",
|
|
"1010101010101010101010101010101010101010101010101010101010101010",
|
|
"1111111111111111111111111111111111111111111111111111111111111111",
|
|
"1212121212121212121212121212121212121212121212121212121212121212",
|
|
"1313131313131313131313131313131313131313131313131313131313131313",
|
|
"1414141414141414141414141414141414141414141414141414141414141414",
|
|
"1515151515151515151515151515151515151515151515151515151515151515",
|
|
"1616161616161616161616161616161616161616161616161616161616161616",
|
|
"1717171717171717171717171717171717171717171717171717171717171717",
|
|
"1818181818181818181818181818181818181818181818181818181818181818"
|
|
]
|
|
},
|
|
"trustedMutes": {
|
|
"user:d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4": [
|
|
{
|
|
"muter": "0101010101010101010101010101010101010101010101010101010101010101",
|
|
"updatedAt": 1749913600
|
|
},
|
|
{
|
|
"muter": "0101010101010101010101010101010101010101010101010101010101010101",
|
|
"updatedAt": 1749827200
|
|
},
|
|
{
|
|
"muter": "0202020202020202020202020202020202020202020202020202020202020202",
|
|
"updatedAt": 1749913600
|
|
}
|
|
]
|
|
},
|
|
"target": {
|
|
"type": "user",
|
|
"pubkey": "d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4"
|
|
},
|
|
"expect": {
|
|
"ranking": {
|
|
"effect": "downrank",
|
|
"weight": 1
|
|
},
|
|
"visibility": {
|
|
"effect": "allow",
|
|
"overridable": true
|
|
},
|
|
"interaction": {
|
|
"effect": "allow"
|
|
},
|
|
"evidence": {
|
|
"trustedMuteTotal": 2
|
|
}
|
|
}
|
|
}
|