Skip to content

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