factory-queue
What this skill does
factory-queue manages the ingestion, triage, and planning boundaries of the software factory. It operates directly against the external issue tracker (the Queue) as the single source of truth using the tracker-agnostic integration layer (factory-runbook/references/tracker-integration.md).
Requires: the factory-runbook skill (provides the tracker-agnostic integration layer): adlc-cli skills add tikalk/adlc-team-skills --skill factory-runbook
It performs two primary control-plane operations:
- Advisory Triage & Ingestion (default
triagemode): Pulls un-triaged candidate briefs, runs stateless AI triage scoring, presents the Intent Gate to the human, and stamps gating/dispatch labels. Before stampingexecutingon any issue, applies the dependency hard gate (Operation 12): an issue whose**Depends on**line names still-open dependencies is parked atspec-gated(never stampedexecuting) with ablocked: dependency-gatenote naming the blockers. - Product Planning (
planmode): Reads accepted product/architecture decisions and the PRD/AD, generates milestones (done-means) and epics, and pushes them as structured, labeled issues to the Q.
When to use
- At product intake, to triage candidate briefs and approve them for execution.
- After a product/architect lifecycle converges, to decompose the specification into prioritized tracker issues.
- You want to run an advisory-only Intent Gate with automatic label transition gating.
When NOT to use:
- For inner-loop feature execution (use
factory-missioninstead). - As a standalone markdown generator (this requires issue-tracker connectivity).
Operating Modes
1. Ingestion & Triage Mode (default)
Operates on candidate issues (labeled intent) or local draft briefs:
- Pull Candidate Briefs: Discover the active tracker provider and fetch issues with status
intent(skills/factory/factory-runbook/references/tracker-integration.md). The fetch includes Task-typed issues — children converted from Issue to Task for hierarchy stay visible to triage and are first-class plan items, never filtered out. - AI Triage Scoring: Compute stateless advisory scores on three dimensions:
- Risk: Blast radius, data sensitivity, and architectural impact (Low / Medium / High).
- Complexity: Scope and cross-service dependencies (Low / Medium / High).
- Agent Confidence: Estimation of end-to-end execution success (0-100%, High/Medium/Low bands).
- Intent Gate Presentation: Present candidate briefs + advisory scores to the human. If running unattended (no active human terminal), publish the Intent Gate presentation and AI scores as a structured comment with marker
<!-- factory-queue:triage:proposal -->on the candidate issue. The queue run pauses. The human reviews the proposal, and approves by commenting "approve" or changing the label tospec-gated. When resumed, the queue reads the comment/label state and continues. The Human Intent Gate is non-negotiable; no brief is auto-approved or auto-rejected. - Label Stamping:
- On approval: move the issue
intent──►spec-gatedthrough the Set Lifecycle step (tracker-integration Operation 9). Stamp automation-gating (agent-can-executeorhuman-required) and dispatch (autonomous|supervised|interactive) labels. - On rejection: move the issue
intent──►cancelledthrough the Set Lifecycle step (or delete draft). - On deferral: Move to backlog.
- On approval: move the issue
2. Plan Mode
Operates post-lifecycle convergence to populate the backlog:
-
Load Artifacts: Read the accepted product and architecture decisions and the generated
docs/adlc/product/PRD.md/docs/adlc/architect/AD.md. When no team record-class index was injected at session start, read the binding records directly fromdocs/adlc/memory/(dual-read order:docs/adlc/memoryfirst, legacy.adlc/memoryfallback) and state that fallback in one line. -
Generate Milestones & Epics: Extract sequencing, requirement groupings, and "done-means" definitions into prioritized epics and milestones. Gate/task issues MUST use the mission-brief format — Goal / Constraints / Non-Goals / Success Criteria (each criterion with a measurement method) — per the canonical template in
mission-brief/references/mission-brief-template.md. Milestone descriptions carry the demo sentence + done-means (milestones are grouping containers, not executable units). Issue titles are short work-item names;[Gx]/Mx:prefixes are forbidden (milestone assignment carries grouping; descriptions carry references). -
Probe Hierarchy Capability (before any attach): Before attaching children to any generated epic, run the capability probe per the provider seam (
skills/factory/factory-runbook/references/tracker-integration.md— the probe names the target instance + version, records freshness, and the chosen strategy lands in the plan output). Resolve the strategy withscripts/bash/resolve-hierarchy-strategy.sh(or thescripts/powershell/twin): native epic type where the tracker offers it; Issue parent holding Task-type children where conversion is available; label convention otherwise. A stale probe, or a probe from another instance or version, counts as no probe. -
Attach Children & Verify: Attach each epic's generated issues as children (converting Issue to Task where the tracker requires it for parenting). Snapshot-compare milestone, labels, and description before and after every conversion — a conversion that alters any of them is a failure, not a silent edit. Read back each epic: it must report
hasChildrenplus the child count. When a hierarchy operation fails at use time, fall back to the label convention for the affected epic only, disclosed asdegraded: no treewith the failing operation named — the plan's issues still land, with or without the tree. Trackers with no hierarchy support use the label convention from the start, always disclosed asdegraded: no tree, never silent. -
Deduplication Check: Fetch existing issues to match task summaries and prevent duplicates.
-
Push to Q: Push epics and milestone issues to the tracker via MCP. Stamp appropriate automation-gating and dispatch labels on each generated issue based on AI triage.
-
Output: Write a versioned
docs/adlc/product/roadmap.mdlinking the local spec elements to the newly created external tracker issues.
Invariants & Safety Constraints
- Stateless: The platform holds no queue state of its own. All queries and mutations are performed live via the tracker's MCP/CLI connectors.
- Dry-Run Gating: No tracker write may occur without dry-run confirmation. The skill must output a detailed preview of all issues, comments, or label changes, requiring the user to explicitly confirm before execution.
- Advisory Scores: Scores are advisory metadata and never bypass human gates.
