Skip to content

Releases: cdeust/zetetic-team-subagents

v2.28.1

Choose a tag to compare

@github-actions github-actions released this 14 Jul 23:40

Fixed

  • agent-definition-auditor.sh now actually gates in CI — the script's default ROOT was a hardcoded personal absolute path that didn't exist on the CI runner, so the glob silently matched 0 files and the whole audit (F1-F9, FD, B1-B3, G1-G3, P1) passed vacuously. ROOT now resolves relative to the script's own location, and a 0-match glob fails explicitly (exit 2) instead of reporting an empty pass. All 97 genius agents also gained an explicit tools: frontmatter field (previously scoped only via the plugin manifest's blanket "All tools" grant), bringing F8/F9 from 22/119 to 119/119 passing.
  • 26 genius agent descriptions repaired — 4 agents (deming, fisher, leguin, ranganathan) shipped with frontmatter description truncated mid-sentence by a JSON double-encoding bug (e.g. "W."); a further 10 had the same corruption undetected until a new quality gate (check FD: description ≥ 40 chars, no broken escape artifacts) was added to the auditor, and 16 more had valid-but-terse descriptions. Since description is the spawn/routing criterion, corrupted values made these agents unroutable; rules/agent-routing-table.md was regenerated so the fix reaches routing consumers.
  • Orchestrator now validates a subagent's result against its artifact contract before forwarding it downstream, and isolates a failed subtask so it does not invalidate already-validated independent results — encoded as new Move 6 steps and refusal conditions.
  • Encoded the anti-passive-waiting lesson (long-running work is foreground-blocking or terminate-and-handoff, never a sleep/poll loop on a background monitor) as binding §8c in the shared memory contract.

v2.28.0

Choose a tag to compare

@cdeust cdeust released this 14 Jul 18:39

No CHANGELOG entry found for 2.28.0; using tag message

v2.27.0

Choose a tag to compare

@github-actions github-actions released this 13 Jul 17:37

Added

  • git-historian team agent — regression provenance and abandoned-approach recovery: traces when a behavior changed, which commit introduced it, and surfaces approaches tried-and-reverted so a session doesn't re-walk a dead end.

Changed

  • Registered the cortex-viz memory scope in the central registry so cross-agent recall resolves it.

Fixed

  • Corrected get_impact drift in rules/agent-reference/codebase-intelligence.md — the doc over-promised the tool's blast-radius (it returns one reverse-edge hop, not transitive/test-aware); wording now matches the implementation.

v2.26.0

Choose a tag to compare

@github-actions github-actions released this 07 Jul 21:01

Changed

  • Spine beat 2 (evidence/sources) now enforces the direction of evidence,
    across all 117 agents (team + genius) via the single generator
    scripts/generate-spine.py and its elaboration
    rules/agent-reference/zetetic-spine.md. The prior wording — "every claim traces
    to a source" — was direction-agnostic: it was satisfied equally by rigor (read a
    source, derive the code from it) and by fabrication (write the code, then find a
    resembling paper and attach the citation as post-hoc justification). Scientific
    rigor is source-first: start from a factual, verifiable, demonstrable source and
    produce the implementation from it. A citation attached after the fact to a
    lookalike paper is fabricated proof, not evidence — even when the citation is real,
    because the code was never derived from it.
  • Beat 2 now names three refused failure modes, backed by observed provenance audits
    (invented arXiv ids, fabricated benchmark deltas, constants mislabeled with
    unrelated papers): retrofitted citation (added after the code, chosen for
    resemblance), resemblance ≠ prescription (a paper about your topic is not a
    source for your specific value/equation unless it states it and its experimental
    conditions match yours), and borrowed authority (a hardcoded constant wearing a
    paper's name with no line the paper actually prescribes). The honesty discriminator
    is the provenance comment written before the value plus an explicit
    "engineering-default / hand-tuned" disclaimer when a value is not paper-prescribed —
    never the citation alone.
  • No source → "I don't know" and stop is now explicit that this is a gate failure,
    not a formatting gap to fill later
    : do not ship, then justify.

Notes

  • Content-only change to the injected <zetetic-spine> blocks; no tool, hook, or
    memory-contract surface changed. scripts/generate-spine.py --check is clean
    (idempotent) and all seven release-gate memory suites pass locally.

v2.25.0

Choose a tag to compare

@github-actions github-actions released this 07 Jul 19:05

No CHANGELOG entry found for 2.25.0; using tag message

v2.24.0

Choose a tag to compare

@github-actions github-actions released this 24 Jun 00:12
b5258be

Added

  • New simplifier team agent (agents/simplifier.md). De-over-engineers code
    that already works and breaks no hard rule but carries more complexity than its
    problem requires — premature abstraction, needless indirection, speculative
    generality, premature optimization, and drifted duplication. Distinct trigger from
    refactorer: refactorer fixes hard-rule violations; simplifier removes
    superfluous complexity that violates no hard rule (already-functional,
    already-compliant code never invokes refactorer, so over-engineering needs its own
    trigger — folding both into one agent would be an SRP violation in agent design).
    Behavior-preserving (tests pass before and after, one simplification per commit),
    stakes-calibrated, and language-/project-agnostic (idiom-mapping across Python,
    TypeScript, Go, Rust, Java, Swift). Its over-engineering heuristics are an open,
    non-exhaustive catalog
    (YAGNI, rule-of-three, needless indirection, premature
    optimization, speculative generality, drifted duplication, plus KISS, Gall's Law,
    Ousterhout shallow modules, dead code, boolean blindness, …) — each removal must
    name and source its principle per the zetetic §8 standard. New simplifier memory
    scope (memory/scope-registry.json).
  • A2 / CR-4 — adversarial-verify pre-verdict workflow now carries a fifth,
    perspective-diverse lens
    : simplicity (agentType simplifier), prompted to
    REFUTE by hunting superfluous complexity that no hard rule forbids. Joins the four
    existing refute lenses (residual-fp, missed-cases, robustness, test-adequacy);
    synthesis stays deterministic and fail-closed. (The A2/adversarial-verify work
    shipped in code prior to this release without a CHANGELOG entry; recorded here.)

Changed

  • code-reviewer Move 5 now hands off superfluous-complexity smells (over-
    engineering with no hard-rule violation) to simplifier as an advisory note,
    distinct from the §4 size-breach blocking gate. Output format and blind-spot
    hand-off list updated accordingly.
  • README badge, body, CONTRIBUTING.md, and the marketplace plugin/metadata
    descriptions refreshed: 97 reasoning patterns + 21 team agents (118 total).
    rules/agent-routing-table.md regenerated (118 agents).
  • memory/scope-coverage.md: simplifier added to the team table; counts reconciled
    to 20 scope-owning team agents, 117 tabulated agents, 27 distinct registry
    scopes (7 systemic + 18 team + 1 research + 1 genius). This doc tabulates only
    scope-owning agents, so its total is intentionally one less than the 118 agent
    definition files the README/marketplace count — memory-writer is a scribe that
    owns no scope. A new footnote in the doc records the distinction.

Tests

  • tools/tests/adversarial-verify/core.test.mjs updated for the five-lens core
    (lens count, lens-keys ordering, distinct-agentType count, five-element fixtures).
    13/13 deterministic synthesis-core tests pass.

v2.23.0

Choose a tag to compare

@github-actions github-actions released this 23 Jun 23:03
cfd0d3c

Added

  • CAP-2 — adapt to a demanding team lead. New reviewer-prefs memory scope
    (memory/scope-registry.json) holding a lead's standing review preferences.
    Owners are the lead (_user) and the orchestrator/curator; the reviewed agents
    (engineer, refactorer, code-reviewer) are readers only, so an agent cannot
    invent its own prefs. The three agents read the scope at the top of their workflow
    with a fixed precedence — a coding-standards.md blocking rule always outranks a
    preference — and a graceful fallback when the scope is absent.
  • tools/seed-reviewer-prefs.sh — bootstraps a lead's prefs from evidence of how
    they already work (their gh review comments + merged PRs), emitting a
    provenance-tagged status: inferred draft. It presents raw evidence only;
    abstracting it into confirmed preferences is the lead/orchestrator's judgment step
    (§9 — no faked judgment). Injection-safe, owner-only writes, deterministic exit
    codes. 19-case test suite under tools/tests/seed-reviewer-prefs/.

Changed

  • README badge, assets/banner.svg, CONTRIBUTING.md, and the marketplace plugin
    description refreshed to the current reproducible counts: 64 skills, 18 hooks,
    35 tools, 25 commands, 97 reasoning patterns + 20 team agents (117 total),
    288 tests.

Fixed

  • memory/scope-coverage.md miscount: the checkpoints systemic scope was never
    tabulated. Reconciled to 26 scopes (7 systemic + 17 team + 1 research + 1 genius);
    the doc's embedded verification command now matches.

v2.22.0

Choose a tag to compare

@github-actions github-actions released this 23 Jun 22:22
3bc98b7

No CHANGELOG entry found for 2.22.0; using tag message

v2.20.0

Choose a tag to compare

@github-actions github-actions released this 23 Jun 00:30

Added

  • Closed-loop autonomous build (.claude/workflows/autonomous-build-loop.js).
    Drives a build task to a candidate on an isolated iteration branch:
    refine → plan → verify-plan → orchestrator build → best-effort in-loop
    acceptance checks → iterate until green or the budget is spent. Repo-generic —
    repoPath, gateRunner, and an optional base gateConfig are inputs, so the
    loop runs from any working directory against a repo that need not contain this
    tooling. It drafts and converges a candidate; it does not self-certify.
  • Deterministic acceptance gate (tools/acceptance_gate.py,
    tools/acceptance-gate.sh). Runs configured command gates and aggregates
    their exit codes — a gate passes iff its command exits 0, never a model grading
    its own output (Huang et al., arXiv:2310.01798). Gates any repo via --root,
    evaluates the committed tip via --diff-base/--diff-head in a throwaway
    worktree, rejects an empty diff, and fails closed. Unit-tested under
    tools/tests/acceptance-gate/ (incl. external-repo-from-a-foreign-cwd and
    fail-closed cases).
  • Real-exec Stop-hook gate (hooks/stop-acceptance-gate.py) — the build
    loop's gate component (invoked by the workflow, not registered as a global
    lifecycle hook).
  • Self-hosted web ingestion engine (tools/web_ingest.py,
    tools/web_extract.py, tools/web-ingest.sh). A dependency-free replica of
    Firecrawl's self-hostable core (scrape / map / crawl): stdlib fetch,
    robots.txt respected, main-content markdown extraction, conditional-GET
    caching. No web search and no LLM extraction by design; TLS verification is
    never disabled.
  • Query-indexed semantic layer over Cortex (tools/semantic_layer.py,
    tools/semantic-layer.sh, memory/semantic-layer.yaml,
    memory/semantic-layer.schema.yaml). A YAML index keyed by query + intent
    (ingest / verify / compare / monitor) with fresh / stale /
    superseded states. Never writes Cortex itself — the agent owns the write and
    passes back the cortex_id as a pointer.
  • Manifest-membership gate (tools/manifest_gate.py, tools/manifest-gate.sh,
    tests under tools/tests/manifest-gate/). Fail-closed grounding check: every
    fact's source must be a URL the web-ingest engine actually fetched this
    session. Complements the semantic layer's presence check with a membership
    check; a pure stdin → stdout filter.

Changed

  • README: broader refresh. Corrected counts to ground truth — agents
    116 → 117 (a 20th team-role agent, memory-writer), skills 63 → 64; documented
    the autonomous build loop and the new knowledge-ingestion / semantic-layer
    subsystems; refreshed the genius-trigger source comment (recounted 2026-06-23).
  • Marketplace manifest counts refreshed (20 team agents, 64 skills,
    25 commands, 24 logical tools, 17 registered hooks).

Fixed

  • web-ingest follows 308 redirects and records the final resolved URL.
  • Manifest-gate comments reworded to satisfy the absolute-claim checker (§8).

v2.19.1

Choose a tag to compare

@github-actions github-actions released this 15 Jun 14:18

Fixed

  • Release workflow no longer references a non-existent tests/run-all.sh.
    The tag-time release.yml invoked bash tests/run-all.sh, which has never
    existed, so every tagged release failed at the test step with exit 127. It
    now runs the same suite as ci.yml (the scripts/test-memory-*.sh and
    scripts/test-agent-id-propagation.sh suites) plus the structural auditor.
  • Corrected the zetetic-checker invocation from the unsupported --tree
    flag to --full; valid modes are --staged, --files, and --full.
  • Added jq to the release job's apt dependencies (required by the memory
    suites, matching CI).