The routine commands: four command skills, and a schedule line that says how often at most - #1785
Merged
Merged
Conversation
…ays how often at most A schedule line takes `every <N>m|h|d` beside or instead of its `when` check: the command is due only once that long has passed since its last recorded start, read off the run records on agent-data. Four command skills of work-queue's shape, one package each: update-tickets, plan-tickets, triage-quick, triage-consensual. The tickets skill gains `meta`, printing the last-import stamp, for the schedule's check. gemstack tracks the four skills and schedules them. (#1774) Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
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.
👤
every 6h: how often at most, from the command's last recorded start; a check beside it says whether there is anything to donpx tickets metaprints when the tickets last caught up with GitHub, for the schedule's check🤖 automated · Fable 5.1, effort high
The schedule (
packages/agent-scheduler). A line now carries clauses in any order, each at most once:every <N>m|h|d,when \`,cap; at least one ofeveryandwhen.everyis the least time since the command's last start, read off the run records onagent-data(the newest card with the tool's mark for that command, whatever became of the run), so every machine agrees and nothing new is stored. The tick decides per command: folder exists → interval → check → cap → quota. Inside the interval the line isnot due (last start 2h ago, every 6h)and no check runs.every 0`, an unknown unit, a clause twice, or a word the parser does not know make the line unreadable, named as before.gemstack's
agent-schedule.md:Both checks were run by hand against gemstack's data: GitHub reports an issue updated since the last import; five open tickets have no plan.
The four commands, one package each,
SKILL.mdonly, the shape ofskill-work-queue:@gemstack/skill-update-tickets,skill-plan-tickets,skill-triage-quick,skill-triage-consensual. Each prompt is its preset rewritten in capability words: no skill, command or package named; "nobody will answer you"; "only queue, never do" folded into the two triage jobs and plan-tickets; "say so and stop" when nothing qualifies; an error in capability words when the project has no ticketing system or no AI queue. The presets inprompts/presets/are untouched: the launcher's buttons keep them. gemstack tracks the four under.agents/skills/<command>/SKILL.mdwith the.claude/skills/<command>link, the shape of #1781.The tickets skill gains
npx tickets meta: prints{"lastImportedAt": …}or{}. BothSKILL.mdcopies say so.What is deliberately not here: the maintenance routine (its preset uses the framework's templating and its calendar has no caller since #1782;
maintenance.tsis still imported bycli.tsand used nowhere), a rotation or a clock time (rejected in the DECISIONS bullet), and any change to the dashboard presets.Tests: agent-scheduler 52 (was 48), tickets 48 (was 47), framework 1233 node tests and 824 vitest tests green after the worktree build (a fresh worktree without a built
dist/fails eight daemon tests with a 503, the known case), rootpnpm testgreen for agent-data 57, branches 85, queue 16, logs 16, driver 81.Cutover after merge: pull, install, build (
pnpm build,pnpm -C packages/agent-scheduler build,pnpm -C packages/skill-tickets build), restart the daemon so the open hook restarts the scheduler on the new build. The new lines are live at the next tick. Within the hour update-tickets runs (GitHub has news); within six hours plan-tickets queues plans for the five unplanned tickets and work-queue writes them; triage follows.