Skip to content

[codex] implement conditional invoke scheduling control plane#114

Merged
mostlydev merged 8 commits intomasterfrom
codex/issue-107-conditional-invoke-scheduling
Apr 5, 2026
Merged

[codex] implement conditional invoke scheduling control plane#114
mostlydev merged 8 commits intomasterfrom
codex/issue-107-conditional-invoke-scheduling

Conversation

@mostlydev
Copy link
Copy Markdown
Owner

What changed

This PR implements the conditional invoke scheduling control plane for pod-origin x-claw.invoke entries.

It adds:

  • external schedule manifest compilation with calendar-aware when: gates
  • a scheduler loop inside claw-api
  • JSON-backed scheduler state under .claw-governance/
  • schedule read/control endpoints in claw-api
  • claw api schedule ... operator commands tunneled through docker compose exec
  • wake adapters for the supported runner set and the Pattern A / Pattern B origin split
  • plan and skill updates documenting the transport and trust model

Why

Runner-native cron could not express market-hours gating or provide a uniform runtime control surface. This moves timer authority and current scheduling state into Clawdapus while preserving runner-specific wake behavior.

Impact

  • Pod operators can pause, resume, skip, and manually fire scheduled pod-origin invocations without rebuilding images.
  • Calendar gates like when: { calendar: us-equities, session: regular } are now evaluated before wake.
  • claw-api remains internal-only; the host CLI reaches it through docker compose exec, so no host port is published.
  • Clawfile/image-origin INVOKE continues to use runner-native cron unchanged.

Validation

  • go test ./...
  • go vet ./...

Refs #107

@mostlydev mostlydev self-assigned this Apr 5, 2026
Replaces the 6-column schedule table with a card-based layout organized
around operator mental model: health at a glance, next fire time, last
event, and context-sensitive primary action. Adds force-fire + skip-next
API endpoints and threads them through claw-api and clawdash.

- Consolidate Gate/Timing/Wake columns into a single schedule block
- Hide docker exec wake command behind disclosure
- Collapse always-visible action buttons into primary + overflow
- Add force-fire, skip-next endpoints on claw-api
- Wire clawdash handlers + UI to the new endpoints
- Include design plan at docs/plans/2026-04-05-clawdash-schedule-ui-redesign.md
@mostlydev mostlydev marked this pull request as ready for review April 5, 2026 18:32
…ditional-invoke-scheduling

# Conflicts:
#	cmd/claw-api/handler.go
#	cmd/claw-api/handler_test.go
#	cmd/claw-api/main.go
#	cmd/claw/compose_up.go
#	cmd/claw/compose_up_test.go
#	docs/plans/2026-04-04-conditional-invoke-scheduling.md
@mostlydev mostlydev merged commit 21bc2d7 into master Apr 5, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant