python3 "${CLAUDE_PLUGIN_ROOT}/scripts/ots" summarize \
--period 2026-08-21T14 \
--author "$SECOND_BRAIN_IDENTITY" \
--bundle "$SECOND_BRAIN_ROOT"
The model runs inline (Edition A or B from okf/temporal/tailer.json). No hidden queue. Scheduler is the user's cron — ots print-cron prints suggested lines.
Edition A (no API key) always passes the pinned cheapest model:
- Claude Code:
claude -p --model claude-haiku-4-5 - Codex:
codex exec -m gpt-5.6-luna - Grok Build:
grok --model grok-4-fast -p
Missing CLI or wrong model fails loudly. Sonnet / Sol / Terra / any non-pin fails closed. Never use the session default. No silent fallback to Edition B.
Edition B: ANTHROPIC_API_KEY → claude-haiku-4-5; OPENAI_API_KEY → gpt-5.6-luna. Same prompt and files.
Tests / air-gapped:
python3 "${CLAUDE_PLUGIN_ROOT}/scripts/ots" summarize \
--period 2026-08-21T14 \
--author "$SECOND_BRAIN_IDENTITY" \
--bundle "$SECOND_BRAIN_ROOT" \
--stub
--model-cmd is an explicit override, not Edition B.
Inspect (no model call):
python3 "${CLAUDE_PLUGIN_ROOT}/scripts/ots" sessions list --period 2026-08-21T14 --bundle "$SECOND_BRAIN_ROOT"
python3 "${CLAUDE_PLUGIN_ROOT}/scripts/ots" sessions show --id software_engineer__local__001 --bundle "$SECOND_BRAIN_ROOT"
python3 "${CLAUDE_PLUGIN_ROOT}/scripts/ots" summarize --status --period 2026-08-21T14 --bundle "$SECOND_BRAIN_ROOT"
Filter (not stored): user prompt + final assistant; skip tool_result. Never rewrite .source.jsonl. Overnight pointers stay out of scope.