Cron Add-verharding & Schema-uitlijning
Context
Recente gateway-logs tonen herhaaldecron.add-fouten met ongeldige parameters (ontbrekende sessionTarget, wakeMode, payload en een onjuist gevormde schedule). Dit geeft aan dat ten minste één client (waarschijnlijk het agent-tool-aanroeppad) ingepakte of gedeeltelijk gespecificeerde job-payloads verstuurt. Daarnaast is er afwijking tussen cron-provider-enums in TypeScript, het gateway-schema, CLI-flags en UI-formuliertypen, plus een UI-mismatch voor cron.status (verwacht jobCount terwijl de gateway jobs retourneert).
Doelen
- Stop
cron.addINVALID_REQUEST-spam door veelvoorkomende wrapper-payloads te normaliseren en ontbrekendekind-velden af te leiden. - Cron-providerlijsten uitlijnen over gateway-schema, cron-types, CLI-documentatie en UI-formulieren.
- Het agent-cron-toolschema expliciet maken zodat de LLM correcte job-payloads produceert.
- De weergave van het aantal cron-statusjobs in de Control UI herstellen.
- Tests toevoegen om normalisatie en toolgedrag te dekken.
Niet-doelen
- Cron-planningssemantiek of job-uitvoeringsgedrag wijzigen.
- Nieuwe planningssoorten toevoegen of cron-expressieparsing wijzigen.
- De UI/UX voor cron herontwerpen buiten de noodzakelijke veldcorrecties.
Bevindingen (huidige hiaten)
CronPayloadSchemain de gateway sluitsignal+imessageuit, terwijl TS-typen ze bevatten.- Control UI CronStatus verwacht
jobCount, maar de gateway retourneertjobs. - Het agent-cron-toolschema staat willekeurige
job-objecten toe, wat misvormde invoer mogelijk maakt. - De gateway valideert
cron.addstrikt zonder normalisatie, waardoor ingepakte payloads falen.
Wat is gewijzigd
cron.addencron.updatenormaliseren nu veelvoorkomende wrapper-vormen en leiden ontbrekendekind-velden af.- Het agent-cron-toolschema komt overeen met het gateway-schema, wat ongeldige payloads vermindert.
- Provider-enums zijn uitgelijnd over gateway, CLI, UI en macOS-kiezer.
- De Control UI gebruikt het
jobs-telveld van de gateway voor status.
Huidig gedrag
- Normalisatie: ingepakte
data/job-payloads worden uitgepakt;schedule.kindenpayload.kindworden afgeleid wanneer dat veilig is. - Standaardwaarden: veilige standaardwaarden worden toegepast voor
wakeModeensessionTargetwanneer ze ontbreken. - Providers: Discord/Slack/Signal/iMessage worden nu consistent getoond in CLI/UI.
Verificatie
- Houd gateway-logs in de gaten voor een afname van
cron.addINVALID_REQUEST-fouten. - Bevestig dat de Control UI na verversen het aantal cron-statusjobs toont.
Optionele vervolgstappen
- Handmatige Control UI-smoketest: voeg per provider een cron-job toe en verifieer het aantal statusjobs.
Open vragen
- Moet
cron.addexplicietestatevan clients accepteren (momenteel niet toegestaan door het schema)? - Moeten we
webchattoestaan als expliciete delivery provider (momenteel uitgefilterd in delivery resolution)?