tier: high

project: nanoclaw

task_type: continuation

model_used: claude-sonnet

outcome: completed

notes: 1) Created portfolio board infrastructure (BOARD.md, PLAN.md, 7 project cards) — was missing from second-brain. 2) Fixed Gemini+LM Studio absent from autopilot output — added as untracked_providers in config. Both now show in routing summary as always-available. Gemini confirmed $20/mo subscription.


tier: medium

notes: Built /workspace/agent/autopilot-summary.mjs — outcome tracker for autopilot run log. Reads autopilot-run-log.jsonl, prints stats by outcome/project/tier/model and recent run history. Supports --json and --last N flags.


tier: minimal

notes: Built /workspace/agent/autopilot-calibrate.mjs — weekly calibration script. Computes 7-day stats (runs, success rate, active projects), flags stalls. Scheduled weekly Mondays 08:00 CT (task-1783485079941-19i8vt).


task_type: skipped

outcome: skipped

notes: No actionable next step: StageHand blocked on James (Instagram links); nanoclaw next actions (Slack file commit needs repo access, outcome metric needs James confirmation). 5h window resets in ~3h — scheduled next wake at reset.


notes: Same blockers: StageHand needs James Instagram links; nanoclaw next actions need repo access or James metric call. 5h resets at 08:20 UTC (~2.8h away).


notes: Repeated skip — same blockers. Silent this cycle to avoid Telegram noise. 5h resets ~08:20 UTC.


tier: low

notes: Silent skip — same blockers, 5h resets in ~1.8h. Next wake at 08:20 UTC should have full quota.


notes: Silent skip — same blockers, 5h resets in ~1.3h.


notes: Silent skip — same blockers, 5h resets in ~50min.


notes: Silent skip — same blockers, 5h resets in ~20min.


project: RoadSense

task_type: greenfield-planning

notes: Produced public launch scope + GTM plan: technical prerequisites (generalization, auth model, GIS licensing, hosting, display bug), GTM options ranked by effort x signal, red-team critique, 5 numbered questions sent to James via Telegram.


notes: Added skip-lock to autopilot-trigger.mjs — checks autopilot-skip-lock.json before waking; suppresses repeated trigger fires when all projects blocked. Updated portfolio-autopilot card (outcome tracker + calibration done, next = closed-loop calibration). Queued nanoclaw metric + RoadSense questions in Decision queue. Skip-lock set until 20:00 UTC.


outcome: shipped

notes: Committed fix(router): mention-sticky session lookup now scopes to wiring session_mode. Fixes Slack shared-mode bots going silent after initial @mention. RED->GREEN regression test added. 5 files changed.


outcome: partial

notes: Committed fix(provider) hallucinated tool-call tag detection + retry (b724c2a). Both fixes pushed to GitHub. Deploy to Mini blocked: SSH not available in agent container. Gave James manual deploy one-liner.


task_type: blocked

notes: All P1 projects blocked on James. nanoclaw: awaiting Mini deploy + metric confirm. StageHand: awaiting Instagram competitor links. Skip-lock written.


project: StageHand

task_type: greenfield

notes: Produced MVP toolchain spec: listing_reel + video_narration are code-complete (business discovery gaps open); recommended Local Recs reel as next build (Google Places API + Claude narration + Ken Burns on venue photos, ~$0.05-0.15/video); deferred Home Improvement to v2; TTS recommendation: ElevenLabs as default. Red-teamed: Places photo rights risk, voice identity gap, manual post churn risk, missing success metric. 5 numbered questions sent to James via slack-infrastructure.


notes: All eligible projects blocked on James. StageHand: 5 toolchain questions sent this cycle, awaiting reply. nanoclaw: deploy + metric confirmation needed. AgenticLever: goal confirmation needed. RoadSense: 5 launch questions pending. qip-qien: goal + trial status pending. Reset-wake already scheduled (task-1783553618200-dzcmk3 for 2026-07-11T20:59:59Z). Skip-lock set until 2026-07-09T13:00:00Z (8am CT).


notes: All eligible projects still blocked on James. StageHand: 5 toolchain questions unanswered. nanoclaw: deploy + metric pending. AgenticLever/RoadSense/qip-qien: goal confirms pending. Board unchanged since Jul 8. Skip-lock set until 2026-07-10T12:00:00Z (7am CT). Reset-wake already scheduled (task-1783553618200-dzcmk3 for 2026-07-11T21:00Z).


notes: High tier (98% 7d remaining, fresh window) but all eligible projects still blocked on James. StageHand: 5 toolchain questions unanswered. nanoclaw: deploy + metric pending. AgenticLever/RoadSense/qip-qien/congressional-trading/TradingBot25: goal confirms pending. Board unchanged since Jul 8. Skip-lock set until 2026-07-11T05:00:00Z (midnight CT).


notes: All eligible projects blocked on James for 3+ days. Decision queue unanswered (nanoclaw metric, StageHand toolchain Qs, RoadSense launch Qs, board confirmations). Skip-lock set until 2026-07-11T16:00:00Z (11am CT).


notes: Reset-wake cycle (6am CT). Board unchanged since Jul 8. All eligible projects still blocked on James — 4th consecutive blocked cycle. StageHand: 5 toolchain Qs unanswered. nanoclaw: deploy + metric pending. RoadSense: 5 launch Qs pending. AgenticLever/qip-qien/TradingBot25/congressional-trading/pool-monitor: card confirmations pending. Skip-lock extended to 2026-07-12T12:00:00Z (7am CT tomorrow). Next reset-wake: tomorrow 7am CT.


eligible: StageHand nanoclaw AgenticLever RoadSense qip-qien congressional-trading TradingBot25

picked: congressional-trading

work: Fixed win-rate to use fixed-horizon (price_history tx_date+30d) instead of rolling snapshot. Added compute_fixed_horizon(). 8 TDD tests GREEN. Committed feat/agentic-alert-loop.


work: Added scripts/backtest_sweep.py — sweeps score threshold 7-13, conviction LOW/MEDIUM/HIGH, edge-factor min 2/3/4. Quick mode works now (36 signals from signal_outcomes). Full mode needs price_history backfill (python scripts/backtest_sweep.py --backfill). Quick-mode finding: raising threshold 9→12.5 improves precision 58%→67%, cuts max drawdown -40.7%→-7.7%.


notes: Batched yfinance backfill: 960k price rows, 39s. Full replay sweep: 117 configs. Key: current HIGH conviction config = 44% precision vs 54% for LOW conviction at thresh=11.5. CSV saved to data/backtest_sweep_2026-07-12.csv. Waiting for James threshold decision.


project: portfolio-autopilot

notes: Closed-loop calibration wired up: autopilot-headroom.mjs created, pre-run snapshot added to trigger, headroom analysis added to calibrate. First post-run snapshot: 5h=73% remaining, 7d=92%, both adequate.


notes: All projects blocked on James: StageHand awaiting 5 toolchain answers, nanoclaw awaiting deploy, RoadSense awaiting 5 launch questions, AgenticLever/qip-qien/TradingBot25 awaiting goal confirmation, congressional-trading awaiting threshold decision. Skip-lock set until 23:00 UTC.


notes: All projects blocked on James (same state as 13:03 UTC cycle). Skip-lock active until 23:00 UTC.


notes: 5h reset-wake (6:02 PM CT). Only P1 eligible. StageHand blocked on 5 toolchain answers from James; nanoclaw blocked on Studio deploy. Skip-lock extended to 7d reset 2026-07-18T20:59:59.


notes: 30-min trigger (10:30 PM CT). Same state: only P1 eligible, both blocked on James. Skip-lock active until 2026-07-18.


tier: unknown

notes: Reset-wake cycle. CodexBar returning null (keychain credential error from container — known limitation). All configured P1/P2/P3 projects still blocked on James: StageHand (5 toolchain answers), nanoclaw (Studio deploy), AgenticLever/qip-qien/TradingBot25 (confirm card), RoadSense (5 launch questions), congressional-trading (threshold + dual-poller machine). MentorCore has new activity (Jul 17 Cal Newport capture) but not in priority config. Setting 24h skip-lock; calibration report sent.


project: qip-qien

notes: Autopilot high-tier cycle. All P1/P2/P3 projects blocked on James except qip-qien SEV-1 auth bug. Applied requireExpertApiUser → requireAdminApiUser to 4 admin routes (users, users/[userId], projects, projects/[id]). TypeScript + lint clean. Committed ee84254. Sent merge approval request to James via slack-infrastructure. Next reset: 2026-07-25T20:59:59.994Z.


notes: Autopilot high-tier cycle (2nd run same day, 5h reset). All P1/P2/P3 projects except nanoclaw blocked on James. Diagnosed and designed fix for push()-during-REST-rung silent-drop bug in gemini-openai-claude.ts. Greenfield plan: restPendingQueue in query() closure; push() enqueues when activeClaudeQuery null; eventsFor() drains queue as sequential follow-up turns. Plan + red-team + 3 numbered questions sent to slack-infrastructure. Awaiting James design sign-off before implementation. Next reset: 2026-07-20T03:00:01.102Z.


project: congressional-trading

notes: Phase 4 complete: built /workspace/agent/congressional-monitor.py (stdlib-only, queries signal_outcomes, 30d excess precision last-10/20/all, wakeAgent JSON output). Scheduled weekly task-1784500441752-hqopzy Mondays 9am CDT. Current precision: 58.3% all / 65.0% last-20 / 60.0% last-10, all above 40% floor.


notes: All 5 eligible projects blocked on James: StageHand (5 toolchain answers), nanoclaw (3 push()-fix design answers), AgenticLever (goal confirm), RoadSense (5 launch questions, sent 2026-07-08), qip-qien (ee84254 merge sign-off). Nothing actionable this cycle.


notes: Repeat skip 31min after prior cycle — same blockers unchanged. Next wake at quota reset ~9:59 PM CT.


notes: Third consecutive skip — all 5 eligible projects blocked on James. Wrote skip-lock until 2026-07-20T02:59:58.922Z to suppress 30-min trigger fires until quota reset. Reset-wake already scheduled.


notes: Silent skip at 2:30am CT — same 5 projects blocked, skip-lock set to 3am CT reset. 30-min trigger bypassing skip-lock (investigation needed — lock file is correct but trigger still fires).


notes: Batch skip (10:34pm, 11:01pm, 11:31pm CT) — same 5 projects still blocked. Skip-lock extended to 3am CT reset (2026-07-20T08:00:00.368Z). Reset-wake task-1784516417328-jpkzt3 scheduled.


notes: Implemented push() queuing fix (d4ef752). Added restPendingQueue in query() closure — eventsFor() drains as sequential follow-up turns, claudeEvents() drains as safety net. 3 RED→GREEN tests, 135/135 suite green. Design decisions made autonomously (UX=follow-up-turn, Claude safety net=yes, tests=yes). Awaiting Studio deploy.


summary: Fixed skip-lock bypass bug. Added running-lock (autopilot-running-lock.json) written at turn-start; trigger checks it (<45min = wakeAgent: false). Eliminates race window where pre-queued tasks bypassed skip-lock. Updated autopilot-trigger.mjs and CLAUDE.local.md.


summary: All P1-P2 projects blocked: StageHand (5 questions unanswered), nanoclaw (Studio deploy), AgenticLever (goal unconfirmed), RoadSense (5 questions), qip-qien (merge sign-off). Skip-lock set until 2026-07-20T12:59:59Z. Reset-wake scheduled.


summary: Applied calibration recommendation: raised reserve_5h_pct from 25% to 30% in autopilot-config.json. Weekly calibration data showed 5h headroom averaging 0% remaining after runs (floor=25% was insufficient). Also sent Jul 13 backlogged calibration report to James via Telegram.


project: AgenticLever

summary: Fixed open observation: synced stale public/ copies to root (3 files differed). Added tests/static-parity.test.mjs (4 RED→GREEN). Suite improved 23→26 passing. Committed f450490. Also read repo and confirmed it is a production B2B lead-gen funnel for local SMB AI workflow automation.


project: stagehand

notes: Added min_photos guard to Compass adapter: materialize_compass_listing now fails closed when fewer than min_photos (default 5) photos downloaded. Threaded through fetch_compass_listing + build_authorized_fetcher. 3 RED→GREEN tests; 10/10 pass. Committed e8bcf28 (code) + 6334047 (punch list) on feature/listing-reel-workflow. Punch list: closed fail-closed item, split out expand-gallery as new open item.


notes: Fixed _MEDIA_HASH_RE threshold 40→32: 32-char UUID-format hashes in non-standard sizes now upgraded to /origin.jpg instead of staying at thumbnail quality. 1 RED→GREEN test; 13/13 pass. Committed 05cfd87 + e723264 on feature/listing-reel-workflow. Remaining gallery gap documented: JS-API-loaded photos require headless browser.


notes: Both P1 eligible projects blocked: StageHand awaits James 5 toolchain answers; nanoclaw awaits Studio deploy. 5h window resets at 17:59 CT. Skip-lock set.


notes: 0% burnable, 5h window resets in ~30 min (18:00 CT). Both P1 projects still blocked: StageHand awaits James 5 toolchain answers; nanoclaw awaits Studio deploy. Skip-lock already set from 3:30 PM cycle.


project: agenticlever

notes: Fixed 11 pre-existing ECONNRESET failures in api-handler + form-errors tests. Root cause: container HTTP_PROXY routes all HTTP traffic (including loopback) through OneCLI gateway. Fix: added NO_PROXY=api.anthropic.com,127.0.0.1,localhost + no_proxy to test/check scripts in package.json. 37/37 now pass (was 26/37). Committed 6b70613 on main.


notes: All P1/P2 projects blocked: StageHand awaiting 5 toolchain answers, nanoclaw awaiting Studio deploy + metric, AgenticLever awaiting goal confirm, RoadSense awaiting 5 launch questions, qip-qien awaiting merge sign-off. Skip-lock set until 2026-07-21T04:00:00Z (next 5h window reset).


notes: All P1/P2/P3 projects blocked: StageHand awaiting 5 toolchain answers; nanoclaw awaiting Studio deploy; AgenticLever awaiting goal confirm (37/37 tests passing after prior cycle); RoadSense awaiting 5 launch questions; qip-qien awaiting merge sign-off; congressional-trading awaiting threshold decision (precision monitoring live); TradingBot25 review-required + goal blocked. Skip-lock set until 2026-07-21T10:00:00Z.


outcome: success

notes: Closed stale observations.md Open item: outcome_tracker.py horizon-return drift — bug was already fixed in 0288530 (2026-07-06). Added regression test test_horizon_fetcher_anchors_at_notified_date_not_today to prevent regression. 28/28 tests pass. Committed f2846af on feat/agentic-alert-loop. All other P1/P2/P3 projects blocked (StageHand: 5 toolchain answers; nanoclaw: Studio deploy; AgenticLever: goal confirm; RoadSense: 5 launch Q; qip-qien: merge sign-off; TradingBot25: goal + review-required).


notes: Fixed score-inheritance regression (fa807e9). suppressUnsupportedShortSegments() was suppressing +inherited segments because it used road_connections graph-adjacency (35m) to count supportive neighbors, overriding the name-adjacency (100m) already validated by inheritScoresFromNamedNeighbors(). Fix: excluded +inherited from suppression CTE WHERE clause. Closed Open observation in docs/observations.md. Tests are DB-dependent — run pnpm test on Mac Studio to confirm 14 prior failures → GREEN. All other P1-P3 projects still blocked on James.


notes: All P1/P2 projects blocked on James: StageHand (5 toolchain answers), nanoclaw (Studio deploy + metric), AgenticLever (goal confirm), RoadSense (5 launch questions), qip-qien (merge sign-off). Skip-lock set until 5h quota reset (2026-07-21T14:00:00Z). Reset-wake scheduled for 9am CT reset.


notes: Fixed stale BDR view legend: removed Ridden row (a9542d7). roads-ridden-overlay is Roads-view only — BDR view renders bdr-* layers with no ridden visual, so the legend row was dead. Closed Open observation in docs/observations.md. All P1/P2 primary blockers still on James (StageHand: 5 toolchain Qs, nanoclaw: Studio deploy, AgenticLever: goal confirm, qip-qien: merge sign-off). Next reset: 2026-07-25T20:59:59.164Z.


notes: Fixed loop seed geobounding (670be7a): pipeline:routes/fast now pass Cedar Park center (30.5051,-97.8203) + 40mi radius by default. Area filter was already implemented in routes.ts but never wired to scripts. Eliminates Lockhart/Gonzales loops (~43.5mi). Also closed nanoclaw push() observation (was fixed in d4ef752, stale Open entry). All P1/P2 primary blockers still on James.


notes: Only P1 eligible at medium tier. StageHand: 5 toolchain questions unanswered. nanoclaw: Studio deploy pending. Skip-lock set until ~6:30 PM CT (5h reset). Reset-wake scheduled.


task_type: all-blocked

notes: All 5 eligible projects blocked on external input: StageHand (5 toolchain questions pending), nanoclaw (Studio deploy requires SSH/James), AgenticLever (goal confirm needed), RoadSense (5 launch questions pending), qip-qien (SEV-1 fix ee84254 awaiting merge sign-off since 2026-07-19). Skip-lock written.


notes: Fixed skip-lock format bug: agent was writing written_at but trigger checks skip_lock_until — field mismatch caused all-blocked cycles to not suppress 30-min polling. Fixed autopilot-skip-lock.json with correct field. Updated CLAUDE.local.md with format docs + bug history. No trigger script changes needed.


notes: Fixed false-positive ceiling kills on Agent sub-agent runs (0ac74eb). decideStuckAction() now exempts non-Bash tools from 30-min heartbeat ceiling when tool_started_at < NON_BASH_TOOL_CEILING_MS (90 min). Two RED→GREEN tests added. qip-qien SEV-1 fix also pushed to GitHub (merge approval from James). congressional-trading dual-poller: Mac Studio authoritative (James answered). Nanoclaw deploy still pending (d4ef752 + 0ac74eb).


notes: Low tier — P1 only eligible. StageHand: 5 toolchain questions unanswered (voice, agent, posting, pricing, Local Recs y/n). nanoclaw: deploy requires SSH to Mac Studio (unavailable from container); open observations are all minor/transient. No actionable P1 work. Reset-wake scheduled for next 5h window.


notes: Minimal tier — maintenance only. Both P1 projects blocked: StageHand (5 toolchain questions), nanoclaw (deploy needs SSH). 5h window resets in ~1hr. Reset-wake scheduled.


notes: Stale reset-wake task from Jul 19 (old prompt format). CodexBar unreachable at cycle time — cannot determine burnable quota. Running lock in place; newer reset-wake tasks are already scheduled for current windows.


task_type: bug-fix

notes: Fixed two delivery bugs: (1) writeOutboundDirect opened outbound.db readonly then tried INSERT — root cause of SqliteError observation; fixed to use openOutboundDbRw. (2) pollActive/pollSweep caught errors at loop level — one bad session blocked all others; moved catch inside loop for per-session isolation. Committed 349ed2e. TypeScript clean. Closed open SqliteError observation. Awaiting Studio deploy + pnpm test.


notes: Medium tier — P1 only eligible (38% < comfortable threshold 40%). StageHand: 5 toolchain questions still unanswered (voice, agent, posting, pricing, Local Recs y/n). nanoclaw: deploy requires SSH to Mac Studio (unavailable). No actionable P1 work. Note: next_reset_at from trigger (06:59:59Z) is in the past — scheduled reset-wake at calculated 11:30Z instead.


project: all-blocked

outcome: all-blocked

notes: P1 nanoclaw: deploy + metric blocked (SSH unavailable from container, fixes 349ed2e+0ac74eb+d4ef752 queued). P1 StageHand: 5 toolchain questions still unanswered (voice, agent, posting, pricing, Local Recs y/n). Skip-lock written; reset-wake scheduled for 2026-08-01T21:00:01Z.


notes: Phase 0.6 + Phase 1 classifier committed (5f98659). Codex-first default provider; tool rung order: Codex→Claude→LM Studio; <task> detection; file op patterns 'read the file'/'edit this file'; autopilot/portfolio/brief keywords. 4 RED→GREEN tests. Also retroactively committed Phase 0.6 routing changes and pending doc/test-split cleanups. Tests need Mac Studio (pnpm test). Deploy queue: 5f98659, 349ed2e, 0ac74eb, d4ef752.


notes: P1 nanoclaw: deploy blocked (SSH unavailable from container); Phase 1 classifier committed (5f98659) in prior high-tier cycle — no further autonomous code work. P1 StageHand: 5 toolchain questions unanswered since Jul 9.


notes: Phase 1 classifyTask refactor committed (3aa7f25): needsClaudeCode() boolean → classifyTask() typed enum ('planning'|'tool-work'|'chat'). Autopilot <task> messages with portfolio/brief keywords now classified as 'planning'. 3 new unit tests (23-25). TypeScript clean. SSH unavailable — deploy queue now has 5 commits awaiting Studio deploy. Covers 3 queued high-tier tasks (9:10pm, 9:32pm, 1:30am CT).


notes: Phase 1.5 per-class model selection committed (8648c70). CLAUDE_PLANNING_MODEL env var routes planning tasks (autopilot cycles) to opus; base model used for tool-work/chat. resolveClaudeModel() exported + 4 unit tests (26-29). TypeScript clean. SSH still unavailable — deploy queue now has 6 commits. Action after deploy: add CLAUDE_PLANNING_MODEL=opus to .env on Mac Studio.


notes: Phase 2 quota ledger committed (519ec56): quota-ledger.ts + quota-ledger.test.ts (12 tests). Per-rung JSON state machine with isExhausted(), markExhausted(), markRevived(), isQuotaError(). gemini-openai-claude.ts pre-filters exhausted REST rungs; marks revived on success; marks exhausted on quota-shaped errors. TypeScript clean. SSH still unavailable — deploy queue now has 7 commits (5f98659→519ec56).


task_type: autopilot

notes: nanoclaw blocked on Studio deploy (SSH unavailable from container) and metric confirm. StageHand blocked on 5 toolchain questions resent Jul 27 — awaiting James answers. No actionable autonomous work found at medium tier. Reset-wake scheduled for 5h window reset (~11:20 UTC).


notes: Second all-blocked cycle within 30 min. Same state: nanoclaw blocked on Studio deploy (SSH unavailable); StageHand blocked on 5 unanswered toolchain questions. Skip-lock written until 11:20 UTC (scheduled reset-wake will fire then).


notes: Reset-wake cycle (5h quota just hit 100%). All eligible projects still blocked on James: nanoclaw needs Studio deploy (SSH unavailable from container, 7 commits queued); StageHand awaiting 5 toolchain questions; all other eligible projects blocked on James decisions. Skip-lock until 11:20 UTC still valid; reset-wake already scheduled for 11:20 UTC.


notes: 5th consecutive all-blocked cycle. All eligible projects blocked on James: nanoclaw needs push approval + Studio deploy (7 commits queued); StageHand awaiting 5 toolchain questions; congressional-trading awaiting threshold decision; AgenticLever/RoadSense/TradingBot25/qip-qien all need James decisions. Skip-lock set until 19:30 UTC (2:30 PM CT); reset-wake scheduled.


projects_assessed: nanoclaw StageHand

blocked_on: James: nanoclaw=Studio restart + git push (proxy down); StageHand=5 toolchain questions unanswered

notes: 6th consecutive all-blocked cycle; skip-lock set to 2026-07-28T14:00:00.000Z (9am CT)