Skip to content

test(acceptance): add remote cronsd scheduled-conversation lifecycle and scenarios #1287

Description

@dennisonbertram

Work type

Engineering change / feature slice

Change class

Infrastructure, CI, or process change

Why this matters

Remote cronsd has different process, auth and durable-store topology. #1010 cannot infer its conversational behavior from embedded cron proof; it needs co-owned-process, same-conversation evidence.

Protected path

Isolated lifecycle owns harnessd plus a distinct authenticated cronsd/store/listener -> remote dispatch -> harness child run/events -> remote API/history/store plus attached 100x30 PTY same conversation.

Acceptance contract

Provision/tear down only owned cronsd and harnessd resources. Prove remote counterparts of cron CRUD, fire/run linkage, no-overlap, restart, reconnect replay and isolation, with raw remote/harness endpoints, both stores, and same-conversation attached TUI frames. Reject shared/default ports/stores and never substitute shell-only cron proof.

Current architecture and search evidence

cronsd env/config cmd/cronsd/main.go:55-115,150-235; HarnessExecutor configured at :75-79; remote dispatch internal/cron/remote_run_starter.go:99,187; harness remote branch cmd/harnessd/bootstrap_helpers.go:397. #1280 owns only harnessd; #1285 supplies attached PTY but not a co-owned cronsd.

Cross-surface impact map

Acceptance lifecycle gains co-owned remote process/listener/store only. Existing auth/API/remote endpoints and both durable stores are inspected. Explicit lifecycle/restart/cancellation/port isolation. TUI attached frames; native GUI excluded. No production API/schema/deployment modification absent observed defect. Tests/docs/logs/indexes required.

Product and UX contract

None — acceptance-only proof of existing remote path.

In scope

Remote lifecycle provision plus remote C1-C6 scenarios/artifacts, after #1285.

Out of scope

Embedded cron/callback scenario implementation, native GUI, product fixes not justified by live evidence.

Coordination and dependencies

Depends on #1285 and shares scenario conventions with #1279. Keep one focused PR with Closes #N.

Test-first plan

Red owned-resource and auth attachment tests; red remote fire identity test; then overlap/restart/reconnect/isolation. Focused/race/full regression plus retained live API+PTY artifacts.

Verification plan

Exact SHA; unique ports/paths; authenticated remote API/history, harness API/SSE, both stores, identity-linked 100x30 frame hashes, full regression/CI/review.

Rollout and rollback

Acceptance-only; revert PR. No production migration/deployment.

Documentation and handoff

Update plan/impact/logs/indexes and #1279 runbook.

Definition of done

  • Remote C1-C6 are proven with owned processes/resources
  • API/SSE/stores and same-conversation PTY artifacts retained
  • Focused/race/full regression, review and CI green
  • Docs/logs current

Process acknowledgement

  • I completed the search and impact analysis before implementation and will update this issue if the design or scope changes.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions