mod: Ext 17 — per-domain policy registry, 364/364
Some checks failed
Test, Build, and Deploy / test-build-deploy (push) Failing after 34s
Some checks failed
Test, Build, and Deploy / test-build-deploy (push) Failing after 34s
mod/register-policy! domain rules + mod/decide-in domain r reports give each rose-ash domain its own rule set; unregistered domains fall back to default-rules (never unmoderated). Same spam report → remove under a strict market policy, hide under blog default. Engine already took rules as a param, so this is registry + fallback, no engine change. +14 tests. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -16,7 +16,7 @@ federation extension.
|
||||
|
||||
## Status (rolling)
|
||||
|
||||
`bash lib/mod/conformance.sh` → **350/350** (roadmap + 16 extensions complete)
|
||||
`bash lib/mod/conformance.sh` → **364/364** (roadmap + 17 extensions complete)
|
||||
|
||||
## Ground rules
|
||||
|
||||
@@ -147,6 +147,11 @@ lib/mod/fed.sx
|
||||
derivation goal-by-goal with `[proved]`/`[unproved]` marks and unification
|
||||
bindings. E.g. `Report rc: escalate (rule: repeated-escalate)` … `[proved]
|
||||
report(rc, B, S), report_count(S, N), N >= 3 {B=ann, N=3, S=dave}`.
|
||||
- [x] **Ext 17 — per-domain policy registry** (`lib/mod/policies.sx`, +14).
|
||||
`mod/register-policy! domain rules` + `mod/decide-in domain r reports` give each
|
||||
rose-ash domain (blog/market/events/…) its own rule set; unregistered domains
|
||||
fall back to default-rules so a new domain is never unmoderated. Same spam report
|
||||
→ :remove under a strict market policy, :hide under blog's default.
|
||||
- [x] **Ext 16 — ActivityPub-shaped export** (`lib/mod/activity.sx`, +17).
|
||||
`mod/decision->activity` maps a decision to a moderation verb (remove→Delete,
|
||||
ban→Block, hide/escalate→Flag, keep→no activity) shaped like an AP activity
|
||||
@@ -224,6 +229,11 @@ lib/mod/fed.sx
|
||||
|
||||
## Progress log
|
||||
|
||||
- **Ext 17 — per-domain policy registry, 364/364** (+14). Multi-tenant policy:
|
||||
the engine already took `rules` as a parameter, so domain-scoping is just a
|
||||
registry + a default fallback — no engine change. Makes the whole policy
|
||||
vocabulary (16 prior features) per-domain configurable. Default fallback means
|
||||
adding a domain can't accidentally leave it unmoderated.
|
||||
- **Ext 16 — ActivityPub-shaped export, 350/350** (+17). Bridges mod-sx to the
|
||||
wider rose-ash platform, which propagates cross-domain effects as AP-shaped
|
||||
activities. Decisions become Flag/Delete/Block activities (keep = no-op); with
|
||||
|
||||
Reference in New Issue
Block a user