Skip to content

Releases: alexherrero/crickets

v3.22.0 — V5-4 process-seam adoption (developer-workflows 0.25.0)

19 Jun 05:17

Choose a tag to compare

MINOR — developer-workflows 0.24.0 → 0.25.0: V5-4 process-seam adoption. resolve_plan.py previously bridged directly to agentm/scripts/harness_memory.py resolve-active-plan — an informal reach-in predating the V5-4 process seam. Now that the seam has shipped in agentm (process_seam.py, agentm v5.2.0), the informal bridge is retired in favour of the designed interface. A new find_process_seam.py script (DC-2 compliant — best-effort discovery, graceful-skip to exit 1 when agentm absent) discovers process_seam.py via path-fallback, and resolve_plan.py now makes two seam calls (state-path plan + state-path progress) and reassembles the tab-separated pair. The output contract and exit codes are unchanged (callers see <plan_path>\t<progress_path> on stdout; exit 0/1/2); the seam-vs-fallback switch is fully internal.

Added

  • developer-workflows 0.25.0find_process_seam.py: V5-4 seam discovery bridge. Discovers agentm's process_seam.py via $AGENTM_SCRIPTS_DIR → co-located sibling → ~/Antigravity/agentm/scripts/ path-fallback (mirrors find_capability.py's DC-2 pattern). CLI: find_process_seam.py state-path {plan|progress} [--plan SLUG] [--cwd ROOT]. Exit 1 when seam absent; graceful-skip, never hangs. Injectable seam= path for tests.

Changed

  • developer-workflows 0.25.0resolve_plan.py migrated from harness_memory.py resolve-active-plan to two find_process_seam.py state-path calls. locate_resolver() retained for queue_status.py's agentm-scripts-dir lookup. Backward-compat resolver= alias in resolve() so downstream callers (design_doc, stage_plan, spawn_worker, integrate_worker) need no source changes.

Internal

  • test_find_process_seam.py (16 tests): discovery via $AGENTM_SCRIPTS_DIR / co-located / conventional / absent; run_state_path plan+progress propagation; main() CLI usage; seam-absent graceful exits.
  • test_resolve_plan.py updated: harness_memory.py stubs replaced with find_process_seam.py seam stubs; four delegate tests confirm tab-separated pair output and Risk #7 invariant.
  • test_design_doc.py, test_spawn_worker.py, test_integrate_worker.py: stub-stderr assertions updated to assertNotEqual(err, "").
  • test_obsidian_vault_discovery.py + test_obsidian_vault_doctor.py: fixture configs updated to the post-V5-7 plugin-namespaced key so agentm V5-7's first-read migration does not fire during the test run.
  • Wiki: Named-Plans.md resolver bridge table and description updated for V5-4; Developer-Workflows.md notes find_process_seam.py alongside find_capability.py; Explanation.md stale pending→implemented status corrected.

v3.21.0 — pii-patterns proactive rule (pii 0.2.0)

19 Jun 03:15

Choose a tag to compare

MINOR — pii 0.1.0 → 0.2.0: new pii-patterns rule. The PII guardrail gains a proactive complement to its reactive scrubber skill. Where pii-scrubber catches real values that slipped into a diff, pii-patterns teaches the agent never to write them in the first place: use RFC 2606 domains for emails, `$HOME`/`~` for personal paths, env-var references for API keys, and the 555-01xx range for phone numbers. Fires while writing committed content, not in `.harness/` or runtime config. When a real value is found, it surfaces it to the operator and proposes a stand-in before invoking `pii-scrubber`.

Added

  • `pii` 0.2.0 — `pii-patterns` rule: proactive stand-in conventions so the `pii-scrubber` skill and pre-push hook never have to catch real emails, personal paths, API keys, or phone numbers. Covers: emails → RFC 2606 (`example.com`/`example.org`/`example.net`); paths → `$HOME` / `~` / ``; API keys → env-var references or `<API_KEY>`; phone → 555-01xx reserved range. Applies to committed content only (not `.harness/` or runtime values).

Internal

  • `test_emit_claude.py` version anchor updated: `pii` → `0.2.0`.
  • `test_src_model.py` primitive-count anchor updated: `pii` → 2 (skill + rule).

v3.20.0 — recoverability skill for developer-safety

19 Jun 02:32

Choose a tag to compare

MINOR — developer-safety 0.3.0: new recoverability skill.

The autonomy doctrine that governs every phase command (/work, /bugfix, /release) now ships as a standing skill active in every session — not only inside a named phase.

Added

  • recoverability skill — the stop-gate is reversibility, not destructiveness or blast-radius. Three-class action table:
    • Recoverable (git push, gh pr create, gh release create, …) → announce + proceed, no confirmation wait
    • Unrecoverable (force-push rewriting shared history, sole-ref branch delete, published-tag overwrite, immutable deploy) → stop + confirm
    • Unresolved decision → stop + ask + log as design/plan gap
  • Covers close-out autonomy (archiving completed plans, progress.md appends, ROADMAP moves — always autonomous).
  • Documents the carve-outs the doctrine does not relax: worker-tree authority, PII hook, commit authorship.
  • Cross-references kill-switch / steer / commit-on-stop as the runtime enforcement layer (the skill is pre-action judgment; the hooks are in-flight controls).

v3.19.0 — Three catalog plugins + capability-probe retirement

19 Jun 01:10

Choose a tag to compare

MINOR — three new catalog plugins + developer-workflows 0.24.0: the slug-keyed capability_probe.py is retired in favour of the agentm V5-8 capability resolver (LC-5 downstream), and three new convention/workflow plugins ship their first release.

Added

  • testing-conventions 0.1.0no-skip-tests rule (any skip/xfail marker requires an exact-technical-blocker comment + issue link) and testing-conventions skill (tests-are-sacred · verification-first · 3-layer pyramid). Reference.
  • releasing-conventions 0.1.1version-bump-required rule and ship-release skill (pre-release checklist, changelog shape, paired-release discipline, version-bump policy). Reference.
  • design-docs 0.1.0adr skill (5-section shape with mandatory "why not the alternative" + re-audit triggers) and /design command wrapper (delegates to developer-workflows). Reference.

Changed

  • developer-workflows 0.24.0capability_probe.py retired; find_capability.py is the live path. All 9 phase-command call-sites migrated to capability-keyed resolver queries (adversarial-review, wiki-maintenance, board-sync). DC-2 preserved: best-effort discovery, graceful-skip when agentm absent.
  • code-review 0.2.1 — added capabilities: [adversarial-review] declaration (LC-5 cutover).
  • wiki-maintenance 0.2.3 — added capabilities: [wiki-maintenance] declaration (LC-5 cutover).

Internal

  • Wiki: three new reference pages; Home.md and sidebar updated.
  • ADR 0017 §3 amended: find_capability.py is the live path; re-audit trigger resolved.

v3.18.0 — Five Ship-phase commands (developer-workflows 0.22.1)

16 Jun 14:30

Choose a tag to compare

Summary

Five new commands for the Ship phase of the developer-workflows loop — the gap between /release (the merge gate) and production.

Added

  • /observe — instrumentation discipline: structured logging (log events, not strings), RED metrics (Request rate, Error rate, Duration), OpenTelemetry tracing, symptom-based alerting (alert on error rate, not CPU). Triggered when adding telemetry or shipping to production.
  • /deprecate — deprecation lifecycle: code-as-liability mindset, compulsory vs advisory classification, zombie code removal via the Beyonce Rule. Triggered when removing old systems or migrating callers off an interface.
  • /launch — pre-launch readiness gate: four-item checklist (observability wired, rollback tested, flag off-switch confirmed, staged rollout plan written), feature flag lifecycle table (created → dark launch → staged rollout → full rollout → flag removed).
  • /ci-cd — CI/CD pipeline authoring: Shift Left, Faster is Safer, quality gate pipeline (lint → typecheck → test → build → deploy, each blocks the next), failure feedback loops (no "ship anyway" bypass).
  • /document-decision — ADR trigger workflow: when to write and how to execute. References ### CHANGELOG + ADR shapes in CLAUDE.md; does not redefine the format.

Post-review fixes (0.22.1)

Adversarial review found 5 behavioral defects, all fixed before release:

  1. /deprecate — zombie check ran after compulsory deletion (ordering inverted); now runs before via Beyonce Rule in step 2.
  2. /deprecate — advisory zombie-check failure routed to the compulsory removal path; now extends the deprecation window.
  3. /observe — step 6 was missing PII scan and alert-symptom verification (both checklist items with no process step); added.
  4. /ci-cd — feedback loop closure missing ("confirmed re-run unblocked merge" in checklist but no step); step 7.5 added.
  5. /document-decision — CLAUDE.md section referenced as adr-shape / changelog-shape; corrected to ### CHANGELOG + ADR shapes.

Plugin version

developer-workflows 0.21.2 → 0.22.1

Full changelog: see CHANGELOG.md

v3.17.0 — code-review skill enrichment batch + /doubt (code-review 0.2.0)

16 Jun 07:05

Choose a tag to compare

What's new

code-review 0.1.0 → 0.2.0 — six new primitives:

  • /simplify command — Chesterton's Fence (state why code exists before removing it) + Rule of 500 (500-line function/file as signal, not hard gate). 3-row rationalization table. How-to →
  • security-review skill — three-tier boundary threat modeling: Tier 1 LLM API (prompt injection), Tier 2 Persistence (durable writes), Tier 3 System execution (shell/lateral movement). Required output: VULNERABILITY file:line [Tier N — name] or NO ISSUES FOUND tier-by-tier.
  • testing-strategy skill — Beyonce Rule + DAMP over DRY + Prove-It Pattern. Required output: MISSING-TEST description:behavior or COVERAGE ADEQUATE with explicit Beyonce Rule audit.
  • security-auditor agent — Security Engineer sub-agent; works all three boundary tiers; prose-only output rejected.
  • test-engineer agent — QA Specialist sub-agent; applies Beyonce Rule, Prove-It, DAMP assessment; prose-only output rejected.
  • /doubt command — in-flight adversarial decision review. CLAIM→EXTRACT→DOUBT→RECONCILE→STOP loop. CLAIM never reaches the reviewer. Hard 3-cycle cap; doubt theater escalates immediately. How-to →

Fixes

  • Output token alignment in security-review SKILL.md: [Tier N][Tier N — <tier name>] to match security-auditor output contract (found by adversarial /review).

Internal

  • code-review version 0.1.0 → 0.2.0; skills/ subdir introduced under src/code-review/.
  • CI green: Linux ✓ Mac ✓ Windows ✓
  • 10 commits including two integrated worker plans.

v3.16.1 — duplicate guard refinement + /work and /spec wording fixes

16 Jun 05:31

Choose a tag to compare

PATCH — three fixes found by post-release adversarial review of v3.16.0. No behavior change on the happy path.

Fixed

  • Duplicate guard progress.md check (work.md) — Status: done now checks progress.md for a task-completion line before hard-stopping; resumes close-out steps if none found (interrupted close-out recovery).
  • ## Common Rationalizations heading level (work.md) — demoted H2 → H3 so it stays inside ## Process as a sub-step, not a top-level sibling.
  • /spec/plan handoff wording (spec.md) — removed false claim that /plan auto-reads SPEC.md; accurate language: pass spec content as the brief.

Internal

  • developer-workflows 0.21.1 → 0.21.2. 2 commits. check-all 10/10 PASS.

v3.16.0 — self-amending loop, /interview-me + /spec, anti-rationalization tables, duplicate guard

16 Jun 05:22

Choose a tag to compare

MINOR — developer-workflows 0.19.0 → 0.21.1: three feature clusters + one direct fix. No breaking changes; every existing workflow is byte-identical unless the new commands are explicitly invoked.

Added

  • /interview-me — hypothesis-driven one-question-at-a-time brief extraction; stops at ≥ 95% confidence; feeds into /spec or /plan.
  • /spec — writes a 6-section PRD to .harness/SPEC.md before planning; /plan reads it as structured input when present.
  • Self-amending loop — autonomous correction cycle: disposition classifier (kernel-defect vs operator-tuning), amend-and-ship with CI-before-tag wiring, correction quality gate, end-to-end dogfood seed validation. See ADR 0030.
  • Single-writer artifact integrationintegrate_worker.py serializes merges; concurrent-release coordination; pre-flight reconcile against already-shipped lanes; no-bypass conformance guard.
  • capabilities.json sidecar (emit-antigravity) — each plugin emits a capabilities.json for host-side capability discovery.
  • Anti-rationalization tables## Common Rationalizations two-column tables in /work (3 rows), /bugfix (3 rows), /review (2 rows); fire at invocation time to make step-skipping excuses immediately visible and refuted.
  • Anatomy Patterns section in wiki/reference/Add-A-Skill.md — documents Rationalizations table + Red Flags list formats with /work examples.

Fixed

  • Duplicate guard in /work step 1Status: done or live worker/<slug> branch on origin → immediate DUPLICATE GUARD stop instead of silently re-doing the work.
  • _posix_bash resolver — skips WSL bash stub on Windows (returned exit 0 but wasn't real bash).
  • capabilities.json sidecars left untracked by emit-antigravity generator.

Internal

  • developer-workflows 0.19.0 → 0.21.1 across two integrated worker plans + one direct fix.
  • ADR 0030 authored and finalized — generated-artifact single-writer contract.
  • 19 commits, check-all 10/10 PASS.

v3.15.1 — finalize_unit exit-code contract + pr_helpers pii-guard rc (patch)

15 Jun 08:00

Choose a tag to compare

Patch: developer-workflows 0.18.1

Two post-release bugfixes in finalize_unit.py and pr_helpers.py, found by adversarial /review on v3.15.0. No behavior change on the happy path (exit 0); callers that relied on exit 1/2 as a retry signal now get correct semantics.

Fixed

DEFECT 1 — finalize_unit.py: push-ok / PR-create-fail → exit 2 ("nothing pushed")
main() used result.action == "pr" as the exit-2 fall-through. When git push succeeded but gh pr create failed, the branch was already on the remote but main() returned exit 2 — callers retrying on exit 2 would push again (duplicate push).

DEFECT 2 — finalize_unit.py: push-rejected direct path → exit 1 ("graceful-skip")
When finalize_direct failed on a rejected push, action == "direct"return 1. Nothing landed; callers silently missed the failure.

Fix: Replace the action-based heuristic with steps-based push detection:

push_landed = any(name == "push" and rc == 0 for name, rc in result.steps)
return 1 if push_landed else 2
  • Exit 1 = push landed (branch on remote; PR creation failed or gh-unavailable fallback)
  • Exit 2 = nothing pushed (push rejected, PII blocked, commit failed — safe to retry)

Review finding — pr_helpers.py: pii-guard step always recorded rc=0
finalize_pr() / finalize_direct() both appended ("pii-guard", 0) before calling pii_guard(). A blocked guard incorrectly recorded a passing rc in result.steps. Fixed: capture the guard return value first, then append the correct rc.

Regression tests

5 new tests in TestFinalizeUnitMainExitCodes (scripts/test_finalize_unit.py). Two were RED before the exit-code fix; all 11 tests green after both fixes.

Files changed

  • src/developer-workflows/scripts/finalize_unit.py + dist copies
  • src/developer-workflows/scripts/pr_helpers.py + dist copies
  • scripts/test_finalize_unit.py
  • src/developer-workflows/group.yaml (0.18.0 → 0.18.1) + marketplace manifests

Commits: 339fb77, 488d6a7, c842858
CI: green Mac / Linux / Windows
Tracking: #27
Paired release: none (crickets-only patch; no agentm change)

v3.15.0 — Worktree-per-plan isolation: the dev loop auto-spawns a worker/<slug> worktree per plan unit

15 Jun 07:05

Choose a tag to compare

MINOR — a net-new isolation layer in developer-workflows + an isolation schema field in github-projects (additive; default-ON but config-gated; every existing workflow is byte-identical until an operator opts in via project.json).

The /work and /bugfix phase commands now auto-spawn a worker/<slug> git worktree per plan unit when isolation.mode: worktree-per-plan (the code default), and close it out via the new finalize_unit.py (PII guard → push → gh pr create, with a graceful direct-push fallback when gh is unavailable). Config opt-in in project.json counts as operator authority (ADR 0028), partially superseding ADR 0022.

New scripts: isolation_config.py (graceful reader, worktree detection, precedence cascade), pr_helpers.py (duplicate-with-drift-test from wiki_watch_dispatch.py), finalize_unit.py (PII guard → push → PR/direct). spawn_worker.py gains a root-anchor fix + 8 concurrency mitigations. 65 tests (30 new), check-all 9/9, CI green across Mac/Linux/Windows.

Plugin versions

  • developer-workflows 0.17.0 → 0.18.0
  • github-projects 0.1.1 → 0.1.2

Full changelog: https://github.com/alexherrero/crickets/blob/main/CHANGELOG.md#v3150--2026-06-14