Releases: codejunkie99/agentic-stack
Release list
v0.11.1 — terminal data dashboard
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, anddaily-report.mdfor agents and
users who want to inspect or attach a plain-text report.docs/data-layer.svg. README anddocs/data-layer.mdnow include a
visual of the local data-layer flow: input streams, exporter, browser
dashboard, terminal dashboard, CSV/JSON, and approved handoff.
Changed
dashboard-report.jsonnow 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
- Tag
v0.11.1cut from master. - GitHub release: https://github.com/codejunkie99/agentic-stack/releases/tag/v0.11.1
Formula/agentic-stack.rbbumped to v0.11.1 in a follow-up commit after
the tag tarball existed and its sha256 could be computed.- Tarball sha256:
c0f09417c6caf34ba712d03271177ea2779af50e86a19bf76c10ba5d50bcff3e.
v0.11.0 — data layer + data flywheel
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-layerseed skill — local cross-harness monitoring. Adds
.agent/skills/data-layer/SKILL.mdand
.agent/tools/data_layer_export.pyto 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, anddaily-report.md. Runtime exports live under
.agent/data-layer/, which is gitignored. Thanks to @danielfoch for PR #25.data-flywheelseed skill — approved runs to reusable artifacts. Adds
.agent/skills/data-flywheel/SKILL.mdand
.agent/tools/data_flywheel_export.pyto 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.mdnow 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
- Tag
v0.11.0cut from master. - GitHub release: https://github.com/codejunkie99/agentic-stack/releases/tag/v0.11.0
Formula/agentic-stack.rbbumped to v0.11.0 in a follow-up commit after
the tag tarball existed and its sha256 could be computed.
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
Minor release. Adds a sixth seed skill and unbreaks brew install for every macOS user on the system Python.
Highlights
design-mdseed skill. A new portable skill that points coding agents at a rootDESIGN.md(Google Stitch format) as the visual-system source of truth — colors, typography, spacing, components, rationale. Loads only whenDESIGN.mdexists 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 afterbrew install agentic-stackbecauseharness_manager/used PEP 604 union syntax (Path | str) that requires Python 3.10+ at runtime. Addedfrom __future__ import annotationsto 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
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 pino longer crashes for brew users. The v0.9.0 Formula didn't includeharness_manager/inpkgshare.install. Now it does.- Pi's dream cycle actually runs.
session_shutdownhandler filtered onevent.reason, but Pi'sSessionShutdownEventcarries noreasonfield. The filter rejected every event;auto_dream.pynever ran. Filter dropped, re-entrancy guard added. - Pi edit reflections capture the diff again. Hook expected MultiEdit's
edits[]array; Pi'sEditToolInputis flat{path, oldText, newText}. Reflections silently degraded toEdited <path>. Now reads the flat fields. - No more aware-vs-naive crashes on clean pi exit.
decay.pycutoff 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_lessonsall wrote naive-local; readers normalise mixed shapes. auto_dreamno longer loses entries that land mid-cycle. Single exclusiveflockheld across the entire read-modify-write window via_episodic_locked(). Mutually exclusive with_episodic_io.append_jsonl.- Pi
_cachedShainvalidates on HEAD-moving bash.git commit/reset/checkout/switch/merge/rebase/cherry-pick/revert/pull(and option-prefixed forms likegit -c key=val checkout main) refresh the cache so subsequent entries record the right SHA. hook_patterns.jsonno 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
Added
- Harness manager: manifest-driven adapter system. Each adapter now
ships anadapters/<name>/adapter.jsondeclaring 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
newharness_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 synthesizinginstall.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.ps1is now a 70-line
thin dispatcher to the same Python backendinstall.shuses. The
newadd/remove/doctor/statusverbs 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.jsontemplate now uses
{{BRAIN_ROOT}}placeholder, which the manifest backend substitutes
with$CLAUDE_PROJECT_DIRat 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 toskills_link.targetandskills_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.shshrinks from 175 lines of bash case-statements to 35
lines of dispatcher. All install logic moved toharness_manager/.
Existing CLI surface preserved:./install.sh <adapter> [target] [--yes|--reconfigure|--force]works identically.install.ps1shrinks 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
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). DropsANTIGRAVITY.mdinto 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
PostToolUseepisodic logging for Claude Code. New.agent/harness/hooks/claude_code_post_tool.pyreads 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 hardcodedpost-tool okthat 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.jsonso the hook scoresvercel deploy,supabase migrate, etc. correctly for your stack. Ships with empty arrays and an_examplessection. on_failure()severity overrides. A failed production deploy records its real severity instead of the flatimportance=7 / pain_score=8defaults.- Bash wrapper-aware failure detection.
|| true,|| :,|| exit 0,; truepatterns are detected; masked failures are captured via stderr without flagging successfulgrep Error log || trueinspections. - 33-check regression verifier (
verify_codex_fixes.py) covering every classification path after 11 rounds of independent codex review.
Fixed
- Bash
exit_code=0no longer second-guessed via stdout.grep Error /var/log/app.logand friends are now recorded as successes. - User regex fragments in
hook_patterns.jsoncan'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_failurereflection no longer prefixesstr: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.jsonso they can tune the importance scorer for their stack.
Install
brew update && brew upgrade agentic-stackOr 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 | antigravityFull changelog: CHANGELOG.md
v0.7.2 — README repositioning + unreleased v0.7.x contents
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_COLORflags.
- 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 aConsulted 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), idempotentgraduate.pyretry path, advisory flock onlessons.jsonlso concurrent writers serialize andLESSONS.mdcan't go stale.
Install
brew update && brew upgrade agentic-stackv0.6.0 — Pi Coding Agent adapter + OpenClaw rename
What's new
- Pi Coding Agent adapter (
./install.sh pi) — symlinks.pi/skillsto.agent/skillsso pi sees the full brain with zero duplication. Safe to install alongsidehermes/opencode(all three readAGENTS.md; the installer skips the overwrite if one already exists). - Breaking:
openclientadapter renamed toopenclaw. Installed file changed:.openclient-system.md→.openclaw-system.md. Existing OpenClient users: re-run./install.sh openclaw.
Upgrade
brew update && brew upgrade agentic-stackOr 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-pythonv0.5.0 — Host-agent review protocol + [BETA] memory search + Windows installer
Highlights
- Host-agent review protocol.
auto_dream.pynow 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.jsonlas source of truth.LESSONS.mdis 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_budgetranks episodes by salience × relevance and filters lessons tostatus=acceptedonly — 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.ps1runs 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)
.gitignoreordering 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-projectFull details: README.md.
v0.4.0 — Interactive onboarding wizard
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.