Commit Graph

7 Commits

Author SHA1 Message Date
EugeneTes
fd6b9027b6 fix(scheduler): address review findings
- JobScheduler: a stored job whose zone lookup throws no longer fails StartAsync; timer re-armed under the lock;
  a delivery cut off by shutdown isn't recorded (one-offs fire again after restart); CancelJobAsync in one step
- Schedules.ParseAt: ISO 8601 with a date only (no machine-clock date for a bare 09:00)
- core: a FollowUp prompt that loses the race to a starting run joins it as a follow-up, not steering
- Telegram: TimeZoneFor tolerates non-numeric targets; RunPromptAsync waits only when queued; one agent dir
- ScriptRunner: bad workspace paths are Failed, not exceptions; zone id helpers share TimeZoneIds.ToIana's rule
- tests: no wall-clock sleeps in scheduler tests; transcript-entry, disabled-scheduler and failing-prompt coverage
- docs: spec notes for the above; README row for the scheduler
2026-09-27 10:56:45 +02:00
EugeneTes
126d3afff1 docs(scheduler): scheduling, per-chat time zones and the session zone 2026-09-27 10:40:43 +02:00
EugeneTes
8dd874a83f feat(telegram): scheduler delivery, hosted service, /jobs and /cancel
Spec: /jobs and /cancel explain when scheduling is off; Scheduler options validation.
2026-09-27 10:33:38 +02:00
EugeneTes
4bf99dc57c feat(scheduler): JobScheduler on TimeProvider with watcher, reminder and prompt firing
Spec: a skipped one-off fires after the next start; the late note's placement and no-exit-code failure wording are pinned down; IsDeliverable is part of the watcher invariant and must not create a session; saves snapshot inside a serialising gate.
2026-09-27 10:20:22 +02:00
EugeneTes
51bc0cedf1 feat(scheduler): ScriptRunner through the process spawn policy
Spec: on Windows the command goes through Arguments like the bash tool, since cmd.exe doesn't parse ArgumentList quoting; the workspace is created if missing, and a timeout vs cancellation outcome is spelled out.
2026-09-27 10:14:33 +02:00
EugeneTes
399762669e feat(agent): session time zone contract
Adds AgentSessionOptions.TimeZone, AgenticCoreOptions.DefaultTimeZone, AgentSession.TimeZone, IExtensionHost.TimeZone, IExtensionContext.TimeZone (default member returning TimeZoneInfo.Local) and TimeZoneIds.ToIana, ahead of the rest of scheduler spec section 8. Spec sentences added to process-environment-hook section 4 and scheduler section 8.
2026-09-26 19:05:45 +02:00
EugeneTes
fe692844a1 docs(spec): designs for VolcanicSecretary feature parity
Seven draft specs: scheduler (reminders, scheduled prompts, watcher
scripts, per-chat time zones), Telegram attachments (files, voice
transcription, send tool, IChatChannel), Telegram message context
(reply/forward headers, 600 ms grouping, timestamps, reactions, online
notice), MCP client with a Playwright preset, per-chat Google Calendar,
process environment hook (secret scrubbing, redaction, non-dumpable
host) and Docker/Coolify deployment.
2026-09-26 16:03:47 +00:00