Commit Graph

9 Commits

Author SHA1 Message Date
Paul O'Reilly
ca8b538d34 idle-draft: per-work-type and per-provider model/effort settings
--effort/--model on child argv; provider entries accept object form
{provider, model, effort}; precedence entry > work-type > profile.
Effort levels validated against the CLI's enumerated set.

Claude-Session: https://claude.ai/code/session_01YQDoWNM7XPPii28khFWoMc
2026-08-02 22:16:34 +12:00
Paul O'Reilly
75add58246 idle-draft: per-work-type allowed_tools; research must web-search for stories
Research and topic_ideas runs get --allowedTools WebSearch,WebFetch;
research template mandates >=1 web search for related stories with
full-URL + access-date citations under the dossier's status labels.

Claude-Session: https://claude.ai/code/session_01YQDoWNM7XPPii28khFWoMc
2026-08-02 21:32:35 +12:00
Paul O'Reilly
6c4bf449aa idle-draft: idle-subscription dispatcher for the writing pipeline
Elapsed-paced gates, bounded-parallel event-driven dispatch, filesystem-
derived stages with thin human-gate state, citation validation with
quarantine, credential parity check, prompt templates as data.
Per IDLE-DRAFT-PLAN.md in writing/oreillyconsulting.

Claude-Session: https://claude.ai/code/session_01YQDoWNM7XPPii28khFWoMc
2026-08-02 21:18:02 +12:00
Paul O'Reilly
864960cbbb claude-profile modes: add deep-fable, orch pre-flight gate, ask-minimax re-point
deep-fable.md (new):
- driver: fable (claude-fable-5), same plan-first/spec-first discipline as deep
- escalates_to: opus — Opus named workflows remain available
- status line: [Fable→Opus] deep-fable · <project>: <task> | N% ctx
- on context wipe mentions "Deep Work (Fable)"

deep.md:
- Gnarly-bug consult: bg-model-call -> /ask-minimax skill with Opus fallback
- Async policy: replace bg-model-call bullet with /ask-minimax + Opus-subagent-fallback
- Workflow stance: add SSH key pre-flight check before git push

quick.md:
- Workflow stance: add SSH key pre-flight check before git push

hybrid.md:
- Async policy: replace bg-model-call reference with /ask-minimax + Opus-subagent-fallback

orch.md:
- New section "Pre-flight gate (before the autoloop)" placed before Auto-fire
- Auto-fire step 1 rewritten: run pre-flight gate first, then /loop 2m /orchestrate
- Escalation triggers: add stuck-queue row (5 iterations no change -> stop, report)
- Out of scope: add "Run the autoloop without the pre-flight gate"

context/claude-profile-modes.md:
- Status line: 47 assertions; driver table updated; 6 mode files noted
- Remaining follow-ups: bg-model-call replaced by /ask-minimax; deep-fable noted
2026-06-12 21:34:20 +12:00
Paul O'Reilly
9e13b7f096 claude-profile: remove provider-yaml system, embed model config in profiles
Provider selection phase removed; Anthropic driver→model_id is now
hardcoded in the script and non-Anthropic profiles supply provider.env
(MODEL_ID, ANTHROPIC_BASE_URL, ANTHROPIC_API_KEY_FILE).

Test suite baseline changes 58 → 41 assertions: the 17 dropped
assertions covered the removed provider-yaml selection phase, not
retained behaviour.

Includes refactor-derived memory: decisions (provider architecture,
driver enforcement via --model), bash gotchas (read -rp under set -e,
never eval user config), process lessons.
2026-06-12 21:26:07 +12:00
Paul O'Reilly
4cd9757abc feat(claude-profile): warn when non-Anthropic provider used with OAuth profile
Add a warning when ANTHROPIC_BASE_URL would be set but the active profile's
.credentials.json would override ANTHROPIC_API_KEY with subscription OAuth,
routing requests to Anthropic instead of the intended provider.

Fixes the MiniMax routing issue: use --profile minimax (~/.claude-minimax/,
no stored credentials) for non-Anthropic providers.

Update presets example to use profile: minimax for quick-minimax preset.
63 tests passing.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-23 18:33:39 +12:00
Paul O'Reilly
ff6228e7ad fix(minimax-provider): correct model name, auth var, and tier overrides
- model_id: MiniMax-M2.7 (was claude-sonnet-4-20250514)
- api_key_env: ANTHROPIC_API_KEY (was ANTHROPIC_AUTH_TOKEN — wrong for interactive CC)
- Add ANTHROPIC_MODEL + all four tier vars (SMALL_FAST, SONNET, OPUS, HAIKU) pointing to
  MiniMax-M2.7 to prevent fallback to Anthropic models on sub-agent calls
- Add API_TIMEOUT_MS=3000000 (50 min) for long-running operations

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-23 18:28:48 +12:00
Paul O'Reilly
a11051e0a8 feat(claude-profile): add provider selection (model + endpoint + credentials)
Introduces provider files (`data/claude-profile/providers/*.yaml`) that
bundle model ID, API base URL, API key source, and extra env vars. Phase 2.5
(provider selection) added between mode selection and launch, with a default
derived from the mode's driver field so existing Anthropic usage is unchanged.

Ships 5 providers: anthropic-haiku/sonnet/opus/opus-1m and minimax-sonnet.
MiniMax token decrypted from agent-runtimes SOPS env, stored at
~/.claude-secrets/minimax-auth-token. Adding new providers = one YAML file,
no script changes.

58 dryrun tests passing (up from 37).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-23 18:16:22 +12:00
Paul O'Reilly
143b32597e Add claude-profile engagement mode picker with statusline and session-start integration
- claude-profile: phase 1-3 picker (profile, mode, launch) with preset support,
  dryrun, WezTerm theming, and --append-system-prompt mode body injection
- 5 mode files (chat/quick/deep/hybrid/orch) with YAML frontmatter + prose body;
  new escalates_to field drives statusline →Opus arrow for deep and hybrid
- statusline.sh reads CLAUDE_CONFIG_DIR/active-mode.env to show
  [Sonnet→Opus] deep · topic format when launched via claude-profile
- Root CLAUDE.md session-start: auto-selects project from cwd or CLAUDE_PROJECT
  in active-mode.env, skipping the interactive picker when context is clear
- Spec, tests (37 assertions, 9 test files, all passing), context docs, and
  preset example included

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-12 00:36:38 +12:00