Skip to content

remotion skill: SKILL.md references chapter files that don't exist #36264

remotion skill: SKILL.md references chapter files that don't exist

remotion skill: SKILL.md references chapter files that don't exist #36264

name: Apply status:available Default
# Safety net for bypass-path issue creation (t2798).
# When issues are created via bare `gh issue create` (bypassing claim-task-id.sh),
# they ship without status:available — making them invisible to the pulse's
# dispatch fill-floor. This workflow applies the default label server-side.
#
# Primary source of status:available: claim-task-id.sh (application-layer, t2789).
# This workflow: platform-layer defence-in-depth for the bypass path.
on:
issues:
types: [opened, labeled]
permissions:
issues: write
jobs:
apply-default:
# Label churn on auto-dispatch issues used to start this workflow for every
# label application. Only issue creation and the auto-dispatch label can
# make status:available newly applicable, so all other label events skip
# before occupying the per-issue concurrency slot below.
if: >
github.event.action == 'opened' ||
(github.event.action == 'labeled' && github.event.label.name == 'auto-dispatch')
runs-on: ubuntu-latest
timeout-minutes: 2
concurrency:
# Per issue: two legitimate triggers (opened + auto-dispatch labeled) must
# not race each other into duplicate label mutations, but unrelated issues
# should never cancel or queue behind each other.
group: apply-status-default-${{ github.event.issue.number }}
cancel-in-progress: false
steps:
- name: Apply status:available if missing
uses: actions/github-script@f28e40c7f34bde8b3046d885e986cb6290c5673b # v7
with:
script: |
const issue = context.payload.issue;
const labels = (issue.labels || []).map(l => l.name);
// Gate 1: must have auto-dispatch
if (!labels.includes('auto-dispatch')) {
console.log(`Issue #${issue.number} has no auto-dispatch label — skipping`);
return;
}
// Gate 2: already has a status:* label — do not override
if (labels.some(l => l.startsWith('status:'))) {
console.log(`Issue #${issue.number} already has a status label — skipping`);
return;
}
// Gate 3: excluded label classes — these issue types are never
// auto-dispatched even if they carry auto-dispatch
const excluded = [
'parent-task',
'persistent',
'consolidation-task',
'routine-tracking',
'no-auto-dispatch'
];
if (labels.some(l => excluded.includes(l))) {
console.log(`Issue #${issue.number} has excluded label — skipping`);
return;
}
await github.rest.issues.addLabels({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: issue.number,
labels: ['status:available']
});
console.log(`Applied status:available to #${issue.number}`);