Changeset f3a58a4 in Klonkt
- Timestamp:
- 08/02/2026 06:22:37 PM (5 weeks ago)
- Branches:
- main
- Children:
- 04d5aeb
- Parents:
- af035e6
- File:
-
- 1 edited
-
docs/ward-outbound-follows-design.md (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
docs/ward-outbound-follows-design.md
raf035e6 rf3a58a4 1 1 # Uitgaande follows van een ward — ontwerp 2 2 3 Bijbehorende beads: **shaer-p729** (bouwen) en **shaer-yeo5** (de spec-vraag: 4 informeren of gaten?). Dit document beantwoordt yeo5 en beschrijft wat p729 5 inhoudt. 6 3 7 FEP-633c §5.3 houdt follows *naar* een ward tegen tot de guardians beslissen. 4 Follows *van* een ward gaan ongehinderd de deur uit. `ingestOutboxActivity` 5 roept bij `case 'Follow'` meteen `followActor()` aan: geen ward-check, geen 6 guardian, geen wachtrij. `mee` heeft een vastgelegde guardian en kan vandaag 7 iedereen op de fediverse volgen zonder dat iemand het ziet. 8 Follows *van* een ward gaan ongehinderd de deur uit: `ingestOutboxActivity` 9 roept bij `case 'Follow'` meteen `followActor()` aan, zonder ward-check en 10 zonder wachtrij. 11 12 De guardians blijven niet in het duister. Sinds 1a2f206 krijgt elke guardian een 13 directe note zodra zijn ward iemand gaat volgen. Maar dat is Robins constatering 14 van 31-7 in één zin: **dat is informeren, geen gate.** De deur is al open op het 15 moment dat het bericht aankomt, en een guardian die te laat kijkt kan alleen nog 16 achteraf iets vinden van iets dat al gebeurd is. 8 17 9 18 De asymmetrie is half te verdedigen. `Block` (Shaers "Orbit") is uitgaand ook 10 19 ongated, en dat is de veilige richting: een kind dat zijn eigen wereld kleiner 11 20 maakt heeft geen toestemming nodig. Volgen is de richting die hem opent. 12 13 Er staat hierover niets in de docs of de FEP-notities. Dit is dus een gat in het14 ontwerp, niet een ongeschreven stuk implementatie.15 21 16 22 ## De regel … … 105 111 guardianship eindigt? Automatisch goedkeuren of laten vervallen. 106 112 113 ## Raakvlakken met andere beads 114 115 - **shaer-3kp** (gated features, guardian-overeengekomen instellingen) noemt 116 "following approve" al met zoveel woorden. Dat is de plek waar het beleid 117 hoort te wonen: één instellingen-object op de ward met de server als bron van 118 waarheid. Dit ontwerp moet daar een veld in zijn, geen eigen mechaniek ernaast. 119 - **shaer-h6u** (lokale guardian via de lijn i.p.v. de gedeelde database) raakt 120 de bezorgweg die hier ook gebruikt wordt. 121 - **shaer-zjt** bouwt het guardian-dashboard mét quorumteller; de nieuwe 122 wachtrij moet daar meteen in passen. 123 124 ### De quorum-kolom is nooit aangesloten 125 126 Los van dit ontwerp, en niet in een bead gevonden: `ap_pending_follows.quorum` 127 wordt door de aanroep in `ActivityPubService.js` nooit meegegeven, dus alles 128 valt terug op de default `'any'`. `'all'` bestaat alleen in de vergelijking in 129 `decide()` en wordt nergens geschreven; `'none'` heeft helemaal geen tak en zou 130 zich als `'any'` gedragen in plaats van als "open". shaer-hxg is gesloten met 131 "quorum any/all" als opgeleverd, en `test/follow-gating.test.js` slaagt omdat de 132 test de waarde zelf meegeeft — precies het pad dat productie nooit neemt. 133 134 Gevolg: een ward met drie guardians gaat vandaag open op één goedkeuring, ook 135 als iemand dacht `all` te hebben ingesteld. Verdient een eigen bead, en de 136 oplossing hangt samen met shaer-3kp: als het beleid daar komt te wonen, is dat 137 meteen de plek waar de inkomende kant zijn quorum vandaan haalt. 138 107 139 ## Daemon-pariteit 108 140
Note:
See TracChangeset
for help on using the changeset viewer.
![(please configure the [header_logo] section in trac.ini)](/chrome/site/your_project_logo.png)