Ignore:
Timestamp:
08/09/2026 04:59:31 PM (4 weeks ago)
Author:
Bart <bart@…>
Branches:
main
Children:
89d3c06
Parents:
e62eee4
Message:

Twee richtingen, twee poorten: shaer:following naast shaer:follows

In de catalogus stond één rij voor twee mechanismen. Het paneel telde
listReviewsByDirection(slug, 'incoming') en zette dat getal onder
shaer:follows, dus een guardian las "3 wachtend" en wist niet of er drie
vreemden bij zijn kind wilden of dat zijn kind drie keer had gevraagd of het
iemand mocht volgen. Dat zijn niet dezelfde zorg, en sinds shaer-p729 bestaan
ze allebei echt.

Nu twee poorten, en het verschil ertussen is opzet. §5.3 EIST dat een Follow
naar een ward langs de guardians gaat: shaer:follows blijft dus fixed. Over de
andere richting zegt de FEP niets — wat je verder gated is expliciet aan de
implementatie gelaten — dus shaer:following is onze keuze, en dan hoort hij ook
echt losgelaten te kunnen worden. Verstelbaar, met gate_following als kolom en
dezelfde automatiek als de rest: onbeslist is dicht voor een ward en open voor
ieder ander. Een kind dat erin groeit hoeft niet eeuwig te blijven vragen.

Geen eigen ownFollowsAllowed(): wardGateAllowed() is er al en zegt er zelf bij
dat het één implementatie hoort te zijn. Een derde kopie zou precies de tweede
plek zijn die er anders over kan gaan denken.

De labels zijn nog aan de clients: de server geeft de feature-naam door, de
Guardian PWA en Shaer moeten er nog woorden bij kiezen.

Co-Authored-By: Claude Opus 5 <claude@…>

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/services/guardianship/gated.js

    re62eee4 r709dc6f  
    6868  'shaer:customEmoji': 'gate_custom_emoji',
    6969  'shaer:accountMove': 'gate_account_move',
     70  'shaer:following': 'gate_following',
    7071};
    7172/**
     
    112113  { feature: 'shaer:customEmoji', kind: 'setting', reversible: true, bead: 'shaer-ytw' },
    113114  { feature: 'shaer:accountMove', kind: 'setting', reversible: true, bead: 'shaer-tge' },
    114   // Altijd aan voor een ward (5.3): niet te verzetten, wel te tonen. Een paneel
    115   // dat alleen verstelbare dingen laat zien verzwijgt de helft van wat er geldt.
     115  // Wie de ward mag VOLGEN, en wie de ward mag volgen: twee poorten, want twee
     116  // vragen. Ze stonden hier als één rij, en dan telt het paneel de ene richting
     117  // en zwijgt over de andere -- een guardian ziet "follows: 3 wachtend" en weet
     118  // niet of er drie vreemden bij zijn kind willen of dat zijn kind drie keer
     119  // heeft gevraagd of het iemand mag volgen. Dat zijn niet dezelfde zorg.
     120  //
     121  // Inkomend is vast: §5.3 EIST dat een Follow naar een ward langs de guardians
     122  // gaat, dus die staat aan en blijft aanstaan. Tonen mag, verzetten niet.
    116123  { feature: 'shaer:follows', kind: 'perRequest', reversible: true, fixed: true },
     124  // Uitgaand is verstelbaar, en dat verschil is opzet. De FEP zegt over deze
     125  // richting niets: §5.3 gaat alleen over een Follow die op een ward AF komt.
     126  // Wat je verder gated is expliciet aan de implementatie gelaten, dus dit is
     127  // onze keuze en niet die van de spec -- en dan hoort hij ook echt te kunnen
     128  // worden losgelaten, want een kind dat ouder wordt hoort niet eeuwig te
     129  // blijven vragen wie het mag volgen (shaer-p729, shaer-yeo5).
     130  { feature: 'shaer:following', kind: 'perRequest', reversible: true, bead: 'shaer-p729' },
    117131
    118132  // GEPLAND, en dat is bij deze twee geen achterstand maar een besluit.
Note: See TracChangeset for help on using the changeset viewer.