Skip to content

Releases: codejunkie99/agentic-stack

v0.11.1 — terminal data dashboard

Choose a tag to compare

@codejunkie99 codejunkie99 released this 26 Apr 17:42

Patch release. Makes the data-layer dashboard visible directly in coding-tool
terminals and adds a visual SVG explainer for the data-layer flow.

Added

  • Terminal dashboard by default. The existing
    python3 .agent/tools/data_layer_export.py --window 30d --bucket day
    command now prints a compact TUI-style dashboard after writing exports. It
    shows resource numbers, latest bucket activity, top harnesses, top workflows,
    top categories, and artifact paths without requiring a browser.
  • dashboard.tui.txt. The same terminal dashboard is saved next to
    dashboard.html, CSV/JSON exports, and daily-report.md for agents and
    users who want to inspect or attach a plain-text report.
  • docs/data-layer.svg. README and docs/data-layer.md now include a
    visual of the local data-layer flow: input streams, exporter, browser
    dashboard, terminal dashboard, CSV/JSON, and approved handoff.

Changed

  • dashboard-report.json now advertises the terminal dashboard artifact.
  • Data-layer docs no longer require a separate command to see the terminal
    view; the normal export command prints it.

Migration

No migration required. Existing data-layer commands still work; they now print
the terminal dashboard in addition to the previous status lines.

Release

v0.11.0 — data layer + data flywheel

Choose a tag to compare

@codejunkie99 codejunkie99 released this 26 Apr 17:37

Minor release. Adds two local-first data capabilities: a cross-harness
monitoring/data layer and an approved-run data flywheel. Both stay private by
default, write regenerated runtime artifacts under ignored .agent/
subdirectories, and avoid remote telemetry or model training.

Added

  • data-layer seed skill — local cross-harness monitoring. Adds
    .agent/skills/data-layer/SKILL.md and
    .agent/tools/data_layer_export.py to export dashboard-ready local data
    across Claude Code, Hermes, OpenClaw, Codex, Cursor, OpenCode, and custom
    loops sharing the same .agent/ brain. Outputs include agent events, cron
    timelines, KPI summaries, token/cost estimates, category breakdowns,
    dashboard.html, and daily-report.md. Runtime exports live under
    .agent/data-layer/, which is gitignored. Thanks to @danielfoch for PR #25.
  • data-flywheel seed skill — approved runs to reusable artifacts. Adds
    .agent/skills/data-flywheel/SKILL.md and
    .agent/tools/data_flywheel_export.py to turn human-approved, redacted runs
    into trace records, context cards, eval cases, training-ready JSONL, and
    flywheel metrics. Runtime exports live under .agent/flywheel/, which is
    gitignored. The tool is local-only, model-agnostic, and does not train
    models or call external APIs. Thanks to @danielfoch for PR #26.
  • Schemas, sanitized examples, tests, README sections, and architecture docs
    for both local data features.

Changed

  • Seed skill count is now eight: skillforge, memory-manager, git-proxy,
    debug-investigator, deploy-checklist, design-md, data-layer, and
    data-flywheel.
  • docs/architecture.md now describes five local modules: memory, skills,
    protocols, data layer, and data flywheel.

Migration

brew upgrade agentic-stack is enough. There are no on-disk schema changes.
The new runtime directories, .agent/data-layer/ and .agent/flywheel/, are
private and regenerated; both are gitignored.

Release

Credits

  • PR #25 and PR #26 by @danielfoch.
  • Merge conflict resolution, verification, and release prep by Codex.

v0.10.0 — design-md skill + Python 3.9 fix

Choose a tag to compare

@codejunkie99 codejunkie99 released this 26 Apr 13:04

Minor release. Adds a sixth seed skill and unbreaks brew install for every macOS user on the system Python.

Highlights

  • design-md seed skill. A new portable skill that points coding agents at a root DESIGN.md (Google Stitch format) as the visual-system source of truth — colors, typography, spacing, components, rationale. Loads only when DESIGN.md exists at the project root; default behavior is read-only on the contract file. Brings seed skill count from 5 to 6.
  • Python 3.9 crash on first run is fixed. Every brew user on macOS-default Python 3.9 was hitting TypeError: unsupported operand type(s) for |: 'type' and 'type' immediately after brew install agentic-stack because harness_manager/ used PEP 604 union syntax (Path | str) that requires Python 3.10+ at runtime. Added from __future__ import annotations to the eight affected files so all annotations are stored as strings and never evaluated at import time. Works on Python 3.7+, which covers every macOS-shipped Python in the wild.

Migration

brew upgrade agentic-stack is enough — no on-disk schema changes. Users on Python 3.9 who hit the crash on v0.9.x: upgrading clears it.

Credits

  • PR #21 by @danielfoch (design-md skill), with cross-model review fixes applied as a follow-up commit.
  • Issue #27 by @WhoLsJohnGalt — clean repro of the macOS Python 3.9 crash including a working sed-based workaround.
  • Codex CLI used for independent second-opinion reviews on both changes.

See CHANGELOG.md for the full list.

Full Changelog: v0.9.1...v0.10.0

v0.9.1 — pi adapter fixes + tz correctness

Choose a tag to compare

@codejunkie99 codejunkie99 released this 25 Apr 19:28

Patch release that closes the gap between v0.9.0 and a working pi adapter. Every brew user on v0.9.0 hit the first bug; the rest are quieter but make the dream cycle and the cross-harness episodic log actually correct.

Highlights

  • agentic-stack pi no longer crashes for brew users. The v0.9.0 Formula didn't include harness_manager/ in pkgshare.install. Now it does.
  • Pi's dream cycle actually runs. session_shutdown handler filtered on event.reason, but Pi's SessionShutdownEvent carries no reason field. The filter rejected every event; auto_dream.py never ran. Filter dropped, re-entrancy guard added.
  • Pi edit reflections capture the diff again. Hook expected MultiEdit's edits[] array; Pi's EditToolInput is flat {path, oldText, newText}. Reflections silently degraded to Edited <path>. Now reads the flat fields.
  • No more aware-vs-naive crashes on clean pi exit. decay.py cutoff is UTC; entry timestamps normalised to UTC before comparison.
  • Timezone sweep across every Python writer + reader. post_execution, on_failure, learn, graduate, promote, review_state, render_lessons all wrote naive-local; readers normalise mixed shapes.
  • auto_dream no longer loses entries that land mid-cycle. Single exclusive flock held across the entire read-modify-write window via _episodic_locked(). Mutually exclusive with _episodic_io.append_jsonl.
  • Pi _cachedSha invalidates on HEAD-moving bash. git commit/reset/checkout/switch/merge/rebase/cherry-pick/revert/pull (and option-prefixed forms like git -c key=val checkout main) refresh the cache so subsequent entries record the right SHA.
  • hook_patterns.json no longer all-or-nothing. One bad regex disabled every user pattern. Now per-fragment validation with incremental merge.

Migration

brew upgrade agentic-stack is enough — there are no on-disk schema changes. Existing .agent/memory/episodic/AGENT_LEARNINGS.jsonl files with naive-local timestamps continue to work; readers normalise them at compare time and writers emit UTC going forward.

Credits

PR #24 by @aliirz — thank you. Codex CLI used for an independent second-opinion review that surfaced the auto_dream window race + the SHA-regex narrowness.

See CHANGELOG.md for the full list and per-fix detail.

Full Changelog: v0.9.0...v0.9.1

v0.9.0 — Harness manager: manifest-driven adapter system

Choose a tag to compare

@codejunkie99 codejunkie99 released this 24 Apr 12:33

Added

  • Harness manager: manifest-driven adapter system. Each adapter now
    ships an adapters/<name>/adapter.json declaring its files,
    collision policy, optional skills directory mirror, and named
    post-install actions. Adding a new adapter is now a JSON-only PR —
    no Python code, no test wiring, no class registration. Lives in the
    new harness_manager/ Python package.
  • ./install.sh add <adapter> — append an adapter to an existing
    project without re-running the onboarding wizard.
  • ./install.sh remove <adapter> — confirmation prompt lists every
    file before deletion. Hard delete (no quarantine, no undo — git is
    the safety net). Reverses post-install actions automatically (e.g.,
    openclaw agents remove).
  • ./install.sh doctor — read-only audit of installed adapters.
    Verifies tracked files exist, post-install state is valid, .agent/
    brain is intact. Exits 0 on green, 1 on red. First run on a
    pre-v0.9.0 project asks before synthesizing install.json — never
    silently mutates.
  • ./install.sh status — one-screen view of installed adapters,
    brain stats (skills/episodic/lessons), last-updated timestamp.
  • .agent/install.json — authoritative record of what's installed.
    Schema-versioned. Atomic write via tempfile + rename, fcntl-locked
    on POSIX.
  • PowerShell parity from day one. install.ps1 is now a 70-line
    thin dispatcher to the same Python backend install.sh uses. The
    new add/remove/doctor/status verbs behave identically across
    mac/Linux/Windows. Was 270+ lines of duplicated bash-shaped logic.
  • docs/per-harness/standalone-python.md — gap-fill for the only
    harness that didn't have a per-harness doc.

Fixed

  • #18 — Claude Code hook commands break when cwd is not the
    project root. adapters/claude-code/settings.json template now uses
    {{BRAIN_ROOT}} placeholder, which the manifest backend substitutes
    with $CLAUDE_PROJECT_DIR at install time. Hook commands resolve
    correctly regardless of which directory Claude Code's cwd points at.
    Thanks to @palamp for the report and the proposal that shaped the
    larger feature.

Security

  • Manifest path-safety hardening (harness_manager/schema.py). The
    pre-existing path-traversal guard only tokenized on / and only
    treated /-prefixed paths as absolute, so Windows-style inputs
    (..\..\outside, \\server\share, C:\temp\x, C:foo) bypassed
    validation and could let install/remove read or write outside the
    adapter/project roots when run on Windows. Also extended the same
    validation to skills_link.target and skills_link.dst, which were
    previously only checked for presence — a manifest could otherwise
    point the symlink/rsync into arbitrary filesystem locations on any
    platform. Both POSIX and Windows separators are now normalized
    before traversal detection, and every common absolute-path form
    (POSIX root, Windows root, UNC, drive-letter) is rejected.

Changed

  • install.sh shrinks from 175 lines of bash case-statements to 35
    lines of dispatcher. All install logic moved to harness_manager/.
    Existing CLI surface preserved: ./install.sh <adapter> [target] [--yes|--reconfigure|--force] works identically.
  • install.ps1 shrinks from 270+ lines to 70.

Migration

Existing v0.8.x users: brew upgrade agentic-stack, then run
./install.sh doctor in your project. Doctor detects existing
adapters from filesystem signals and asks before writing install.json.
Subsequent doctor runs are read-only.

v0.8.0 — Antigravity adapter + rich episodic logging

Choose a tag to compare

@codejunkie99 codejunkie99 released this 21 Apr 17:41

First release since v0.7.2. Brings the Antigravity harness, makes Claude Code's episodic memory actually useful, and consolidates per-version notes into CHANGELOG.md.

Added

  • Google Antigravity adapter (./install.sh antigravity). Drops ANTIGRAVITY.md into the project root so Antigravity agents pick up the portable brain in .agent/. Brings the supported-harness count to 9. Thanks to @smartsastram (#9).
  • Rich PostToolUse episodic logging for Claude Code. New .agent/harness/hooks/claude_code_post_tool.py reads the JSON payload Claude Code sends via stdin and derives a real action label, importance score, and non-empty reflection per tool call. Replaces the old hardcoded post-tool ok that produced identical entries every session and left the dream cycle with nothing to cluster on. Ships with a 54-test validation suite. Thanks to @aliirz (#8).
  • User-owned stack tuning via hook_patterns.json. Drop your own high-stakes and medium-stakes patterns into .agent/protocols/hook_patterns.json so the hook scores vercel deploy, supabase migrate, etc. correctly for your stack. Ships with empty arrays and an _examples section.
  • on_failure() severity overrides. A failed production deploy records its real severity instead of the flat importance=7 / pain_score=8 defaults.
  • Bash wrapper-aware failure detection. || true, || :, || exit 0, ; true patterns are detected; masked failures are captured via stderr without flagging successful grep Error log || true inspections.
  • 33-check regression verifier (verify_codex_fixes.py) covering every classification path after 11 rounds of independent codex review.

Fixed

  • Bash exit_code=0 no longer second-guessed via stdout. grep Error /var/log/app.log and friends are now recorded as successes.
  • User regex fragments in hook_patterns.json can't crash the hook. Invalid fragments are dropped with a stderr warning; valid-standalone-but-invalid-merged fragments (e.g. (?i)foo) trigger an incremental rebuild that preserves universals and good user fragments.
  • on_failure reflection no longer prefixes str: for string errors.

Changed

  • CHANGELOG.md is now the canonical release log. The "What's new in v0.X" sections have been removed from the README.
  • Onboarding wizard banner + render VERSION bumped to 0.8.0. Outro now points users at .agent/protocols/hook_patterns.json so they can tune the importance scorer for their stack.

Install

brew update && brew upgrade agentic-stack

Or clone:

git clone https://github.com/codejunkie99/agentic-stack.git
cd agentic-stack && ./install.sh <adapter>
# adapters: claude-code | cursor | windsurf | opencode | openclaw | hermes | pi | standalone-python | antigravity

Full changelog: CHANGELOG.md

v0.7.2 — README repositioning + unreleased v0.7.x contents

Choose a tag to compare

@codejunkie99 codejunkie99 released this 20 Apr 08:51

First GitHub release since v0.6.0. Bundles the v0.7.0 and v0.7.1 tags (which were tagged but never released) plus the v0.7.2 docs fix.

What's new in v0.7.2

  • README repositioning. Leads with the actual buyer pain — switching coding-agent tools keeps resetting how your agent behaves — so the adapter list, wizard, and memory architecture read as proof instead of preamble. Follow/coded-using/article framing moved into the Credits section.

Bundled from v0.7.1

  • Relicensed from MIT to Apache 2.0.

Bundled from v0.7.0

  • Three host-agent tools that make the brain usable from day one.
    • learn.py — teach the agent a rule in one command. Stages + graduates + renders in one step. Idempotent.
    • recall.py — surface graduated lessons relevant to an intent. Ranked lexical-overlap hits with per-entry source labels. Logs every recall to episodic memory.
    • show.py — colorful dashboard of brain state (episodes, candidates, lessons, failing skills, 14d activity sparkline). --json / --plain / NO_COLOR flags.
  • Adapter wiring for recall across all 8 harnesses. Every adapter now instructs the model to run recall.py "<intent>" before deploy / migration / timestamp / debug / refactor work and surface results in a Consulted lessons before acting: block.
  • Seed UTC lesson ships pre-graduated so proactive recall returns a real hit on first try.
  • Reliability fixes. Canonical pattern_id, stricter heuristic check (≥3 content words), idempotent graduate.py retry path, advisory flock on lessons.jsonl so concurrent writers serialize and LESSONS.md can't go stale.

Install

brew update && brew upgrade agentic-stack

v0.6.0 — Pi Coding Agent adapter + OpenClaw rename

Choose a tag to compare

@codejunkie99 codejunkie99 released this 17 Apr 20:12

What's new

  • Pi Coding Agent adapter (./install.sh pi) — symlinks .pi/skills to .agent/skills so pi sees the full brain with zero duplication. Safe to install alongside hermes/opencode (all three read AGENTS.md; the installer skips the overwrite if one already exists).
  • Breaking: openclient adapter renamed to openclaw. Installed file changed: .openclient-system.md.openclaw-system.md. Existing OpenClient users: re-run ./install.sh openclaw.

Upgrade

brew update && brew upgrade agentic-stack

Or clone:

git clone https://github.com/codejunkie99/agentic-stack.git
cd agentic-stack && ./install.sh <adapter>
# adapters: claude-code | cursor | windsurf | opencode | openclaw | hermes | pi | standalone-python

v0.5.0 — Host-agent review protocol + [BETA] memory search + Windows installer

Choose a tag to compare

@codejunkie99 codejunkie99 released this 17 Apr 00:07

Highlights

  • Host-agent review protocol. auto_dream.py now stages candidate lessons only. Reasoning moved to the host agent via CLI tools (graduate.py, reject.py, reopen.py, list_candidates.py). Graduation requires --rationale. Zero unattended reasoning, zero provider coupling.
  • Structured lessons.jsonl as source of truth. LESSONS.md is auto-rendered; hand-curated content above the sentinel is preserved; legacy bullets auto-migrate on first run.
  • Proper single-linkage clustering with bridge-merge. Pattern IDs stable across cluster-membership shifts (claim + conditions hash), distinct for generic-canonical collisions.
  • Query-aware retrieval. context_budget ranks episodes by salience × relevance and filters lessons to status=accepted only — provisional, legacy, and superseded entries never leak into the system prompt.
  • [BETA] FTS5 memory search (.agent/memory/memory_search.py). Opt-in via onboarding or .agent/memory/.features.json. Default off. Prefers ripgrep when FTS5 isn't available, falls back to grep.
  • Windows installer. install.ps1 runs natively under PowerShell — no Git Bash required.

Fixes (11 codex review rounds on the restructure)

  • Batch-sound graduation gate
  • Stable slugs across cluster drift
  • Provisional re-review + supersession semantics
  • REVIEW_QUEUE refresh on every CLI action
  • Heuristic-rejection stamping so unrelated LESSONS edits don't churn
  • Atomic graduate.py (semantic write first, candidate move last)
  • .gitignore ordering so .agent/memory/.index/ is actually ignored
  • Fallback search restricted to .md/.jsonl
  • Feature toggle file + BETA label in onboarding

Install

# mac / linux
brew update && brew upgrade agentic-stack
# Windows
git clone https://github.com/codejunkie99/agentic-stack.git
cd agentic-stack
.\install.ps1 claude-code C:\path\to\your-project

Full details: README.md.

v0.4.0 — Interactive onboarding wizard

Choose a tag to compare

@codejunkie99 codejunkie99 released this 16 Apr 12:45

Interactive clack-style onboarding wizard that auto-fills PREFERENCES.md after install. Flags: --yes (CI/defaults), --reconfigure (re-run). brew update && brew upgrade agentic-stack to install.