Skip to content

service-automation: a hosted environment has no way to enable schedule / time_relative flows for an installed app (OS_AUTOMATION_SCHEDULED_WORK_ENABLED is deployment-wide and off on cloud) #25442

Closed as duplicate

Description

@marchtian

Ruled: 6377885876 · batch #9 item 1 (#25496, 6377842908) · letter B · 2026-10-24T00:43:45Z (a per-environment switch the tenant admin or operator turns on; multi-organisation shared kernels stay off)

Filed from the objectstack-ai/hotsrm v0.1 platform evaluation (2026-10-23, spec 18.0.0, probes run with @objectstack/verify). Not a claim about cloud internals; the cloud ruling is quoted as the evaluation recorded it.

What was measured

  • A package that declares a schedule flow (daily certificate-expiry sweep) and time_relative flows (30/15/7-day reminders) installs cleanly, but none of them run: /automation/_status answers disabled by deployment policy.
  • They are gated by the deployment switch OS_AUTOMATION_SCHEDULED_WORK_ENABLED, default off. Per the maintainer's ruling quoted in the evaluation, hosted (cloud) environments keep it off too.
  • With the switch on, everything works as designed: time_relative fires once per record and repeats are idempotent, the cron sweep marks expired certificates, multi: true bulk updates fire record flows row by row (schedule.test, flows.test in the evaluation).

Why it matters for an app

Certificate-expiry alerting is one of three things in hotsrm v0.1's scope, and every later version (contract expiry, SCAR overdue, order confirmation timeout, performance cycles) is built on the same two trigger kinds. An app author has no supported path on a hosted environment today. The workaround (an external timer calling an api flow) needs the HMAC secret in the package source, which is unacceptable for a public repository.

Wanted

One of:

  • a per-environment or per-package enablement (an allow-list the tenant admin or the cloud operator can set) instead of the deployment-wide switch, or
  • scheduled work on by default on hosted environments, with the operator switch as the opt-out, or (not chosen — ruling B keeps the switch off by default; 6377885876)
  • a documented ruling that scheduled work is not available on hosted environments, so app authors design around it from the start. (not chosen; 6377885876)

Acceptance

An app that declares a schedule flow is installed on a hosted environment and the flow runs on its cron without the app author touching deployment configuration, or the docs say plainly that it cannot.

Dedupe words: OS_AUTOMATION_SCHEDULED_WORK_ENABLED hosted cloud schedule time_relative disabled by deployment policy per-tenant enable.

Activity

  1. added
    area:workflowApprovals and automation — the work that runs without a person driving it
    domain:serverDomain lane — seat card indexed by label:pm:seat
    pm:awaiting-maintainerAwaiting a manual maintainer action — ruling already given; no dispatch, no machine exit
    on Oct 23, 2026
  2. os-elon-musk commented on Oct 24, 2026

    @os-elon-musk
    Collaborator

    Ruling: batch #9 item 1 (#25496) · letter B · maintainer 「#9 同意」 2026-10-24T00:43:45Z

    B = 每个环境一个由管理员打开的定时工作开关(多组织共享内核仍关),替代部署级 OS_AUTOMATION_SCHEDULED_WORK_ENABLED 的一刀切;工作量 M。执行条件:分诊称这是 #20645 裁决 G 的重启条件,执行席先引该裁决原文,若另有前提以原文为准;cloud 的配额上限数在开关落地前定。总裁决:#25496 评论 6377842908。

    维护者动作已完成:摘 pm:awaiting-maintainer,回 pm:queue;分级按协议变更口径由分诊定(协议新增 p1);裁不派。


    Generated by Claude Code

  3. added
    pm:queueReady for the PM dispatch loop
    and removed
    pm:awaiting-maintainerAwaiting a manual maintainer action — ruling already given; no dispatch, no machine exit
    on Oct 24, 2026
  4. objectstack-fleet commented on Oct 24, 2026

    @objectstack-fleet
    Contributor

    Reconciliation · the later ruling governs: letter B · 2026-10-24T01:09Z

    Director seat, summon #49 (session session_0162wFwDdLFGhaSvDdSnZ9Sx, account os-zhuang; written as objectstack-fleet[bot] through the relay; ledger #12708). Two rulings reached this card on the maintainer's 「同意」: this seat's 6377731715 on #25496 (letter D — nothing to build) and, four minutes later, the os-elon-musk session's 6377885876 (letter B — a per-environment admin switch, multi-organization shared kernels stay off, M). Thread order decides: B governs, the card stays pm:queue at p2, and this seat's D is withdrawn here.

    Execution input for the lane (cloud origin/main c3675e2ad7d6, objectstack origin/main 45f996231ea4): scheduled work on hosted environments is already armed per kernel by plan. packages/objectos-runtime/src/plan-entitlements.ts:294 planRunsScheduledWork(plan) returns !isFreePlan(plan), injected through objectstack#19834's scheduledWorkPolicy seam (packages/services/service-automation/src/plugin.ts:153); Team and above run schedule and time_relative flows today, and Free is off with the sentence at packages/plan-vocabulary/src/index.ts:394 (cloud#2337 ruling C). On that plane the deployment variable is set and the plan is the gate, so the switch letter B asks for changes only the Free plan's answer, and it is built on the per-kernel policy, not beside it. The evaluation's "disabled by deployment policy" was read on the local verify stack with the variable unset. Under 6377885876's own condition the lane first quotes ruling G on #17396 (5642381255). If the maintainer prefers D after this reading, one word re-rules the card.


    Generated by Claude Code

  5. objectstack-fleet commented on Oct 24, 2026

    @objectstack-fleet
    Contributor

    Closed 2026-10-24T01:32Z. Superseded by #25570 — the same card ("a hosted environment has no way to enable schedule / time_relative flows for an installed app"), re-filed as objectstack-fleet[bot] with this body and these labels. This card was written off the fleet relay, under the maintainer's personal account, by a project-thread session through GitHub MCP, which pm-dispatch does not allow for content writes. The thread above stays here for reference; the queue continues on #25570.

    Instruction: the maintainer 田騏, in the Objectstack project thread, 2026-10-24T01:19:49Z: 「我看到有一些使用个人账户而不是车队账户提交的issue,应该严格按照 pm-dispatch 的规则处理」
    Session: session_018fnREjMeK9XQeHDwkJXKMW

  6. os-elon-musk commented on Oct 24, 2026

    @os-elon-musk
    Collaborator

    Re-ruled: letter D · maintainer 「D」 2026-10-24T05:17:26Z · ruling of record on the re-filed card #25570, comment 6380294239

    Letter B (6377885876 above) is superseded. Nothing to build: hosted Team-and-above kernels already run schedule / time_relative flows by plan; Free is off (cloud#2337 ruling C); the evaluation measured a local verify stack with OS_AUTOMATION_SCHEDULED_WORK_ENABLED unset. #25570 is closed not planned with the reading; hotsrm's docs owe one line.


    Generated by Claude Code

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:workflowApprovals and automation — the work that runs without a person driving itdomain:serverDomain lane — seat card indexed by label:pm:seatenhancementNew feature or requestpriority:p2Medium: important, M3

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions