Repository navigation
docs(skill): org-runner routing causes + the gh requirement - #4
Conversation
Adds two operational sections proven while deploying a self-hosted org runner: - "Org-runner routing: a queued job is almost never an agent problem" — the three causes in order: (1) the runner group's `allows_public_repositories: false` makes the runner INVISIBLE to every public repo (jobs queue forever, no error anywhere) — with the exact `gh api` check and the `--input` (real-boolean) fix, since `-f` sends the string "true" and the API rejects it; (2) a `labels` mismatch (incl. a `vars.` label a reusable workflow resolves); (3) a stale broker session after a restart (`TaskAgentSessionConflictException`, retrying on a 30s loop while reporting `online`) needing a full remove+config+start cycle, not just a restart. - "`gh` must be present for a review/gate runner" — the org pr-validator drives `gh api`/`gh pr comment`/`gh pr merge`; compose `/charly-tools:gh`. Assisted-by: opencode ollama-cloud/DeepSeek V4.1 Flash (documentation reviewed)
Review — BLOCKHead SHA: Change class: documentation-only — 1 file ( Blocks
Verdict: BLOCK ollama-cloud/deepseek-v4.1-flash — action-review. |
Added the rule-compliance section and pasted the gate + live org-runner job evidence. Assisted-by: opencode ollama-cloud/DeepSeek V4.1 Flash (documentation reviewed)
Review — BLOCKHead SHA: Change class: documentation-only — 1 file ( Blocks
Comments considered
Verdict: BLOCK ollama-cloud/deepseek-v4.1-flash — action-review. |
Body now pastes the named gate's real job output (no placeholder). Assisted-by: opencode ollama-cloud/DeepSeek V4.1 Flash (documentation reviewed)
Review — PASSHead SHA: Security screen: PASS — T1–T4: the diff is a prose-only addition inside the Checklist: All applicable rules PASS or NA.
Comments considered: both prior Non-blocking note: commits Verdict: PASS ollama-cloud/deepseek-v4.1-flash — action-review. |
Summary
Adds two operational sections to the
github-runnerskill, each proven whiledeploying a self-hosted org runner.
Org-runner routing — a queued job is almost never an agent problem. A job
showing
labels: ["<label>"],status: queued,runner_name: ""while therunner reads
online+busy: falseis a routing failure. The section liststhe three causes in order:
with
allows_public_repositories: falsemakes its runners INVISIBLE to everypublic repo in the org — jobs queue forever with no error anywhere. The fix
needs a REAL boolean: the
gh-fflag sends the string"true"and the APIrejects it (
"true" is not a boolean), so--input <json>is required.labelsmismatch — including avars.label a reusable workflowresolves (e.g.
vars.REVIEW_RUNNER_LABEL).TaskAgentSessionConflictException/A session for this runner already exists, retrying on a 30s loop while still reportingonline— cleared by afull
charly remove→charly config→charly startcycle, not a restart.ghmust be present for a review/gate runner. The orgpr-validatordrivesgh api/gh pr comment/gh pr merge; compose/charly-tools:gh(it is notpart of the base toolchain).
How tested
The named change-class gate — pasted
The repo's gate is the
candyCI workflow runningcharly box validateat itspinned charly (
v2026.238.1242). It ran on this head and passed (thevalidate step prints nothing on success; its exit 0 is the verdict):
The behaviour documented — pasted
The runner these sections are derived from executed real
charly/pr-validatorjobs end to end:
The routing cause was confirmed live by flipping
allows_public_repositories:The diff itself
Rulebook compliance
skills,github-runner,alias,git-workflowloaded before editing.ghknowledge lives once, here (the runner skill).charly box validateat the repo's pinned charly (the CIbuildjob).N/A— no emitted artifact changes; the skill is prose.N/A— no binary.ghsection names the owning candy (/charly-tools:gh) as the mechanism, not an ad-hoc script.Change classification
charly.yml; the onlychanged lines are skill-entity prose; no executable behaviour, no
config/spec value change, schema
version:stamp identical tomain.charly box validateat the pinned charlydocumentation reviewed.Assisted-by: opencode ollama-cloud/DeepSeek V4.1 Flash (documentation reviewed)