Skip to content

v1.3.0 — Venerable Zeus

Choose a tag to compare

@github-actions github-actions released this 23 Apr 03:40
· 98 commits to master since this release
c1ff251

2026-04-22: Compact table-based Pre-Dispatch format for sdlc-lite-plan and sdlc-plan [output-format]

  1. skills/sdlc-lite-plan/SKILL.md — Step 1 now emits two compact tables on the happy path:

    • Agent coverage table with columns Domain | Specialist | Why — the Specialist column doubles as the final agent list (no separate flat list); writer is marked with ← writer; Why holds the rationale that previously lived in the initial bullet list. Domain covers both role (e.g. implementation review) and infrastructure domain (e.g. plugin install / env bootstrap).
    • Prior context table with columns Source | Ref | Takeaway, or a one-line **Prior context:** none when empty. This unifies Chronicle entries (Source = concept, Ref = D<NN>) with any downstream business decisions (Source = DR name, Ref = DR-<NN>) into a single table rather than emitting Chronicle and Business as separate blocks.
    • The initial "Relevant worker domain agents for this task" bullet list is removed — its content folds into the Why column of the coverage table.
    • Fall-back triggers to the verbose AGENT-RECONFIRM + CHRONICLE-CONTEXT forms are preserved verbatim: coverage gap, chronicle conflict, scope ambiguity.
  2. skills/sdlc-plan/SKILL.md — §1 (CHRONICLE-CONTEXT), §3c (AGENT-RECONFIRM), and §5 (review AGENT-RECONFIRM) mirrored: Prior context table replaces the Chronicle bullet block; AGENT-RECONFIRM becomes a Domain | Specialist | Why table with a delta-from-step-1 one-liner. Tautological ✓ columns and flat Final list: one-liners are removed.

  3. process/sdlc_changelog.md — this entry.

2026-04-22: Compact table-based PRE-GATE / POST-GATE format for sdlc-execute and sdlc-lite-execute [output-format]

  1. skills/sdlc-lite-execute/SKILL.md — §1 now emits a Phase plan table once at the start (columns: # | Agent | Files | Depends | Parallel with), then replaces the per-phase PRE-GATE labeled-field block with a compact ### Phase N — name (agent: X) header + bulleted Design decisions + Expected: line. POST-GATE compacts to a one-line ✓ Phase N — X/Y tests · 0 regressions · 0 stubs · build: pass with indented ⚠ caveats for anomalies that don't warrant the full verbose form.

    Fall-back triggers to the verbose PRE-GATE / POST-GATE templates are listed inline and are mechanical: pattern-found / external-data / dependency re-check / triage ≠ BUILD / re-dispatch (PRE-GATE); build-fails / file-deviation / stubs-on-final-phase / phase-bleeding / re-dispatch / data-audit-mismatch (POST-GATE). The verbose templates are preserved verbatim; they're the fall-back, not removed. Added an explicit Stubs: field to the verbose POST-GATE so stub-audit results live in the gate block, not buried in prose.

  2. skills/sdlc-execute/SKILL.md — mirrored. Same Phase plan table, same compact PRE-GATE / POST-GATE, same fall-back triggers (plus Triage ≠ BUILD as a trigger since full execute includes the SKIP / REVISE_PLAN triage step that lite-execute omits).

  3. process/sdlc_changelog.md — this entry.

2026-04-22: DRY lens in sdlc-reviewer + Dimension 10 (Cross-Skill DRY) in ccsdlc-audit [drift-prevention]

  1. agents/sdlc-reviewer.md (also affects .claude/agents/sdlc-reviewer.md via hardlink) — Added a Cross-Skill DRY (overlap with sibling skills) checklist subsection under Skill-Specific Checks → Content Quality. Reviewer now greps .claude/skills/*/SKILL.md for verbatim paragraph duplication, near-verbatim conceptual clusters, trigger overlap, and reinforcement-paragraph drift; reports each with the recommended extraction target. Includes scoping rules (ignore code fences, ignore canonical phrasing-contract lines, ignore one-line pointers, ignore tier/variant pairs) so the lens doesn't fire on legitimate shared form. Severity scale: major for verbatim ≥3 sentences, minor for near-verbatim, info for trigger overlap with anti-trigger acknowledgement.
  2. .claude/skills/ccsdlc-audit/SKILL.md — Added Dimension 10 (Cross-Skill DRY) to the Audit Dimensions summary list and updated the description so the new dimension surfaces at trigger time.
  3. .claude/skills/ccsdlc-audit/references/compliance-methodology.md — Full Dimension 10 methodology (scope, what to detect, scoping rules, recommendation format with extraction target, severity scale, lightweight detection method using shingle-style grep) and added Dimension 10 to the Report Format template.

2026-04-22: Adopt skills, templates, knowledge, and discipline insights from neuroloom

  1. skills/sdlc-debug-incident/SKILL.md (new) — Two-phase incident workflow (TRIAGE → CLOSEOUT). Replaces neuroloom's hardcoded agent matrix with a reference to [sdlc-root]/process/agent-selection.yaml so the skill stays consistent with planning/review when projects add domain agents. Auto-detects mode from incident doc state; hands off remediation to sdlc-plan / sdlc-lite-plan.

  2. skills/sdlc-create-reference-doc/SKILL.md (new) — Author + review-quorum workflow for internal developer-facing reference docs (event schemas, API surfaces, pipeline stage inventories). Strict template compliance, mandatory path:line anchors, registers in docs/reference/_index.md. Agent matrix references agent-selection.yaml rather than hardcoding roles.

  3. templates/decision_record_template.md (new) — Lightweight ADR with expiration / revisit conditions and depends_on / informs traceability. Distinguishes from generic ADRs by capturing when to re-evaluate and which deliverables/decisions it depends on or informs.

  4. templates/reference_doc_template.md (new) — Companion to sdlc-create-reference-doc. Frontmatter schema (title, slug, category, owner_agent, audience, last_verified_commit, last_verified_date, related_deliverables) plus fixed section order (Summary, Key Concepts, Reference, Examples, Gotchas, Related Code, Related Docs, Change Log).

  5. knowledge/search/ (new directory, 8 files) — Generic IR/RAG knowledge: retrieval-strategy-patterns, ingestion-pipeline-patterns, vector-index-tuning-patterns, retrieval-evaluation-patterns, multi-strategy-retrieval-patterns, evidence-combination-frameworks, score-transform-catalog, plus README. Excluded neuroloom-specific files (hindsight-algorithm-reference.md, temporal-supersession-demotion-patterns.md). Wired to ml-engineer in agent-context-map.yaml.

  6. agents/AGENT_SUGGESTIONS.md — Added dx-engineer entry for projects shipping public SDKs, CLIs, MCP servers, plugins, or anything with external developers as the primary user. Covers SDK API design, CLI ergonomics, error message clarity, quickstart flows, package publishing pipelines, and friction audits.

  7. CLAUDE-SDLC.md — Added Commit Message Format section. Codifies conventional-commits prefix style, prohibits hard-wrapping body text at 72 chars (GitHub-first reading model), allows intentional line breaks for meaning.

  8. process/commands.md — Registered both new skills under a new Incidents & Reference Docs section.

  9. disciplines/architecture.md — Added 4 generic parking-lot insights (async session/connection factory pattern, advisory lock + connection pool race, lazy initialization defensiveness, "metadata-only" flag enforcement).

  10. disciplines/data-modeling.md — Added 4 generic parking-lot insights (multi-tenant isolation at every CTE hop, LEFT JOIN ON-vs-WHERE filter placement, ORM-enabled DML still firing onupdate, idle-in-transaction COMMIT discipline).

  11. disciplines/testing.md — Added 2 generic parking-lot insights (test name vs scenario consistency, stub fixtures must match live API shape).

  12. disciplines/observability.md — Added 1 generic parking-lot insight (absence-of-logs monitors need a guaranteed signal floor).

  13. disciplines/coding.md — Added 1 generic parking-lot insight (logger backend choice changes extra= semantics).

  14. skeleton/manifest.json — Registered the two new skills, two new templates, the knowledge/search/ directory, and all 8 search knowledge files.

  15. knowledge/agent-context-map.yaml — Wired ml-engineer to the new search knowledge files (search-engineer doesn't exist as a default cc-sdlc role).

2026-04-22: BOOTSTRAP-LITE.md — minimal starter kit for teams new to cc-sdlc [on-ramp]

  1. BOOTSTRAP-LITE.md (new) — 12-step bootstrap flow. The entire bootstrap is installation, not an SDLC work session, so all mechanical text manipulation (skill-file reference stripping, YAML path rewrites, CLAUDE.md append) is performed directly by Claude Code rather than dispatched to fullstack-developer. Step 4 copies the two lite skills, then surgically removes references to framework pieces not installed in lite (chronicle, playbooks, agent-selection.yaml, knowledge-routing.md, collaboration_model.md, deliverable_lifecycle.md, structured-gap-detection paragraph from discipline_capture.md) while keeping verbatim the workflow spine: writer-writes-saves, PRE-GATE/POST-GATE, review-fix loop, finding classification, Worker Agent Reviews, plan+result file paths, deliverable ID claim, Completion Report, Context7 verification. Step 9 is the optional custom-skill orchestration, a stripped-down /sdlc-develop-skill (no DRY audit across sibling skills, no phrasing-contract compliance, no sdlc-reviewer gate, no PROJECT-SECTION markers — those assume a migration is coming, which lite does not have).
  2. skeleton/manifest.json — Extended the _not_installed_comment to call out BOOTSTRAP-LITE.md alongside BOOTSTRAP.md as a source-only file.

Design choices worth noting:

  • Install path is ops/sdlc-lite/ not ops/sdlc/ so the full bootstrap can later merge into ops/sdlc/ without collisions. GRADUATION.md documents the upgrade path.
  • Finding classification and review-fix loop are kept intact, not inlined. Initial draft simplified both to 3-class / 4-step inline summaries in the skill bodies. Rejected — those docs are the spine of the review half of the SDLC. Copying them into ops/sdlc-lite/process/ alongside manager-rule.md preserves the full triage vocabulary (FIX / DECIDE / PRE-EXISTING / DEFER / WORDING) and the iterative dispatch-collect-fix-reenter loop the skills depend on.
  • Structured gap detection is dropped, freeform capture kept. The 3 automated comparisons in discipline_capture.md (knowledge-loaded-vs-needed, cross-domain friction, iteration cost — producing MISSING_KNOWLEDGE / UNMAPPED_KNOWLEDGE / STALE_KNOWLEDGE / CROSS_DOMAIN_FRICTION / RESURFACING_PATTERN gaps) need the full knowledge store + handoff protocol to produce meaningful signal. Lite keeps the freeform cross-discipline scan (append insights to the parking lot with [NEEDS VALIDATION]) because that part delivers value immediately; the structured comparisons become meaningful later, at graduation.
  • Bootstrap is manager-direct throughout. Initial draft had Step 4 dispatch fullstack-developer to strip the skill files. Revised — the Manager Rule is a work-session discipline, not an installation discipline. Framework installation is mechanical text manipulation; adding an agent round-trip for path rewrites creates ceremony without benefit and blurs when the Manager Rule actually activates (answer: during the user's first real work session after install).
  • Agent-context-map is a first-class install. The lite roster's knowledge-auto-consult is what makes knowledge files feel load-bearing instead of ornamental — teams that skip it end up with knowledge stores nobody reads, which kills the "learning system" feel.
  • CLAUDE.md merge is the most important file. Without the invocation table + Manager Rule anchor + commit format + changelog rule appended to CLAUDE.md, the assistant does not know when to invoke the lite skills or that the Manager Rule applies. Everything else is scaffolding around this merge.
  • Changelog + deliverable catalog are in the core install, not optional. These are the "memory" half of the SDLC experience — the planning half is the two skills, the memory half is the catalog + changelog. Without both halves, lite is just a planning habit, not a miniature SDLC.

2026-04-22: Writing agents save plan files directly (Manager Rule tightening)

  1. skills/sdlc-lite-plan/SKILL.md — Step 2 now requires the writing worker agent to use the Write tool to save the plan directly to docs/current_work/sdlc-lite/dNN_{slug}_plan.md; the agent returns a short confirmation rather than the plan body. Step 3 revision flow: the re-dispatched writer overwrites the file at the same path. Step 4 retitled from "Save Plan to File" to "Verify Plan File and Append Worker Agent Reviews" — manager verifies existence and appends the reviews section (mechanical metadata, allowed per Manager Rule) but does not write the body. DOT graph updated. Step 5a reference updated. New Red Flags entry: "I'll just save the agent's output myself with Write".

  2. skills/sdlc-plan/SKILL.md — Step 4 updated: writing agent saves the plan file with Write; manager Reads the saved file to verify completeness. DOT graph node renamed to reflect the writer-saves semantic. Step 5 revision flow: re-dispatched writer overwrites the file. Step 5 reviews append explicitly scoped to manager's allowed Edit of mechanical metadata. Step 6a reference updated. New Red Flags entry added parallel to the lite-plan one.

2026-04-22: DRY audit step in sdlc-develop-skill (CREATE 1.5 / MODIFY M1.5) [drift-prevention]

  1. skills/sdlc-develop-skill/SKILL.md — Added a 1.5. DRY Audit step in CREATE mode and a parallel M1.5. DRY Audit step in MODIFY mode. Both grep sibling skills for content overlap before any write, classify the shared content (universal protocol → process/, domain rule → knowledge/, single-skill detail → references/), and default to extraction with one-line pointers rather than inline duplication. MODIFY mode additionally handles multi-skill invocations: when the user is changing 2+ skills in one pass, the skill proposes extraction first and only inlines if the user explicitly declines. Added a cross-skill drift detector that surfaces the same concept worded differently across siblings even when outside the requested change.
  2. skills/sdlc-develop-skill/SKILL.md — Added 4 red flags covering the most common DRY failure modes (duplicating "related" paragraphs, applying the same change to N skills without extraction, inlining "slightly different" wording without justification, skipping the audit on small skills) and updated the Integration section's DRY discipline note to make the extraction-target priority order explicit.
  3. skills/sdlc-develop-skill/SKILL.md — Updated frontmatter description so the DRY audit appears in the trigger-time summary (the description is the primary signal agents use to decide whether to invoke).

2026-04-22: Lite Graduation phase in sdlc-initialize [on-ramp]

  1. skills/sdlc-initialize/SKILL.md — Added Has ops/sdlc-lite/ and Has .claude/skills/sdlc-lite-* to the INITIALIZATION ASSESSMENT block; added a "Lite Graduation" row to the mode-detection table; added a new ## Lite Graduation Mode section with Phase 0-L containing eight sub-steps (inventory + confirm, create full skeleton, move lite content into full layout, rewrite path references in lite skills/agents, remove SDLC-Lite block from CLAUDE.md, remove empty ops/sdlc-lite/, prepend graduation entry to migrated changelog, fall through to Phase 1). Also documented how downstream phases (1, 2, 3, 4, 5, 7) behave in graduated installs — what's preserved and what's added.
  2. BOOTSTRAP-LITE.md — Rewrote the GRADUATION.md content's "How to graduate" section from aspirational ("Bootstrap SDLC will detect and merge") to operational (steps Phase 0-L actually performs, with explicit preserved-vs-added lists).

Design choices worth noting:

  • Move-then-install, not merge-after-install. Phase 0-L moves lite content into the full layout before Phase 1 runs. This lets Phase 1's existing skip-existing-files logic do the preservation automatically — no second pass, no conflict resolution. The alternative (install full, then reconcile) would require Phase 1 to know about lite semantics, which would leak graduation concerns throughout the skill.
  • CLAUDE.md block deletion, not rewrite. Lite appends a # SDLC-Lite block; full appends a full SDLC block. Initial design was to rewrite the lite block in place, but the full block's invocation table, agent roster, and commit conventions are supersets of the lite block — rewriting creates accidental divergence if the full CLAUDE-SDLC.md template evolves. Deleting the lite block and letting Phase 2 append the full block keeps CLAUDE.md sourced from a single template.
  • Graduation entry prepended to migrated changelog, not appended. Changelogs read newest-first; the graduation is the newest event. Preserves the lite history below it chronologically.
  • Dry-run safety is implicit in "move, not copy". If any move fails mid-0-L, ops/sdlc-lite/ is left in an intermediate state, 0-L.f's final non-empty check catches it, and the directory is NOT deleted. User sees exactly which files didn't move and can retry or intervene.

Release notes generated from SDLC Changelog