opencode-swarm 7.195.0 → 7.197.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (132) hide show
  1. package/.opencode/skills/brainstorm/SKILL.md +2 -1
  2. package/.opencode/skills/ci-failure-batching/SKILL.md +2 -1
  3. package/.opencode/skills/ci-fix-monitor/SKILL.md +2 -1
  4. package/.opencode/skills/clarify/SKILL.md +2 -1
  5. package/.opencode/skills/clarify-spec/SKILL.md +2 -1
  6. package/.opencode/skills/codebase-review-swarm/SKILL.md +1 -1
  7. package/.opencode/skills/commit-pr/SKILL.md +3 -2
  8. package/.opencode/skills/consult/SKILL.md +2 -1
  9. package/.opencode/skills/council/SKILL.md +2 -1
  10. package/.opencode/skills/critic-gate/SKILL.md +2 -1
  11. package/.opencode/skills/deep-dive/SKILL.md +2 -1
  12. package/.opencode/skills/deep-research/SKILL.md +2 -1
  13. package/.opencode/skills/design-docs/SKILL.md +2 -1
  14. package/.opencode/skills/discover/SKILL.md +2 -1
  15. package/.opencode/skills/durable-session-state/SKILL.md +2 -1
  16. package/.opencode/skills/engineering-conventions/SKILL.md +2 -1
  17. package/.opencode/skills/execute/SKILL.md +2 -1
  18. package/.opencode/skills/fork-pr-operations/SKILL.md +2 -1
  19. package/.opencode/skills/gate-attribution/SKILL.md +2 -1
  20. package/.opencode/skills/issue-ingest/SKILL.md +2 -1
  21. package/.opencode/skills/issue-tracer/SKILL.md +1 -1
  22. package/.opencode/skills/loop/SKILL.md +2 -1
  23. package/.opencode/skills/merge-queue-readiness/SKILL.md +2 -1
  24. package/.opencode/skills/orchestrating-subagents/SKILL.md +2 -1
  25. package/.opencode/skills/parallel-work-check/SKILL.md +17 -16
  26. package/.opencode/skills/phase-wrap/SKILL.md +2 -1
  27. package/.opencode/skills/pre-phase-briefing/SKILL.md +2 -1
  28. package/.opencode/skills/running-tests/SKILL.md +2 -1
  29. package/.opencode/skills/skill-edit-validation/SKILL.md +2 -1
  30. package/.opencode/skills/specify/SKILL.md +2 -1
  31. package/.opencode/skills/swarm/SKILL.md +2 -1
  32. package/.opencode/skills/swarm-ci-monitor/SKILL.md +3 -2
  33. package/.opencode/skills/swarm-implement/SKILL.md +2 -1
  34. package/.opencode/skills/swarm-plan/SKILL.md +2 -1
  35. package/.opencode/skills/swarm-pr-feedback/SKILL.md +9 -162
  36. package/.opencode/skills/swarm-pr-feedback/references/gate-evidence-scope.md +20 -0
  37. package/.opencode/skills/swarm-pr-feedback/references/intake-surfaces.md +107 -0
  38. package/.opencode/skills/swarm-pr-feedback/references/preflight-checkout.md +67 -0
  39. package/.opencode/skills/swarm-pr-review/SKILL.md +12 -344
  40. package/.opencode/skills/swarm-pr-review/references/council-mode.md +38 -0
  41. package/.opencode/skills/swarm-pr-review/references/explorer-output-format.md +54 -0
  42. package/.opencode/skills/swarm-pr-review/references/findings-persistence-detail.md +15 -0
  43. package/.opencode/skills/swarm-pr-review/references/parser-candidate-extraction.md +75 -0
  44. package/.opencode/skills/swarm-pr-review/references/phase0a-intake.md +61 -0
  45. package/.opencode/skills/swarm-pr-review/references/scope-detection.md +103 -0
  46. package/.opencode/skills/swarm-pr-review/references/writeback-phases.md +68 -0
  47. package/.opencode/skills/swarm-pr-subscribe/SKILL.md +3 -2
  48. package/.opencode/skills/swarm-resume/SKILL.md +2 -1
  49. package/.opencode/skills/test-file-split/SKILL.md +2 -1
  50. package/.opencode/skills/worktree-retry-cleanup/SKILL.md +2 -1
  51. package/.opencode/skills/writing-tests/SKILL.md +7 -437
  52. package/.opencode/skills/writing-tests/references/cross-platform-patterns.md +237 -0
  53. package/.opencode/skills/writing-tests/references/mock-tiers.md +207 -0
  54. package/README.md +1 -1
  55. package/binaries/win32-arm64/swarm-sandbox-runner.exe +0 -0
  56. package/binaries/win32-x64/swarm-sandbox-runner.exe +0 -0
  57. package/dist/cli/{auto-checkpoint-anf21wwa.js → auto-checkpoint-s05sxmg6.js} +4 -4
  58. package/dist/cli/{checkpoint-ngdw2qx2.js → checkpoint-kzyy9b7y.js} +8 -8
  59. package/dist/cli/{coder-settlement-bqb059y2.js → coder-settlement-d1qqfgdm.js} +3 -3
  60. package/dist/cli/{config-doctor-vetg215g.js → config-doctor-yrven0ya.js} +7 -7
  61. package/dist/cli/{core-8qgvsm6x.js → core-qpmksfae.js} +1 -1
  62. package/dist/cli/{curator-drift-3gjycbkv.js → curator-drift-2h6nf0mw.js} +5 -5
  63. package/dist/cli/{curator-llm-factory-d17ybmgm.js → curator-llm-factory-kt3jhgs9.js} +25 -25
  64. package/dist/cli/{curator-hh0n9wgz.js → curator-mqnqst1g.js} +25 -25
  65. package/dist/cli/{doctor-knowledge-receipt-phase-id-1d465vkg.js → doctor-knowledge-receipt-phase-id-d8arz38j.js} +4 -4
  66. package/dist/cli/{evidence-summary-service-rkd3yc5x.js → evidence-summary-service-gjs4zssz.js} +9 -9
  67. package/dist/cli/{gate-evidence-wtjrerkh.js → gate-evidence-9n5r17hq.js} +2 -2
  68. package/dist/cli/{guardrail-explain-8xh3r0dn.js → guardrail-explain-g4wcr664.js} +26 -26
  69. package/dist/cli/{guardrail-log-jrey2myg.js → guardrail-log-0hy23f7d.js} +3 -3
  70. package/dist/cli/{guardrail-reset-m5qbg30j.js → guardrail-reset-9z5rmp3f.js} +25 -25
  71. package/dist/cli/{hive-promoter-36yhdfre.js → hive-promoter-w8f840ah.js} +25 -25
  72. package/dist/cli/{index-gz16dke1.js → index-1cks27mv.js} +6 -6
  73. package/dist/cli/{index-epdzvp4w.js → index-1gnrtz76.js} +5 -5
  74. package/dist/cli/{index-jn4mmhqc.js → index-20m9q2z9.js} +1 -1
  75. package/dist/cli/{index-yryy781f.js → index-29xr45xr.js} +153 -52
  76. package/dist/cli/{index-bpq6z8qe.js → index-3qqnz0jg.js} +3 -3
  77. package/dist/cli/{index-kmvy5fr8.js → index-401a12w5.js} +1 -1
  78. package/dist/cli/{index-jatgbm7k.js → index-5p0jhn2s.js} +1 -1
  79. package/dist/cli/{index-gns3gc87.js → index-67w61x1b.js} +3 -3
  80. package/dist/cli/{index-ha8xc5d3.js → index-8ahnfc03.js} +2 -2
  81. package/dist/cli/{index-akb436kn.js → index-8zwmfh9d.js} +1 -1
  82. package/dist/cli/{index-3k65kdfp.js → index-9px1knpj.js} +1 -1
  83. package/dist/cli/{index-1hcjxz6w.js → index-9sqcmzc2.js} +2 -2
  84. package/dist/cli/{index-9teqkkp4.js → index-agvmmvdt.js} +25 -25
  85. package/dist/cli/{index-tc8x0zc5.js → index-avbvxmw2.js} +1 -1
  86. package/dist/cli/{index-c6hyd8hg.js → index-bpnpvhja.js} +1 -1
  87. package/dist/cli/{index-8448vj9w.js → index-dgvf1jey.js} +1 -1
  88. package/dist/cli/{index-bftpd2m5.js → index-eabxecjf.js} +2 -2
  89. package/dist/cli/{index-6vpqe4ws.js → index-fzx1wfxn.js} +1 -1
  90. package/dist/cli/{index-h7275akd.js → index-g1r94prs.js} +27 -27
  91. package/dist/cli/{index-82aj6gaj.js → index-g749xs7c.js} +2 -2
  92. package/dist/cli/{index-7kbpzg05.js → index-jvpvghyh.js} +328 -224
  93. package/dist/cli/{index-780g1hht.js → index-jvzfw0n5.js} +1 -1
  94. package/dist/cli/{index-479kf368.js → index-mbdkr2sh.js} +1 -1
  95. package/dist/cli/{index-c4hx57tz.js → index-ng6me2hh.js} +2 -2
  96. package/dist/cli/{index-fk4j26km.js → index-njfkqr77.js} +3 -3
  97. package/dist/cli/{index-peyz4k9k.js → index-t3tzk566.js} +1 -1
  98. package/dist/cli/{index-z59414gv.js → index-v8jhmn8x.js} +1 -1
  99. package/dist/cli/{index-5gf2wx2c.js → index-xb3h5tvj.js} +4 -4
  100. package/dist/cli/{index-xs9cn3c0.js → index-xf6tdsyr.js} +3 -3
  101. package/dist/cli/{index-863hst4e.js → index-ysbmrmzk.js} +1 -1
  102. package/dist/cli/index.js +26 -26
  103. package/dist/cli/{knowledge-escalator-6sgrjbcj.js → knowledge-escalator-42cvn0ec.js} +7 -7
  104. package/dist/cli/{knowledge-events-hztjt63y.js → knowledge-events-v0xavjkd.js} +5 -5
  105. package/dist/cli/{knowledge-store-3sd2034v.js → knowledge-store-s01cread.js} +1 -1
  106. package/dist/cli/{knowledge-validator-3fe82zy4.js → knowledge-validator-kvtcqpke.js} +2 -2
  107. package/dist/cli/{mcp-spbx3efe.js → mcp-ff73w9z7.js} +1 -1
  108. package/dist/cli/{model-preflight-k2bw7rt1.js → model-preflight-0k8bd388.js} +25 -25
  109. package/dist/cli/{pending-delegations-kcvd9t41.js → pending-delegations-bmj7djk1.js} +2 -2
  110. package/dist/cli/{pr-subscriptions-nqby87en.js → pr-subscriptions-9dbrw7ky.js} +1 -1
  111. package/dist/cli/{pr-workflow-gate-cgbc0x1z.js → pr-workflow-gate-wg003fkd.js} +25 -25
  112. package/dist/cli/{scan-cursor-sphr9phs.js → scan-cursor-d93q0q3s.js} +2 -2
  113. package/dist/cli/{schema-x892aatt.js → schema-0ny9ef6s.js} +1 -1
  114. package/dist/cli/{scope-persistence-n9xksct2.js → scope-persistence-ekcfq34x.js} +5 -5
  115. package/dist/cli/{server-am2y11yn.js → server-rpx7pkg1.js} +25 -25
  116. package/dist/cli/{skill-generator-p71b6h5k.js → skill-generator-h1w7s5dh.js} +8 -8
  117. package/dist/cli/{snapshot-coordination-init-x9b4t9sk.js → snapshot-coordination-init-f6ecsn9c.js} +25 -25
  118. package/dist/cli/{speckit-checkoff-xp9vsp9k.js → speckit-checkoff-kf0zkpdw.js} +3 -3
  119. package/dist/cli/{worktree-collision-ownership-2pmyww6g.js → worktree-collision-ownership-p7zmj4ag.js} +2 -2
  120. package/dist/cli/{worktree-isolation-379tmkta.js → worktree-isolation-nz90xvw5.js} +25 -25
  121. package/dist/commands/registry.d.ts +1 -1
  122. package/dist/config/skill-contract-digest.d.ts +6 -0
  123. package/dist/epic/start.d.ts +5 -4
  124. package/dist/hooks/skill-scoring.d.ts +1 -1
  125. package/dist/hooks/skill-usage-log.d.ts +2 -0
  126. package/dist/host/v2/agents-commands.d.ts +13 -3
  127. package/dist/index.js +103 -98
  128. package/dist/sbom/detectors/index.d.ts +15 -0
  129. package/dist/services/skill-evaluator.d.ts +2 -0
  130. package/dist/services/skill-generator.d.ts +13 -0
  131. package/dist/tools/sbom-generate.d.ts +1 -1
  132. package/package.json +1 -1
@@ -0,0 +1,61 @@
1
+ # Phase 0A signal-intake steps (fetch, classify, merge) and anti-patterns
2
+
3
+ ### Step 1 — Fetch all PR feedback surfaces
4
+
5
+ The commands below are GitHub examples. On GitLab, Bitbucket, Gerrit, or
6
+ another code host, use the host's API/connector/CLI to enumerate the same full
7
+ surface, including pagination and unresolved-thread state. Host choice never
8
+ reduces the intake ledger.
9
+
10
+ ```bash
11
+ # Issue comments (general PR thread)
12
+ gh api --paginate repos/{owner}/{repo}/issues/{PR_NUMBER}/comments
13
+
14
+ # Review comments (inline code comments)
15
+ gh api --paginate repos/{owner}/{repo}/pulls/{PR_NUMBER}/comments
16
+
17
+ # Review summaries (approve/request-changes/comment events)
18
+ gh api --paginate repos/{owner}/{repo}/pulls/{PR_NUMBER}/reviews
19
+ ```
20
+
21
+ `--paginate` requests every REST page. These three calls are gate-allowed as
22
+ written. A literal jq filter passed as one closed double-quoted `gh api --jq`
23
+ argument is also allowed when it needs no backslash-escaped nested double
24
+ quotes; use `gh_evidence` when a portable filter cannot meet that shape. A real
25
+ shell pipeline to `jq` or another command remains blocked. To
26
+ separate bot/automated reviews (Copilot, Codex, CodeRabbit, etc.) from human
27
+ ones, apply the same predicate in context to the JSON already returned above
28
+ — `user.type == "Bot"` or a `user.login` match against
29
+ `bot|copilot|coderabbit|codex` (case-insensitive) — instead of re-fetching
30
+ with a shell-side `--jq` filter. `gh_evidence` with `target: "pr"` and
31
+ `fields: "comments"` is the sanctioned read-only tool path for the same PR
32
+ comment data when a tool call is preferred over a raw shell command. `gh pr
33
+ view --json comments,reviews` is convenience-only because those fields have
34
+ item caps; never use it as the authoritative "all signals" intake.
35
+
36
+ ### Step 2 — Classify each comment
37
+
38
+ | Category | Action |
39
+ |----------|--------|
40
+ | **Human review with file:line evidence** | Add as candidate finding with `source: existing-review` — still needs reviewer validation |
41
+ | **Bot/automated finding with specific code reference** | Add as candidate finding with `source: bot-review` — high false-positive rate, treat as unverified |
42
+ | **General feedback / style preference** | Add as advisory obligation |
43
+ | **Resolved/outdated comment** | Skip — note in report under "Ingested Resolved Comments" |
44
+ | **Requested changes not yet addressed** | Add as HIGH-priority obligation |
45
+
46
+ ### Step 3 — Merge into review pipeline
47
+
48
+ All ingested comments become candidate findings or obligations. They follow the
49
+ same Phase 3-8 pipeline as freshly discovered findings. Ingested findings are
50
+ NOT pre-confirmed — they still require independent reviewer validation per the
51
+ Anti-Self-Review Rule.
52
+
53
+ **Comment-ledger output:**
54
+ ```
55
+ [INGESTED] | source | category | file:line (if applicable) | original_author | status: PENDING_VALIDATION / SKIPPED_OUTDATED / ADVISORY
56
+ ```
57
+
58
+ ### Anti-patterns
59
+ - ✗ Ignoring bot reviews because "bots produce false positives" — they also catch real issues
60
+ - ✗ Pre-confirming human review comments without independent validation — even senior reviewers make mistakes
61
+ - ✗ Skipping inline review comments and only reading the summary — inline comments contain the evidence
@@ -0,0 +1,103 @@
1
+ # Scope Detection, pre-flight git ref availability, and shell rules under the PR_REVIEW gate
2
+
3
+ ### Shell rules under the PR_REVIEW gate
4
+
5
+ The gate accepts one command per tool call — never compose commands with
6
+ `&&`, `;`, shell pipelines, redirects (`>`, `>>`, `<`), or `$(...)`/`` ` ``
7
+ substitution. The only literal-pipe exception is inside one closed
8
+ double-quoted `gh api --jq` argument with no backslash-escaped nested double
9
+ quotes; that escape is ambiguous under `cmd.exe`. The exception does not
10
+ permit an outer pipeline or any other control syntax.
11
+ A single leading `cd <dir> &&` prefix and a trailing `2>&1` suffix are
12
+ tolerated, but only on read-only commands. State-transition verbs — `git
13
+ fetch`, `git checkout`, `git switch`, `git branch`, and `gh pr checkout` —
14
+ must always run bare: no `cd` prefix, no `2>&1` suffix.
15
+
16
+ Allowed read-only `git` subcommands: `status`, `log`, `show`, `diff`,
17
+ `rev-parse`, `merge-base`, `ls-files`, `grep`, `blame`, `cat-file`,
18
+ `for-each-ref`, `branch --list` (listing only — mutation flags are blocked),
19
+ `remote -v`, and `config --get`.
20
+
21
+ Prefer tools over raw shell for state that a single read-only command cannot
22
+ cover cleanly:
23
+
24
+ - `pr_workflow_status` — observe local HEAD, branch, dirty-file state,
25
+ remotes, and gate state in one read-only call.
26
+ - `gh_evidence` — bounded PR/issue/run metadata without a shell round-trip.
27
+ - If `gh` is not installed, the web fetch tool against the equivalent
28
+ `api.github.com` REST URL is the degraded read-only path.
29
+
30
+
31
+ Determine review scope using this priority:
32
+
33
+ 1. explicit user-provided PR URL, PR number, commit, branch, or file scope,
34
+ 2. current feature branch diff vs the remote-tracking base ref (`origin/main`,
35
+ `origin/master`; a local `main`/`master` only as a last resort — it is only as
36
+ fresh as the last fetch and yields a different merge base),
37
+ 3. staged changes,
38
+ 4. latest commit,
39
+ 5. user-specified files or directories.
40
+
41
+ Record:
42
+
43
+ - base ref,
44
+ - head ref,
45
+ - commit range,
46
+ - changed files,
47
+ - deleted files,
48
+ - generated files,
49
+ - lockfiles,
50
+ - test files,
51
+ - docs/config/schema files,
52
+ - whether the working tree is dirty.
53
+
54
+ If scope cannot be determined, review the narrowest safe scope available and state the limitation.
55
+
56
+ ### Pre-flight git ref availability
57
+
58
+ Before launching explorers (Phase 3), perform this exact standalone sequence:
59
+
60
+ 1. Resolve and retain the authoritative full `pr_head_sha` from PR metadata.
61
+ 2. Verify the working tree is clean with `git status --porcelain`. If it is
62
+ dirty at all — tracked changes, untracked files, or both — call
63
+ `prepare_pr_workflow_checkout` (Profile A). The tool supports
64
+ self-discovery: call it with no `paths` argument to auto-discover and
65
+ preserve every dirty path in one step, including untracked files; an
66
+ already-clean tree returns a no-op (nothing is stashed, no receipt is
67
+ written). Pass explicit `paths` only when you already have the exact,
68
+ bounded list of dirty tracked files and want the older exact-match
69
+ contract. Without the controller (Profiles B/C), do not blind-stash over
70
+ dirty state: surface tracked changes to the user, or abort. Do not issue
71
+ `git stash` through shell.
72
+ Treat the controller's Git-state result as final for this attempt: `clean`
73
+ proceeds, `stashable` permits exactly one checkout-preparation call, and
74
+ `recovery-required` or `indeterminate` means report the typed
75
+ `required_action`, abort/clear any already-active gate, and stop. Retry only
76
+ when the controller explicitly returns `retryable: true`; never fight an
77
+ unmerged index or in-progress Git operation with repeated stash attempts.
78
+ 3. Fetch the PR head as one standalone command, for example
79
+ `git fetch origin refs/pull/<N>/head`. Do not compose fetch and checkout.
80
+ 3a. Fetch the base branch as its own standalone command, for example
81
+ `git fetch origin main`. Skipping this is the single most common cause of a
82
+ rejected dispatch: the merge base is recomputed against `base_ref`, and a
83
+ local `main`/`refs/heads/main` that was never refreshed resolves to a
84
+ different commit than `origin/main` for the same `base_sha`.
85
+ 4. Prove the full commit exists locally with two portable standalone commands:
86
+ `git rev-parse --verify <full_pr_head_sha>^0`, then
87
+ `git cat-file -t <full_pr_head_sha>`. The second command must print
88
+ `commit`. This avoids shell/wrapper parsing differences around the
89
+ `^{commit}` suffix on Windows.
90
+ 5. Check out the exact PR filesystem with
91
+ `git switch --detach <full_pr_head_sha>`. Do not use `--track FETCH_HEAD`:
92
+ `FETCH_HEAD` is not a remote-tracking branch.
93
+ 6. Confirm `git rev-parse HEAD` equals the full `pr_head_sha`, bind that exact
94
+ head (Profile A: through the first PR-review controller call; Profiles B/C:
95
+ record it at the top of the findings ledger and repeat it in every lane
96
+ prompt), and finish this before dispatching explorer lanes.
97
+
98
+ Explorer agents read files from the working tree, not from git history. Passing
99
+ the commit range in a prompt cannot substitute for this checkout because
100
+ `Read` / `Glob` / `Grep` operate on the filesystem.
101
+ - Explicitly pass the verified merge-base range (`base_sha...pr_head_sha`) in every explorer delegation so explorers inspect exactly the bound PR diff. Include `base_ref` only as the live ref used to recompute `base_sha`; do not substitute a two-dot branch-tip range.
102
+
103
+ If refs cannot be fetched or checked out, state the limitation in the context pack.
@@ -0,0 +1,68 @@
1
+ # Phase 10 Metrics and Knowledge Writeback / Phase 11 Post-Fix Re-verification
2
+
3
+ ## Phase 10: Metrics and Knowledge Writeback
4
+
5
+ At the end of the review, include review quality metrics in the final report's
6
+ validation provenance. Persist them only through an invoked evidence tool and
7
+ record the exact `.swarm/evidence/` path returned by that tool; if no invoked
8
+ tool supports metrics (including all of Profiles B/C), state `NOT PERSISTED —
9
+ no metrics evidence writer` and keep the metrics block in the final report and
10
+ session ledger rather than naming a nonexistent command or path.
11
+
12
+ Record:
13
+
14
+ - raw candidates by base lane,
15
+ - raw candidates by micro-lane,
16
+ - deterministic tool candidates,
17
+ - reviewer-confirmed findings,
18
+ - reviewer-disproved findings,
19
+ - reviewer-unverified findings,
20
+ - critic-upheld findings,
21
+ - critic-downgraded findings,
22
+ - critic-disproved findings,
23
+ - final reported findings,
24
+ - suppressed non-actionable candidates,
25
+ - recurring false-positive patterns,
26
+ - commands or probes used,
27
+ - token/time cost if available,
28
+ - accepted/fixed findings when known.
29
+
30
+ Knowledge writeback rules:
31
+
32
+ - Write back only validated true positives or validated false-positive patterns.
33
+ - Include file patterns, invariant, evidence, and why it was confirmed/disproved.
34
+ - Mark repo-specific lessons as project-tier unless there is strong evidence they generalize.
35
+ - Never promote quarantined or unvalidated knowledge to hive-tier.
36
+ - Never store secrets, private tokens, or raw sensitive logs.
37
+
38
+ ---
39
+
40
+ ## Phase 11: Post-Fix Re-verification
41
+
42
+ When the PR author pushes fixes after a review, perform a targeted re-verification before updating the verdict.
43
+
44
+ ### Re-verification scope
45
+
46
+ Only re-verify findings the author claims to have fixed. Do not re-run the full review pipeline.
47
+
48
+ ### Re-verification steps
49
+
50
+ 1. For each finding the author claims fixed:
51
+ a. Read the changed file(s) from the updated branch at the specific lines referenced in the original finding.
52
+ b. Verify the fix addresses the root cause, not just the symptom.
53
+ c. Check that the fix does not introduce a new issue in the same area.
54
+ 2. Run CI checks on the updated branch to confirm no regressions.
55
+ 3. For findings the author did not address, carry forward the original finding with unchanged status.
56
+
57
+ ### Re-verification output
58
+
59
+ ```
60
+ [REVERIFIED] | finding_id | FIXED / PARTIALLY_FIXED / NOT_FIXED / NEW_ISSUE | evidence | updated_severity
61
+ ```
62
+
63
+ - `FIXED`: the root cause is resolved and no new issue introduced.
64
+ - `PARTIALLY_FIXED`: the root cause is partially addressed or a residual concern remains.
65
+ - `NOT_FIXED`: the root cause persists unchanged.
66
+ - `NEW_ISSUE`: the fix introduced a new problem at the same location.
67
+
68
+ Update the verdict only after re-verifying all previously blocking findings.
@@ -1,13 +1,14 @@
1
1
  ---
2
2
  name: swarm-pr-subscribe
3
- audience: swarm-plugin
4
3
  description: >
5
4
  Monitor a pull request after creation and act autonomously on pushed PR
6
5
  activity. Use when subscribing to a PR after opening it, when asked to watch,
7
6
  babysit, or autofix a PR until merge, or when a <pr-activity> wake message or
8
7
  [pr-monitor:...] advisory arrives for a subscribed PR. Owns event triage
9
8
  (fix / ask / skip), bounded-retry escalation, and terminal-state cleanup.
10
- swarm-contract-digest: 1f679751e34e
9
+ metadata:
10
+ audience: swarm-plugin
11
+ swarm-contract-digest: 1f679751e34e
11
12
  ---
12
13
 
13
14
  # Swarm PR Subscribe
@@ -1,8 +1,9 @@
1
1
  ---
2
2
  name: swarm-resume
3
- audience: swarm-plugin
4
3
  description: >
5
4
  Full execution protocol for MODE: RESUME -- continuing an existing approved plan safely from current state.
5
+ metadata:
6
+ audience: swarm-plugin
6
7
  ---
7
8
 
8
9
  # Resume Protocol
@@ -1,7 +1,8 @@
1
1
  ---
2
2
  name: test-file-split
3
- audience: swarm-plugin
4
3
  description: Protocol for splitting test files that approach or exceed the FR-006 500-line limit (enforced in CI by scripts/check-test-file-cap.ts as a diff-scoped ratchet). Covers describe-block extraction, shared helper management, pure-function extraction, mock isolation verification, and cascading-split detection. Load when a test file approaches or exceeds 500 lines.
4
+ metadata:
5
+ audience: swarm-plugin
5
6
  ---
6
7
 
7
8
  # Test File Split Protocol (FR-006)
@@ -1,7 +1,8 @@
1
1
  ---
2
2
  name: worktree-retry-cleanup
3
- audience: swarm-plugin
4
3
  description: Protocol for cleaning parallel-coder worktree lanes before retry. Triggered before re-dispatching any task that already has a lane (completed, denied, cancelled, or failed).
4
+ metadata:
5
+ audience: swarm-plugin
5
6
  ---
6
7
 
7
8
  # Worktree Retry Cleanup