Lanceerplanning

Uitkomsten vastleggen: statussen, bewijs en record.py

Hoe de tracker vastlegt wat er echt op een directory gebeurde: de elf statussen, de waarneming die elk vereist, de flags van record.py en de notitieregels.

Bijgewerkt op

Elke poging bij een directory eindigt met één commando. scripts/record.py schrijft per platform één actuele rij naar submissions.json in de productmap, en weigert rijen die de toolkit als onbewezen of onveilig beschouwt. Die weigering is precies de bedoeling: de tracker voorkomt dat ‘we hebben bij 40 directory’s ingediend’ eigenlijk betekent ‘we hebben 40 formulieren ingevuld en er het beste van gehoopt’. Deze gids behandelt de statussen, het bewijs dat elke status nodig heeft, de flags van het commando en wat wel en niet in een notitie mag. Het is een samenvatting van RUNBOOK.md en de controles in het script zelf, geen vervanging daarvan.

Het commando

Het voorbeeld uit het runbook, uitgevoerd vanuit de toolkitmap met een al aangemaakte privéprojectmap:

Gebruik op Windows py -3 in plaats van python3 in de commando’s hieronder (of python als dat jouw commando voor Python 3.10+ is). Bewaar je werkruimte in een lokale privémap buiten OneDrive of andere synchronisatiemappen. Zet shellvoorbeelden die over meerdere regels lopen in PowerShell op één regel en verwijder de \-tekens aan het regeleinde.

python3 scripts/record.py --project ../private-product pitchwall draft \
  --note "Product import corrected; final form not sent" \
  --next-action "Check saved profile and review final form"

Twee positionele argumenten (platform-id en status) en twee verplichte opties (--note, --next-action). De optionele flags zijn --public-url, --confirmed-public, --launch-date en --replace. De platform-id moet een slug in kleine letters zijn, de status moet een van de elf hieronder zijn, en de tracker stopt met een uitleg zodra niet aan een regel is voldaan. Het registratieformulier in het lokale dashboard roept dezelfde functie aan, met dezelfde regels.

De elf statussen en het minimale bewijs

De tabel uit het runbook, in het kort:

Status Wat je moet hebben waargenomen
draft Werk voorbereid; definitieve inzending niet bevestigd.
prepared_needs_human Een concrete actie of controle voor de eigenaar (CAPTCHA, 2FA) blokkeert voorbereid werk.
submitted_pending_review Het platform bevestigt uitdrukkelijk dat de inzending is ontvangen; moderatie volgt nog.
queued Het platform bevestigt een plek in de wachtrij of op een wachtlijst.
scheduled Het platform bevestigt een lanceerdatum op of na de ondergrens; openstaande goedkeuring blijft in de notitie.
live Openbare vermelding geverifieerd, zonder label ‘in afwachting’; openbare URL en --confirmed-public vereist.
already_listed Een bestaande openbare vermelding geverifieerd; dezelfde vereisten als live.
blocked Geschiktheid, accountcapaciteit of een ontbrekend verplicht gegeven verhindert voortgang.
deferred_paid De bruikbare route vereist betaling; er is niets gekocht.
not_a_fit Het product voldoet niet aan de doelgroep- of vermeldingscriteria.
unavailable De route of het platform is op dit moment niet te gebruiken; noteer het probleem.

De belangrijkste onderscheidingen zijn concept vs. ingediend en in afwachting vs. live. Een bedankscherm maakt een vermelding niet live. Een pagina die je kunt bereiken, kan nog steeds op goedkeuring wachten. Een aangevinkt vakje ‘ook naar onze partner doorsturen’ betekent niet dat een tweede platform iets heeft ontvangen. Het resultaat van elk platform blijft op zichzelf staan, zodat totalen nooit worden opgeblazen.

De regels die het script afdwingt

  • Openbare statussen vereisen bewijs. live en already_listed vereisen --public-url met een gecontroleerde HTTPS-URL – zonder querystring, zonder fragment, zonder account-, dashboard- of loginpaden – en --confirmed-public, jouw verklaring dat je de pagina hebt bekeken.
  • Ingepland vereist een datum. --launch-date YYYY-MM-DD is verplicht en mag niet vóór earliest_launch_date in product.json liggen; de gids over de ondergrens voor de lanceerdatum legt uit waarom.
  • Notities blijven schoon. Notities en volgende acties mogen geen links, e-mailadressen, paren in de stijl van password= of bekende tokenprefixen bevatten. Het trackerbestand is bedoeld om te kunnen delen; bewijs met account-URL’s hoort in privéopslag.
  • Eén rij per platform. Heeft het platform al een rij, dan faalt het commando tenzij je --replace meegeeft – nadat je zowel de bestaande rij als het platform hebt bekeken. Vervangen is een bewuste keuze, nooit een bijeffect.
  • Geen symlinks, atomaire schrijfacties, een lockbestand. Saaie details, maar ze zorgen ervoor dat twee agents die tegelijk schrijven de tracker niet beschadigen.

Hervatten zonder dubbele inzendingen

Lees aan het begin van de volgende sessie eerst de tracker voordat je ook maar één formulier aanraakt. Geef voorrang aan overdrachten aan jou en aan ingeplande lanceringen die geverifieerd moeten worden, daarna aan inzendingen in afwachting waarvan de opgegeven beoordelingstermijn verstreken is. Geeft een platform geen beoordelingstermijn op, spreek dan met de eigenaar een opvolgdatum af in plaats van er zelf een te verzinnen. En dien nooit opnieuw in om hoger in een wachtrij te komen: controleer het bestaande record opnieuw. De tracker slaat de huidige status op, geen geschiedenis; heb je een audittrail nodig, archiveer dan apart samenvattingen van runs waaruit gevoelige gegevens zijn verwijderd.

Uitgewerkte voorbeelden van de statussen op echte platforms vind je in het artikel over inzendstatussen en in de oudere gids over bijhouden zonder dubbeltellingen; de woordenschat zelf is gedefinieerd onder vermeldingsstatus.

De kit die deze gidsen beschrijven

LaunchRepo is een privérepository die je eigen coding-agent uitvoert: 299 directory-playbooks, de workspacescripts, de tracker en het lokale dashboard. Eén keer betalen, elk product lanceren dat je bouwt.

Bekijk de prijs