Original Reddit post

I’ve been building agent workflows primarily with Claude Code, mostly for internal tools and small SaaS experiments. One pattern kept repeating: agents were good at proposing work, but too often execution, memory, and permissions quietly collapsed into the same place. That’s fine for demos. It’s uncomfortable for anything you actually trust. So I pulled out the minimum “governance spine” I kept re-implementing and published a lite version here: https://github.com/MacFall7/M87-Spine-lite What it is: • A small, explicit separation between proposal and execution • A receipt-based execution trail (what was approved, what ran, what changed) • Hooks designed to work cleanly with Claude Code workflows • Fail-closed defaults instead of “best effort” behavior It’s intentionally boring. YAML, schemas, hooks, and a runner pattern you can adapt or discard. The goal is to give builders something concrete to reason about when agents move from “helpful” to “doing things that matter.” If you’re using Claude Code to build agents that touch files, APIs, or customer data, this might save you a few rewrites — or at least give you a clearer mental model for where things can drift. No pitch, no roadmap promises. Just a distilled pattern that’s been useful for me. submitted by /u/MacFall-7

Originally posted by u/MacFall-7 on r/ClaudeCode