Files
small-scripts/memory/log/2026-08-02.223019.md

39 lines
2.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Session Log -- 2026-08-02
## Summary
Built the idle-draft writing-pipeline tooling (driven from the writing/oreillyconsulting
session; full narrative log lives there): extended `agent-subscriptions`, ported
`score-paragraphs` from GOES, and created `idle-draft` — a cron dispatcher spending idle
subscription capacity. Six commits, all implementation by Sonnet subagents, every test
suite re-run by the orchestrator before commit.
## Decisions
- Decision: `elapsed_pct` is null when a window lacks a reset timestamp (MiniMax v1
fallback); consumers fail closed -- Rationale: never assume pacing data that isn't there.
- Decision: idle-draft replicates claude-profile's provider.env parsing instead of
shelling out to claude-profile -- Rationale: claude-profile has interactive pickers and
WezTerm theming; a headless cron dispatcher needs neither.
- Decision: per-(work type × provider) model/effort config, precedence entry >
work-type > profile -- Rationale: owner wants MiniMax at elevated effort to offset
capability gap.
## Gotchas Discovered
- **[idle-draft]** Symptom: valid citations like `SPEC.md:1-80` rejected as dead paths --
Fix: strip trailing `:\d+(-\d+)?` before existence check (pilot #1 catch).
- **[score-paragraphs]** Symptom: hash-skip branch structurally unreachable; scored
paragraphs never re-examined, `--force` ineffective (bug in goes original too) -- Fix:
documented as known limitation in spec; port-not-rewrite mandate.
- **[claude-cli]** Symptom: needed the valid `--effort` set -- Fix: pass a bogus value
with `-p ""`; the CLI errors locally listing low, medium, high, xhigh, max (no API call).
- **[idle-draft]** Symptom: killed dispatcher orphans claude children; deterministic
`.tmp` names collide with the next instance -- Fix: start_new_session + SIGTERM/atexit
process-group kill; per-invocation `.tmp.<pid>` names; startup sweep of stale tmp files.
## Key Context
- New scripts: `idle-draft` (185 test assertions), `score-paragraphs` (57); extended
`agent-subscriptions` (33). All spec-first, all offline-testable, symlinked to ~/sbin.
- Deployment config/state live in `~/dev/claude/writing/oreillyconsulting/` (see that
repo's CONTEXT.md for pipeline operations).
- Pre-existing uncommitted work in this repo (auto-draft, bg-model-call,
wait-for-version, README.md) deliberately untouched — commits were pathspec-limited.