Skill Tracer
Skills › Compound Engineering › ce-babysit-pr › pipeline.md

pipeline.md

17 lines · skills/ce-babysit-pr/references/pipeline.md at 3449230

Open on GitHub

Most marks come from matching words in the file, so treat them as pointers.

1# Pipeline mode (`mode:pipeline`)
2
3Same tick engine, with one residual contract across every delegate and route:
4
51. **Delegates run non-interactively.** Invoke `ce-resolve-pr-feedback mode:pipeline` for comments and `ce-debug mode:pipeline` for CI; collect their structured results. Never ask the user anything.
62. **One durable decision set.** Every returned typed `needs-human` residual enters unchanged in one `human_decisions` record with a stable `decision_id` and the exact observations of its complete `sources` set. The snapshot derives the canonical `needs_human_residuals` list for the caller. A changed or missing observation invalidates the whole decision and makes the surviving sources actionable again; only `mark --answer-decision <decision_id> --answer-file <path>` records a human answer and reactivates the unchanged sources. A decision without a complete valid payload is actionable work, never covered. Render the set under `## Needs your decision`; leave its review threads open. Anything with no thread home also goes into one run-report PR comment, never the PR body.
73. **Bounded stop, derived from that set.** Continue every independent stream that can still make autonomous progress. Once none remains, return `status: "needs-human"` immediately when `needs_human_residuals` is non-empty; return success only when the set is empty and the clean-state conditions below hold; otherwise return at the fix, round, or time budget with residuals. Never wait for human input, human approval, or the merge-ready settle window.
8
9An old-PR intake Rework or Close verdict returns before the first snapshot, in the shape `references/intake.md` defines; an Update verdict continues into these ticks and never rewrites history.
11A terminal-but-red check, a racing, pending, or unproven current-base identity, unknown or non-clean merge state, a manager-stale or unknown target, an open/claimed/parked current currency item, or an empty `statusCheckRollup` right after PR creation is a residual, not a pass. Under `posture:stack-land`, when the success gates hold, execute Step 3's stack-land land step before treating the layer as pipeline success or advancing. A just-landed MERGED outcome continues the pipeline on the next open non-draft PR needing work rather than ending the invocation.

Pipeline mode (mode:pipeline)

Same tick engine, with one residual contract across every delegate and route:

  1. Delegates run non-interactively. Invoke ce-resolve-pr-feedback mode:pipeline for comments and ce-debug mode:pipeline for CI; collect their structured results. Never ask the user anything.
  2. One durable decision set. Every returned typed needs-human residual enters unchanged in one human_decisions record with a stable decision_id and the exact observations of its complete sources set. The snapshot derives the canonical needs_human_residuals list for the caller. A changed or missing observation invalidates the whole decision and makes the surviving sources actionable again; only mark --answer-decision <decision_id> --answer-file <path> records a human answer and reactivates the unchanged sources. A decision without a complete valid payload is actionable work, never covered. Render the set under ## Needs your decision; leave its review threads open. Anything with no thread home also goes into one run-report PR comment, never the PR body.
  3. Bounded stop, derived from that set. Continue every independent stream that can still make autonomous progress. Once none remains, return status: "needs-human" immediately when needs_human_residuals is non-empty; return success only when the set is empty and the clean-state conditions below hold; otherwise return at the fix, round, or time budget with residuals. Never wait for human input, human approval, or the merge-ready settle window.

An old-PR intake Rework or Close verdict returns before the first snapshot, in the shape references/intake.md defines; an Update verdict continues into these ticks and never rewrites history.

A terminal-but-red check, a racing, pending, or unproven current-base identity, unknown or non-clean merge state, a manager-stale or unknown target, an open/claimed/parked current currency item, or an empty statusCheckRollup right after PR creation is a residual, not a pass. Under posture:stack-land, when the success gates hold, execute Step 3's stack-land land step before treating the layer as pipeline success or advancing. A just-landed MERGED outcome continues the pipeline on the next open non-draft PR needing work rather than ending the invocation.

Raw lines 1 to 12
Involves a person ask the user :5
13## Pipeline stop
15**In `mode:pipeline`, use the bounded pipeline stop** once no actionable backlog remains. Report success only when `needs_human_residuals` is empty, `all_checks_ok`, `mergeability_certain`, `merge_state_status == "CLEAN"`, `base_ref_blocker` and `stack_blocker` are null, `branch_currency_blocker` is null, and `unrequested_base_merge` is null. A non-empty canonical set with no autonomous work returns `{ status: "needs-human", checks_terminal, fixes_applied, residuals: needs_human_residuals }` immediately. Otherwise keep working independent streams until they clear or a budget ends the run with residuals. The terminal and blocked conditions still apply.
17Whichever stop produces it, the structured result is the last thing this skill writes. It ends this skill, not the turn. Control returns to the caller in this same session, and the caller's own handling of the result decides whether its run continues or stops.

Pipeline stop

**In mode:pipeline, use the bounded pipeline stop** once no actionable backlog remains. Report success only when needs_human_residuals is empty, all_checks_ok, mergeability_certain, merge_state_status == "CLEAN", base_ref_blocker and stack_blocker are null, branch_currency_blocker is null, and unrequested_base_merge is null. A non-empty canonical set with no autonomous work returns { status: "needs-human", checks_terminal, fixes_applied, residuals: needs_human_residuals } immediately. Otherwise keep working independent streams until they clear or a budget ends the run with residuals. The terminal and blocked conditions still apply.

Whichever stop produces it, the structured result is the last thing this skill writes. It ends this skill, not the turn. Control returns to the caller in this same session, and the caller's own handling of the result decides whether its run continues or stops.

Raw lines 13 to 17