Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add agents/kanevry/session-orchestrator/memory-proposal-collectorgit clone --depth 1 https://github.com/Kanevry/session-orchestratorWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/agents/kanevry/session-orchestrator/memory-proposal-collector)<a href="https://agentmods.dev/agents/kanevry/session-orchestrator/memory-proposal-collector"><img src="https://agentmods.dev/badge/agents/kanevry/session-orchestrator/memory-proposal-collector.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00232 | $0.03499 |
| Opus 5 | $0.00116 | $0.01750 |
| Sonnet 5 | $0.00046 | $0.00700 |
| Haiku 4.5 | $0.00023 | $0.00350 |
Grade A, and why
memory-proposal-collector scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured yesterday.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 300 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Memory Proposal Collector (Reference Documentation)
NOT a dispatchable subagent. This file documents the coordinator-direct AUQ rendering flow
that runs at session-end Phase 3.6.3. Do not attempt to dispatch memory-proposal-collector as
an agent — the coordinator will receive "agent type not found" and that is by design. See
Why this is documentation, not an agent for rationale.
Overview
At session-end Phase 3.6.3 the coordinator presents pending memory proposals to the user for
approval or rejection. Proposals are short learning candidates queued by the
memory-propose.mjs CLI during the session (typically from hook invocations, auto-generated
by subagents that detected a repeatable pattern worth recording).
The flow runs coordinator-direct: the coordinator calls library functions, renders an
AskUserQuestion picker, and writes results — no subagent dispatch involved.
Gate Conditions
This flow runs only when ALL of the following are true:
persistence: trueis set in Session Config (CLAUDE.md## Session Configblock).memory.proposals.enabled: trueis set in Session Config (default when thepre-bash-memory-propose-audithook is active)..orchestrator/metrics/proposals.jsonlexists and is non-empty (≥1 line).
If any condition fails, the coordinator emits a single info-line
([3.6.3] Memory proposals: skip — <reason>) and continues to Phase 3.6.5.
Coordinator Step-by-Step
Step 1 — Load proposal queue
import { collectProposals } from '../scripts/lib/memory-proposals/collector.mjs';
const { queue, stats, perWaveSummaries } = await collectProposals({ repoRoot });
Note:
sessionIdis supplied by the coordinator at the call site (e.g., read from STATE.md frontmatter); it is NOT returned bycollectProposals.
collectProposals() reads .orchestrator/metrics/proposals.jsonl, parses each line as a
ProposalRecord, and returns them in FIFO order (insertion order, not sorted by
confidence). This matches the D3 decision locked in Wave 1.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- yesterday First seen · 300 lines · 232 tokens per session scan A 52e86258bb08
memory-proposal-collector is an agent published in the GitHub repository Kanevry/session-orchestrator (49 stars, last pushed today), licensed MIT. It adds 232 tokens to every session and 3,499 once invoked, about $0.0012 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-03.
Other agents, from other repositories
adapter_grok
Grok is an eagerly registered stock-TUI adapter. RimZ launches grok, installs passive global hooks in ${GROKHOME:-/.grok}/hooks/rimz.json, and enriches each session from its durable updates.jsonl, summary.json, signals.json, and optional events.jsonl files. ACP and provider-private billing APIs stay outside this…
agent-session
Trinity has two conversation surfaces, and the difference is memory.
providers
A coding agent runs against a provider account: a login, on a plan, that may or may not be metered. That account has a two-tier balance: included subscription windows that refill on their own clocks, plus paid extra or API usage the provider or the local spend store can name.
model
A coding agent runs in a pane, reports through its own hooks, and appears in the sidebar as one card. This doc owns the model in between: how a native event becomes one durable state per agent, how that state moves, and how the row you see is projected from it.
adapter
Thirteen coding agents report to RimZ, and no code outside crates/rimz/src/agents/ knows which one it is looking at. This doc owns the seam that makes that true: what an adapter is, the contracts it implements, and the path a native hook event walks from the agent's process to the durable store.
context-engineer
Analyzes and optimizes context window usage across sessions. Use when context feels bloated, sessions run slow, or approaching compaction limits.