Cron Target Selector for Projects/Nodes
When creating a cron, allo user to pick a different type of target. Currently the target is a project. Other types: node, none (just run a task without a project - we have that impelemented), what else?
When node is a target it runs a task on all selected nodes.
Implement a nice target selector, that allows to quickly add all, remove all, do all except specific, etc. It has to be a very compact and robust control. It must work for both projects, nodes and other targets.
Make sure this is naturally working and improves previous work - triggers, crons, etc. All of these things (triggers, webhooks, crons, etc.) are combined into a unified coherent system that is state of the art and uses best practices (do a web research).
Subtasks
- [business_analysis] Cron Target Selector for Projects/Nodes PRD settled: crons and triggers merge into one Automation (When→Target→Action, system crons included). Project/Node targets use one compact live-rule selector (All/Specific/All except). The task action reuses the task-create UI. Migration in place. "None" target deferred.
- [architecture] Cron Target Selector for Projects/Nodes Automation = parent row over the existing crons/triggers rows; one per-target-commit fan-out; node targets pinned via a system "Nodes" project at placement_grants._allowed. 8 children C1–C8, C8 fixes dev docs reach.
- [plan] Cron Target Selector for Projects/Nodes 8 coders along architecture boundaries C1–C8, 3 phases: API spine C2→C1→C3 plus web C4/C5; then C6 console and C8 docs reach; then C7 docs. Added a C1→C3 deploy-window guard (critic).
- Pin node-target tasks to nodes Node targets API: rev 0416 (system_kind, pinned_node_id), Nodes folder project, pin-only placement + gone/disabled causes, O1 hiding, system-project guards. Full gate green; PR #4920 merged; Jaah Deploy success. Deferred: cron/trigger target refusal (C1/C3).
- Build automation core model and API Automation core shipped: migration 0417, /api/automations, target resolver, action registry, adopter. Full gate green; PR #4928 merged; Jaah Deploy success, live on dev. Org-b dev fixtures recorded. Deferred: node/All targets until C3; UI suggestions in report.
- Fire automations per target Fire engine shipped: one per-target fan-out for schedule, event and Run now; C1's refusal lifted. Full gate green, 20285 API tests pass; PR #4937 merged; Jaah Deploy succeeded. Deferred: abandoned-firing double row, deploy-overlap trigger mis-file.
- Build compact TargetSelector component Built TargetSelector (48 tests, both adapters; 360/1280 visual check OK). PR #4921 merged, Jaah Deploy green. Also fixed develop's ambiguous Dark-radio e2e. Full gate green apart from an unrelated smoke flake that passes when run alone.
- Extract reusable TaskSpecFields form TaskSpecFields extracted as the one task-create form (task + automation contexts); 38 pre-extraction payload/DOM snapshots unchanged; CI gate green; PR #4919 merged, Jaah Deploy success. Also fixed a useCanCreateChats hook-order crash. Follow-ups in report.
- Make dev docs reachable publicly Dev docs moved to the public-UI ALB (admin prefix list only, no SG change). PR #4944 merged, Jaah Deploy green; docs.dev.jaah.ai now returns 200 with noindex from this runner. Tailnet-only doc lines updated.
- Ship unified Automations console Automations console shipped: PR #4946 merged, CI green, Jaah Deploy succeeded. Dev oracles pass as org-b admin. Not verified: AC2.1 and operator half of AC4.4/5.3 (operator sign-in now SSO-only). 10 UI follow-ups in report.
- Rewrite reader docs for Automations The Schedules and Triggers reader docs are replaced by one Automations section. PR #4961 is merged, CI is green and Jaah Deploy succeeded. The 5 new pages render on docs.dev and all 11 old URLs redirect to live pages. Locally, only the live restore stage failed: this host has no pytest. Deferred: the console-reference screen page and 6 UI suggestions (in the report).
- [finish] Cron Target Selector for Projects/Nodes All 11 children are done: 8 PRs merged and deployed. The Automations console is reachable on dev and works well. Filed follow-ups #5707 (UX polish), #5708 (console-reference docs) and #5709 (double run row). Not verified: AC2.1 and the operator half of AC4.4, at the operator's choice.
- Automations console UX polish (itemized suggestions All 15 Automations UX items fixed and merged (PR #4981, a884bdc62); PR CI green; full gate green except 2 unrelated load-flaky node-detail specs (pass alone). Unverified per operator: Jaah Deploy hung on runner aws1-2-gha-2; no dev screenshots (item 15).
- Docs: Automations console-reference screen page; retire Automations console-reference page replaces Schedule (owns /automations*; old URL redirects; prompts point at using-jaah/automations). Full gate green; PR #4987 merged; Jaah Deploy 38143035168 succeeded; docs.dev verified (mem-4126).
- Abandoned schedule firing shows two run A timed-out schedule firing now settles the engine's own provisional run row (one `error` timeout row; R-8 stays the crash fallback). New API test added; full gate green; PR #4974 merged; Jaah Deploy to dev succeeded (run 38115410336).
Artifacts
Activity
- Created
- Runner started
- Ready
- Ready
- Ready
- Runner started
- Awaiting response
- Awaiting response
- Awaiting response
- Awaiting response
- Awaiting response
- Runner resumed
- Awaiting response
- Awaiting response
- Awaiting response
- Awaiting response
- Awaiting response
- Runner resumed
- Awaiting response
- Awaiting response
- Awaiting response
- Runner resumed
- Runner ended (done)
- Runner started
- Awaiting response
- Awaiting response
- Awaiting response
- Awaiting response
- Awaiting response
- Runner resumed
- Awaiting response
- Awaiting response
- Runner resumed
- Runner ended (done)
- Runner started
- Draft
- Draft
- Draft
- Draft
- Draft
- Draft
- Draft
- Draft
- Draft
- Ready
- Ready
- Ready
- Ready
- Ready
- Ready
- Ready
- Ready
- Ready
- Runner ended (done)
- Runner started
- Runner started
- Runner started
- Runner ended (done)
- Runner ended (done)
- Runner ended (done)
- Runner started
- Runner ended (done)
- Runner started
- Runner ended (done)
- Runner started
- Runner started
- Runner ended (done)
- Ready
- Runner started
- Awaiting response
- Awaiting response
- Runner resumed
- Runner ended (done)
- Runner started
- Runner ended (done)
- Runner started
- Ready
- Ready
- Ready
- Runner ended (done)
- Runner started
- Runner ended (done)
- Runner started
- Awaiting response
- Awaiting response
- Runner resumed
- Runner ended (done)
- Runner started
- Runner ended (done)
- Runner ended (done)