---
name: willoscar/deliverable-selfloop
source: https://app.decimal.ai/s/willoscar-deliverable-selfloop@1/SKILL.md
source_sha256: 744e5d519fbf
---

# Deliverable Self-Loop

Runs the final quality gate for a reader-facing deliverable and always writes a PASS/FAIL report.

## Inputs

Primary input depends on the active pipeline contract:
- brief deliverable
- paper-review deliverable
- evidence-review deliverable
- idea memo bundle
- tutorial deliverable

## Output

- `output/DELIVERABLE_SELFLOOP_TODO.md`
- for `research-brief`: `output/BRIEF_SCORECARD.md` and `output/BRIEF_SCORECARD.json`
- for `paper-review`: `output/REVIEW_SCORECARD.md` and `output/REVIEW_SCORECARD.json`
- for `idea-brainstorm`: `output/IDEA_SCORECARD.md` and `output/IDEA_SCORECARD.json`
- for `evidence-review`: `output/EVIDENCE_SCORECARD.md` and `output/EVIDENCE_SCORECARD.json`

## Dispatch rule

The gate should dispatch by pipeline contract first:
- `quality_contract.deliverable_kind`

Only fall back to legacy profile-name checks when contract metadata is missing.

## Script boundary

`scripts/run.py` should:
- detect the active deliverable contract
- run the matching evaluator
- always write a report

It should not mutate the deliverable itself.

## Acceptance

- report exists
- report contains `- Status: PASS` or `- Status: FAIL`
- PASS only when the active deliverable satisfies its minimum section / artifact contract
- `research-brief` additionally requires valid core-set pointers and the configured score threshold
- `paper-review` additionally requires the configured score threshold and all critical rubric dimensions
- `idea-brainstorm` additionally requires traceable anchors, actionable lead directions, and the configured score threshold
- `evidence-review` additionally requires clause-linked screening, complete extraction rows, synthesis pointers, and the configured score threshold

## Non-goals

- rewriting the deliverable
- choosing upstream fixes beyond pointing to the missing contract items