mod: Ext 16 — ActivityPub-shaped decision export, 350/350
Some checks failed
Test, Build, and Deploy / test-build-deploy (push) Failing after 32s
Some checks failed
Test, Build, and Deploy / test-build-deploy (push) Failing after 32s
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, preserving the precise action. mod/decisions->activities batch-exports dropping keeps. With wire (Ext 14) + fed trust (Phase 4) the federated moderation path is end-to-end: decide → activity/wire → peer → trust-gate → apply. +17 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` → **333/333** (roadmap + 15 extensions complete)
|
||||
`bash lib/mod/conformance.sh` → **350/350** (roadmap + 16 extensions complete)
|
||||
|
||||
## Ground rules
|
||||
|
||||
@@ -147,6 +147,12 @@ 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 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
|
||||
({:type :actor :object :summary}), the precise mod action preserved in :action.
|
||||
`mod/decisions->activities` batch-exports, dropping keeps — ready for the
|
||||
platform's AP event bus / federated peers.
|
||||
- [x] **Ext 15 — disjunctive conditions** (`policy.sx` + `tests/disjunction.sx`,
|
||||
+10). `(:any (list c1 c2 …))` compiles to Prolog disjunction `(g1 ; g2 ; …)`,
|
||||
completing the condition boolean algebra (AND via the :when list, `:not`, `:any`).
|
||||
@@ -218,6 +224,11 @@ lib/mod/fed.sx
|
||||
|
||||
## Progress log
|
||||
|
||||
- **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
|
||||
the wire format (Ext 14) and fed trust model (Phase 4) the federated moderation
|
||||
path is now end-to-end: decide → activity/wire → peer → trust-gate → apply.
|
||||
- **Ext 15 — disjunctive conditions, 333/333** (+10). The condition DSL is now a
|
||||
full boolean algebra: AND (the :when list), `:not` (NAF), `:any` (Prolog `;`).
|
||||
cond->goal recurses, so the combinators nest arbitrarily — `:any` of `:not`s, an
|
||||
|
||||
Reference in New Issue
Block a user