vault: session notes 2026-07-08
This commit is contained in:
parent
50ff2ff8b4
commit
4b11d7089c
|
|
@ -0,0 +1,13 @@
|
||||||
|
---
|
||||||
|
summary: Daily session log
|
||||||
|
tags: [scope/global, type/log]
|
||||||
|
---
|
||||||
|
|
||||||
|
## Session — 2026-07-08T13:27:54Z
|
||||||
|
|
||||||
|
**Project:** /home/jared/dev/cc-os
|
||||||
|
**Reason:** prompt_input_exit
|
||||||
|
**Vault notes touched:**
|
||||||
|
/home/jared/Documents/SecondBrain/reference/orchestration-prompting-claude-5-era.md
|
||||||
|
/home/jared/Documents/SecondBrain/reference/agent-orchestration-patterns.md
|
||||||
|
/home/jared/Documents/SecondBrain/reference/zsh-path-variable-collision.md
|
||||||
|
|
@ -152,3 +152,4 @@ Return: {"status": "updated|skipped|ambiguous", "changes": [...]}
|
||||||
## Related
|
## Related
|
||||||
|
|
||||||
- [[reference/agent-orchestration-cookbook]] — concrete walkthroughs, token budgets, error recovery patterns
|
- [[reference/agent-orchestration-cookbook]] — concrete walkthroughs, token budgets, error recovery patterns
|
||||||
|
- [[orchestration-prompting-claude-5-era]] — model-generation-specific prompting guidance (Fable 5 / Opus 4.8 / Sonnet 5); why delegation thresholds must be re-keyed when the main-loop tier changes
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,107 @@
|
||||||
|
---
|
||||||
|
type: reference
|
||||||
|
subtype: pattern/framework
|
||||||
|
title: "Orchestration prompting for Claude 5-era models (Fable 5, Opus 4.8, Sonnet 5)"
|
||||||
|
summary: "What Anthropic's model-page guidance says about delegation, token efficiency, and rule phrasing for current-generation orchestrators — and how it invalidates delegation rules written for cheaper/older main-loop models. Answers: how should an orchestrator rule doc be written when the main loop is a top-tier model?"
|
||||||
|
tags:
|
||||||
|
- type/reference
|
||||||
|
- domain/ai-agents
|
||||||
|
- domain/orchestration
|
||||||
|
- tool/claude-code
|
||||||
|
scope: global
|
||||||
|
last_updated: 2026-07-08
|
||||||
|
date: 2026-07-08
|
||||||
|
last_reviewed: 2026-07-08
|
||||||
|
related:
|
||||||
|
- agent-orchestration-patterns
|
||||||
|
- agent-orchestration-cookbook
|
||||||
|
- os-orchestration-ws1-session-audit-results
|
||||||
|
source: cc-os
|
||||||
|
---
|
||||||
|
|
||||||
|
# Orchestration prompting for Claude 5-era models
|
||||||
|
|
||||||
|
Sources: Anthropic model pages (prompting-claude-fable-5, prompting-claude-opus-4-8,
|
||||||
|
prompting-claude-sonnet-5, claude-prompting-best-practices), fetched 2026-07-08. Community
|
||||||
|
claims below are marked `[unverified claim]`.
|
||||||
|
|
||||||
|
## The meta-finding (why this note exists)
|
||||||
|
|
||||||
|
**Delegation rules go stale when the main-loop model tier changes, even if every rule is still
|
||||||
|
individually true.** A rule doc written to prevent over-delegation on a sonnet main loop
|
||||||
|
(where direct work is cheap and Opus 4.6-era models over-spawned) actively suppresses
|
||||||
|
delegation on a Fable/top-tier main loop, where every direct tool call is billed at the most
|
||||||
|
expensive rate. The threshold question is not "is this task big enough to delegate?" but
|
||||||
|
"does this work need main-loop-tier judgment?" — cost asymmetry between the orchestrator and
|
||||||
|
the cheapest adequate executor must be *explicit in the rule text*, not implied.
|
||||||
|
|
||||||
|
## Load-bearing guidance from the model pages
|
||||||
|
|
||||||
|
1. **Calibrated trigger phrasing, both directions.** On 4.6+ models, absolutist wording
|
||||||
|
("CRITICAL: you MUST...") over-fires; plain "use X when Y" is correct. Crucially, the
|
||||||
|
canonical best-practices delegation snippet pairs a *positive* trigger list ("use subagents
|
||||||
|
when parallel / isolated context / independent workstreams") with a *negative* one ("work
|
||||||
|
directly for simple tasks, sequential ops, single-file edits, shared-state steps").
|
||||||
|
A rule doc phrased negative-first ("delegate ONLY when...") is read literally by these
|
||||||
|
models and suppresses delegation in every gray zone.
|
||||||
|
|
||||||
|
2. **Literal instruction-following.** Opus 4.8/Sonnet 5/Fable 5 do not silently generalize
|
||||||
|
an instruction beyond its stated scope. A threshold like "≤2-tool-call ops are direct"
|
||||||
|
licenses 3+-call direct work forever unless something *obligates* delegation above some
|
||||||
|
line — write both sides of the boundary.
|
||||||
|
|
||||||
|
3. **Model biases differ by generation and must be steered per-model:** Fable 5 dispatches
|
||||||
|
parallel subagents *readily* and sustains async communication with them (recommended
|
||||||
|
pattern: "delegate independent subtasks and keep working while they run" — non-blocking);
|
||||||
|
Opus 4.8 *under*-delegates by default and needs explicit "spawn multiple in the same turn
|
||||||
|
when fanning out" nudges; Opus 4.6 *over*-delegated. The same orchestration text lands
|
||||||
|
differently per main-loop model.
|
||||||
|
|
||||||
|
4. **Effort is the primary within-model cost dial** — the docs give no cross-tier
|
||||||
|
haiku/sonnet/opus decision table at all; they treat `effort` as the main quality/cost
|
||||||
|
lever. An orchestration policy that routes only by model tier is missing a lever: mechanical
|
||||||
|
subagent work → low effort, hard verify/judge stages → high/xhigh (where the harness
|
||||||
|
exposes it, e.g. Workflow `agent()` opts).
|
||||||
|
|
||||||
|
5. **Long-lived / batched subagents amortize cost.** Fable 5 page: long-lived subagents that
|
||||||
|
keep context across subtasks save time and cost via cache reads and avoid bottlenecking on
|
||||||
|
the slowest agent. Combine with the batching economics in [[agent-orchestration-patterns]]
|
||||||
|
(tool tax ~20–25K tokens per spawn; batch 5–8 similar items per specialist; reuse a live
|
||||||
|
agent for follow-ups instead of spawning fresh).
|
||||||
|
|
||||||
|
6. **Front-load the task spec.** Opus 4.8/Sonnet 5: token use rises in interactive settings
|
||||||
|
because the model re-reasons after each user turn; a complete task/intent/constraints
|
||||||
|
statement in the first turn is cheaper and better than progressive disclosure. Applies
|
||||||
|
equally to subagent prompts: one complete grouped prompt beats iterative follow-ups.
|
||||||
|
|
||||||
|
7. **Grounding and downgrade honesty.** Fable 5 page's "audit each claim against a tool
|
||||||
|
result" pattern nearly eliminated fabricated status reports in Anthropic's testing —
|
||||||
|
the same mechanism as subagent model self-report (subagents know their model ID; launch
|
||||||
|
results don't show it).
|
||||||
|
|
||||||
|
## Community pattern (context, not evidence)
|
||||||
|
|
||||||
|
The "Fable-5 orchestrator" community pattern (pasqualepillitteri.it, 2026-07-02) matches the
|
||||||
|
above architecture — Fable plans/synthesizes, pinned-model personas execute, orchestrator
|
||||||
|
generates only 10–20% of tokens, "5–10× savings" `[unverified claim]` (all cost figures
|
||||||
|
asserted without methodology; the one external attribution, "MindStudio 80–90% shift with no
|
||||||
|
quality loss," has no citation). Its mechanical details (frontmatter-pinned `model:` in
|
||||||
|
`~/.claude/agents/`, description-driven delegation) are real Claude Code mechanics; its
|
||||||
|
numbers are not evidence.
|
||||||
|
|
||||||
|
## How to apply
|
||||||
|
|
||||||
|
When writing or reviewing an orchestrator rule doc:
|
||||||
|
- State the cost asymmetry explicitly and key the delegation threshold to the main-loop tier
|
||||||
|
(models know their own model ID, so tier-conditional rules are implementable).
|
||||||
|
- Pair positive and negative delegation triggers; never "only when."
|
||||||
|
- Add a batching rule (group related subtasks into one agent prompt; reuse live agents) and an
|
||||||
|
async rule (keep working while subagents run).
|
||||||
|
- Re-audit the rule doc whenever the default main-loop model changes generation — evidence
|
||||||
|
gathered under the old economics (e.g. "direct work was often superior") may no longer bind.
|
||||||
|
|
||||||
|
## Related
|
||||||
|
|
||||||
|
- [[agent-orchestration-patterns]] — batching economics, tool tax, decision framework
|
||||||
|
- [[agent-orchestration-cookbook]] — concrete walkthroughs
|
||||||
|
- [[os-orchestration-ws1-session-audit-results]] — the audit evidence gathered under pre-Fable economics
|
||||||
|
|
@ -0,0 +1,27 @@
|
||||||
|
---
|
||||||
|
type: reference
|
||||||
|
subtype: pattern/framework
|
||||||
|
title: "zsh: assigning a variable named path silently corrupts $PATH"
|
||||||
|
summary: "In zsh, the lowercase array variable path is linked to $PATH; assigning path=... in a script or session clobbers the executable search path and causes unrelated command-not-found failures. Use another name (tpath, fpath_ — but note fpath is also linked)."
|
||||||
|
tags:
|
||||||
|
- type/reference
|
||||||
|
- tool/zsh
|
||||||
|
- domain/shell-scripting
|
||||||
|
scope: global
|
||||||
|
last_updated: 2026-07-08
|
||||||
|
date: 2026-07-08
|
||||||
|
source: cc-os
|
||||||
|
---
|
||||||
|
|
||||||
|
# zsh: `path` is linked to `$PATH`
|
||||||
|
|
||||||
|
zsh ties certain lowercase array variables to their uppercase scalar counterparts:
|
||||||
|
`path`↔`PATH`, `fpath`↔`FPATH`, `cdpath`↔`CDPATH`, `mailpath`↔`MAILPATH`, `manpath`↔`MANPATH`.
|
||||||
|
Assigning any of them (e.g. `path="/some/file"` as an innocent loop variable) silently
|
||||||
|
replaces the executable search path for the rest of the script/session. Symptom: unrelated
|
||||||
|
tools start failing with command-not-found after a script ran.
|
||||||
|
|
||||||
|
**Rule:** in zsh scripts (including throwaway audit/eval scripts driven from Claude Code,
|
||||||
|
whose Bash tool runs zsh on this machine), never use `path`, `fpath`, `cdpath`, `manpath`
|
||||||
|
as variable names. Discovered 2026-07-08 during the Fable orchestration mini-audit
|
||||||
|
(scripts fixed by renaming to `tpath`).
|
||||||
Loading…
Reference in New Issue