Skip to content
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 19 additions & 8 deletions plugins/repo-dreamer/skills/repository-skill-forge/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -57,8 +57,10 @@ issue, a previous run, or the last published PR.

Find every open and closed pull request with the `skills-forge` label. Request
at least PR number, URL, state, draft status, merged timestamp, updated
timestamp, and complete body. Create the label when supported; otherwise
require it to be pre-provisioned. Never publish an unlabeled Forge PR.
timestamp, and complete body. Do not require a separate label-existence lookup
or label-creation capability before extraction. An empty labeled-PR search is a
valid empty catalog; it does not prove whether the label exists and must not
block analysis.

Write the returned PR array to `$RUN_DIR/forge-prs.json`, then build the catalog:

Expand Down Expand Up @@ -193,7 +195,10 @@ python3 "$SKILL_DIR/scripts/extraction-controller.py" assert-terminal \
```

A run is blocked only when this command reports the controller-recorded
blocker. Never describe incomplete `running` work as blocked.
blocker. Never describe incomplete `running` work as blocked. Once the
controller is initialized, do not stop for label, target-identity, or
publication-tool checks while its status remains `running`; continue invoking
`next` and recording every action outcome until extraction is terminal.

### 3. Handle irreducible query failures

Expand Down Expand Up @@ -301,6 +306,11 @@ TARGET_SHA="$(

If no proposal is selected, missing target identity must not block the run.
If selected and target identity cannot be resolved, block before publication.
Only after a proposal is selected, verify that `skills-forge` exists and can be
applied to the created or updated PR. Create the label when supported. If the
label cannot be verified, created, or applied, block before publication. Never
publish an unlabeled Forge PR. Label capability is irrelevant to a successful
no-proposal result.

The PR body includes the marker, proposal identity, candidate IDs, confidence,
fixed evidence window, target SHA, validation, review findings, and the
Expand All @@ -320,11 +330,12 @@ than one PR create/update, and a persistent valid marker in every published
Forge PR.

Fail explicitly on undisclosed omissions, malformed PR metadata, leakage,
unsafe proposals, missing label/write tools, or blocked publication. Never
fabricate evidence. Large repositories still use the full fixed window by
default; long asynchronous runtime alone is not a reason to sample. Introduce
deterministic sampling only after observing a concrete tool-call, output,
context, or automation limit.
unsafe proposals, or blocked publication. Missing label/write tools are a
publication blocker only after a proposal is selected; they must not interrupt
running extraction or a no-proposal result. Never fabricate evidence. Large
repositories still use the full fixed window by default; long asynchronous
runtime alone is not a reason to sample. Introduce deterministic sampling only
after observing a concrete tool-call, output, context, or automation limit.

## Assets

Expand Down