oh-my-pi
Type: kb/types/note.md
Evidence basis: Source code and shipped documentation at commit be6cb8217cd4c1dafcc86793ae5d809ea4d7396a, inspected 2026-09-05; no runtime or causal experiment. Upstream freshness beyond this locally available commit is unverified.
oh-my-pi is an enclosing coding-agent runtime. Its CLI/SDK assembles instructions, retained history and tools, invokes a configured model, executes admitted requests, and returns tool results until an answer or error ends the turn. Steering, follow-ups, extensions and delegated workers can alter that progression. The useful control boundary is the route from a proposed action to its effect: different checks govern permission, edit correspondence, structured completion and experimental selection. Prompt progression.
Tool admission rechecks effective arguments after extension callbacks. Explicit deny policies reject calls, and a required approval fails when no approval UI exists. The default mode is yolo; workers also override the mode to yolo while inheriting explicit per-tool policies. These controls govern registered calls and do not establish operating-system containment. Shell policy alone does not cover every subprocess path. Tool wrapper, worker configuration, approval boundary.
Worker isolation is optional. When enabled, parent integration requires the apply flag, successful exit, and no error or abort. Upstream schema validation can make a worker exit unsuccessfully and block integration. Those conditions establish structural eligibility; they do not establish that the patch solves the task. Hashline editing checks a different property: correspondence between an edit and remembered file content. Some stale cases recover or proceed with warnings, so universal stale-edit rejection would overstate the implementation. Merge admission, output finalization, Hashline recovery.
Advisors generate separate model judgments; severity and session state determine whether a note becomes an aside, steering input or a new turn. TTSR rules instead use configured regex/AST conditions to interrupt generation and retry with retained instructions. Neither a delivered critique nor a matched pattern proves a semantic defect. Advisor delivery, TTSR coordinator.
Session continuity is independent of the optional memory backend, which defaults to off. History reconstruction selects a branch and retained compaction boundary. Compaction can supply generated language, snapcompact's image-encoded transcript archive, or opaque provider replacement history. A readable lead-in does not reveal the remote payload's operative content. Memory defaults, continuation reconstruction.
The four active memory backends differ in what they retain and how later models consume it:
- Local: extracts older sessions into project documents and optional skills; startup supplies a budgeted summary and lessons. Full files remain available through requested reads. Summary-first allocation can crowd lessons out. Startup and budget.
- Mnemopi: retains transcripts, extracts from user-only text, and builds separate retrieval data. First-turn and pre-compaction hooks recall background context. Its inspected sleep promotion mechanically combines content with source provenance; it does not establish model-generated synthesis. Source partitions, promotion.
- Hindsight: submits retention work to an external service and imports recalled facts and evolving mental models. Local tags, name ordering and budgets select displayed mental models; server derivation and query ranking remain opaque. Request acknowledgement does not prove completed retention. Service boundary, mental-model selection.
- Sharpshooter: extracts user-grounded decisions and consolidates project instruction files. Unlike advisory recall, these files instruct the model to follow retained decisions unless the user overrides. Literal-substring and type checks establish supporting-text occurrence and shape; friction, conflict and generalization judgments remain model policies. Instruction delivery, delta admission.
Autolearn adds a private capture turn after qualifying work and can write later lessons or globally discoverable managed skills. Autoresearch retains its own notes and selected experiment results across iterations. Its benchmark tool captures measurements, but the logger accepts model-supplied status and metric: disagreements and scope deviations produce warnings rather than rejection. On a dedicated research branch, keep/discard drives Git consequences. The prompt's correctness and honesty requirements remain policies. Capture conditions, iteration context, experiment disposition.
These mechanisms establish retained influence paths and trace-fed learning through artifacts. They establish neither model-weight training nor faithful recall, correct learned instructions or measured improvement. Context delivery, operational admission and semantic acceptance remain separate findings.
Scope
This review covers the shipped coding runtime, selected control routes and memory adapters. It excludes separately deployed evaluation/relay systems and provider or memory-service internals; specialist browser/desktop, LSP/DAP and other product modes were not exhaustively traced. Actual grants, resolved model weights, task success and memory activation require deployment or execution evidence. Candidate-linked runs could establish operation; controlled recalled-content interventions could test dependence and benefit. No product ranking or system-wide epistemic grade follows from the source alone.
Relevant Notes:
- Exact analysis and normalized memory profile — see-also: full source register, route audits, uncertainty and verification at the same frozen boundary