Skip to content

Extend swarm lens set to 11 lenses in 4 clusters#35

Open
gering wants to merge 1 commit into
mainfrom
task/extend-swarm-lens-set
Open

Extend swarm lens set to 11 lenses in 4 clusters#35
gering wants to merge 1 commit into
mainfrom
task/extend-swarm-lens-set

Conversation

@gering

@gering gering commented Jul 15, 2026

Copy link
Copy Markdown
Owner

Summary

  • Grow /swarm:review's Claude lens set from 5 topical lenses to 11 by importing the two missing decomposition axes: methodological (removed-behavior, cross-file-trace) and design quality (reuse, simplification, efficiency, altitude) — all default-on, so every run reviews maintainability, not just defects.
  • Organize the 11 lenses into 4 clusters (LENS_CLUSTERS — single source of truth for the follow-up per-cluster externals task): breakage / threat / design / consistency. The Claude fan-out runs one finder per cluster by default (≤4 agents); --max splits to one finder per lens (≤11). The gate still prunes per-lens; an empty cluster spawns no agent.
  • Design findings carry a derived kind: "design" (no finding-schema change), pass the same 3-state verifier with a kind-aware applicability prompt (reuse target real? simpler form behavior-identical?), and render in their own Design report table so suggestions never dilute the defect ranking.

Changes

  • plugins/swarm/workflows/swarm-review.js — 6 new lens briefs; LENS_CLUSTERS + lensKind; per-cluster/per-lens fan-out ladder; gate prompt treats design lenses first-class; lens-prefix regex accepts hyphenated names ([\w-]); member-derived cluster kind (mixed ⇒ defect); kind-aware verify prompt; kind-first ranking; balance.design
  • plugins/swarm/skills/review/SKILL.md — external prompt names all 11 angles (one broad prompt per backend, as before); report renders a second same-format Design table with shared numbering; balance line gains · <design> Design; --pr post tags design rows with their lens; --max + Notes docs
  • Docs/knowledge sweep: plugin README (cluster table), pipeline-blueprint authority note, swarm-review-pipeline.md (lens table + verify-path decision), root README, CLAUDE.md, CHANGELOG
  • Version: swarm 0.4.2 → 0.5.0 (minor — new review surface)

Readiness

  • ✅ clean tree, rebased onto main
  • ✅ README (root + plugin) updated
  • ✅ version bumped + in sync (plugin.json / marketplace.json)
  • ✅ CHANGELOG entry (0.5.0)
  • ✅ knowledge entry + index updated
  • check-structure.py: 0 errors (3 pre-existing description-length warnings)
  • ➖ lint/build: N/A (declarative plugin repo)

Test plan

  • /swarm:review on a mixed diff: 4 cluster finders spawn (watch /workflows), findings keep per-lens [lens] prefixes
  • /swarm:review --max: one finder per gated lens (≤11), design lenses at xhigh
  • Report: defect table first, Design table after with shared numbering; balance shows · <n> Design
  • Doc-only diff: gate prunes efficiency-style lenses with a one-clause why
  • Design solo with a bogus reuse target gets REFUTED by the applicability verifier

🤖 Generated with Claude Code

https://claude.ai/code/session_0126cGxsBYxqgEFH4AcpriNk

- Add methodological lenses (removed-behavior, cross-file-trace) and
  design-quality lenses (reuse, simplification, efficiency, altitude),
  all default-on and gate-pruned per-lens like any lens
- Add LENS_CLUSTERS (breakage/threat/design/consistency) as single
  source of truth; Claude fan-out runs one finder per cluster by
  default (<=4 agents), one per lens under --max (<=11)
- Derive kind (defect|design) from the lens name — no finding-schema
  change; mixed merge clusters stay defects
- Verify design solos with a kind-aware applicability prompt through
  the same 3-state verifier (decision: verify, not bypass)
- Render design findings in their own report table with shared
  numbering; balance.design counts the subset
- Extend the external backend prompt with the six new angles so
  cross-family consensus can form on design findings too
- Fix the lens-prefix regex to accept hyphenated lens names
- Sweep docs/knowledge; bump swarm 0.4.2 -> 0.5.0

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0126cGxsBYxqgEFH4AcpriNk
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant