Machine Sm
Deterministic machine-loop watchdog (JSRunner): a 10-minute cron tick
reconciles every machine-managed GitHub/GitLab issue — red CI dispatches
rework (dead-letter re-fire), green dispatches review, approved PRs get
branch updates and squash merges, merged PRs close their issues, and the
rework round cap escalates to needs-human. Pure JS, no LLM — this is the
safety net for labels the machine adds itself (they never fire labeled
events under GITHUB_TOKEN).
Parameters
repo—owner/repoof the target project (also resolved from.dmtools/config.jsrepository).scm.provider—github(default) orgitlab; selects the forge I/O provider (seejs/common/smProvider.js).dryRun— log the plan, perform no action.maxConcurrentRuns— idle while active machine runs ≥ this (default 1).maxReworkRounds— rework rounds beforeneeds-humanescalation (mirrors ai-teammate MAX_AUTO_REWORK_ROUNDS, default 2).workflowFile— the machine runner workflow to dispatch (defaultai-teammate.yml).branchPrefix— machine dev-branch prefix (defaultai/gh-).agentHandle— assignee marking an issue machine-managed (defaultai-teammate).issueLimit— open issues scanned per tick (default 50).
All parameters can be overridden per project via the .dmtools/config.js
machineSm section.
Human doc: agents/docs/agents/machine_sm.md
Attributes
| Attribute | Value |
|---|---|
| Job | JSRunner |
| Config | machine_sm.json |
| ContextId | — |
| outputType | — |
| skipAIProcessing | false |
Actions
LLM step
- outputType:
none
Generated by js/agentDocGenerator.js