Ktistec in the pasture

Ktistec 3.13.0 (peers/ktistec.sh): built from its tag (images/ktistec, its own Dockerfile pinned), set up through its
API. scenarios/ktistec.sh, 27 checks, twice in a row: follows, posts, replies, likes and boosts with their undos both
ways, its poll and alice's vote, FEP-044f quotes both ways, edits and deletions both ways, the unfollow, statistics. It
is driven through the part of the Mastodon API it speaks and its own outbox API, and read from a copy of its SQLite
database, since its API counts no likes or boosts. CLAUDE.md also asks that a change to what PrivaPub sends be run
against every peer before it is committed.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LsXgEaXee4GCU1hwYgPJXw
This commit is contained in:
thepraandClaude Opus 5.5 committed 2026-10-06 14:09:29 +02:00
1 parent b478049303
commit 9872b78677
7 files changed
+218

No files matched your search

+15
View File
@@ -872,6 +872,21 @@ without a port, before it gives out its OAuth client.
- **Pasture evidence (2026-10-06, `tools/pasture/scenarios/castopod.sh`):** 15 checks pass: alice follows the podcast,
an episode reaches her with its sound, her like, boost and comment land there, the unfollow, statistics.
### Ktistec 3.13.0
- **A small server in Crystal on SQLite**, with its own JSON API (an outbox taking `Publish`, `Follow`, `Like`,
`Announce`, `Undo`, `Delete`) and part of Mastodon's (posts, replies, likes, boosts, timelines, relationships; no
search, no edits, no polls, no counts: its `favourites_count` and `reblogs_count` stay at 0). Both take the bearer
token of a session signed in on `/sessions`.
- **Polls** are `Question`s, votes FEP-9967's `Note{name, inReplyTo}`, taken once FEP-9967's checks pass.
- **Quotes (FEP-044f) both ways.** With its default manual approval of quotes, its posts' `canQuote` names only their
author and offers no `manualApproval`, so other servers (PrivaPub, Mastodon) may not even ask; with it off,
`automaticApproval` is `Public` and its `QuoteRequest`s and `Accept`s work with ours.
- **Its settings are written whole** (`/settings/actor`): a flag left out of the request is turned off.
- **Pasture evidence (2026-10-06, `tools/pasture/scenarios/ktistec.sh`):** 27 checks pass, twice in a row on the same
pasture: follows both ways, posts, replies, likes and boosts with their undos both ways, its poll and alice's vote,
quotes both ways, edits and deletions both ways, the unfollow, statistics.
### Forte 26.9.10
- **Portable identities (FEP-ef61):** a channel's actor is `https://<server>/.well-known/apgateway/did:key:z6Mk…/actor`,