mod: Ext 14 — decision wire format for federation transport, 323/323
Some checks failed
Test, Build, and Deploy / test-build-deploy (push) Failing after 28s
Some checks failed
Test, Build, and Deploy / test-build-deploy (push) Failing after 28s
mod/decision->wire emits a versioned pipe-delimited line (MOD1|r1|hide|spam-hide); mod/wire->decision parses it back (mod/wire-valid? guards). split-char built over slice/len (loaded env has no split). Integration test runs the full federated path: serialize → wire → deserialize → fed-receive-decision trust-gating (untrusted→advisory, trusted→applied). +16 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` → **307/307** (roadmap + 13 extensions complete)
|
||||
`bash lib/mod/conformance.sh` → **323/323** (roadmap + 14 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 14 — decision wire format** (`lib/mod/wire.sx`, +16). The bytes that
|
||||
cross `fed/fed-send!`: `mod/decision->wire` emits a versioned pipe-delimited line
|
||||
(`MOD1|r1|hide|spam-hide`), `mod/wire->decision` parses it back (`mod/wire-valid?`
|
||||
guards). Built `mod/split-char` over `slice`/`len` (loaded env has no split).
|
||||
Integration test exercises the full path: serialize → wire → deserialize →
|
||||
`fed-receive-decision` trust-gating (untrusted→advisory, trusted→applied).
|
||||
- [x] **Ext 13 — SLA sweep over pending cases** (`lib/mod/sla.sx`, +15). Composes
|
||||
lifecycle (Phase 3) with time (Ext 12): a timed-case pairs a case with the tick
|
||||
it entered its state; `mod/overdue?` flags pending cases (open/triaged/appealed)
|
||||
@@ -207,6 +213,11 @@ lib/mod/fed.sx
|
||||
|
||||
## Progress log
|
||||
|
||||
- **Ext 14 — decision wire format, 323/323** (+16). Fills the federation transport
|
||||
seam: decisions now serialize to a portable line and parse back, and the
|
||||
integration test runs the whole federated path end-to-end (serialize on one
|
||||
instance → trust-gated apply on another). Needed a hand-rolled `split-char`
|
||||
(loaded env has no split) — over `slice`/`len`, same toolkit as `str-contains?`.
|
||||
- **Ext 13 — SLA sweep, 307/307** (+15). Two subsystems compose cleanly: lifecycle
|
||||
states + temporal ticks → "which pending cases have sat too long". Kept lifecycle
|
||||
pure by having the SLA layer carry entry-time externally (timed-case wrapper)
|
||||
|
||||
Reference in New Issue
Block a user