crons: support HOST launchd in agents-from-specs and CronExplorer - #1354
Merged
Merged
Conversation
…e page agents-from-specs accepts HOST launchd with exactly one of INTERVAL_MS (StartInterval) or SCHEDULE (StartCalendarInterval / crontab), does not warn a launchd card for being absent from the repo-scanning code manifest, and gives it a disabled run-now target. CronExplorer and AgentSpecPanel label it. Refs gHashTag/t27#6014 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Contributor
X Brain Health CheckScore: 100.0/100 X Brain is above merge threshold |
Contributor
🧪 Brain Stress Test ResultsTests: 261/261 passed, 0 leaked |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Schema change from gHashTag/t27#6036:
HOST = "launchd"for jobs on the owner's Mac.scripts/agents-from-specs.mjs:launchdinHOSTS; a launchd card has exactly one ofINTERVAL_MSandSCHEDULE; it is not warned as missing frompublic/crons/manifest.json(that manifest scans repos, not the Mac); run-now target isdisabled/launchd.CronExplorer/AgentSpecPanel; types widened.agents-from-specs.test.mjs(58/58 pass). Verified locally with the 17 cards from t27#6036 copied in: generator clean, 50 crons.Vendored cards arrive with the next
sync-t27-specs.mjsafter t27#6036 merges.Refs gHashTag/t27#6014
🤖 Generated with Claude Code
{ "version": 1, "head_sha": "0cf7248a7b250f13b6a450a16857fea2a5557621", "summary": "The cron catalog learns a fifth host, launchd, so jobs that run on the owner's Mac can be described by t27 cron cards and shown in CronExplorer without being flagged as missing.", "changes": [ "agents-from-specs.mjs adds launchd to HOSTS and requires a launchd card to carry exactly one of SCHEDULE and INTERVAL_MS.", "A launchd card is no longer warned for being absent from public/crons/manifest.json, since that manifest scans repositories and not the Mac.", "runNowTarget returns a disabled target with reason launchd, and AgentSpecPanel explains in English and Russian that there is no remote handle.", "CronHostKind, CronKind and RunNowTarget types are widened to include launchd, and CronExplorer gets a Mac (launchd) host label in both languages.", "agents-from-specs.test.mjs gains a case covering a valid launchd card with SCHEDULE, one with INTERVAL_MS, and the rejection when both are set." ], "tests": [ { "command": "GitHub Actions: Website checks (typecheck ratchet, spec generators, node tests)", "status": "passed", "result": "The website checks job passed on this head; no file gained type errors.", "evidence": "https://github.com/gHashTag/trinity/actions/runs/37199590274/job/111428344044" }, { "command": "GitHub Actions: S3AI Brain CI on the pull_request event", "status": "passed", "result": "The pull_request Brain CI run passed build, unit, integration and stress jobs.", "evidence": "https://github.com/gHashTag/trinity/actions/runs/37199590182" }, { "command": "GitHub Actions: S3AI Brain CI on the push event", "status": "failed", "result": "The push-event run failed zig unit tests in basal-ganglia, hslm, intraparietal, locus-coeruleus and reticular-formation; this diff touches no zig.", "evidence": "https://github.com/gHashTag/trinity/actions/runs/37199515671" }, { "command": "GitHub Actions: Build & Test, Code Format Validation, Validate VIBEE Codegen", "status": "passed", "result": "Build, format and codegen validation jobs passed on this head commit.", "evidence": "https://github.com/gHashTag/trinity/actions/runs/37199590222 and https://github.com/gHashTag/trinity/actions/runs/37199590203" }, { "command": "node --test apps/website/scripts/agents-from-specs.test.mjs", "status": "not_run", "result": "The new launchd test case did not appear in any CI log for this head.", "evidence": "Searched the Website checks log of run 37199590274 for the test name; no match." } ], "limitations": [ "The new agents-from-specs test was reported passing locally by the author (58 of 58) but was not seen running in CI for this head.", "No launchd cards are vendored yet; they arrive with the next sync-t27-specs run after gHashTag/t27#6036 merges, so the site shows nothing new until then.", "A launchd job has no run-now button and no remote status; the page can only describe it from its card." ], "tags": [ "crons", "launchd", "website" ], "blog": { "title": "Cron cards for jobs that live on the owner's Mac", "summary": "The trinity site's cron catalog only knew GitHub Actions, Inngest, Railway and in-process timers. It now accepts launchd as a host, so Mac jobs can be described in t27 cards and shown honestly on CronExplorer.", "outline": [ "Several recurring jobs run under launchd on the owner's Mac, and gHashTag/t27#6036 introduced HOST equals launchd for their cron cards, which the site generator rejected.", "The generator now accepts launchd and enforces that a card carries exactly one of SCHEDULE for calendar jobs or INTERVAL_MS for StartInterval jobs, never both and never neither.", "Because the code manifest is built by scanning repositories, a Mac job can never appear in it, so launchd cards are no longer marked warn for being absent from that manifest.", "The run-now control is disabled for launchd with a plain explanation in English and Russian, since the site has no remote handle on a process running on a personal machine.", "Types in agentSpecs and cronsLoader are widened and CronExplorer gains a Mac launchd label, with one new generator test covering both valid shapes and the rejected combination." ] } }