Parity coverage vs legacy ContextMod
96.4%
214 / 222 rules ported · 8 deferred (non-blocking)
Mod-action latency p50
412 ms
−61% vs legacy baseline (1.05s)
Modqueue dwell (7d)
−34%
Target ≥30% per success metric
Audit chain integrity
VALID
last verified 04:12 UTC · 0 broken hashes
SLA — Devvit trigger latency (last 24h)
412 ms p50
target ≤ 1000 ms
887 ms p95
target ≤ 1500 ms
99.97 % uptime
SLA 99.9%
Telemetry source: Devvit trigger spans · sampled 100% · written to immutable audit chain.
p50 latency
p95 latency
SLA bands
Compliance & trust
Devvit Rules · pass
Reddit Developer Terms · ack
Reddit User Agreement · ack
Data residency · US
Parity ≥95% · 96.4%
Audit retention · 365d
Hash-chained log · SHA-256
Deferred rules · 8 (non-blocking)
Audit log — moderation actions
| Timestamp (UTC) | Actor | Action | Rule | Target | Hash |
|---|---|---|---|---|---|
| 2026-05-07 17:04:11 | head-mod-jane | CONFIG | rule_pack:askh.v14 → v15 (RBAC narrowed) | pack/askh.v15 | a91f…b2c4 |
| 2026-05-07 17:02:48 | bot:contextmod | REMOVE | repeat_offender_window_30d | t3_1abcdz | b2c4…f019 |
| 2026-05-07 17:01:22 | bot:contextmod | FLAG | low_karma_thread_ratio | t1_kk921e | f019…7a13 |
| 2026-05-07 16:58:03 | mod-pat | APPROVE | manual_override (ticket #4421) | t1_kj17qa | 7a13…ce80 |
| 2026-05-07 16:55:39 | bot:contextmod | REMOVE | off_topic_rule_4 | t3_1abc7p | ce80…2240 |
| 2026-05-07 16:51:10 | head-mod-jane | CONFIG | role:apprentice → read-only on rule_pack:askh | role/apprentice | 2240…a91f |
Chain head a91f…b2c4 · 12,418 events · last verify 04:12 UTC
RBAC matrix — mod-role × rule pack
| Role | rule_pack:askh | rule_pack:spamdef | audit_log | SLA dashboard | migration tools |
|---|---|---|---|---|---|
| head-mod | READ / WRITE | READ / WRITE | READ / EXPORT | READ / WRITE | FULL |
| senior-mod | READ / WRITE | READ | READ | READ | — |
| mod | READ | READ | READ (own) | READ | — |
| apprentice | READ | — | — | READ | — |
| bot:contextmod | EXECUTE | EXECUTE | APPEND-ONLY | — | DENY |
Effective permissions are the intersection of Reddit mod-perms and ContextMod role grants. All mutations require head-mod approval and emit a CONFIG entry to the audit log.
Migration brief — legacy ContextMod → Devvit
Why this passes procurement
- Functional parity 96.4% verified by automated rule-pack diff
- SLA gauge with p50/p95 + uptime, retained 365d
- Hash-chained audit log, signed CSV/JSON export
- RBAC enforced at rule-pack granularity, least-privilege
- Devvit-native — no external host, satisfies platform constraint
Open risk register
- 8 deferred legacy rules (low-frequency, <0.4% of actions)
- p95 latency band 887 ms — within SLA, monitor weekly
- Apprentice role currently read-only; revisit after 30d