From 001d60e461aa09129c8ed9cc60fc459484cc379c Mon Sep 17 00:00:00 2001 From: Scribe Date: Wed, 17 Jun 2026 19:21:20 +0200 Subject: [PATCH 01/17] Enhance documentation with updates on token recommendation placements and model-switching guidelines for improved cost efficiency --- .squad/agents/bender/history.md | 4 ++++ .squad/agents/hermes/history.md | 7 +++++++ .squad/decisions.md | 7 +++++++ README.md | 6 +++--- docs/06-workflow-optimization.md | 2 +- docs/08-mcp-tool-costs.md | 9 +++++++-- docs/10-practical-setup.md | 10 +++++++++- docs/11-models-and-pricing.md | 3 +++ 8 files changed, 41 insertions(+), 7 deletions(-) diff --git a/.squad/agents/bender/history.md b/.squad/agents/bender/history.md index 109269d..e5d2618 100644 --- a/.squad/agents/bender/history.md +++ b/.squad/agents/bender/history.md @@ -97,3 +97,7 @@ - Hermes completed the semantic cleanup, not just file removal: plugin metadata now advertises the guide + agent surface, repo docs no longer teach repo-local skill installation, and late Part 4 numbering is contiguous again. - Live filesystem and `rg` checks satisfied the main acceptance criteria: no top-level `skills/`, no `skills-lock.json`, and one canonical image copy under `docs/assets/`. - Remaining gap is environmental, not yet a content failure: strict MkDocs build still cannot be executed here because `mkdocs` is not installed. + +### 2026-06-17: Token Recommendation Placement Review — Approved + +- Hermes placed RTK Windows cautions, VS Code extension/profile cleanup, custom-agent cost control, model-switch risk, and Copilot CLI AIC value framing in natural locations without overstating hidden internals or exact billing math. diff --git a/.squad/agents/hermes/history.md b/.squad/agents/hermes/history.md index ccf2f27..e6b5bb7 100644 --- a/.squad/agents/hermes/history.md +++ b/.squad/agents/hermes/history.md @@ -9,6 +9,13 @@ ## Learnings +### 2026-06-17: Placement for Tool, Profile, Model-Switch, and AIC Recommendations + +- Added RTK Windows caveat beside existing RTK setup, not as a new technique. Readers need the warning where they copy commands. +- Extension/profile cleanup belongs with MCP/tool costs and practical agent setup because extension-injected tools behave like hidden context surface. +- Model mid-chat switching belongs in model-pricing anti-patterns with careful cache/history wording; avoid claiming fixed implementation internals. +- Copilot CLI AIC counter fits habit-building/monthly maintenance: value framing is a behavior loop, not a setup prerequisite. + ### 2026-04-14: Wrote TOKEN-OPTIMIZATION-GUIDE.md (v1) - 1107 lines. Followed Leela's outline (5 parts), filled with Farnsworth's data. diff --git a/.squad/decisions.md b/.squad/decisions.md index 985f422..8444116 100644 --- a/.squad/decisions.md +++ b/.squad/decisions.md @@ -196,6 +196,13 @@ - Cleanup stays semantic, not just structural: docs and plugin metadata must stop advertising shipped installable skills. - Validation target stays bounded: live `rg` and filesystem checks must pass; strict MkDocs build remains desirable but may be blocked if `mkdocs` is unavailable. +### 2026-06-17: Token Recommendations Placement + +**Author:** Hermes | **Status:** Active | **Requested by:** Marco Olivo + +- Placed RTK Windows caution in MCP/tool-cost sections, VS Code extension/profile and custom-agent guidance in MCP/practical setup, model-switch cache risk in model-pricing anti-patterns, and Copilot CLI AIC value-framing in habit-building maintenance. +- Each recommendation now sits beside the mechanism it affects, avoiding a new page and keeping README changes limited to high-impact quick-start nudges. + ## Governance - All meaningful changes require team consensus diff --git a/README.md b/README.md index 383d08c..146e51a 100644 --- a/README.md +++ b/README.md @@ -21,12 +21,12 @@ Don't have time to read the full guide? Do these today and cut your token usage: | 1 | **Request code-only responses** — add `Code only, no explanation.` to `copilot-instructions.md`. Highest per-token ROI: output costs 5× more than input, and this cuts 40-70% of output on every code task, permanently | Shrinks response length | 0 minutes | | 2 | **Constrain output format by default** — add `Bullets over paragraphs. No explanations unless asked.` to `copilot-instructions.md` | Keeps answers terse | 0 minutes | | 3 | **Shrink your always-on context** — compress `copilot-instructions.md` AND prune `AGENTS.md` to landmines only. Every token in either file is billed on every interaction (and every agent step). Strip filler, delete anything the agent discovers by reading code, delete LLM-generated `/init` boilerplate | Reduces always-on input/context | 15 minutes | -| 4 | **Default to Auto model selection** — use Auto as the baseline because it chooses from the supported Auto pool and gives a paid-plan discount. Pin higher-cost models manually when a task clearly justifies them. See [Model Selection & Pricing](docs/11-models-and-pricing.md) | Lowers billed rate on eligible usage | 0 minutes | +| 4 | **Default to Auto model selection** — use Auto as the baseline because it chooses from the supported Auto pool and gives a paid-plan discount. Pin higher-cost models manually only when a task clearly justifies them, and start a fresh chat when switching cost lanes in a long session. See [Model Selection & Pricing](docs/11-models-and-pricing.md) | Lowers billed rate on eligible usage | 0 minutes | | 5 | **Use Ask Mode for simple questions** — reserve Agent Mode for multi-step tasks | Avoids agent overhead | 0 minutes (just choose the right mode) | | 6 | **Scope context with `applyTo:` paths** — split one large instructions file into small scoped ones that load only when relevant | Reduces always-on input/context | 15 minutes | | 7 | **Be precise in your prompts** — "Add null check to `getUser()`" not "Can you please look at this and maybe add some error handling?" Note: your typed prompt is a small fraction of total input; precision matters more for quality than for raw token savings | Improves task targeting | 0 minutes | | 8 | **Retune prompts to the target model** — provider prompting guides change by model/version. Paste the official guide URL into Copilot and ask it to adapt `.github/copilot-instructions.md`, agent profiles, or app prompts for the model you actually use | Reduces rework | 10 minutes per model change | -| 9 | **Audit your MCP servers** — disable servers you're not using; each costs ~100-500 tokens per agent step | Removes tool/schema overhead | 5 minutes | +| 9 | **Audit your MCP servers and injected tools** — disable unused MCP servers and VS Code extensions that add skills/tools; use a clean coding profile or focused custom agent for repeat workflows. Each MCP tool costs ~100-500 tokens per agent step | Removes tool/schema overhead | 5-10 minutes | | 10 | **Convert rich files to Markdown before AI work** — `.docx`, `.pdf`, `.pptx`, `.xlsx`, HTML, images, audio, video, and ZIPs carry format tax. [Marc Bara's writeup](https://medium.com/@marc.bara.iniesta/your-docx-is-wasting-33-of-your-ai-budget-86a3d229d042) shows the cost; use [Microsoft MarkItDown](https://github.com/microsoft/markitdown) before chat, agent, or RAG ingestion | Reduces noisy input context | 5 minutes | | 11 | **Run `/chronicle improve` weekly** (**Copilot CLI only**, experimental) — this slash command works in interactive Copilot CLI sessions, not as a general Copilot Chat feature. It finds recurring confusion in your CLI session history and generates custom-instruction fixes so the same misread intent stops costing tokens forever | Cuts recurring rework | 2 minutes per run | | 12 | **Try CodeAct for long tool chains** (**Copilot CLI only**, optional external plugin) — [`copilot-codeact-plugin`](https://github.com/jsturtevant/copilot-codeact-plugin) collapses multi-step tool chains into one sandboxed execution, which can reduce repeated replay of system prompt, prior messages, and tool definitions | Reduces tool-loop replay | 10-15 minutes | @@ -124,7 +124,7 @@ Ranked by cost impact. Output first — it costs 5× more per token than input. 1. **Output control** — "Code only, no explanation" + terse default in `copilot-instructions.md`. 40-70% output savings on code tasks, 30-60% across all interactions. One instruction, permanent. 2. **Shrink always-on context** (`copilot-instructions.md` + `AGENTS.md`) — compress filler, prune to landmines only, delete LLM-generated boilerplate. Compounds on every interaction and agent step; 20-23% agent-task reduction plus better correctness 3. **Ask Mode for simple questions** — 60-90% savings by avoiding Agent overhead -4. **Audit MCP servers** — disable unused servers, save 5K-190K tokens per agent task +4. **Audit MCP servers and injected tools** — disable unused servers/extensions, or use a clean coding profile/custom agent, to save 5K-190K tokens per agent task 5. **Auto model selection** — lower-cost default routing plus paid-plan discount on eligible usage, zero effort 6. **Convert rich files to Markdown first** — avoid paying for Word/PDF/HTML layout noise in chat, agent, and RAG workflows 7. **Retune prompts to the target model** — better first-pass output reduces repeated clarification turns diff --git a/docs/06-workflow-optimization.md b/docs/06-workflow-optimization.md index ca89e33..7b558d5 100644 --- a/docs/06-workflow-optimization.md +++ b/docs/06-workflow-optimization.md @@ -99,7 +99,7 @@ Keep the claim bounded: this guide is **not** benchmarking CodeAct itself. The p CodeAct reduces the *number* of tool calls. [**RTK (Rust Token Killer)**](https://github.com/rtk-ai/rtk) reduces the *size* of each tool call's result. They address different sides of the same problem and can be used together. -RTK is a CLI proxy that intercepts `git`, `cargo test`, `grep`, `ls`, and 100+ other dev commands and compresses their output before it reaches the agent — 60–90% savings per command. Unlike CodeAct, RTK works in all Copilot surfaces (VS Code, CLI, and other AI tools), not just Copilot CLI. See [MCP & Tool Costs §2.7.7](08-mcp-tool-costs.md#277-compress-tool-output-at-the-source-rtk) for setup and the full command list. +RTK is a CLI proxy that intercepts `git`, `cargo test`, `grep`, `ls`, and 100+ other dev commands and compresses their output before it reaches the agent — 60–90% savings per command. Unlike CodeAct, RTK is not limited to Copilot CLI; it can help across Copilot surfaces when the shell hook is reliable. Treat Windows setups as a pilot, not a default rollout. See [MCP & Tool Costs §2.7.7](08-mcp-tool-costs.md#277-compress-tool-output-at-the-source-rtk) for setup and the full command list. ## 2.5.4 Default to Auto Model Selection diff --git a/docs/08-mcp-tool-costs.md b/docs/08-mcp-tool-costs.md index 731e4cb..50608d0 100644 --- a/docs/08-mcp-tool-costs.md +++ b/docs/08-mcp-tool-costs.md @@ -18,7 +18,7 @@ Free Space: 55.3k (28%) Buffer: 40.4k (20%) ``` -**VS Code Copilot:** no equivalent command, but you can estimate your `System/Tools` baseline by counting active MCP servers × tools × ~200 tokens average (see §2.7.2). +**VS Code Copilot:** no equivalent command, but you can estimate your `System/Tools` baseline by counting active MCP servers × tools × ~200 tokens average (see §2.7.2). Also audit extensions that add skills, agents, MCP servers, or tool surfaces. If an extension injects tools you do not need for coding, disable it for that workspace or move coding work into a VS Code profile with only the essentials enabled. **The critical distinction — always-loaded vs. on-demand:** @@ -151,6 +151,8 @@ Don't enable every MCP server globally. Use workspace-level configuration: **The rule:** If you don't need it for the current task, disable it. You can always re-enable it later. Every idle MCP server costs tokens on every agent step. +**VS Code extensions count too.** MCP servers are the obvious source of tool schemas, but some extensions also add skills, chat participants, agent profiles, or tool surfaces that can appear in the AI context. For cost-sensitive coding sessions, keep a lean VS Code profile: core language tooling, GitHub Copilot, and only the MCP/tools needed for that repo. Disable everything else at the workspace or profile level. + ## 2.7.6 Practical Guidance 1. **Audit your MCP servers** — run through your enabled servers. Do you actually use all of them? Disable the rest @@ -160,7 +162,8 @@ Don't enable every MCP server globally. Use workspace-level configuration: 5. **Custom instructions help** — add "Minimize tool calls. Read files only when necessary." to reduce call frequency 6. **Use skills instead of MCPs for occasional capabilities** — MCP tool schemas load on every step whether used or not. Skills load only title and description upfront; the full content pulls on demand. If a capability is used in fewer than half your sessions, a skill is cheaper. See [Practical Setup §4.2](10-practical-setup.md#mcps-vs-skills-eager-vs-lazy-context-loading) for the full comparison 7. **Optional, Copilot CLI only: try CodeAct for long tool chains** — external plugin [`copilot-codeact-plugin`](https://github.com/jsturtevant/copilot-codeact-plugin) collapses many small tool hops into one sandboxed execution. That does not shrink any one server's schema, but it can reduce how often the full tool catalog gets replayed on CLI-heavy tasks -8. **Compress tool output at the source with RTK** — [RTK (Rust Token Killer)](https://github.com/rtk-ai/rtk) is a CLI proxy that filters the *results* of shell commands before they reach the agent. Confirmed to work well in VS Code Copilot (repo-by-repo setup). Reductions are real but vary by command and project output volume. See §2.7.7 +8. **Use a focused custom agent for repeat coding workflows** — a custom agent can carry a narrow tool list and stable instructions, so the same coding workflow starts with the same active surface instead of whatever the default chat currently exposes. Where your Copilot surface supports model selection in agent/profile files, pin the intended model there too +9. **Compress tool output at the source with RTK** — [RTK (Rust Token Killer)](https://github.com/rtk-ai/rtk) is a CLI proxy that filters the *results* of shell commands before they reach the agent. Confirmed to work well in VS Code Copilot on macOS/Linux with repo-by-repo setup. Treat Windows as experimental and validate before rolling it out broadly. Reductions are real but vary by command and project output volume. See §2.7.7 ## 2.7.7 Compress Tool Output at the Source: RTK @@ -198,6 +201,8 @@ brew install rtk curl -fsSL https://raw.githubusercontent.com/rtk-ai/rtk/refs/heads/master/install.sh | sh ``` +**Windows caveat:** RTK is strongest today on Unix-like shell paths. On Windows, shell-hook behavior and path handling can be brittle, especially across PowerShell, Git Bash, WSL, and VS Code agent execution. Treat it as a pilot, not a default recommendation: test it on the exact repo and shell your team uses, and skip it if the setup causes command failures or noisy behavior. + **Setting up for VS Code Copilot — per-repo:** For VS Code Copilot, RTK installs a PreToolUse hook scoped to the current repository. Run this once inside each repo where you want RTK active: diff --git a/docs/10-practical-setup.md b/docs/10-practical-setup.md index db5dcda..6dbbb86 100644 --- a/docs/10-practical-setup.md +++ b/docs/10-practical-setup.md @@ -297,7 +297,9 @@ Mock: external services only. No impl mocking. Coverage: branch coverage ≥80%. ``` -Focused agents carry less instruction overhead than a general-purpose instruction set. +Focused agents carry less instruction overhead than a general-purpose instruction set. They also give you a stable control surface: the same task profile can declare the tools it is allowed to use, the instructions it carries, and, where your Copilot surface supports it, the model it should use. For repeat coding workflows, prefer a focused custom agent over the default agent when you care about predictable cost. The default agent inherits more of the current environment: active tools, extension-provided surfaces, and whatever model is currently selected. + +Keep the tool list narrow. This repo's `agents/token-saver.agent.md` is the pattern: built-in `bash`, `edit`, and `view`; no duplicate filesystem MCP; terse output rules; explicit tool minimization. ### 4.3.6 Compress Shell Command Output with RTK @@ -317,6 +319,8 @@ rtk init --copilot RTK installs a PreToolUse hook into the current repository. Repeat per repo — there is no global VS Code Copilot install. Once active, the hook is transparent: your terminal is unchanged; only the agent's Bash tool calls are intercepted. +On Windows, validate RTK before recommending it to a team. The hook path can be more fragile across PowerShell, Git Bash, WSL, and VS Code agent execution. If RTK adds setup friction or command failures, skip it and focus first on clean profiles, fewer MCP servers, precise prompts, and shorter command output. + Commands with verbose output (test failures, large diffs) see the biggest reductions. Short-output commands see smaller gains. Actual savings depend on your project's output volume. Combine with `copilot-setup-steps.yml` (§4.3.2) and precise issue descriptions (§4.3.3) for maximum session efficiency. Full setup, command list, and other AI tool support: [MCP & Tool Costs §2.7.7](08-mcp-tool-costs.md#277-compress-tool-output-at-the-source-rtk). @@ -335,8 +339,10 @@ Combine with `copilot-setup-steps.yml` (§4.3.2) and precise issue descriptions - Review your `copilot-instructions.md` — has it grown? Compress it back down - Check if any memory files have gotten verbose — compress them back down - Audit which files are habitually open in your editor — close ones you're not working on (open tabs auto-feed context) +- Audit VS Code profiles and extensions — disable extensions that inject AI skills, agents, MCP servers, or tools unless the current repo needs them - (Business/Enterprise) Review repository / org **Content Exclusion** settings for new sensitive paths - Check your model usage — are you pinning high-effort models for tasks Auto would route to a cheaper tier? +- In Copilot CLI, watch the bottom-right **AIC** counter. Divide by 100 for the approximate dollar value, then ask whether the output saved more time or cost than it consumed. If spend is high for weak output, treat that as feedback on prompt scope, context size, tool count, or model choice - Review budgets, user-level caps, and model policies before expanding premium access further - When default model changes, retune prompts/instructions against that provider's current prompting guide - Check token usage by user/team — are agents and power users driving outsized consumption? See [Enterprise Governance](12-enterprise-governance.md) @@ -461,6 +467,8 @@ Relevant settings that affect agent token usage: **`maxRequests`** caps how many tool-call requests the agent can make. Lower = fewer tokens, but the agent might not finish complex tasks. Start at 10-15, increase only when needed. +For repeat workflows, pair this with a custom agent profile and a clean VS Code profile. Disable extensions that inject skills, agents, MCP servers, or tool surfaces you do not need for coding. The most predictable setup is boring: one focused agent, one intended model, and only the tools required for the repo. + ### 4.5.5 Custom Instructions for Agent Efficiency Add to `.github/copilot-instructions.md`: diff --git a/docs/11-models-and-pricing.md b/docs/11-models-and-pricing.md index 811ba5c..d8bf088 100644 --- a/docs/11-models-and-pricing.md +++ b/docs/11-models-and-pricing.md @@ -122,11 +122,14 @@ This is especially relevant when comparing a cheap reasoning-capable model at `m ### Anti-patterns - Leaving an expensive premium model pinned for the whole session +- Changing models mid-chat in a long session without thinking about accumulated context. Prior messages, tool results, and cacheable prefixes can still be part of the next request; switching into a higher-cost lane can make that carried context more expensive than starting fresh - Assuming Auto will escalate to Opus when a task gets hard - Using vendor API prices and Copilot pricing signals as if they were the same metric - Recommending a model without checking whether the plan includes it - Turning on every premium model for the whole org before checking who actually needs it +**Model-switch rule:** choose the cost lane before the work starts. If you need to move from cheap/Auto to a premium model for a hard subtask, start a fresh chat with only the relevant summary and files. This preserves cache-friendly stability in the original session and avoids dragging a long low-value history into a higher-cost request. The exact billing implementation can change by surface and plan, so frame this as risk control rather than guaranteed repricing math. + ## Org Rollout Rule: Review Before Enablement For teams, model choice is a governance problem as much as a prompt problem. From e379ea3442e672ef69326ca314e268ecab7d73d2 Mon Sep 17 00:00:00 2001 From: Scribe Date: Fri, 19 Jun 2026 14:48:38 +0200 Subject: [PATCH 02/17] Enhance documentation with updates on spend cohorts, FinOps-as-code automation, and related guidance for improved cost control --- .squad/agents/hermes/history.md | 7 +++++++ README.md | 2 +- docs/12-enterprise-governance.md | 32 ++++++++++++++++++++++++-------- 3 files changed, 32 insertions(+), 9 deletions(-) diff --git a/.squad/agents/hermes/history.md b/.squad/agents/hermes/history.md index e6b5bb7..690a0ac 100644 --- a/.squad/agents/hermes/history.md +++ b/.squad/agents/hermes/history.md @@ -9,6 +9,13 @@ ## Learnings +### 2026-06-19: Governance Cohorts and FinOps Automation + +- Updated `docs/12-enterprise-governance.md` with spend-cohort guidance: export historical Copilot billing/usage CSVs, upload to Copilot Billing Preview, then map power/high/baseline/low usage cohorts to budget defaults and review paths. +- Added `amgdy/copilot-finops-automation` as an admin-scale option for Copilot FinOps-as-code: reviewed YAML config, schema validation, dry runs, idempotent budget apply, cost-center membership sync, audit reports, and private-config caveat. +- Made a tiny `README.md` guide-summary update so Enterprise Governance mentions spend cohorts and FinOps-as-code automation. + + ### 2026-06-17: Placement for Tool, Profile, Model-Switch, and AIC Recommendations - Added RTK Windows caveat beside existing RTK setup, not as a new technique. Readers need the warning where they copy commands. diff --git a/README.md b/README.md index 146e51a..d04f41e 100644 --- a/README.md +++ b/README.md @@ -107,7 +107,7 @@ Dedicated page on models, PRU-era multiplier history, current Auto guidance, pla ### Part 4.3: Enterprise Governance -Dedicated chapter for customer-facing admin guidance: usage-based billing guardrails, AI-credit budgets, per-user tightening, model-access policy, org-level instructions, and when separate organizations are worth the overhead. +Dedicated chapter for customer-facing admin guidance: usage-based billing guardrails, AI-credit budgets, spend cohorts, FinOps-as-code automation, model-access policy, org-level instructions, and separate-organization tradeoffs. → **[Read Part 4.3](docs/12-enterprise-governance.md)** diff --git a/docs/12-enterprise-governance.md b/docs/12-enterprise-governance.md index 06a1eb7..4d0893b 100644 --- a/docs/12-enterprise-governance.md +++ b/docs/12-enterprise-governance.md @@ -30,6 +30,10 @@ Key points from GitHub docs for Business and Enterprise after June 1: That budget system is the direct spend cap for AI-credit usage at enterprise, organization, cost-center, and user scope. +If budget and cost-center segmentation becomes hard to manage by hand, look at [`amgdy/copilot-finops-automation`](https://github.com/amgdy/copilot-finops-automation). It treats Copilot FinOps as code: one version-controlled YAML config defines AI-credit spend policies and team-to-cost-center mappings, then GitHub Actions validates the config, previews changes with dry runs, applies budgets idempotently, syncs team membership into cost centers, and writes audit/current-state reports. + +Why admins should care: reviewed pull requests beat ad hoc console edits, dry runs reduce mutation risk, scheduled reconciliation catches drift, and cost-center or user-level budget materialization gives tighter segmentation for teams with different spend patterns. Use a private repo or private fork for live enterprise config; keep real enterprise slugs, teams, cost centers, user logins, budget numbers, reports, logs, and tokens out of public branches. + Important caveat: budgets do **not** make prompts smaller. They do **not** reduce tokens per prompt. They cap AI-credit spend. Practical default: @@ -53,6 +57,15 @@ Practical pattern: 2. power users get more only with clear job need 3. monthly review: downgrade users whose usage does not justify the extra cost +Build cohorts from actual spend, not guesswork: + +1. download historical Copilot billing or usage CSVs from GitHub +2. upload the CSV to [Copilot Billing Preview](https://copilot-billing-preview.github.com/) +3. inspect the usage bands it surfaces, such as power users, high-usage users, baseline users, and low-usage users +4. map those cohorts to different budget defaults, review cadence, and escalation paths + +Why this matters: admins should not give every developer the same AI-credit ceiling when the spend profile is visibly different. Cohorts let you keep broad access for normal users, protect budget for people doing real agent-heavy work, and catch inactive or low-value usage before it becomes a pooled-budget surprise. + Post-June 1 admin tips: 1. watch long chat and agent sessions because repeated turns now accumulate AI-credit cost directly @@ -136,18 +149,21 @@ Supplemental benchmarking can help when comparing model quality and price postur If you are preparing customers for the June 1 shift, do this first: 1. move admin guidance from request counters to AI-credit budgets -2. decide which users need tight user-level budgets and which teams can share a broader pooled budget -3. review model availability before frontier models become direct AI-credit spend -4. remind teams that code completions and next edit suggestions stay outside AI-credit billing -5. watch long chat and agent workflows first because they become the fastest spend amplifiers +2. build spend cohorts from historical CSVs before assigning user-level or pooled budgets +3. decide which users need tight user-level budgets and which teams can share a broader pooled budget +4. review model availability before frontier models become direct AI-credit spend +5. remind teams that code completions and next edit suggestions stay outside AI-credit billing +6. watch long chat and agent workflows first because they become the fastest spend amplifiers ## Recommended Enterprise Default 1. use Auto as the default model path 2. set budgets before broad rollout -3. use user-level AI credit budgets when you need tighter per-user control -4. review premium models before enablement -5. keep repo instructions small so IDE workflows inherit the right defaults -6. use separate org segmentation only if cost-center boundaries already support it +3. segment users into spend cohorts from historical CSVs, then tune budget defaults by cohort +4. use user-level AI credit budgets when you need tighter per-user control +5. consider FinOps-as-code automation when manual cost-center and budget edits become risky +6. review premium models before enablement +7. keep repo instructions small so IDE workflows inherit the right defaults +8. use separate org segmentation only if cost-center boundaries already support it This is boring on purpose. Cheap defaults first. Premium access by exception. Measurement before expansion. From ee513510379482f356d1667785122a88b90b01fa Mon Sep 17 00:00:00 2001 From: Marco Olivo <8478776+olivomarco@users.noreply.github.com> Date: Sat, 20 Jun 2026 17:18:39 +0200 Subject: [PATCH 03/17] Enhance documentation with cache stability guidelines for long sessions and model-switching best practices to optimize token usage --- README.md | 2 +- docs/04-context-management.md | 26 ++++++++++++++++++++++++++ docs/06-workflow-optimization.md | 16 ++++++++++++++++ docs/10-practical-setup.md | 16 ++++++++++++++++ docs/11-models-and-pricing.md | 10 +++++++++- docs/index.md | 13 +++++++------ 6 files changed, 75 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index d04f41e..7b07ce3 100644 --- a/README.md +++ b/README.md @@ -21,7 +21,7 @@ Don't have time to read the full guide? Do these today and cut your token usage: | 1 | **Request code-only responses** — add `Code only, no explanation.` to `copilot-instructions.md`. Highest per-token ROI: output costs 5× more than input, and this cuts 40-70% of output on every code task, permanently | Shrinks response length | 0 minutes | | 2 | **Constrain output format by default** — add `Bullets over paragraphs. No explanations unless asked.` to `copilot-instructions.md` | Keeps answers terse | 0 minutes | | 3 | **Shrink your always-on context** — compress `copilot-instructions.md` AND prune `AGENTS.md` to landmines only. Every token in either file is billed on every interaction (and every agent step). Strip filler, delete anything the agent discovers by reading code, delete LLM-generated `/init` boilerplate | Reduces always-on input/context | 15 minutes | -| 4 | **Default to Auto model selection** — use Auto as the baseline because it chooses from the supported Auto pool and gives a paid-plan discount. Pin higher-cost models manually only when a task clearly justifies them, and start a fresh chat when switching cost lanes in a long session. See [Model Selection & Pricing](docs/11-models-and-pricing.md) | Lowers billed rate on eligible usage | 0 minutes | +| 4 | **Default to Auto model selection + protect cache stability** — use Auto as the baseline because it chooses from the supported Auto pool and gives a paid-plan discount. In long expensive threads, keep `{model, active MCP set, active agent/profile}` stable. If you must switch lanes, start a fresh chat with a short handoff summary. See [Model Selection & Pricing](docs/11-models-and-pricing.md) | Lowers billed rate on eligible usage and preserves cached-input discounts | 0 minutes | | 5 | **Use Ask Mode for simple questions** — reserve Agent Mode for multi-step tasks | Avoids agent overhead | 0 minutes (just choose the right mode) | | 6 | **Scope context with `applyTo:` paths** — split one large instructions file into small scoped ones that load only when relevant | Reduces always-on input/context | 15 minutes | | 7 | **Be precise in your prompts** — "Add null check to `getUser()`" not "Can you please look at this and maybe add some error handling?" Note: your typed prompt is a small fraction of total input; precision matters more for quality than for raw token savings | Improves task targeting | 0 minutes | diff --git a/docs/04-context-management.md b/docs/04-context-management.md index 97c9d7d..dc92b39 100644 --- a/docs/04-context-management.md +++ b/docs/04-context-management.md @@ -168,6 +168,8 @@ Most teams have it inverted — everything in always-on. Flipping the ratio cuts The cheapest token is the one the platform doesn't have to re-process. Modern Copilot interactions cache stable portions of context (system prompt, instruction files, recently-loaded files) so they don't pay the full input-token cost on every turn. +In long sessions, this is often the biggest single cost lever. When most of your input is cache-hit input, effective input cost can drop dramatically (commonly cited as up to ~90% discount on cached input, depending on provider/model/surface billing rules). + You can lean into this. Two practical patterns: **1. Stable instructions at the top, volatile work at the bottom.** Cached context only works if the prefix of your conversation is stable. Don't reshuffle your `copilot-instructions.md` or rotate which files are open between every prompt — keep the stable layer stable, and let only the most recent message change. @@ -176,6 +178,30 @@ You can lean into this. Two practical patterns: Caching gains are real and dual-purpose: **it's faster** (cached prefixes skip re-encoding) **and cheaper** (most platforms bill cached input tokens at a fraction of the standard rate). Designing your context layout for cache stability is one of the lowest-effort wins available. +### Protect the cache: avoid cache-busting changes mid-thread + +In expensive long-running chats, treat cache stability as a hard constraint. The most common cache-busters are: + +- **Switching models mid-thread** (for example, moving from one Claude/GPT tier to another) +- **Enabling or disabling MCP servers mid-thread** (tool definitions sit near the top of context; changing them invalidates large prefixes) +- **Switching agent/profile mode mid-thread** (default agent ↔ custom agent, or one custom agent ↔ another) + +Practical rule: keep this tuple fixed for the whole long thread: + +```text +{ model, active MCP set, active agent/profile } +``` + +If you need to change any item in that tuple, start a fresh conversation with a compact handoff summary instead of changing it in place. + +### Safe handoff pattern when a switch is required + +1. Summarize current thread in 5-10 bullets (decisions, constraints, open tasks). +2. Start a new chat with the new model/agent/MCP setup. +3. Paste only the summary + required files, not the entire old transcript. + +This preserves cache efficiency in the original thread and prevents dragging stale context into a new cost lane. + ## 2.3.6 Start Fresh Conversations Conversation history accumulates. After 20+ messages, you might have 50K+ tokens of history sent with every new message. diff --git a/docs/06-workflow-optimization.md b/docs/06-workflow-optimization.md index 7b558d5..ee53620 100644 --- a/docs/06-workflow-optimization.md +++ b/docs/06-workflow-optimization.md @@ -113,6 +113,22 @@ The model picker is one of the highest-cost control surfaces in Copilot. Pinning Teams that switch their default from "always Sonnet" or "always Opus" to "Auto, override when needed" generally reduce spend because they stop defaulting every interaction into the higher-cost lane. +### Cache-aware model workflow + +Model routing and caching must work together. In long expensive sessions, avoid changing your cost/control surface mid-thread: + +- do not switch model unless the task clearly changes +- do not toggle MCP servers unless the task truly requires different tools +- do not switch agent/profile mode in the same long thread + +Why: those controls live in the high, stable prefix of context. Changing them can invalidate cached prefixes and force reprocessing of large input blocks. + +Practical pattern: + +1. Pick lane at session start: `{model, agent/profile, MCP set}`. +2. Keep lane stable while working that thread. +3. If lane must change, start a fresh chat with a concise handoff summary. + ## 2.5.5 Retune Prompts to the Target Model This is not prompt compression. It may not reduce tokens per request. It reduces total token use by improving first-pass quality, which cuts follow-up turns, repeated clarifications, and agent rework. diff --git a/docs/10-practical-setup.md b/docs/10-practical-setup.md index 6dbbb86..b15b327 100644 --- a/docs/10-practical-setup.md +++ b/docs/10-practical-setup.md @@ -86,6 +86,22 @@ GitHub Copilot pricing depends on model choice and billing mode. Pick the model **Never burn a high-effort model on a "what's the syntax for X" question** — you pay the higher token rate for an answer the cheapest model would have given you correctly. +### Cache-protection rule for long sessions + +After you choose the lane for a long thread, keep it stable: + +```text +{ model, active MCP set, active agent/profile } +``` + +Do not change those controls in the middle of an expensive conversation unless required. Mid-thread switches often invalidate cached prefixes and remove the cached-input discount you had built up. + +If a switch is required, do this instead: + +1. Capture a short handoff summary (decisions, constraints, next actions). +2. Start a new chat with the new lane. +3. Paste only the summary and required files. + ### Step 5: Mix Models by Task (Model Routing) One useful cost lever: **use different models for different subtasks** within the same workflow. The detailed pricing context, historical multiplier references, plan availability, and official GitHub Docs links now live in [Model Selection & Pricing](11-models-and-pricing.md). Keep this section focused on the practical routing habit. diff --git a/docs/11-models-and-pricing.md b/docs/11-models-and-pricing.md index d8bf088..58b1f13 100644 --- a/docs/11-models-and-pricing.md +++ b/docs/11-models-and-pricing.md @@ -123,12 +123,20 @@ This is especially relevant when comparing a cheap reasoning-capable model at `m - Leaving an expensive premium model pinned for the whole session - Changing models mid-chat in a long session without thinking about accumulated context. Prior messages, tool results, and cacheable prefixes can still be part of the next request; switching into a higher-cost lane can make that carried context more expensive than starting fresh +- Enabling/disabling MCP servers mid-thread in long sessions. Tool-surface changes often invalidate stable cached prefixes +- Switching default/custom agent profiles mid-thread during expensive runs. Agent/profile changes can break cache continuity for the same conversation - Assuming Auto will escalate to Opus when a task gets hard - Using vendor API prices and Copilot pricing signals as if they were the same metric - Recommending a model without checking whether the plan includes it - Turning on every premium model for the whole org before checking who actually needs it -**Model-switch rule:** choose the cost lane before the work starts. If you need to move from cheap/Auto to a premium model for a hard subtask, start a fresh chat with only the relevant summary and files. This preserves cache-friendly stability in the original session and avoids dragging a long low-value history into a higher-cost request. The exact billing implementation can change by surface and plan, so frame this as risk control rather than guaranteed repricing math. +**Cache-protection rule:** choose the lane before work starts and hold it stable in long sessions: + +```text +{ model, active MCP set, active agent/profile } +``` + +If you must change the lane (for example cheap/Auto to premium for a hard subtask), start a fresh chat with only the relevant summary and files. This preserves cache-friendly stability in the original session and avoids dragging long low-value history into a higher-cost request. The exact billing implementation can change by surface and plan, so frame this as risk control rather than guaranteed repricing math. ## Org Rollout Rule: Review Before Enablement diff --git a/docs/index.md b/docs/index.md index ad8c4d9..b69db6c 100644 --- a/docs/index.md +++ b/docs/index.md @@ -19,12 +19,13 @@ Practical guide to reducing GitHub Copilot token spend while keeping answers and 1. Constrain output by default: `Code only, no explanation.` and `No explanations unless asked.` 2. Keep `.github/copilot-instructions.md` small and specific. -3. Use Ask Mode for questions that do not need tools. -4. Retune prompts and instructions against the official guide for your target model. -5. Disable MCP servers you are not using. -6. Convert DOCX/PDF/Office/media inputs to Markdown before AI work; start with [MarkItDown](https://github.com/microsoft/markitdown). -7. Audit long-running agent sessions and repeated back-and-forth. -8. Install [RTK](https://github.com/rtk-ai/rtk) — CLI proxy that filters `git`, test runners, `grep`, and 100+ other shell commands before output reaches the agent. One install, 60-90% savings on tool-call results in agent and coding-agent sessions. +3. Protect cache in long sessions: keep `{model, active MCP set, active agent/profile}` stable; if you must switch, start a fresh chat with a short handoff summary. +4. Use Ask Mode for questions that do not need tools. +5. Retune prompts and instructions against the official guide for your target model. +6. Disable MCP servers you are not using. +7. Convert DOCX/PDF/Office/media inputs to Markdown before AI work; start with [MarkItDown](https://github.com/microsoft/markitdown). +8. Audit long-running agent sessions and repeated back-and-forth. +9. Install [RTK](https://github.com/rtk-ai/rtk) — CLI proxy that filters `git`, test runners, `grep`, and 100+ other shell commands before output reaches the agent. One install, 60-90% savings on tool-call results in agent and coding-agent sessions. ## Read by Topic From 703564c40f41854b101396655ca52f87ec691713 Mon Sep 17 00:00:00 2001 From: Marco Olivo <8478776+olivomarco@users.noreply.github.com> Date: Sat, 20 Jun 2026 17:19:33 +0200 Subject: [PATCH 04/17] Enhance documentation with examples of cache-stable and cache-busted long threads for improved token efficiency --- docs/04-context-management.md | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/docs/04-context-management.md b/docs/04-context-management.md index dc92b39..8069e2d 100644 --- a/docs/04-context-management.md +++ b/docs/04-context-management.md @@ -178,6 +178,31 @@ You can lean into this. Two practical patterns: Caching gains are real and dual-purpose: **it's faster** (cached prefixes skip re-encoding) **and cheaper** (most platforms bill cached input tokens at a fraction of the standard rate). Designing your context layout for cache stability is one of the lowest-effort wins available. +```text +Cache-stable long thread + +Turn 1 Turn 2 Turn 3 Turn 4 +| | | | +v v v v +[same model + same MCP set + same agent/profile] +[stable prompt prefix reused from cache ] -> lower effective input cost +[only newest user request changes ] + +Cache-busted long thread + +Turn 1 Turn 2 Turn 3 +| | | +v v v +[model A + MCP set A + agent A] +[cached prefix builds ] + | + v + switch model / MCP / agent + | + v +[large prefix invalidated or repriced] -> cache discount lost; start fresh instead +``` + ### Protect the cache: avoid cache-busting changes mid-thread In expensive long-running chats, treat cache stability as a hard constraint. The most common cache-busters are: From a7e8eba6e899af4e416d41234b023bc7e0556e81 Mon Sep 17 00:00:00 2001 From: Marco Olivo <8478776+olivomarco@users.noreply.github.com> Date: Wed, 24 Jun 2026 13:28:15 +0200 Subject: [PATCH 05/17] Enhance documentation on `/chronicle` commands for token optimization and add VS Code settings for improved UI customization --- .vscode/settings.json | 15 +++++++++++ README.md | 3 ++- docs/04-context-management.md | 17 ++++++++++++ docs/06-workflow-optimization.md | 46 ++++++++++++++++++++++++-------- docs/08-mcp-tool-costs.md | 2 ++ docs/11-models-and-pricing.md | 5 ++++ docs/index.md | 2 +- slides/index.html | 4 +-- 8 files changed, 79 insertions(+), 15 deletions(-) create mode 100644 .vscode/settings.json diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..0be68ef --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,15 @@ +{ + "workbench.colorCustomizations": { + "activityBar.background": "#580D3B", + "titleBar.activeBackground": "#7B1252", + "titleBar.activeForeground": "#FFFCFD", + "titleBar.inactiveBackground": "#580D3B", + "titleBar.inactiveForeground": "#FFFCFD", + "statusBar.background": "#580D3B", + "statusBar.foreground": "#FFFCFD", + "statusBar.debuggingBackground": "#580D3B", + "statusBar.debuggingForeground": "#FFFCFD", + "statusBar.noFolderBackground": "#580D3B", + "statusBar.noFolderForeground": "#FFFCFD" + } +} \ No newline at end of file diff --git a/README.md b/README.md index 7b07ce3..53d2839 100644 --- a/README.md +++ b/README.md @@ -28,8 +28,9 @@ Don't have time to read the full guide? Do these today and cut your token usage: | 8 | **Retune prompts to the target model** — provider prompting guides change by model/version. Paste the official guide URL into Copilot and ask it to adapt `.github/copilot-instructions.md`, agent profiles, or app prompts for the model you actually use | Reduces rework | 10 minutes per model change | | 9 | **Audit your MCP servers and injected tools** — disable unused MCP servers and VS Code extensions that add skills/tools; use a clean coding profile or focused custom agent for repeat workflows. Each MCP tool costs ~100-500 tokens per agent step | Removes tool/schema overhead | 5-10 minutes | | 10 | **Convert rich files to Markdown before AI work** — `.docx`, `.pdf`, `.pptx`, `.xlsx`, HTML, images, audio, video, and ZIPs carry format tax. [Marc Bara's writeup](https://medium.com/@marc.bara.iniesta/your-docx-is-wasting-33-of-your-ai-budget-86a3d229d042) shows the cost; use [Microsoft MarkItDown](https://github.com/microsoft/markitdown) before chat, agent, or RAG ingestion | Reduces noisy input context | 5 minutes | -| 11 | **Run `/chronicle improve` weekly** (**Copilot CLI only**, experimental) — this slash command works in interactive Copilot CLI sessions, not as a general Copilot Chat feature. It finds recurring confusion in your CLI session history and generates custom-instruction fixes so the same misread intent stops costing tokens forever | Cuts recurring rework | 2 minutes per run | +| 11 | **Run `/chronicle cost tips` and `/chronicle improve` weekly** (**Copilot CLI only**, experimental) — these slash commands work in interactive Copilot CLI sessions (not VS Code), not as a general Copilot Chat feature. `cost tips` analyzes your token spend and suggests reductions; `improve` finds recurring confusion in your CLI session history and generates custom-instruction fixes so the same misread intent stops costing tokens forever | Cuts recurring rework and direct token spend | 2 minutes per run | | 12 | **Try CodeAct for long tool chains** (**Copilot CLI only**, optional external plugin) — [`copilot-codeact-plugin`](https://github.com/jsturtevant/copilot-codeact-plugin) collapses multi-step tool chains into one sandboxed execution, which can reduce repeated replay of system prompt, prior messages, and tool definitions | Reduces tool-loop replay | 10-15 minutes | +| 13 | **Plan first, then execute in a fresh session** — use plan mode (CLI) or Ask mode (VS Code) to agree the approach with a strong model, save the plan to `plan.md` or an issue, then run the execution from that plan in a clean session — often with a cheaper model. Reaching the right outcome the first time avoids the expensive rework of an agent coding in the wrong direction. See [Plan First, Then Execute §2.5.9](docs/06-workflow-optimization.md#259-plan-first-then-execute-and-route-the-phases) | Avoids wrong-direction rework; cheaper execution lane | 0 minutes (just sequence the work) | **Looking at this from an enterprise or customer-governance angle instead of an individual setup angle?** Start with [Enterprise Governance](docs/12-enterprise-governance.md). That chapter covers AI-credit budgets, per-user tightening, model-access policy, org instructions, and separate-organization tradeoffs. diff --git a/docs/04-context-management.md b/docs/04-context-management.md index 8069e2d..aabac02 100644 --- a/docs/04-context-management.md +++ b/docs/04-context-management.md @@ -168,14 +168,31 @@ Most teams have it inverted — everything in always-on. Flipping the ratio cuts The cheapest token is the one the platform doesn't have to re-process. Modern Copilot interactions cache stable portions of context (system prompt, instruction files, recently-loaded files) so they don't pay the full input-token cost on every turn. +<<<<<<< HEAD In long sessions, this is often the biggest single cost lever. When most of your input is cache-hit input, effective input cost can drop dramatically (commonly cited as up to ~90% discount on cached input, depending on provider/model/surface billing rules). You can lean into this. Two practical patterns: +||||||| parent of 68607d7 (Enhance documentation on `/chronicle` commands for token optimization and add VS Code settings for improved UI customization) +You can lean into this. Two practical patterns: +======= +You can lean into this. Three practical patterns: +>>>>>>> 68607d7 (Enhance documentation on `/chronicle` commands for token optimization and add VS Code settings for improved UI customization) **1. Stable instructions at the top, volatile work at the bottom.** Cached context only works if the prefix of your conversation is stable. Don't reshuffle your `copilot-instructions.md` or rotate which files are open between every prompt — keep the stable layer stable, and let only the most recent message change. **2. Reuse named context via slash commands and saved snippets.** When you frequently ask about the same domain, define it once and reference it. For example: keep a short customers-schema note or slash-command snippet, load it once for the session, then keep follow-up prompts anchored to that shared summary instead of re-pasting the schema every time. +**3. Don't churn the cacheable prefix mid-session.** The cached prefix is the *front* of every request — system prompt, tool/MCP definitions, and instruction files (the always-loaded `System/Tools` baseline; see [MCP & Tool Costs §2.7](08-mcp-tool-costs.md)). Changing any of it mid-conversation forces a full re-encode and forfeits the savings: + +| Mid-session change | Effect on cache & context | +|--------------------|---------------------------| +| **Switch model** | Worst case. Caches are typically per-model, so the cached prefix is effectively gone — and the carried history gets re-priced in the new (often costlier) lane. Pick the model before the work starts; see [Model-switch rule](11-models-and-pricing.md#anti-patterns). | +| **Switch custom agent** | Swaps the system prompt, tool set, and instructions — the prefix changes, so the cache is invalidated and the prior accumulated context becomes pollution under the new agent. | +| **Toggle MCP servers / tools** | Changes the tool-definitions block in the prefix — cache invalidated, plus you add or remove always-loaded tokens on every later turn. | +| **Churn large context** | Attaching/detaching big files or pasting large blobs reshuffles context and undercuts prefix stability. Choose your files and context up front. | + +The pattern: **decide model, agent, and tool set before you start; if you genuinely need a different one, start a fresh session** with only the relevant summary and files rather than mutating a long one. (Billing implementation varies by surface and plan, so treat this as risk control rather than guaranteed repricing math.) + Caching gains are real and dual-purpose: **it's faster** (cached prefixes skip re-encoding) **and cheaper** (most platforms bill cached input tokens at a fraction of the standard rate). Designing your context layout for cache stability is one of the lowest-effort wins available. ```text diff --git a/docs/06-workflow-optimization.md b/docs/06-workflow-optimization.md index ee53620..080e047 100644 --- a/docs/06-workflow-optimization.md +++ b/docs/06-workflow-optimization.md @@ -204,21 +204,32 @@ A well-designed terse prompt template or agent profile can handle this automatic Token waste isn't only in any one prompt — it's in the **patterns** you don't notice. The same misread intent costing 5K extra tokens per session, every session. Copilot ships a built-in feedback loop for this: the [`/chronicle`](https://docs.github.com/en/copilot/concepts/agents/copilot-cli/chronicle) slash command analyzes your local session history and tells you where Copilot got confused, where you went in circles, and how to fix it. -> **Scope:** Full `/chronicle` (all subcommands) is available in **Copilot CLI** interactive sessions, backed by local session history in `~/.copilot/session-state/`. The `tips` subcommand is also available in **VS Code** as `/chronicle:tips`. +> **Scope:** `/chronicle` is a **Copilot CLI** feature, backed by local session history in `~/.copilot/session-state/`. It runs in Copilot CLI interactive sessions — and inside **JetBrains IDEs** via interactive Copilot CLI sessions. It is **not** available in **VS Code**; for VS Code usage analytics, see [AI Engineering Coach](#258-vs-code-usage-analytics-ai-engineering-coach) below. > > **Availability:** `/chronicle` is currently experimental. Enable it with `/experimental on` in an interactive Copilot CLI session, or pass `--experimental` on the command line. -Three subcommands, ranked by token-saving impact: +The full subcommand set is `standup`, `tips`, `cost tips`, `search`, `improve`, and `reindex`. The three with the most token-saving impact: | Command | What it does | Token-saving payoff | |---------|--------------|---------------------| -| **`/chronicle improve`** | Scans session history for back-and-forth, misunderstood intent, and repeated corrections — then **generates custom-instruction snippets** to prevent the pattern next time | Highest. Cuts off recurring waste at the source. Each fix compounds across every future session in that repo. | -| **`/chronicle tips`** (CLI) / **`/chronicle:tips`** (VS Code) | Personalized coaching based on how you actually use Copilot — surfaces features and workflow improvements you're missing | Medium. Often suggests Ask Mode, model routing, or context scoping changes worth real tokens. | +| **`/chronicle cost tips`** | Analyzes your token spend across recent sessions — prompt length, tool-call frequency, continuation steps — and suggests concrete ways to cut cost | Highest, and the most on-topic for this guide. Targets token spend directly. | +| **`/chronicle improve`** | Scans session history for back-and-forth, misunderstood intent, and repeated corrections — then **generates custom-instruction snippets** to prevent the pattern next time | High. Cuts off recurring waste at the source. Each fix compounds across every future session in that repo. | +| **`/chronicle tips`** | Personalized coaching based on how you actually use Copilot — surfaces features and workflow improvements you're missing | Medium. Often suggests Ask Mode, model routing, or context scoping changes worth real tokens. | | **`/chronicle standup`** | Generates a standup summary from your session data (branches, PRs, status) | Indirect — saves the 10 minutes you'd spend reconstructing yesterday, not direct token spend. | +### The `cost tips` workflow + +The most direct fit for this guide. Run it weekly to see where your tokens actually go. + +```text +/chronicle cost tips +``` + +Copilot CLI analyzes your token usage across recent sessions — looking at patterns like prompt length, tool-call frequency, and continuation steps — and surfaces specific, usage-grounded ways to reduce spend. Unlike generic advice, these recommendations are tied to your real session data, so they tend to point at the few habits costing you the most. + ### The `improve` workflow -This is the one that matters for token optimization. Run it weekly, or any time you catch yourself thinking *"why does it keep getting this wrong?"* +This is the one that generates lasting fixes. Run it weekly, or any time you catch yourself thinking *"why does it keep getting this wrong?"* ```text /chronicle improve @@ -230,21 +241,17 @@ Copilot CLI reads your recent CLI sessions, identifies recurring confusion (e.g. ### The `tips` workflow -Run every week or two. Command varies by surface: +Run every week or two: ```text -# Copilot CLI /chronicle tips - -# VS Code -/chronicle:tips ``` Treat the suggestions like a code review — not all are worth adopting, but the ones that match your actual workflow are usually high-ROI. Common tips that overlap with this guide: switching to Ask Mode for explanation requests, scoping instruction files with `applyTo`, disabling unused MCP servers. ### Where this fits in the workflow -- **Weekly:** `/chronicle tips` (CLI) or `/chronicle:tips` (VS Code) — catch missed habits. +- **Weekly:** `/chronicle cost tips` — see where tokens go, and `/chronicle tips` — catch missed habits. - **When something feels repetitive:** `/chronicle improve` — turn the friction into a one-time fix. - **Daily standup (optional):** `/chronicle standup last 24 hours` — for the human ritual, not for tokens. @@ -278,6 +285,23 @@ Then `Cmd+Shift+P` → **AI Engineer Coach: Open Dashboard**. **How it complements `/chronicle`:** `/chronicle` acts on CLI session history to generate instruction fixes. AI Engineering Coach acts on VS Code session history to score your practice and flag structural issues (context bloat, unused MCPs, instruction-file gaps). Use both: chronicle to patch recurring prompt failures; AI Engineering Coach to audit the broader VS Code setup and track trend lines. +## 2.5.9 Plan First, Then Execute (and Route the Phases) + +The most expensive tokens are the ones spent reaching a *wrong* outcome: an agent that codes for twenty steps in the wrong direction, then gets unwound and redone. Separating **planning** from **execution** is one of the highest-leverage habits for cutting that waste. + +**The two-phase pattern:** + +1. **Plan in plan mode (or Ask mode) first.** Use Copilot CLI's plan mode (or VS Code Ask mode) to think through the approach *before* any code is written — files to touch, order of changes, edge cases, acceptance criteria. Planning is cheap: it's mostly reasoning, no large diffs, no repeated tool loops. This is where a stronger model earns its cost, because a good plan prevents expensive rework downstream. +2. **Save the plan, then execute it.** Write the agreed plan to a file (e.g. `plan.md`) or a tracked issue, then start a **fresh session** and prompt the execution against that saved plan. A clean session keeps the cacheable prefix stable (see [Caching §2.3.5](04-context-management.md#235-caching-store-and-reuse-context-within-prompts)) and avoids dragging the whole planning conversation forward as input tokens on every execution turn. + +**Why this saves tokens:** + +- **Fewer wasted steps.** A concrete, pre-agreed plan means the agent doesn't explore, guess requirements, or backtrack. Each avoided agent step is one full context reload saved (see [Minimizing Agent Steps §4.5.3](10-practical-setup.md#453-minimizing-agent-steps)). +- **Cheaper execution lane.** Once the hard thinking is done and captured as explicit steps, execution is often mechanical — a cheaper model (Auto or an included model) can carry it out. Reserve the premium model for the planning phase where reasoning quality moves the outcome. See [Model Routing §4.5](10-practical-setup.md#step-5-mix-models-by-task-model-routing). +- **A clean execution context.** Starting execution from a saved plan, rather than a long plan-then-build mega-session, keeps history short and the prefix cache-friendly — input cost per turn stays low. + +**Rule of thumb:** plan with the strong model, execute with the cheap one, and put the plan on disk in between. The outcome is reached in fewer total tokens *and* is usually higher quality, because the plan was reviewed before a single line was written. + --- **Next:** [The AGENTS.md Problem →](07-agents-md-problem.md) diff --git a/docs/08-mcp-tool-costs.md b/docs/08-mcp-tool-costs.md index 50608d0..dc21af8 100644 --- a/docs/08-mcp-tool-costs.md +++ b/docs/08-mcp-tool-costs.md @@ -32,6 +32,8 @@ Buffer: 40.4k (20%) Skills stored in `.copilot/skills/` — even hundreds of kilobytes on disk — contribute **zero** to the `System/Tools` baseline. Optimizing skills improves individual agent spawn speed, not context headroom. MCP plugins and instruction files are the levers that move the `System/Tools` number. +> **Set this baseline before you start — don't change it mid-session.** Because `System/Tools` sits at the front of every request, it's also the cacheable prefix. Toggling MCP servers/tools or switching the custom agent mid-conversation rewrites that prefix, forfeits the cached savings, and leaves prior context as pollution under the new tool set. Choose your MCP/tool and agent set up front; if you genuinely need a different one, start a fresh session. See [Caching §2.3.5](04-context-management.md#235-caching-store-and-reuse-context-within-prompts). + > Dina Berry (Microsoft/GitHub content contributor) measured a real Copilot CLI production setup and found a single Azure plugin loading ~27K tokens per message — invisible until she ran `/context`. [Full writeup →](https://dfberry.github.io/2026-05-06-tuning-up-copilot-context) --- diff --git a/docs/11-models-and-pricing.md b/docs/11-models-and-pricing.md index 58b1f13..03b2863 100644 --- a/docs/11-models-and-pricing.md +++ b/docs/11-models-and-pricing.md @@ -123,8 +123,13 @@ This is especially relevant when comparing a cheap reasoning-capable model at `m - Leaving an expensive premium model pinned for the whole session - Changing models mid-chat in a long session without thinking about accumulated context. Prior messages, tool results, and cacheable prefixes can still be part of the next request; switching into a higher-cost lane can make that carried context more expensive than starting fresh +<<<<<<< HEAD - Enabling/disabling MCP servers mid-thread in long sessions. Tool-surface changes often invalidate stable cached prefixes - Switching default/custom agent profiles mid-thread during expensive runs. Agent/profile changes can break cache continuity for the same conversation +||||||| parent of 68607d7 (Enhance documentation on `/chronicle` commands for token optimization and add VS Code settings for improved UI customization) +======= +- Switching the **custom agent** or toggling **MCP servers / tools** mid-session. Like a model switch, this rewrites the cacheable prefix (system prompt, tool definitions, instructions), so cache savings are forfeited and prior context becomes pollution under the new setup. See [Caching §2.3.5](04-context-management.md#235-caching-store-and-reuse-context-within-prompts) +>>>>>>> 68607d7 (Enhance documentation on `/chronicle` commands for token optimization and add VS Code settings for improved UI customization) - Assuming Auto will escalate to Opus when a task gets hard - Using vendor API prices and Copilot pricing signals as if they were the same metric - Recommending a model without checking whether the plan includes it diff --git a/docs/index.md b/docs/index.md index b69db6c..635a96c 100644 --- a/docs/index.md +++ b/docs/index.md @@ -72,5 +72,5 @@ Practical guide to reducing GitHub Copilot token spend while keeping answers and ## Notes -- `/chronicle` (full, all subcommands) is **Copilot CLI**. `/chronicle:tips` is also available in **VS Code**. +- `/chronicle` is **Copilot CLI** only (also available inside JetBrains via interactive Copilot CLI sessions). It is **not** available in VS Code — use [AI Engineering Coach](06-workflow-optimization.md#258-vs-code-usage-analytics-ai-engineering-coach) there. Subcommands include `cost tips`, `improve`, `tips`, `standup`, `search`, and `reindex`. - Usage-Based Billing is labeled **UBB** in this repo. diff --git a/slides/index.html b/slides/index.html index 7f3cee6..fd3f19c 100644 --- a/slides/index.html +++ b/slides/index.html @@ -263,7 +263,7 @@

More fast wins

  • Write precise prompts: target file, function, done condition.
  • Retune prompts to target model.
  • Audit MCP servers.
  • -
  • Run /chronicle improve in Copilot CLI.
  • +
  • Run /chronicle cost tips & /chronicle improve in Copilot CLI.
  • Try CodeAct for long CLI tool chains.
  • @@ -761,7 +761,7 @@

    Close loop with usage coaching

    /chronicle

    -

    Copilot CLI session history. Use /chronicle improve for recurring confusion.

    +

    Copilot CLI session history (not VS Code). Use /chronicle cost tips for token spend and /chronicle improve for recurring confusion.

    AI Engineering Coach

    From c6ea6a88dab55eab7224777b22c326bb22f132c0 Mon Sep 17 00:00:00 2001 From: Marco Olivo <8478776+olivomarco@users.noreply.github.com> Date: Wed, 24 Jun 2026 13:29:35 +0200 Subject: [PATCH 06/17] Refine documentation on context management and model selection to clarify cache stability and cost implications during long sessions --- docs/04-context-management.md | 6 ------ docs/11-models-and-pricing.md | 5 ----- 2 files changed, 11 deletions(-) diff --git a/docs/04-context-management.md b/docs/04-context-management.md index aabac02..6709d64 100644 --- a/docs/04-context-management.md +++ b/docs/04-context-management.md @@ -168,15 +168,9 @@ Most teams have it inverted — everything in always-on. Flipping the ratio cuts The cheapest token is the one the platform doesn't have to re-process. Modern Copilot interactions cache stable portions of context (system prompt, instruction files, recently-loaded files) so they don't pay the full input-token cost on every turn. -<<<<<<< HEAD In long sessions, this is often the biggest single cost lever. When most of your input is cache-hit input, effective input cost can drop dramatically (commonly cited as up to ~90% discount on cached input, depending on provider/model/surface billing rules). You can lean into this. Two practical patterns: -||||||| parent of 68607d7 (Enhance documentation on `/chronicle` commands for token optimization and add VS Code settings for improved UI customization) -You can lean into this. Two practical patterns: -======= -You can lean into this. Three practical patterns: ->>>>>>> 68607d7 (Enhance documentation on `/chronicle` commands for token optimization and add VS Code settings for improved UI customization) **1. Stable instructions at the top, volatile work at the bottom.** Cached context only works if the prefix of your conversation is stable. Don't reshuffle your `copilot-instructions.md` or rotate which files are open between every prompt — keep the stable layer stable, and let only the most recent message change. diff --git a/docs/11-models-and-pricing.md b/docs/11-models-and-pricing.md index 03b2863..58b1f13 100644 --- a/docs/11-models-and-pricing.md +++ b/docs/11-models-and-pricing.md @@ -123,13 +123,8 @@ This is especially relevant when comparing a cheap reasoning-capable model at `m - Leaving an expensive premium model pinned for the whole session - Changing models mid-chat in a long session without thinking about accumulated context. Prior messages, tool results, and cacheable prefixes can still be part of the next request; switching into a higher-cost lane can make that carried context more expensive than starting fresh -<<<<<<< HEAD - Enabling/disabling MCP servers mid-thread in long sessions. Tool-surface changes often invalidate stable cached prefixes - Switching default/custom agent profiles mid-thread during expensive runs. Agent/profile changes can break cache continuity for the same conversation -||||||| parent of 68607d7 (Enhance documentation on `/chronicle` commands for token optimization and add VS Code settings for improved UI customization) -======= -- Switching the **custom agent** or toggling **MCP servers / tools** mid-session. Like a model switch, this rewrites the cacheable prefix (system prompt, tool definitions, instructions), so cache savings are forfeited and prior context becomes pollution under the new setup. See [Caching §2.3.5](04-context-management.md#235-caching-store-and-reuse-context-within-prompts) ->>>>>>> 68607d7 (Enhance documentation on `/chronicle` commands for token optimization and add VS Code settings for improved UI customization) - Assuming Auto will escalate to Opus when a task gets hard - Using vendor API prices and Copilot pricing signals as if they were the same metric - Recommending a model without checking whether the plan includes it From 3f3126f793af933ba57a505e085f241ff187daa9 Mon Sep 17 00:00:00 2001 From: Marco Olivo <8478776+olivomarco@users.noreply.github.com> Date: Sun, 12 Jul 2026 12:45:31 +0200 Subject: [PATCH 07/17] Add excalidraw skill --- .github/skills/excalidraw-diagram/SKILL.md | 552 +++++++++++++++++++++ 1 file changed, 552 insertions(+) create mode 100644 .github/skills/excalidraw-diagram/SKILL.md diff --git a/.github/skills/excalidraw-diagram/SKILL.md b/.github/skills/excalidraw-diagram/SKILL.md new file mode 100644 index 0000000..9df9894 --- /dev/null +++ b/.github/skills/excalidraw-diagram/SKILL.md @@ -0,0 +1,552 @@ +--- +name: excalidraw-diagram +description: Create Excalidraw diagram JSON files that make visual arguments. Use when the user wants to visualize workflows, architectures, or concepts. +--- + +# Excalidraw Diagram Creator + +Generate `.excalidraw` JSON files that **argue visually**, not just display information. + +**Setup:** If the user asks you to set up this skill (renderer, dependencies, etc.), see `README.md` for instructions. + +## Customization + +**All colors and brand-specific styles live in one file:** `references/color-palette.md`. Read it before generating any diagram and use it as the single source of truth for all color choices — shape fills, strokes, text colors, evidence artifact backgrounds, everything. + +To make this skill produce diagrams in your own brand style, edit `color-palette.md`. Everything else in this file is universal design methodology and Excalidraw best practices. + +--- + +## Core Philosophy + +**Diagrams should ARGUE, not DISPLAY.** + +A diagram isn't formatted text. It's a visual argument that shows relationships, causality, and flow that words alone can't express. The shape should BE the meaning. + +**The Isomorphism Test**: If you removed all text, would the structure alone communicate the concept? If not, redesign. + +**The Education Test**: Could someone learn something concrete from this diagram, or does it just label boxes? A good diagram teaches—it shows actual formats, real event names, concrete examples. + +--- + +## Depth Assessment (Do This First) + +Before designing, determine what level of detail this diagram needs: + +### Simple/Conceptual Diagrams +Use abstract shapes when: +- Explaining a mental model or philosophy +- The audience doesn't need technical specifics +- The concept IS the abstraction (e.g., "separation of concerns") + +### Comprehensive/Technical Diagrams +Use concrete examples when: +- Diagramming a real system, protocol, or architecture +- The diagram will be used to teach or explain (e.g., YouTube video) +- The audience needs to understand what things actually look like +- You're showing how multiple technologies integrate + +**For technical diagrams, you MUST include evidence artifacts** (see below). + +--- + +## Research Mandate (For Technical Diagrams) + +**Before drawing anything technical, research the actual specifications.** + +If you're diagramming a protocol, API, or framework: +1. Look up the actual JSON/data formats +2. Find the real event names, method names, or API endpoints +3. Understand how the pieces actually connect +4. Use real terminology, not generic placeholders + +Bad: "Protocol" → "Frontend" +Good: "AG-UI streams events (RUN_STARTED, STATE_DELTA, A2UI_UPDATE)" → "CopilotKit renders via createA2UIMessageRenderer()" + +**Research makes diagrams accurate AND educational.** + +--- + +## Evidence Artifacts + +Evidence artifacts are concrete examples that prove your diagram is accurate and help viewers learn. Include them in technical diagrams. + +**Types of evidence artifacts** (choose what's relevant to your diagram): + +| Artifact Type | When to Use | How to Render | +|---------------|-------------|---------------| +| **Code snippets** | APIs, integrations, implementation details | Dark rectangle + syntax-colored text (see color palette for evidence artifact colors) | +| **Data/JSON examples** | Data formats, schemas, payloads | Dark rectangle + colored text (see color palette) | +| **Event/step sequences** | Protocols, workflows, lifecycles | Timeline pattern (line + dots + labels) | +| **UI mockups** | Showing actual output/results | Nested rectangles mimicking real UI | +| **Real input content** | Showing what goes IN to a system | Rectangle with sample content visible | +| **API/method names** | Real function calls, endpoints | Use actual names from docs, not placeholders | + +**Example**: For a diagram about a streaming protocol, you might show: +- The actual event names from the spec (not just "Event 1", "Event 2") +- A code snippet showing how to connect +- What the streamed data actually looks like + +**Example**: For a diagram about a data transformation pipeline: +- Show sample input data (actual format, not "Input") +- Show sample output data (actual format, not "Output") +- Show intermediate states if relevant + +The key principle: **show what things actually look like**, not just what they're called. + +--- + +## Multi-Zoom Architecture + +Comprehensive diagrams operate at multiple zoom levels simultaneously. Think of it like a map that shows both the country borders AND the street names. + +### Level 1: Summary Flow +A simplified overview showing the full pipeline or process at a glance. Often placed at the top or bottom of the diagram. + +*Example*: `Input → Processing → Output` or `Client → Server → Database` + +### Level 2: Section Boundaries +Labeled regions that group related components. These create visual "rooms" that help viewers understand what belongs together. + +*Example*: Grouping by responsibility (Backend / Frontend), by phase (Setup / Execution / Cleanup), or by team (User / System / External) + +### Level 3: Detail Inside Sections +Evidence artifacts, code snippets, and concrete examples within each section. This is where the educational value lives. + +*Example*: Inside a "Backend" section, you might show the actual API response format, not just a box labeled "API Response" + +**For comprehensive diagrams, aim to include all three levels.** The summary gives context, the sections organize, and the details teach. + +### Bad vs Good + +| Bad (Displaying) | Good (Arguing) | +|------------------|----------------| +| 5 equal boxes with labels | Each concept has a shape that mirrors its behavior | +| Card grid layout | Visual structure matches conceptual structure | +| Icons decorating text | Shapes that ARE the meaning | +| Same container for everything | Distinct visual vocabulary per concept | +| Everything in a box | Free-floating text with selective containers | + +### Simple vs Comprehensive (Know Which You Need) + +| Simple Diagram | Comprehensive Diagram | +|----------------|----------------------| +| Generic labels: "Input" → "Process" → "Output" | Specific: shows what the input/output actually looks like | +| Named boxes: "API", "Database", "Client" | Named boxes + examples of actual requests/responses | +| "Events" or "Messages" label | Timeline with real event/message names from the spec | +| "UI" or "Dashboard" rectangle | Mockup showing actual UI elements and content | +| ~30 seconds to explain | ~2-3 minutes of teaching content | +| Viewer learns the structure | Viewer learns the structure AND the details | + +**Simple diagrams** are fine for abstract concepts, quick overviews, or when the audience already knows the details. **Comprehensive diagrams** are needed for technical architectures, tutorials, educational content, or when you want the diagram itself to teach. + +--- + +## Container vs. Free-Floating Text + +**Not every piece of text needs a shape around it.** Default to free-floating text. Add containers only when they serve a purpose. + +| Use a Container When... | Use Free-Floating Text When... | +|------------------------|-------------------------------| +| It's the focal point of a section | It's a label or description | +| It needs visual grouping with other elements | It's supporting detail or metadata | +| Arrows need to connect to it | It describes something nearby | +| The shape itself carries meaning (decision diamond, etc.) | Typography alone creates sufficient hierarchy | +| It represents a distinct "thing" in the system | It's a section title, subtitle, or annotation | + +**Typography as hierarchy**: Use font size, weight, and color to create visual hierarchy without boxes. A 28px title doesn't need a rectangle around it. + +**The container test**: For each boxed element, ask "Would this work as free-floating text?" If yes, remove the container. + +--- + +## Design Process (Do This BEFORE Generating JSON) + +### Step 0: Assess Depth Required +Before anything else, determine if this needs to be: +- **Simple/Conceptual**: Abstract shapes, labels, relationships (mental models, philosophies) +- **Comprehensive/Technical**: Concrete examples, code snippets, real data (systems, architectures, tutorials) + +**If comprehensive**: Do research first. Look up actual specs, formats, event names, APIs. + +### Step 1: Understand Deeply +Read the content. For each concept, ask: +- What does this concept **DO**? (not what IS it) +- What relationships exist between concepts? +- What's the core transformation or flow? +- **What would someone need to SEE to understand this?** (not just read about) + +### Step 2: Map Concepts to Patterns +For each concept, find the visual pattern that mirrors its behavior: + +| If the concept... | Use this pattern | +|-------------------|------------------| +| Spawns multiple outputs | **Fan-out** (radial arrows from center) | +| Combines inputs into one | **Convergence** (funnel, arrows merging) | +| Has hierarchy/nesting | **Tree** (lines + free-floating text) | +| Is a sequence of steps | **Timeline** (line + dots + free-floating labels) | +| Loops or improves continuously | **Spiral/Cycle** (arrow returning to start) | +| Is an abstract state or context | **Cloud** (overlapping ellipses) | +| Transforms input to output | **Assembly line** (before → process → after) | +| Compares two things | **Side-by-side** (parallel with contrast) | +| Separates into phases | **Gap/Break** (visual separation between sections) | + +### Step 3: Ensure Variety +For multi-concept diagrams: **each major concept must use a different visual pattern**. No uniform cards or grids. + +### Step 4: Sketch the Flow +Before JSON, mentally trace how the eye moves through the diagram. There should be a clear visual story. + +### Step 5: Generate JSON +Only now create the Excalidraw elements. **See below for how to handle large diagrams.** + +### Step 6: Render & Validate (MANDATORY) +After generating the JSON, you MUST run the render-view-fix loop until the diagram looks right. This is not optional — see the **Render & Validate** section below for the full process. + +--- + +## Large / Comprehensive Diagram Strategy + +**For comprehensive or technical diagrams, you MUST build the JSON one section at a time.** Do NOT attempt to generate the entire file in a single pass. This is a hard constraint — Claude Code has a ~32,000 token output limit per response, and a comprehensive diagram easily exceeds that in one shot. Even if it didn't, generating everything at once leads to worse quality. Section-by-section is better in every way. + +### The Section-by-Section Workflow + +**Phase 1: Build each section** + +1. **Create the base file** with the JSON wrapper (`type`, `version`, `appState`, `files`) and the first section of elements. +2. **Add one section per edit.** Each section gets its own dedicated pass — take your time with it. Think carefully about the layout, spacing, and how this section connects to what's already there. +3. **Use descriptive string IDs** (e.g., `"trigger_rect"`, `"arrow_fan_left"`) so cross-section references are readable. +4. **Namespace seeds by section** (e.g., section 1 uses 100xxx, section 2 uses 200xxx) to avoid collisions. +5. **Update cross-section bindings** as you go. When a new section's element needs to bind to an element from a previous section (e.g., an arrow connecting sections), edit the earlier element's `boundElements` array at the same time. + +**Phase 2: Review the whole** + +After all sections are in place, read through the complete JSON and check: +- Are cross-section arrows bound correctly on both ends? +- Is the overall spacing balanced, or are some sections cramped while others have too much whitespace? +- Do IDs and bindings all reference elements that actually exist? + +Fix any alignment or binding issues before rendering. + +**Phase 3: Render & validate** + +Now run the render-view-fix loop from the Render & Validate section. This is where you'll catch visual issues that aren't obvious from JSON — overlaps, clipping, imbalanced composition. + +### Section Boundaries + +Plan your sections around natural visual groupings from the diagram plan. A typical large diagram might split into: + +- **Section 1**: Entry point / trigger +- **Section 2**: First decision or routing +- **Section 3**: Main content (hero section — may be the largest single section) +- **Section 4-N**: Remaining phases, outputs, etc. + +Each section should be independently understandable: its elements, internal arrows, and any cross-references to adjacent sections. + +### What NOT to Do + +- **Don't generate the entire diagram in one response.** You will hit the output token limit and produce truncated, broken JSON. Even if the diagram is small enough to fit, splitting into sections produces better results. +- **Don't use a coding agent** to generate the JSON. The agent won't have sufficient context about the skill's rules, and the coordination overhead negates any benefit. +- **Don't write a Python generator script.** The templating and coordinate math seem helpful but introduce a layer of indirection that makes debugging harder. Hand-crafted JSON with descriptive IDs is more maintainable. + +--- + +## Visual Pattern Library + +### Fan-Out (One-to-Many) +Central element with arrows radiating to multiple targets. Use for: sources, PRDs, root causes, central hubs. +``` + ○ + ↗ + □ → ○ + ↘ + ○ +``` + +### Convergence (Many-to-One) +Multiple inputs merging through arrows to single output. Use for: aggregation, funnels, synthesis. +``` + ○ ↘ + ○ → □ + ○ ↗ +``` + +### Tree (Hierarchy) +Parent-child branching with connecting lines and free-floating text (no boxes needed). Use for: file systems, org charts, taxonomies. +``` + label + ├── label + │ ├── label + │ └── label + └── label +``` +Use `line` elements for the trunk and branches, free-floating text for labels. + +### Spiral/Cycle (Continuous Loop) +Elements in sequence with arrow returning to start. Use for: feedback loops, iterative processes, evolution. +``` + □ → □ + ↑ ↓ + □ ← □ +``` + +### Cloud (Abstract State) +Overlapping ellipses with varied sizes. Use for: context, memory, conversations, mental states. + +### Assembly Line (Transformation) +Input → Process Box → Output with clear before/after. Use for: transformations, processing, conversion. +``` + ○○○ → [PROCESS] → □□□ + chaos order +``` + +### Side-by-Side (Comparison) +Two parallel structures with visual contrast. Use for: before/after, options, trade-offs. + +### Gap/Break (Separation) +Visual whitespace or barrier between sections. Use for: phase changes, context resets, boundaries. + +### Lines as Structure +Use lines (type: `line`, not arrows) as primary structural elements instead of boxes: +- **Timelines**: Vertical or horizontal line with small dots (10-20px ellipses) at intervals, free-floating labels beside each dot +- **Tree structures**: Vertical trunk line + horizontal branch lines, with free-floating text labels (no boxes needed) +- **Dividers**: Thin dashed lines to separate sections +- **Flow spines**: A central line that elements relate to, rather than connecting boxes + +``` +Timeline: Tree: + ●─── Label 1 │ + │ ├── item + ●─── Label 2 │ ├── sub + │ │ └── sub + ●─── Label 3 └── item +``` + +Lines + free-floating text often creates a cleaner result than boxes + contained text. + +--- + +## Shape Meaning + +Choose shape based on what it represents—or use no shape at all: + +| Concept Type | Shape | Why | +|--------------|-------|-----| +| Labels, descriptions, details | **none** (free-floating text) | Typography creates hierarchy | +| Section titles, annotations | **none** (free-floating text) | Font size/weight is enough | +| Markers on a timeline | small `ellipse` (10-20px) | Visual anchor, not container | +| Start, trigger, input | `ellipse` | Soft, origin-like | +| End, output, result | `ellipse` | Completion, destination | +| Decision, condition | `diamond` | Classic decision symbol | +| Process, action, step | `rectangle` | Contained action | +| Abstract state, context | overlapping `ellipse` | Fuzzy, cloud-like | +| Hierarchy node | lines + text (no boxes) | Structure through lines | + +**Rule**: Default to no container. Add shapes only when they carry meaning. Aim for <30% of text elements to be inside containers. + +--- + +## Color as Meaning + +Colors encode information, not decoration. Every color choice should come from `references/color-palette.md` — the semantic shape colors, text hierarchy colors, and evidence artifact colors are all defined there. + +**Key principles:** +- Each semantic purpose (start, end, decision, AI, error, etc.) has a specific fill/stroke pair +- Free-floating text uses color for hierarchy (titles, subtitles, details — each at a different level) +- Evidence artifacts (code snippets, JSON examples) use their own dark background + colored text scheme +- Always pair a darker stroke with a lighter fill for contrast + +**Do not invent new colors.** If a concept doesn't fit an existing semantic category, use Primary/Neutral or Secondary. + +--- + +## Modern Aesthetics + +For clean, professional diagrams: + +### Roughness +- `roughness: 0` — Clean, crisp edges. Use for modern/technical diagrams. +- `roughness: 1` — Hand-drawn, organic feel. Use for brainstorming/informal diagrams. + +**Default to 0** for most professional use cases. + +### Stroke Width +- `strokeWidth: 1` — Thin, elegant. Good for lines, dividers, subtle connections. +- `strokeWidth: 2` — Standard. Good for shapes and primary arrows. +- `strokeWidth: 3` — Bold. Use sparingly for emphasis (main flow line, key connections). + +### Opacity +**Always use `opacity: 100` for all elements.** Use color, size, and stroke width to create hierarchy instead of transparency. + +### Small Markers Instead of Shapes +Instead of full shapes, use small dots (10-20px ellipses) as: +- Timeline markers +- Bullet points +- Connection nodes +- Visual anchors for free-floating text + +--- + +## Layout Principles + +### Hierarchy Through Scale +- **Hero**: 300×150 - visual anchor, most important +- **Primary**: 180×90 +- **Secondary**: 120×60 +- **Small**: 60×40 + +### Whitespace = Importance +The most important element has the most empty space around it (200px+). + +### Flow Direction +Guide the eye: typically left→right or top→bottom for sequences, radial for hub-and-spoke. + +### Connections Required +Position alone doesn't show relationships. If A relates to B, there must be an arrow. + +--- + +## Text Rules + +**CRITICAL**: The JSON `text` property contains ONLY readable words. + +```json +{ + "id": "myElement1", + "text": "Start", + "originalText": "Start" +} +``` + +Settings: `fontSize: 16`, `fontFamily: 3`, `textAlign: "center"`, `verticalAlign: "middle"` + +--- + +## JSON Structure + +```json +{ + "type": "excalidraw", + "version": 2, + "source": "https://excalidraw.com", + "elements": [...], + "appState": { + "viewBackgroundColor": "#ffffff", + "gridSize": 20 + }, + "files": {} +} +``` + +## Element Templates + +See `references/element-templates.md` for copy-paste JSON templates for each element type (text, line, dot, rectangle, arrow). Pull colors from `references/color-palette.md` based on each element's semantic purpose. + +--- + +## Render & Validate (MANDATORY) + +You cannot judge a diagram from JSON alone. After generating or editing the Excalidraw JSON, you MUST render it to PNG, view the image, and fix what you see — in a loop until it's right. This is a core part of the workflow, not a final check. + +### How to Render + +```bash +cd .claude/skills/excalidraw-diagram/references && uv run python render_excalidraw.py +``` + +This outputs a PNG next to the `.excalidraw` file. Then use the **Read tool** on the PNG to actually view it. + +### The Loop + +After generating the initial JSON, run this cycle: + +**1. Render & View** — Run the render script, then Read the PNG. + +**2. Audit against your original vision** — Before looking for bugs, compare the rendered result to what you designed in Steps 1-4. Ask: +- Does the visual structure match the conceptual structure you planned? +- Does each section use the pattern you intended (fan-out, convergence, timeline, etc.)? +- Does the eye flow through the diagram in the order you designed? +- Is the visual hierarchy correct — hero elements dominant, supporting elements smaller? +- For technical diagrams: are the evidence artifacts (code snippets, data examples) readable and properly placed? + +**3. Check for visual defects:** +- Text clipped by or overflowing its container +- Text or shapes overlapping other elements +- Arrows crossing through elements instead of routing around them +- Arrows landing on the wrong element or pointing into empty space +- Labels floating ambiguously (not clearly anchored to what they describe) +- Uneven spacing between elements that should be evenly spaced +- Sections with too much whitespace next to sections that are too cramped +- Text too small to read at the rendered size +- Overall composition feels lopsided or unbalanced + +**4. Fix** — Edit the JSON to address everything you found. Common fixes: +- Widen containers when text is clipped +- Adjust `x`/`y` coordinates to fix spacing and alignment +- Add intermediate waypoints to arrow `points` arrays to route around elements +- Reposition labels closer to the element they describe +- Resize elements to rebalance visual weight across sections + +**5. Re-render & re-view** — Run the render script again and Read the new PNG. + +**6. Repeat** — Keep cycling until the diagram passes both the vision check (Step 2) and the defect check (Step 3). Typically takes 2-4 iterations. Don't stop after one pass just because there are no critical bugs — if the composition could be better, improve it. + +### When to Stop + +The loop is done when: +- The rendered diagram matches the conceptual design from your planning steps +- No text is clipped, overlapping, or unreadable +- Arrows route cleanly and connect to the right elements +- Spacing is consistent and the composition is balanced +- You'd be comfortable showing it to someone without caveats + +### First-Time Setup +If the render script hasn't been set up yet: +```bash +cd .claude/skills/excalidraw-diagram/references +uv sync +uv run playwright install chromium +``` + +--- + +## Quality Checklist + +### Depth & Evidence (Check First for Technical Diagrams) +1. **Research done**: Did you look up actual specs, formats, event names? +2. **Evidence artifacts**: Are there code snippets, JSON examples, or real data? +3. **Multi-zoom**: Does it have summary flow + section boundaries + detail? +4. **Concrete over abstract**: Real content shown, not just labeled boxes? +5. **Educational value**: Could someone learn something concrete from this? + +### Conceptual +6. **Isomorphism**: Does each visual structure mirror its concept's behavior? +7. **Argument**: Does the diagram SHOW something text alone couldn't? +8. **Variety**: Does each major concept use a different visual pattern? +9. **No uniform containers**: Avoided card grids and equal boxes? + +### Container Discipline +10. **Minimal containers**: Could any boxed element work as free-floating text instead? +11. **Lines as structure**: Are tree/timeline patterns using lines + text rather than boxes? +12. **Typography hierarchy**: Are font size and color creating visual hierarchy (reducing need for boxes)? + +### Structural +13. **Connections**: Every relationship has an arrow or line +14. **Flow**: Clear visual path for the eye to follow +15. **Hierarchy**: Important elements are larger/more isolated + +### Technical +16. **Text clean**: `text` contains only readable words +17. **Font**: `fontFamily: 3` +18. **Roughness**: `roughness: 0` for clean/modern (unless hand-drawn style requested) +19. **Opacity**: `opacity: 100` for all elements (no transparency) +20. **Container ratio**: <30% of text elements should be inside containers + +### Visual Validation (Render Required) +21. **Rendered to PNG**: Diagram has been rendered and visually inspected +22. **No text overflow**: All text fits within its container +23. **No overlapping elements**: Shapes and text don't overlap unintentionally +24. **Even spacing**: Similar elements have consistent spacing +25. **Arrows land correctly**: Arrows connect to intended elements without crossing others +26. **Readable at export size**: Text is legible in the rendered PNG +27. **Balanced composition**: No large empty voids or overcrowded regions From 72d0edddd3e815e851793bf1b2a2161448c447f1 Mon Sep 17 00:00:00 2001 From: Marco Olivo <8478776+olivomarco@users.noreply.github.com> Date: Sun, 12 Jul 2026 13:13:07 +0200 Subject: [PATCH 08/17] Add outcome per token --- .vscode/settings.json | 15 -- README.md | 20 +- docs/04-context-management.md | 43 +++ docs/06-workflow-optimization.md | 2 + docs/09-comparisons-data.md | 6 +- docs/10-practical-setup.md | 38 +++ docs/12-enterprise-governance.md | 4 + docs/13-outcome-per-token.md | 444 +++++++++++++++++++++++++++++++ docs/index.md | 3 + mkdocs.yml | 1 + 10 files changed, 555 insertions(+), 21 deletions(-) delete mode 100644 .vscode/settings.json create mode 100644 docs/13-outcome-per-token.md diff --git a/.vscode/settings.json b/.vscode/settings.json deleted file mode 100644 index 0be68ef..0000000 --- a/.vscode/settings.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "workbench.colorCustomizations": { - "activityBar.background": "#580D3B", - "titleBar.activeBackground": "#7B1252", - "titleBar.activeForeground": "#FFFCFD", - "titleBar.inactiveBackground": "#580D3B", - "titleBar.inactiveForeground": "#FFFCFD", - "statusBar.background": "#580D3B", - "statusBar.foreground": "#FFFCFD", - "statusBar.debuggingBackground": "#580D3B", - "statusBar.debuggingForeground": "#FFFCFD", - "statusBar.noFolderBackground": "#580D3B", - "statusBar.noFolderForeground": "#FFFCFD" - } -} \ No newline at end of file diff --git a/README.md b/README.md index 53d2839..904aca2 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ --- -## Quick Start — 12 Things to Do Right Now +## Quick Start — 14 Things to Do Right Now > **June 1, 2026 — Usage-Based Billing (UBB) is live.** GitHub Copilot now bills real tokens (input + output + cached) drawn from pooled AI credits ($30/seat Business, $70/seat Enterprise) instead of request counters. Every technique in this guide translates directly into credit savings — and cache-friendly habits matter more than ever. See [Enterprise Governance](docs/12-enterprise-governance.md) for customer guardrails and [Model Selection & Pricing](docs/11-models-and-pricing.md) for model-cost guidance. @@ -30,13 +30,14 @@ Don't have time to read the full guide? Do these today and cut your token usage: | 10 | **Convert rich files to Markdown before AI work** — `.docx`, `.pdf`, `.pptx`, `.xlsx`, HTML, images, audio, video, and ZIPs carry format tax. [Marc Bara's writeup](https://medium.com/@marc.bara.iniesta/your-docx-is-wasting-33-of-your-ai-budget-86a3d229d042) shows the cost; use [Microsoft MarkItDown](https://github.com/microsoft/markitdown) before chat, agent, or RAG ingestion | Reduces noisy input context | 5 minutes | | 11 | **Run `/chronicle cost tips` and `/chronicle improve` weekly** (**Copilot CLI only**, experimental) — these slash commands work in interactive Copilot CLI sessions (not VS Code), not as a general Copilot Chat feature. `cost tips` analyzes your token spend and suggests reductions; `improve` finds recurring confusion in your CLI session history and generates custom-instruction fixes so the same misread intent stops costing tokens forever | Cuts recurring rework and direct token spend | 2 minutes per run | | 12 | **Try CodeAct for long tool chains** (**Copilot CLI only**, optional external plugin) — [`copilot-codeact-plugin`](https://github.com/jsturtevant/copilot-codeact-plugin) collapses multi-step tool chains into one sandboxed execution, which can reduce repeated replay of system prompt, prior messages, and tool definitions | Reduces tool-loop replay | 10-15 minutes | -| 13 | **Plan first, then execute in a fresh session** — use plan mode (CLI) or Ask mode (VS Code) to agree the approach with a strong model, save the plan to `plan.md` or an issue, then run the execution from that plan in a clean session — often with a cheaper model. Reaching the right outcome the first time avoids the expensive rework of an agent coding in the wrong direction. See [Plan First, Then Execute §2.5.9](docs/06-workflow-optimization.md#259-plan-first-then-execute-and-route-the-phases) | Avoids wrong-direction rework; cheaper execution lane | 0 minutes (just sequence the work) | +| 13 | **Plan first, then execute in a fresh session** — use plan mode (CLI) or Ask mode (VS Code) to agree the approach with a strong model, save the plan to `plan.md` or an issue, then run the execution from that plan in a clean session — often with a cheaper model. Reaching the right outcome the first time avoids the expensive rework of an agent coding in the wrong direction. See [Plan First, Then Execute §2.5.9](docs/06-workflow-optimization.md#259-plan-first-then-execute-and-route-the-phases) and [Outcome per Token](docs/13-outcome-per-token.md) | Avoids wrong-direction rework; cheaper execution lane | 0 minutes (just sequence the work) | +| 14 | **Build a persistent codebase graph with Graphify** (optional, VS Code + Copilot CLI) — [`graphify`](https://github.com/Graphify-Labs/graphify) maps the repo once with tree-sitter AST and writes `graphify-out/graph.json`; agents query the graph instead of re-reading project files each session. Best for large repos where orientation reads dominate agent input. Install: `uv tool install graphifyy` | Reduces repeated file-read input | 5-10 minutes | **Looking at this from an enterprise or customer-governance angle instead of an individual setup angle?** Start with [Enterprise Governance](docs/12-enterprise-governance.md). That chapter covers AI-credit budgets, per-user tightening, model-access policy, org instructions, and separate-organization tradeoffs. *Figures above are scoped to the mechanism named in each row, are not additive, and do not equal total bill reduction.* -Output control (#1, #2) pays off immediately and compounds — set it once, save on every call. Structural input control (#3, #6) compounds across every interaction. Model routing (#4, #5) reduces cost at the billing tier. Model-specific prompt tuning (#8) cuts waste by improving first-pass quality. MCP audit (#9) eliminates thousands of hidden tokens per agent task. Markdown conversion (#10) removes DOCX/PDF/HTML layout noise before the model ever sees it. +Output control (#1, #2) pays off immediately and compounds — set it once, save on every call. Structural input control (#3, #6) compounds across every interaction. Model routing (#4, #5) reduces cost at the billing tier. Model-specific prompt tuning (#8) cuts waste by improving first-pass quality. MCP audit (#9) eliminates thousands of hidden tokens per agent task. Markdown conversion (#10) removes DOCX/PDF/HTML layout noise before the model ever sees it. Graph-based navigation (#14) front-loads codebase orientation once, then reuses it across agent sessions. --- @@ -114,6 +115,14 @@ Dedicated chapter for customer-facing admin guidance: usage-based billing guardr --- +### Part 4.4: Outcome per Token + +Dedicated chapter for the shift from token minimization to value per token: plan-first execution, prompt-skill progression, model routing, benchmark caveats, and day-to-day model choices under usage-based billing. + +→ **[Read Part 4.4](docs/13-outcome-per-token.md)** + +--- + Need the glossary, quick terms, tools, or core external links? Go to [Guide Home](docs/index.md). --- @@ -128,8 +137,9 @@ Ranked by cost impact. Output first — it costs 5× more per token than input. 4. **Audit MCP servers and injected tools** — disable unused servers/extensions, or use a clean coding profile/custom agent, to save 5K-190K tokens per agent task 5. **Auto model selection** — lower-cost default routing plus paid-plan discount on eligible usage, zero effort 6. **Convert rich files to Markdown first** — avoid paying for Word/PDF/HTML layout noise in chat, agent, and RAG workflows -7. **Retune prompts to the target model** — better first-pass output reduces repeated clarification turns -8. **Precise prompts** — 20-40% of user-prompt input tokens; more important for quality than raw savings +7. **Build a persistent codebase graph** — use Graphify on large repos so agents query `graph.json` instead of re-reading structural files every session +8. **Retune prompts to the target model** — better first-pass output reduces repeated clarification turns +9. **Precise prompts** — 20-40% of user-prompt input tokens; more important for quality than raw savings --- diff --git a/docs/04-context-management.md b/docs/04-context-management.md index 6709d64..82207c9 100644 --- a/docs/04-context-management.md +++ b/docs/04-context-management.md @@ -251,6 +251,49 @@ Conversation history accumulates. After 20+ messages, you might have 50K+ tokens **How to preserve continuity:** Summarize key decisions in your new prompt. "Continuing from auth refactor — we chose JWT over sessions. Now implement refresh tokens." +## 2.3.7 Persistent Graphs — Replace Per-Session File Reads + +The per-session codebase-read pattern is a hidden input cost: every new agent session starts from scratch, re-reading the same structural files to understand imports, call paths, and component layout. On large repos, orientation reads can burn thousands of tokens before the agent makes one useful edit. + +[Graphify](https://github.com/Graphify-Labs/graphify) attacks that cost differently from prompt compression. It parses the repo once with tree-sitter AST, writes a persistent `graphify-out/graph.json`, and lets agents query that graph instead of repeatedly reading source files for structure. + +```bash +uv tool install graphifyy + +# Build or update the graph in the repo +graphify . + +# Query targeted structure instead of reading broad files +graphify query "where is auth middleware?" +graphify explain "UserService" +graphify path "Router" "Database" +``` + +Core outputs: + +```text +graphify-out/ +├── graph.json queryable graph for agents +├── graph.html interactive visual explorer +└── GRAPH_REPORT.md human-readable communities, god nodes, and suggested questions +``` + +**When this helps most:** + +- large codebases where agents routinely start by reading 5-10 files for orientation +- repeated agent sessions over the same repo +- cross-file questions where a path/query answer is cheaper than broad file reads +- teams that can share the same graph build across developers or agents + +**When to skip:** tiny repos where the agent reads two files and finishes. The one-time graph build is overhead if there is no repeated navigation cost to amortize. + +**Caveats:** + +- Code extraction is local and deterministic for the AST pass; optional semantic/deep extraction over docs, PDFs, images, or media may use a configured AI backend. +- The graph can go stale after large refactors. Rebuild it or use Graphify's update/watch/hook flows where appropriate. +- `GRAPH_REPORT.md` is generated output. Treat it as a map, not the source of truth. +- Graphify complements RTK. Graphify reduces repeated codebase-navigation input; RTK compresses verbose shell/tool output. + --- **Next:** [Output Control →](05-output-control.md) diff --git a/docs/06-workflow-optimization.md b/docs/06-workflow-optimization.md index 080e047..7c58120 100644 --- a/docs/06-workflow-optimization.md +++ b/docs/06-workflow-optimization.md @@ -302,6 +302,8 @@ The most expensive tokens are the ones spent reaching a *wrong* outcome: an agen **Rule of thumb:** plan with the strong model, execute with the cheap one, and put the plan on disk in between. The outcome is reached in fewer total tokens *and* is usually higher quality, because the plan was reviewed before a single line was written. +For the fuller outcome-per-token frame, skill taxonomy, benchmark caveats, and current model routing matrix, see [Outcome per Token](13-outcome-per-token.md). + --- **Next:** [The AGENTS.md Problem →](07-agents-md-problem.md) diff --git a/docs/09-comparisons-data.md b/docs/09-comparisons-data.md index d4cb876..149f322 100644 --- a/docs/09-comparisons-data.md +++ b/docs/09-comparisons-data.md @@ -75,6 +75,7 @@ The complete comparison of every technique covered in this guide: | C3 | Progressive on-demand guidance | 60-90% of optional guidance | — | Positive | High | Teams with reusable prompt files | | C4 | Start new conversations | 80%+ | — | Lose context | Low | Long sessions | | C5 | Convert non-text files to Markdown first | ~33% on cited PDF example; higher for noisy HTML | — | Improves structure | Low | DOCX, PDF, PPTX, XLSX, images, audio, RAG ingestion | +| C6 | Precompute codebase graph with [Graphify](https://github.com/Graphify-Labs/graphify) | 6.8×-71.5× claimed for structural navigation tasks | — | Improves targeting | Medium | Large codebases; repeated cross-file agent navigation | | **Output Control** | | D1 | Code-only responses | — | 40-70% | Good | Low | Code generation | | D2 | Structured output (JSON/tables) | — | 30-60% | Depends | Low | Data tasks | @@ -116,6 +117,8 @@ The complete comparison of every technique covered in this guide: > C5 source: Marc Bara's [Your .docx Is Wasting 33% of Your AI Budget](https://medium.com/@marc.bara.iniesta/your-docx-is-wasting-33-of-your-ai-budget-86a3d229d042). Use [Microsoft MarkItDown](https://github.com/microsoft/markitdown) when non-text files need to enter an AI workflow. +> C6 source: [Graphify benchmarks](https://github.com/Graphify-Labs/graphify/blob/main/BENCHMARKS.md) and project documentation. Treat the high-end 71.5× number as structural-navigation best case on large codebases, not a universal savings guarantee. + ### The Big Winners If you do nothing else, do these eight. Ranked by impact-to-effort ratio: @@ -127,7 +130,8 @@ If you do nothing else, do these eight. Ranked by impact-to-effort ratio: 5. **Ask Mode for simple questions** — 60-90% savings by avoiding Agent overhead 6. **Audit MCP servers** — disable unused servers, save 5K-190K tokens per agent task 7. **Convert non-text files to Markdown first** — avoid the DOCX/PDF/HTML format tax before content enters chat, agents, or RAG -8. **Retune prompts to target model guide** — not a per-request shrink; improves first-pass quality and avoids rework after model changes +8. **Precompute codebase graphs with Graphify** — replace repeated orientation reads with targeted graph queries on large repos +9. **Retune prompts to target model guide** — not a per-request shrink; improves first-pass quality and avoids rework after model changes ## 3.4 Quality Impact Assessment diff --git a/docs/10-practical-setup.md b/docs/10-practical-setup.md index b15b327..7f68c13 100644 --- a/docs/10-practical-setup.md +++ b/docs/10-practical-setup.md @@ -341,6 +341,44 @@ Commands with verbose output (test failures, large diffs) see the biggest reduct Combine with `copilot-setup-steps.yml` (§4.3.2) and precise issue descriptions (§4.3.3) for maximum session efficiency. Full setup, command list, and other AI tool support: [MCP & Tool Costs §2.7.7](08-mcp-tool-costs.md#277-compress-tool-output-at-the-source-rtk). +### 4.3.7 Build a Persistent Knowledge Graph with Graphify + +RTK compresses what shell commands return. [Graphify](https://github.com/Graphify-Labs/graphify) addresses a different cost: tokens spent reading project files to understand structure before the agent can act. + +Install once: + +```bash +uv tool install graphifyy +``` + +Build or update the graph in the repo: + +```bash +graphify . +``` + +Then query targeted structure: + +```text +graphify query "where is error handling for the API layer?" +graphify path "AuthService" "Database" +graphify explain "QueueWorker" +``` + +The graph lives in `graphify-out/graph.json`. The human-readable map is `graphify-out/GRAPH_REPORT.md`; the visual explorer is `graphify-out/graph.html`. + +**Biggest gains:** Coding Agent and agent-mode sessions on large repos where the first several steps are file reads for orientation. Graphify front-loads that structural scan once and amortizes it across later sessions. + +**Team choice:** decide whether to commit `graphify-out/graph.json` and `GRAPH_REPORT.md` so agents share the same map, or `.gitignore` `graphify-out/` and let each developer build locally. Do not commit graphs that expose sensitive source relationships if your repo policy treats them as restricted metadata. + +**Combine with:** + +- `copilot-setup-steps.yml` (§4.3.2) so the agent environment is deterministic before graph queries matter +- precise issue descriptions (§4.3.3) so the agent queries the right subgraph, not the whole repo map +- fresh execution sessions ([Outcome per Token](13-outcome-per-token.md)) so the graph supplements a short plan instead of a long transcript + +Note: code parsing is local for the AST pass. Optional semantic/deep extraction over docs, PDFs, images, or media may use a configured AI backend. Review that boundary before enabling extras on proprietary codebases. + ## 4.4 Building the Habit ### Start Small diff --git a/docs/12-enterprise-governance.md b/docs/12-enterprise-governance.md index 4d0893b..a12ef8d 100644 --- a/docs/12-enterprise-governance.md +++ b/docs/12-enterprise-governance.md @@ -167,3 +167,7 @@ If you are preparing customers for the June 1 shift, do this first: 8. use separate org segmentation only if cost-center boundaries already support it This is boring on purpose. Cheap defaults first. Premium access by exception. Measurement before expansion. + +--- + +**Next:** [Outcome per Token →](13-outcome-per-token.md) diff --git a/docs/13-outcome-per-token.md b/docs/13-outcome-per-token.md new file mode 100644 index 0000000..458aa84 --- /dev/null +++ b/docs/13-outcome-per-token.md @@ -0,0 +1,444 @@ +# Outcome per Token + +[← Back to Guide](index.md) + +--- + +Token optimization is not the real goal. The real goal is **more accepted work per token spent**: merged pull requests, closed bugs, passing tests, clean reviews, and fewer wrong-direction agent loops. + +Raw token minimization can even be the wrong move. A short prompt that causes the agent to guess, edit the wrong files, fail tests, and backtrack is more expensive than a longer plan that gets the first implementation right. + +## Why Outcome per Token Matters + +Usage-based billing makes tokens visible, but engineering teams do not buy tokens. They buy outcomes. + +Tomasz Tunguz describes this as the shift to intelligence per dollar: the application layer competes on the cost of a closed ticket, shipped PR, or resolved support case, not the cheapest raw token.[^tunguz] That maps directly to Copilot work. The useful metric is: + +```text +outcome per token = verified work completed / total tokens spent +``` + +For agentic coding, cost behaves differently than in simple chat. The Microsoft/Stanford paper "How Do AI Agents Spend Your Money?" reports that agentic coding tasks consume roughly **1,000×** more tokens than code chat, runs on the same task can vary by up to **30×**, and higher token usage does not reliably improve accuracy.[^agent-costs] + +### What the research shows + +| Finding | Why it matters | +|---|---| +| Agentic coding can consume roughly **1,000×** more tokens than code chat | Do not extrapolate chat-cost intuition to agent sessions | +| Same task can vary by up to **30×** across runs | Budget with margin; one run is not a stable cost estimate | +| Higher token usage does not reliably improve accuracy | More exploration is not automatically better work | +| Accuracy often peaks at intermediate cost and then saturates | Defaulting to the biggest model for every step can waste money | +| Input tokens dominate agentic cost | Context hygiene matters as much as output terseness | +| Models underestimate their own token use | Do not trust an agent's pre-task cost guess; use budgets and stop rules | +| Token efficiency varies by model independent of pass rate | Compare outcome and cost together, not benchmark score alone | + +The implication is simple: optimize the loop, not the sentence. + +## The Outcome-per-Token Loop + +High outcome per token comes from six habits: + +1. pick the right task shape +2. plan before implementation +3. route the right model to the right phase +4. preserve clean context and cache boundaries +5. verify before claiming done + +Low outcome per token usually has the opposite shape: vague prompt, huge context, expensive model pinned too long, no acceptance criteria, agent edits before planning, tests run late, then a rework session starts from scratch. + +## Prompt Skills as Superpowers + +The community project [`obra/superpowers`](https://github.com/obra/superpowers) popularizes a useful framing: treat repeatable agent practices as skills, not one-off prompts.[^superpowers] It is not an official GitHub product, but its skill categories map well to Copilot cost control. + +This chapter uses that idea as a practical taxonomy. + +| Skill | What it does | Token effect | +|---|---|---| +| Brainstorming | Explore multiple approaches before choosing | Prevents early lock-in and wrong-direction code | +| Planning | Converts intent into file-level steps and checks | Reduces guessing during execution | +| Greenness | Keeps tests passing through the work | Avoids debugging unknown baseline failures | +| Verification before completion | Requires evidence before "done" | Prevents false completion and rework | +| Impeccable close | Finishes cleanly with criteria, tests, and PR summary aligned | Prevents review churn and follow-up agent sessions | +| Branch-close discipline | Ends branch/session cleanly after merge | Prevents stale context from leaking into next task | + +The skills below are patterns. The public libraries that follow are example implementations of those patterns, not mandatory dependencies. + +## Skill Libraries Worth Borrowing From + +Community skill libraries can improve outcome per token when they make the next agent action more precise: clearer requirements, safer tool use, better tests, cleaner handoff, or stronger final review. Treat them as reusable practice, not official GitHub or Microsoft guidance. Most claims are qualitative and experience-based; use them because they encode good workflow discipline, not because they prove a universal benchmark gain. + +| Library | Best borrowed skill | Use when | Caveat | +|---|---|---|---| +| [`obra/superpowers`](https://github.com/obra/superpowers) | TDD, planning, verification, branch finish | Need broad agent SDLC discipline | Community framework | +| [`softaworks/agent-toolkit`](https://github.com/softaworks/agent-toolkit) | Planning orchestration, handoff, entropy reduction | Complex features, long sessions, bloated instruction files | Personal toolkit; qualitative claims | +| [`catpilotai/catpilot-ai-guardrails`](https://github.com/catpilotai/catpilot-ai-guardrails) | Security and tool-loop guardrails | Agents touch secrets, cloud, DB, Docker, or supply chain | Guidance, not runtime enforcement | +| [`vercel-labs/agent-browser`](https://github.com/vercel-labs/agent-browser/blob/main/skills/agent-browser/SKILL.md) | Snapshot, wait, and evidence discipline | Agents test browser UIs | Browser-specific; installed CLI content is authoritative | +| [`vercel-labs/writing-guidelines`](https://github.com/vercel-labs/writing-guidelines) | Plan-as-prompt, output review, AI-tell detection | Docs, PR descriptions, specs, generated prose | Editorial guidance, not measured token reduction | +| [`mattpocock/skills`](https://github.com/mattpocock/skills) | TDD, bug diagnosis, code review, domain modeling | Engineering tasks need sharper loops | Examples skew Claude and TypeScript workflows | +| [`PramodDutta/qaskills`](https://github.com/PramodDutta/qaskills) | QA and test-generation skills | Need Playwright, API, BDD, security, accessibility, or bug-report depth | Large skill files; early project | + +### `obra/superpowers`: Baseline Agent SDLC Discipline + +Use Superpowers as the reference pattern: skills are small, named operating procedures. The value is not the brand name; the value is turning "be careful" into concrete moves the agent can follow.[^superpowers] + +- Borrow the TDD, planning, verification, and branch-finish habits. +- Convert team norms into small reusable prompts or skill files. +- Prefer skills that force evidence: test output, file-level plan, acceptance criteria, or clean close. +- Do not load broad skills when a one-line instruction would steer the next action. + +### `softaworks/agent-toolkit`: Planning, Handoff, and Entropy Control + +`agent-toolkit` is a broad personal toolkit with skills, subagents, and commands for Claude-style agent workflows.[^agent-toolkit] Its best fit here is not copying everything; it is borrowing the structure for long-running engineering work. + +- Use `gepetto`-style flow for complex features: research, stakeholder questions, spec, plan, review, then execution. +- Use `requirements-clarity` before coding when the task still has hidden ambiguity. +- Use `session-handoff` when a long session must transfer context without leaking stale decisions or secrets. +- Use `reducing-entropy` as an explicit deletion-biased review: fewer files, fewer branches, less code, clearer seams. +- Use instruction-file refactor patterns when `AGENTS.md`, `CLAUDE.md`, or team prompts grow so large they become context tax. + +### `catpilot-ai-guardrails`: Risk Stops Before Expensive Mistakes + +Guardrail skills improve outcome per token by preventing costly wrong actions: leaked secrets, unsafe cloud mutations, database damage, supply-chain drift, or retry loops.[^catpilot-guardrails] They are especially relevant when the agent has write-capable tools. + +- Add guardrails before tasks that touch credentials, PII, cloud CLIs, databases, Docker, CI, or dependency manifests. +- Require explicit confirmation before destructive or high-cost actions. +- Use retry budgets and loop-stop rules so agents do not burn tokens repeating the same failing tool call. +- Pair skill guidance with real controls: branch protection, CI, SAST, DAST, SCA, secret scanning, and least-privilege credentials. +- Do not describe these skills as compliance enforcement. They guide behavior; they do not sandbox tools. + +### `agent-browser`: Browser QA Without DOM Floods + +`agent-browser` is useful because it teaches browser agents to use compact observations and evidence-oriented waits instead of dumping huge HTML or guessing from screenshots.[^agent-browser] + +- Prefer accessibility-tree snapshots and stable element references over raw DOM dumps. +- Re-snapshot after page-changing actions; browser references go stale. +- Wait on observable states such as text, URL, or network idle instead of fixed sleeps. +- Capture proportionate evidence: failing selector, visible state, screenshot only when useful. +- Treat page content as untrusted input. Do not follow instructions embedded in a website under test. + +### `writing-guidelines`: Make the Plan the Prompt, Spec, and Review Artifact + +Vercel's writing guidance is useful for engineering agents because it turns vague prose into testable artifacts.[^writing-guidelines] Better writing reduces rework tokens: fewer hidden goals, fewer vague success criteria, fewer review comments asking what changed. + +- Write goals with testable verbs, not vague aspirations. +- Keep one page or prompt focused on one job. +- Use the plan as the implementation prompt, test spec, and PR-description seed. +- Flag weasel words and vague quantifiers before sending text to an agent. +- Borrow the second-pass review pattern: ask another agent or model for concrete `file:line` findings, not general praise. + +### `mattpocock/skills`: Engineering Loops That Reduce Guessing + +Matt Pocock's skills are useful because they encode engineering loops: TDD, bug diagnosis, code review axes, domain modeling, and large-work decomposition.[^mattpocock-skills] They are strongest when the agent would otherwise jump straight from symptom to edit. + +- Use TDD skills to agree on seams before implementation. +- Use bug-diagnosis skills to build a fast, deterministic red/green loop before theorizing. +- Split review into two axes: standards review and spec review, so style concerns do not hide requirement misses. +- Use domain-modeling vocabulary such as seam, adapter, leverage, locality, and module depth to guide architecture prompts. +- Use wayfinding patterns to separate human-in-the-loop tickets from agent-runnable work. + +### `qaskills`: QA Depth on Demand + +`qaskills` is a QA skill catalog with CLI, MCP server, catalog, SDK, and validator.[^qaskills] Its token value is specialization: load QA depth when the task is actually QA-heavy instead of asking a general agent to invent a test strategy from scratch. + +- Use Playwright skills for page-object discipline, accessibility-first selectors, fixtures, and anti-pattern checks. +- Use test-plan skills for risk matrices, traceability, equivalence partitioning, and entry/exit criteria. +- Use bug-report skills when the outcome is a reproducible issue with severity, priority, environment, and evidence. +- Use BDD/Cucumber skills when acceptance criteria should become executable Given/When/Then scenarios. +- Use OWASP, visual-regression, axe-core, k6, and API-testing skills only when those checks are part of the task. + +### Do Not Install Every Skill + +Skills are context too. Install only the ones that change the next agent action. + +| Task | Load | +|---|---| +| Test design, QA automation, bug reports | QA skills | +| Browser UI investigation | Browser snapshot/wait/evidence skills | +| Cloud, database, Docker, secrets, dependencies | Guardrail skills | +| Specs, docs, PR descriptions | Writing and review skills | +| Long sessions, complex features, handoff | Planning and handoff skills | + +If a skill is not likely to change the next edit, command, test, or review, leave it out. The best skill selection is still context selection. + +### Brainstorming Skill + +Use this before the first edit when requirements are ambiguous. + +```text +Before coding, list three implementation approaches. +For each: files likely touched, risks, test strategy, and token/cost risk. +Do not edit files. +``` + +This spends a small number of reasoning tokens to avoid a much larger rework loop. + +### Planning Skill + +Planning turns "build X" into executable steps. + +Use the official VS Code [Plan agent](https://code.visualstudio.com/docs/agents/planning) when available. It can be selected from the agent dropdown or invoked with `/plan`, generates a high-level plan plus implementation and verification steps, and supports separate model settings for planning and implementation through `chat.planAgent.defaultModel` and `github.copilot.chat.implementAgent.model`.[^plan-agent] + +For GitHub.com tasks, Copilot cloud agent supports a research, plan, iterate flow: ask it to research the repo, iterate on a plan, then implement the agreed plan only when ready.[^cloud-plan] + +Important caveats: + +- VS Code Plan agent session memory is cleared when the conversation ends. Save important plans externally before closing the session.[^plan-agent] +- Copilot cloud agent planning and iteration before creating a PR are GitHub.com capabilities; integrations such as Azure Boards, JIRA, Linear, Slack, or Teams support direct PR creation only.[^cloud-agent] +- Cloud agent sessions have a 59-minute hard limit. Break large work into smaller tasks.[^cloud-agent] +- Business and Enterprise users need the relevant admin policy enabled before using cloud agent.[^cloud-agent] + +### Greenness Skill + +"Greenness" is this guide's label for a simple discipline: keep the test baseline green. + +Before asking an agent to modify code: + +1. know whether tests pass now +2. tell the agent the baseline +3. ask it to preserve that baseline +4. run tests before accepting completion + +If tests start red and the agent does not know that, it spends tokens debugging pre-existing failures. If tests go red during the task and the agent keeps editing, it compounds uncertainty. + +Green baseline first. Then change. + +### Verification-before-Completion Skill + +Do not accept "done" without evidence. + +```text +Before you report completion, run the targeted tests or build, +state the exact command, and confirm each acceptance criterion. +``` + +This costs a little at the end. It saves a lot when it prevents false completion, review churn, and a second agent session. + +### Impeccable Close Skill + +"Impeccable close" is this guide's label for closing the loop cleanly. The term is not an official Copilot concept; the practice is the important part. + +A good close includes: + +1. accepted criteria checked +2. tests/build run where relevant +3. no accidental scope creep +4. no stale TODOs or commented-out attempts +5. PR summary matches the actual diff +6. next step named only if one is truly needed + +This is outcome-per-token discipline. A sloppy close moves cost from implementation into review, follow-up prompts, and hotfixes. + +### Branch-Close Discipline + +After merge, close the branch and any long-running agent session. Do not keep using the same context for the next unrelated task. + +Stale sessions accumulate decisions, tool output, file reads, and abandoned approaches. Every later prompt may drag that history forward as input tokens. A clean close keeps the next task from paying for the previous one. + +## Plan First, Then Execute Cheaply + +The strongest pattern is two separate phases: + +```text +Phase 1: Plan + model: strong reasoning model + mode: Plan / Ask / cloud-agent research + output: saved plan with steps and acceptance criteria + +Phase 2: Execute + model: cheaper or mid-tier model + mode: fresh agent session + input: saved plan + targeted files only + output: verified implementation +``` + +GitHub's [Optimize AI Usage](https://docs.github.com/en/copilot/tutorials/optimize-ai-usage) guidance makes the same point: defaulting to the most capable model can increase token usage without improving the outcome, and overusing reasoning models in execution-heavy tasks can reduce quality by making the model overthink or introduce unnecessary changes.[^optimize-ai] The same page gives the practical rule: plan with a strong reasoning model, then implement with a cheaper model. + +Why fresh session matters: + +- the planning conversation does not get re-sent on every execution turn +- the execution context starts clean +- the plan becomes a stable, cache-friendly prefix +- model routing is deliberate instead of accidental + +This is the expanded version of [Plan First, Then Execute §2.5.9](06-workflow-optimization.md#259-plan-first-then-execute-and-route-the-phases). + +### Official Three-Tier Framework + +GitHub's official tutorial separates work into three model lanes.[^optimize-ai] + +| Tier | Best for | Outcome-per-token rule | +|---|---|---| +| Reasoning models | Architecture decisions, complex debugging, system design, deep analysis | Use for planning and hard judgment | +| Mid-tier models | Clear plans that need efficient implementation | Use for execution once ambiguity is removed | +| Lighter models | Refactoring, formatting, documentation, routine scoped changes | Use for bounded mechanical work | + +Do not pay for frontier reasoning after the hard thinking is already captured in the plan. + +## Day-to-Day Model Guidance + +Model advice changes quickly. Treat this table as routing guidance, not permanent truth. Check the official [supported models](https://docs.github.com/en/copilot/reference/ai-models/supported-models), [model comparison](https://docs.github.com/en/copilot/reference/ai-models/model-comparison), and [models and pricing](https://docs.github.com/en/copilot/reference/copilot-billing/models-and-pricing) pages before publishing customer-specific guidance.[^supported-models][^models-pricing] + +| Work | Good default | Tier | Typical input cost / 1M tokens | Why | +|---|---|---|---:|---| +| Quick lookup, syntax, tiny bounded edit | Auto, GPT-5.6 Luna, MAI-Code-1-Flash, Claude Haiku 4.5 | Lightweight | $0.75-$1.00 | Fast and low-cost enough for small tasks | +| Normal implementation after a clear plan | Auto, GPT-5.6 Terra, MAI-Code-1-Flash, Claude Sonnet 5 | Versatile / Lightweight | $0.75-$2.50 | Balanced execution without paying maximum reasoning cost | +| Agentic coding with moderate uncertainty | GPT-5.6 Terra, GPT-5.4 nano, Claude Sonnet 5 | Versatile / Lightweight | $0.20-$2.50 | Good lane when edits need tools but not frontier reasoning | +| Hard architecture, multi-file debugging, long-horizon planning | GPT-5.6 Sol, GPT-5.5, Claude Opus 4.7/4.8, Claude Fable 5 | Powerful | $5.00-$10.00 | Pay premium where reasoning quality changes the outcome | +| Open-weight / cost-conscious coding | Kimi K2.7 Code | Versatile | $0.95 | Useful option, but review enterprise policy and security requirements | +| Visual, multimodal, research-heavy work | Gemini 3.1 Pro (Public Preview), Claude Sonnet 5, GPT-5 mini where supported | Powerful / Versatile | $0.25-$2.00 | Pick for modality and research fit, not raw benchmark rank | +| Subagents for focused subtasks | Cheaper/lightweight model | Lightweight | varies | Subagents do not inherit the whole main conversation, so cheaper models often suffice | + +### Practical Defaults + +For most teams: + +1. **Auto first** for unknown everyday work. GitHub documents Auto as a task-aware router and gives paid plans a 10% AI credit discount when using it in supported surfaces.[^auto] +2. **Luna / MAI / Haiku** for tiny, bounded work. +3. **Terra / Sonnet / mid-tier** for normal implementation. +4. **Sol / GPT-5.5 / Opus / Fable** for planning, architecture, and hard debugging. +5. **Fresh session when changing lanes.** Switching models mid-session can invalidate cache and drag accumulated context into a more expensive request.[^optimize-ai] + +### Important Model Caveats + +- GPT-5.6 Luna, Terra, and Sol are documented as GA in Copilot, but the model comparison page listed their model cards as "Not available" at research time.[^supported-models] +- GPT-5.6 Sol is the powerful lane; do not leave it pinned for routine edits. +- Kimi K2.7 is an open-weight model in Copilot and may require admin opt-in for Business/Enterprise. Treat it as a policy decision, not just a price decision.[^kimi] +- MAI-Code-1-Flash is documented as a continuously improving model; behavior may evolve as checkpoints change.[^mai] +- Claude Sonnet 5 promotional pricing was documented through August 31, 2026. Recheck after that date before publishing pricing guidance.[^supported-models] +- Claude Fable 5 has a data-retention caveat in GitHub docs: Anthropic retains prompts and outputs to operate safety classifiers. Business/Enterprise admins should review terms before enabling it.[^supported-models] +- FedRAMP enforcement adds a 10% AI credit surcharge, and GPT-5.6 family plus Kimi K2.7 were not on the FedRAMP model list at research time.[^fedramp] +- Legacy annual subscribers may not receive access to new models and features such as GPT-5.6 family, Claude Fable 5, Claude Sonnet 5, or Kimi K2.7 under old billing.[^models-pricing] +- Extended capabilities such as 1M context and configurable reasoning are documented for VS Code and Copilot CLI only. Use regular context and regular reasoning by default.[^supported-models] +- Code completions and next edit suggestions are not billed in AI credits on paid plans. Do not treat every Copilot surface as the same cost bucket.[^usage-billing] + +## Benchmarks: Useful, Not Decisive + +Benchmarks help choose lanes. They do not replace measurement on your repo. + +| Benchmark | Measures | Why it matters | Caveat | +|---|---|---|---| +| [SWE-bench Verified](https://www.swebench.com/verified.html) | 500 human-verified Python GitHub issues | Classic software-engineering proxy | Python-heavy, static, possible contamination risk | +| [SWE-bench Pro](https://labs.scale.com/leaderboard/swe_bench_pro_public) | Harder professional repo tasks | Shows enterprise difficulty cliff | Scores depend on scaffold and current live leaderboard | +| [SWE-bench Live](https://swe-bench-live.github.io/) | Continuously updated issues | Reduces saturation and memorization | Dynamic scores shift over time | +| [DeepSWE](https://github.com/datacurve-ai/deep-swe) | 113 original long-horizon tasks across several languages | Good coding-agent and cost-per-task lens | Small task count; reasoning tier changes results | +| [Terminal-Bench](https://www.tbench.ai/) | Terminal and shell workflows | Maps to build/test/devops agent work | Small task count; terminal skill is not all coding skill | +| [Artificial Analysis](https://artificialanalysis.ai/methodology) | Intelligence, pricing, latency, provider comparison | Good cost/intelligence scatter plot | Composite scores may not match coding-only needs | + +### Score Snapshot + +| Benchmark | Model / condition | Score | Confidence | +|---|---|---:|---| +| SWE-bench Verified | Top models at SWE-bench Pro paper-era cross-reference | >70% | Verified from Scale AI Pro page | +| SWE-bench Pro public | GPT-5, paper-era | 23.3% | Verified | +| SWE-bench Pro public | Claude Opus 4.1, paper-era | 23.1% | Verified | +| SWE-bench Pro private | GPT-5, paper-era | 14.9% | Verified | +| Terminal-Bench 2.0 | Frontier models | <65% | Verified from benchmark abstract | +| DeepSWE | GPT-5.6 Sol `[max]` | 72.7% | Directional; third-party mirror and reasoning-tier dependent | +| DeepSWE | Top-three spread | <3.1 points | Directional; third-party mirror and reasoning-tier dependent | + +Use benchmark numbers with labels: + +- **Verified**: source directly read from primary leaderboard or paper. +- **Directional**: aggregator or secondary source. +- **Anecdotal**: Reddit, Discord, social media, single-session reports. + +The Reddit post that motivated this chapter is useful as a hypothesis generator: it highlights a real practitioner pattern around Pareto frontiers, DeepSWE cost-per-task, and GPT-5.6 tier routing. Do not treat its exact cost/task ladder as stable guide data unless rechecked against current DeepSWE, Artificial Analysis, and official Copilot pricing. + +## Why Harness Matters + +A model score is rarely just a model score. It includes: + +- agent scaffold +- tool access +- retrieval strategy +- reasoning effort +- cache pricing assumptions +- task language mix +- benchmark version +- whether the run is single-attempt or multi-attempt + +SWE-bench itself notes that versions using different action formats are not directly comparable. DeepSWE entries often include reasoning level in the model name, such as `[max]`. Artificial Analysis may answer a different question: broad intelligence per dollar, not pure coding-agent pass rate.[^swebench][^deepswe][^artificial-analysis] + +Use benchmarks to pick candidates. Use your own repo tasks to pick defaults. + +## A Practical Decision Checklist + +Before starting an expensive agent session: + +1. **Is the task actually agentic?** If not, use Ask mode or inline completion. +2. **Is the baseline green?** If not, fix or record it first. +3. **Is the plan written?** If not, plan first. +4. **Can execution run on a cheaper model?** If yes, do that in a fresh session. +5. **Is context targeted?** Attach only the plan and relevant files. +6. **Are acceptance criteria explicit?** If not, write them before execution. +7. **Is verification defined?** Name the test/build/check command up front. +8. **Will a model switch invalidate cache?** If yes, start fresh instead. +9. **Is the model policy allowed for this org/customer?** Check admin and compliance constraints. +10. **Will the close be clean?** Require test evidence and a concise summary. + +## What Not to Include Yet: Govify + +The name "Govify" appears to refer to multiple unrelated things: a local-government HR/recruiting SaaS, an old OpenGov Foundation PDF converter, and a cloud rewrite of that converter. Research found no verified connection to GitHub Copilot, token optimization, AI developer governance, or outcome-per-token workflows. + +Do not use Govify as a case study in this guide unless a primary source is provided. A weak mention would create confusion rather than value. + +## Cross-References + +- [Workflow Optimization §2.5.9](06-workflow-optimization.md#259-plan-first-then-execute-and-route-the-phases) — shorter version of the plan-first habit +- [Context Management](04-context-management.md) — cache and context hygiene +- [Output Control](05-output-control.md) — output token reduction +- [Practical Setup](10-practical-setup.md) — setup and operating habits +- [Model Selection & Pricing](11-models-and-pricing.md) — model and pricing surfaces +- [Enterprise Governance](12-enterprise-governance.md) — budgets, model policy, and admin rollout + +## References + +[^agent-costs]: Longju Bai et al., "How Do AI Agents Spend Your Money? Analyzing and Predicting Token Consumption in Agentic Coding Tasks," arXiv:2604.22750, https://arxiv.org/abs/2604.22750 + +[^tunguz]: Tomasz Tunguz, "Intelligence Per Dollar," https://tomtunguz.com/tokens-per-result + +[^superpowers]: `obra/superpowers`, community agentic-skills framework, https://github.com/obra/superpowers + +[^agent-toolkit]: `softaworks/agent-toolkit`, community agent skill toolkit, https://github.com/softaworks/agent-toolkit + +[^catpilot-guardrails]: `catpilotai/catpilot-ai-guardrails`, community security guardrail skills, https://github.com/catpilotai/catpilot-ai-guardrails + +[^agent-browser]: `vercel-labs/agent-browser` agent browser skill, https://github.com/vercel-labs/agent-browser/blob/main/skills/agent-browser/SKILL.md + +[^writing-guidelines]: `vercel-labs/writing-guidelines`, practitioner writing and review guidance, https://github.com/vercel-labs/writing-guidelines + +[^mattpocock-skills]: `mattpocock/skills`, community engineering skill collection, https://github.com/mattpocock/skills + +[^qaskills]: `PramodDutta/qaskills`, QA skill catalog and tooling, https://github.com/PramodDutta/qaskills + +[^plan-agent]: VS Code Docs, "Planning with Copilot," https://code.visualstudio.com/docs/agents/planning + +[^cloud-plan]: GitHub Docs, "Use Copilot agents: Research, plan, iterate," https://docs.github.com/en/copilot/how-tos/copilot-on-github/use-copilot-agents/research-plan-iterate + +[^cloud-agent]: GitHub Docs, "About Copilot cloud agent," https://docs.github.com/en/copilot/concepts/agents/cloud-agent/about-cloud-agent + +[^optimize-ai]: GitHub Docs, "Optimize AI Usage," https://docs.github.com/en/copilot/tutorials/optimize-ai-usage + +[^supported-models]: GitHub Docs, "Supported AI models in Copilot," https://docs.github.com/en/copilot/reference/ai-models/supported-models and "Model comparison," https://docs.github.com/en/copilot/reference/ai-models/model-comparison + +[^models-pricing]: GitHub Docs, "Models and Pricing," https://docs.github.com/en/copilot/reference/copilot-billing/models-and-pricing + +[^auto]: GitHub Docs, "Auto model selection," https://docs.github.com/en/copilot/concepts/models/auto-model-selection + +[^kimi]: GitHub Changelog, "Kimi K2.7 now available for Copilot Business and Enterprise," https://github.blog/changelog/2026-07-07-kimi-k2-7-now-available-for-copilot-business-and-enterprise/ + +[^mai]: GitHub Changelog, "MAI-Code-1-Flash is now available for GitHub Copilot," https://github.blog/changelog/2026-06-02-mai-code-1-flash-is-now-available-for-github-copilot/ + +[^fedramp]: GitHub Docs, "FedRAMP models," https://docs.github.com/en/copilot/concepts/models/fedramp-models + +[^usage-billing]: GitHub Docs, "Usage-based billing for individuals," https://docs.github.com/en/copilot/concepts/billing/usage-based-billing-for-individuals + +[^swebench]: SWE-bench Verified, https://www.swebench.com/verified.html + +[^deepswe]: DeepSWE, https://github.com/datacurve-ai/deep-swe + +[^artificial-analysis]: Artificial Analysis methodology, https://artificialanalysis.ai/methodology + +--- + +**Next:** [Back to Home →](index.md) diff --git a/docs/index.md b/docs/index.md index 635a96c..94f28f5 100644 --- a/docs/index.md +++ b/docs/index.md @@ -26,6 +26,7 @@ Practical guide to reducing GitHub Copilot token spend while keeping answers and 7. Convert DOCX/PDF/Office/media inputs to Markdown before AI work; start with [MarkItDown](https://github.com/microsoft/markitdown). 8. Audit long-running agent sessions and repeated back-and-forth. 9. Install [RTK](https://github.com/rtk-ai/rtk) — CLI proxy that filters `git`, test runners, `grep`, and 100+ other shell commands before output reaches the agent. One install, 60-90% savings on tool-call results in agent and coding-agent sessions. +10. Build a persistent codebase graph with [Graphify](https://github.com/Graphify-Labs/graphify) — map code once via tree-sitter AST, write `graphify-out/graph.json`, then let agents query the graph instead of re-reading project files each session. Install: `uv tool install graphifyy`. ## Read by Topic @@ -46,6 +47,7 @@ Practical guide to reducing GitHub Copilot token spend while keeping answers and - [Practical Setup](10-practical-setup.md) - [Model Selection & Pricing](11-models-and-pricing.md) - [Enterprise Governance](12-enterprise-governance.md) +- [Outcome per Token](13-outcome-per-token.md) ## Quick Terms @@ -66,6 +68,7 @@ Practical guide to reducing GitHub Copilot token spend while keeping answers and - [LLMLingua](https://github.com/microsoft/LLMLingua) - [Caveman project](https://github.com/JuliusBrussee/caveman) - [RTK — Rust Token Killer](https://github.com/rtk-ai/rtk) +- [Graphify](https://github.com/Graphify-Labs/graphify) — build a persistent knowledge graph of your codebase; agents query `graphify-out/graph.json` instead of re-reading files. Supports GitHub Copilot, VS Code workflows, and other assistants. PyPI package: `graphifyy` - [Microsoft MarkItDown](https://github.com/microsoft/markitdown) — convert PDF, Office files, images, audio, HTML, ZIP contents, YouTube URLs, EPUBs, and more to Markdown for LLM workflows - [Marc Bara: "Your .docx Is Wasting 33% of Your AI Budget"](https://medium.com/@marc.bara.iniesta/your-docx-is-wasting-33-of-your-ai-budget-86a3d229d042) - [Dina Berry: "How I Cut Token Usage from 52% to 13%"](https://dfberry.github.io/2026-05-06-tuning-up-copilot-context) — real measured numbers from a Copilot CLI production setup (Microsoft/GitHub content contributor) diff --git a/mkdocs.yml b/mkdocs.yml index 6141434..3ad892c 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -45,3 +45,4 @@ nav: - Practical Setup: 10-practical-setup.md - Model Selection & Pricing: 11-models-and-pricing.md - Enterprise Governance: 12-enterprise-governance.md + - Outcome per Token: 13-outcome-per-token.md From f4b9af43b2ad680bb5ce4b4c0df118f42cf84a09 Mon Sep 17 00:00:00 2001 From: Marco Olivo <8478776+olivomarco@users.noreply.github.com> Date: Sun, 12 Jul 2026 13:29:15 +0200 Subject: [PATCH 09/17] Add star image --- docs/13-outcome-per-token.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/docs/13-outcome-per-token.md b/docs/13-outcome-per-token.md index 458aa84..0acaca3 100644 --- a/docs/13-outcome-per-token.md +++ b/docs/13-outcome-per-token.md @@ -77,6 +77,12 @@ Community skill libraries can improve outcome per token when they make the next | [`mattpocock/skills`](https://github.com/mattpocock/skills) | TDD, bug diagnosis, code review, domain modeling | Engineering tasks need sharper loops | Examples skew Claude and TypeScript workflows | | [`PramodDutta/qaskills`](https://github.com/PramodDutta/qaskills) | QA and test-generation skills | Need Playwright, API, BDD, security, accessibility, or bug-report depth | Large skill files; early project | +### Skill Library Star History + +[![Skill library Star History Chart](https://api.star-history.com/svg?repos=obra/superpowers,softaworks/agent-toolkit,catpilotai/catpilot-ai-guardrails,vercel-labs/agent-browser,vercel-labs/writing-guidelines,mattpocock/skills,PramodDutta/qaskills&type=timeline)](https://www.star-history.com/#obra/superpowers&softaworks/agent-toolkit&catpilotai/catpilot-ai-guardrails&vercel-labs/agent-browser&vercel-labs/writing-guidelines&mattpocock/skills&PramodDutta/qaskills&timeline) + +Star history is an adoption signal, not a quality benchmark. Use it to understand community attention, then judge each library by whether it changes the next agent action. + ### `obra/superpowers`: Baseline Agent SDLC Discipline Use Superpowers as the reference pattern: skills are small, named operating procedures. The value is not the brand name; the value is turning "be careful" into concrete moves the agent can follow.[^superpowers] From 33cbd8961c55d98b1c947a9c5bdbc30058838f09 Mon Sep 17 00:00:00 2001 From: Marco Olivo <8478776+olivomarco@users.noreply.github.com> Date: Sun, 12 Jul 2026 14:04:00 +0200 Subject: [PATCH 10/17] Add other tools to compress outputs --- README.md | 6 +-- docs/04-context-management.md | 2 +- docs/06-workflow-optimization.md | 35 ++++++++++++-- docs/08-mcp-tool-costs.md | 83 +++++++++++++++++++++++++++++--- docs/09-comparisons-data.md | 6 +++ docs/10-practical-setup.md | 62 +++++++++++++++++++++++- docs/index.md | 4 +- 7 files changed, 183 insertions(+), 15 deletions(-) diff --git a/README.md b/README.md index 904aca2..567f231 100644 --- a/README.md +++ b/README.md @@ -26,7 +26,7 @@ Don't have time to read the full guide? Do these today and cut your token usage: | 6 | **Scope context with `applyTo:` paths** — split one large instructions file into small scoped ones that load only when relevant | Reduces always-on input/context | 15 minutes | | 7 | **Be precise in your prompts** — "Add null check to `getUser()`" not "Can you please look at this and maybe add some error handling?" Note: your typed prompt is a small fraction of total input; precision matters more for quality than for raw token savings | Improves task targeting | 0 minutes | | 8 | **Retune prompts to the target model** — provider prompting guides change by model/version. Paste the official guide URL into Copilot and ask it to adapt `.github/copilot-instructions.md`, agent profiles, or app prompts for the model you actually use | Reduces rework | 10 minutes per model change | -| 9 | **Audit your MCP servers and injected tools** — disable unused MCP servers and VS Code extensions that add skills/tools; use a clean coding profile or focused custom agent for repeat workflows. Each MCP tool costs ~100-500 tokens per agent step | Removes tool/schema overhead | 5-10 minutes | +| 9 | **Audit your MCP servers and injected tools** — disable unused MCP servers and VS Code extensions that add skills/tools; use a clean coding profile or focused custom agent for repeat workflows. Each MCP tool costs ~100-500 tokens per agent step. If shell output is still large after that, evaluate one output filter such as [RTK](https://github.com/rtk-ai/rtk) or [`snip`](https://github.com/edouard-claude/snip) | Removes tool/schema overhead and noisy command output | 5-10 minutes | | 10 | **Convert rich files to Markdown before AI work** — `.docx`, `.pdf`, `.pptx`, `.xlsx`, HTML, images, audio, video, and ZIPs carry format tax. [Marc Bara's writeup](https://medium.com/@marc.bara.iniesta/your-docx-is-wasting-33-of-your-ai-budget-86a3d229d042) shows the cost; use [Microsoft MarkItDown](https://github.com/microsoft/markitdown) before chat, agent, or RAG ingestion | Reduces noisy input context | 5 minutes | | 11 | **Run `/chronicle cost tips` and `/chronicle improve` weekly** (**Copilot CLI only**, experimental) — these slash commands work in interactive Copilot CLI sessions (not VS Code), not as a general Copilot Chat feature. `cost tips` analyzes your token spend and suggests reductions; `improve` finds recurring confusion in your CLI session history and generates custom-instruction fixes so the same misread intent stops costing tokens forever | Cuts recurring rework and direct token spend | 2 minutes per run | | 12 | **Try CodeAct for long tool chains** (**Copilot CLI only**, optional external plugin) — [`copilot-codeact-plugin`](https://github.com/jsturtevant/copilot-codeact-plugin) collapses multi-step tool chains into one sandboxed execution, which can reduce repeated replay of system prompt, prior messages, and tool definitions | Reduces tool-loop replay | 10-15 minutes | @@ -37,7 +37,7 @@ Don't have time to read the full guide? Do these today and cut your token usage: *Figures above are scoped to the mechanism named in each row, are not additive, and do not equal total bill reduction.* -Output control (#1, #2) pays off immediately and compounds — set it once, save on every call. Structural input control (#3, #6) compounds across every interaction. Model routing (#4, #5) reduces cost at the billing tier. Model-specific prompt tuning (#8) cuts waste by improving first-pass quality. MCP audit (#9) eliminates thousands of hidden tokens per agent task. Markdown conversion (#10) removes DOCX/PDF/HTML layout noise before the model ever sees it. Graph-based navigation (#14) front-loads codebase orientation once, then reuses it across agent sessions. +Output control (#1, #2) pays off immediately and compounds — set it once, save on every call. Structural input control (#3, #6) compounds across every interaction. Model routing (#4, #5) reduces cost at the billing tier. Model-specific prompt tuning (#8) cuts waste by improving first-pass quality. MCP audit (#9) eliminates thousands of hidden tokens per agent task; RTK/snip-style output filters address the separate cost of verbose shell results. Markdown conversion (#10) removes DOCX/PDF/HTML layout noise before the model ever sees it. Graph-based navigation (#14) front-loads codebase orientation once, then reuses it across agent sessions. --- @@ -79,7 +79,7 @@ Research on LLM-generated context files suggests they often hurt agent correctne #### [2.7 MCP & Tool Costs](docs/08-mcp-tool-costs.md) -The hidden token tax: each MCP tool costs 100-500 tokens per agent step. 15 servers × 15 steps = 265K tokens of overhead. Audit guide included. +The hidden token tax: each MCP tool costs 100-500 tokens per agent step. 15 servers × 15 steps = 265K tokens of overhead. Covers MCP audit, Copilot harness baseline, RTK, snip, minimal-context-tools, and adjacent output/context-compression tools. --- diff --git a/docs/04-context-management.md b/docs/04-context-management.md index 82207c9..a1387d3 100644 --- a/docs/04-context-management.md +++ b/docs/04-context-management.md @@ -292,7 +292,7 @@ graphify-out/ - Code extraction is local and deterministic for the AST pass; optional semantic/deep extraction over docs, PDFs, images, or media may use a configured AI backend. - The graph can go stale after large refactors. Rebuild it or use Graphify's update/watch/hook flows where appropriate. - `GRAPH_REPORT.md` is generated output. Treat it as a map, not the source of truth. -- Graphify complements RTK. Graphify reduces repeated codebase-navigation input; RTK compresses verbose shell/tool output. +- Graphify complements RTK or snip. Graphify reduces repeated codebase-navigation input; shell-output filters compress verbose command results. --- diff --git a/docs/06-workflow-optimization.md b/docs/06-workflow-optimization.md index 7c58120..e66b0fb 100644 --- a/docs/06-workflow-optimization.md +++ b/docs/06-workflow-optimization.md @@ -95,11 +95,11 @@ When not to use it: Keep the claim bounded: this guide is **not** benchmarking CodeAct itself. The plugin README reports lower token use on its own benchmark prompts, including MCP-loaded cases, but that is plugin-reported task data, not a universal savings baseline. -### Complementary: RTK for tool output compression +### Complementary: RTK or snip for tool output compression -CodeAct reduces the *number* of tool calls. [**RTK (Rust Token Killer)**](https://github.com/rtk-ai/rtk) reduces the *size* of each tool call's result. They address different sides of the same problem and can be used together. +CodeAct reduces the *number* of tool calls. [**RTK (Rust Token Killer)**](https://github.com/rtk-ai/rtk) and [`snip`](https://github.com/edouard-claude/snip) reduce the *size* of each shell tool result. They address different sides of the same problem and can be used together. -RTK is a CLI proxy that intercepts `git`, `cargo test`, `grep`, `ls`, and 100+ other dev commands and compresses their output before it reaches the agent — 60–90% savings per command. Unlike CodeAct, RTK is not limited to Copilot CLI; it can help across Copilot surfaces when the shell hook is reliable. Treat Windows setups as a pilot, not a default rollout. See [MCP & Tool Costs §2.7.7](08-mcp-tool-costs.md#277-compress-tool-output-at-the-source-rtk) for setup and the full command list. +These tools intercept `git`, test runners, `grep`, `ls`, and other dev commands and compress their output before it reaches the agent — often 60–90% savings on verbose command output. Unlike CodeAct, this is not about Copilot CLI only; it can help anywhere the shell hook is reliable. Treat Windows and preview hook paths as pilots, not default rollouts. See [MCP & Tool Costs §2.7.7](08-mcp-tool-costs.md#277-compress-tool-output-at-the-source-rtk) and [§2.7.8](08-mcp-tool-costs.md#278-rtk-alternative-snip) for setup. ## 2.5.4 Default to Auto Model Selection @@ -304,6 +304,35 @@ The most expensive tokens are the ones spent reaching a *wrong* outcome: an agen For the fuller outcome-per-token frame, skill taxonomy, benchmark caveats, and current model routing matrix, see [Outcome per Token](13-outcome-per-token.md). +## 2.5.10 Layer Tooling on Top of the Copilot Harness + +Copilot CLI and VS Code Copilot already optimize parts of the agent loop. Treat that as the baseline before adding external tools: + +- **Prompt/cache layer:** keep `{model, active MCP set, active agent/profile}` stable so cached prefixes stay reusable. +- **Tool-schema layer:** prefer built-in tools and scoped MCPs; Copilot can defer or route some tool definitions, but extra servers and extensions still add surface area. +- **Transport/session layer:** WebSocket reuse and automatic compaction help long agent runs, but compaction summarizes what the agent already saw. +- **Terminal-output layer:** built-in truncation is a safety net, not a semantic filter. + +Add third-party tools only for the layer they actually improve: + +| Layer | Tooling | What it reduces | +|-------|---------|-----------------| +| Workflow turns | CodeAct | Repeated replay from many small tool calls in Copilot CLI | +| Command output | RTK or snip | Verbose `git`, test, grep, build, and infra command output | +| Command choice | minimal-context-tools | Broad file reads and iterative searching by steering toward `rg`, `fd`, `jq`, `ast-grep` | +| Codebase orientation | Graphify | Repeated structural file reads across sessions | +| Visibility/audit | Tokalator, token-optimizer | Waste you would otherwise miss; not compression by itself | + +**Rule:** one tool per layer. Combining CodeAct with RTK or snip can make sense because one reduces turn count and the other reduces output size. Running RTK and snip on the same command path usually does not — it can double-truncate output and make failures harder to inspect. + +Use this order when tuning a session: + +1. Pick the Copilot lane once: model, mode, active MCP/tool set, and agent/profile. +2. Disable unused MCP servers and extension-provided tools. +3. Use skills or focused agent instructions to make tool calls precise. +4. Add one shell-output filter if command output is still large. +5. Start a fresh session when changing lanes instead of mutating a long thread. + --- **Next:** [The AGENTS.md Problem →](07-agents-md-problem.md) diff --git a/docs/08-mcp-tool-costs.md b/docs/08-mcp-tool-costs.md index dc21af8..031c8e7 100644 --- a/docs/08-mcp-tool-costs.md +++ b/docs/08-mcp-tool-costs.md @@ -165,12 +165,15 @@ Don't enable every MCP server globally. Use workspace-level configuration: 6. **Use skills instead of MCPs for occasional capabilities** — MCP tool schemas load on every step whether used or not. Skills load only title and description upfront; the full content pulls on demand. If a capability is used in fewer than half your sessions, a skill is cheaper. See [Practical Setup §4.2](10-practical-setup.md#mcps-vs-skills-eager-vs-lazy-context-loading) for the full comparison 7. **Optional, Copilot CLI only: try CodeAct for long tool chains** — external plugin [`copilot-codeact-plugin`](https://github.com/jsturtevant/copilot-codeact-plugin) collapses many small tool hops into one sandboxed execution. That does not shrink any one server's schema, but it can reduce how often the full tool catalog gets replayed on CLI-heavy tasks 8. **Use a focused custom agent for repeat coding workflows** — a custom agent can carry a narrow tool list and stable instructions, so the same coding workflow starts with the same active surface instead of whatever the default chat currently exposes. Where your Copilot surface supports model selection in agent/profile files, pin the intended model there too -9. **Compress tool output at the source with RTK** — [RTK (Rust Token Killer)](https://github.com/rtk-ai/rtk) is a CLI proxy that filters the *results* of shell commands before they reach the agent. Confirmed to work well in VS Code Copilot on macOS/Linux with repo-by-repo setup. Treat Windows as experimental and validate before rolling it out broadly. Reductions are real but vary by command and project output volume. See §2.7.7 +9. **Compress tool output at the source with RTK or snip** — [RTK (Rust Token Killer)](https://github.com/rtk-ai/rtk) and [`snip`](https://github.com/edouard-claude/snip) are CLI proxies that filter the *results* of shell commands before they reach the agent. Reductions are real but vary by command, project output volume, and hook reliability. See §2.7.7 and §2.7.8 +10. **Use minimal-context skills before adding more tools** — [`minimal-context-tools`](https://github.com/SebastienDegodez/copilot-instructions/tree/main/plugins/minimal-context-tools) packages skills for `rg`, `fd`, `jq`, `yq`, `ast-grep`, and related CLIs. The pattern is cheap because it steers the agent toward precise one-shot commands before any large output exists. Pair it with RTK/snip when shell output is still noisy. ## 2.7.7 Compress Tool Output at the Source: RTK MCP schema overhead is the cost *before* any work. Separately, every shell command the agent runs produces output that becomes input tokens on the next step. A failing `cargo test` or `git diff` on a large PR can return 10,000–25,000 tokens of raw text — passing test lines, unchanged diff context, build noise — that the agent reads in full. +Copilot already has harness-level savings: prompt caching, deferred tool schemas, WebSocket transport, context compaction, and large-output caps. Those features do not replace output filters. VS Code's terminal tool uses a hard head/tail-style output limit; Copilot CLI also warns the model to limit output and filter with `head`, `tail`, `grep`, or `awk`. That is useful safety net behavior, not semantic parsing. RTK and snip act earlier: they turn verbose command output into a smaller domain-specific summary before the harness has to truncate it. + [**RTK (Rust Token Killer)**](https://github.com/rtk-ai/rtk) is a CLI proxy that sits between the shell and the agent. It runs the original command, captures the output, applies per-command filters (noise removal, keeping only failing tests, deduplicating log lines, grouping file listings), and returns the compressed result. The agent sees smaller output; its behavior is otherwise unchanged. **How it works, step by step:** @@ -205,17 +208,19 @@ curl -fsSL https://raw.githubusercontent.com/rtk-ai/rtk/refs/heads/master/instal **Windows caveat:** RTK is strongest today on Unix-like shell paths. On Windows, shell-hook behavior and path handling can be brittle, especially across PowerShell, Git Bash, WSL, and VS Code agent execution. Treat it as a pilot, not a default recommendation: test it on the exact repo and shell your team uses, and skip it if the setup causes command failures or noisy behavior. -**Setting up for VS Code Copilot — per-repo:** +**Setting up for Copilot:** -For VS Code Copilot, RTK installs a PreToolUse hook scoped to the current repository. Run this once inside each repo where you want RTK active: +For Copilot, RTK installs a PreToolUse hook and awareness instructions. Project-scoped setup writes into `.github/`; newer RTK builds also document a global Copilot install under `~/.copilot/` / `$COPILOT_HOME`. Validate on your Copilot surface before rolling it out because hook contracts move faster than static docs. ```bash cd your-repo rtk init --copilot -# Restart VS Code + +# Optional global Copilot setup where supported by your RTK version: +rtk init -g --copilot ``` -This is a per-repo setup — there is no single global install that covers all VS Code workspaces. Once enabled in a repo, the hook is transparent: your terminal commands are unchanged; only the agent's Bash tool calls are intercepted. +Once enabled, the hook is transparent: your terminal commands are unchanged; only the agent's Bash tool calls are intercepted. If your environment does not support the global Copilot hook path reliably, keep the per-repo setup and document it for each team workspace. **Other AI tools (global install available):** @@ -230,7 +235,73 @@ rtk init --agent cline # Cline / Roo Code (project-level) **Pairs with MCP reduction:** Schema audit (§2.7.4–2.7.6) cuts the definition cost that reloads every step. RTK cuts what each tool call *returns*. Both address different parts of the token budget and work together. -## 2.7.8 Case Study: Scoping a Large Plugin — Azure MCP +## 2.7.8 RTK Alternative: snip + +[`snip`](https://github.com/edouard-claude/snip) solves the same class of problem as RTK: shell commands still run normally, but the agent receives a filtered result instead of raw noisy output. The main difference is extensibility. RTK ships a compiled Rust command registry; snip uses declarative YAML filters that users and teams can add without touching Go code. + +**When snip is most attractive:** + +- you want custom filters for project-specific tools +- you want local savings stats via `snip gain` +- you prefer YAML filter contribution over compiled command rules +- you need Copilot CLI hook support and can validate the hook path in your environment + +**Install:** + +```bash +brew install edouard-claude/tap/snip +# or +go install github.com/edouard-claude/snip/cmd/snip@latest +``` + +**Copilot setup:** + +```bash +snip init --agent copilot +``` + +At the time of writing, snip's Copilot path writes a `preToolUse` hook for Copilot CLI. VS Code Copilot agent hooks are still a moving surface, so treat VS Code setup as a pilot unless your team has validated the exact version and workspace configuration. + +**Filter model:** + +```yaml +name: "git-log" +match: + command: "git" + subcommand: "log" +pipeline: + - action: "head" + n: 20 +``` + +Snip supports pipeline actions such as keeping or removing matching lines, head/tail truncation, ANSI stripping, JSON extraction, regex extraction, grouping, deduplication, aggregation, and templates. Project-local filters require trust approval, which is the right default for teams: output filters influence what the model sees, so they should be reviewed like tool configuration. + +**RTK vs. snip:** + +| Choice | Pick when | +|--------|-----------| +| RTK | You want a single Rust binary, broad agent support, and compiled defaults | +| snip | You want YAML filters, local stats, and easier project/team customization | + +Do not stack RTK and snip on the same command path by default. Pick one output-filter layer per agent surface, then measure. Stacking can double-truncate output and make debugging harder. + +## 2.7.9 Adjacent Ecosystem: What Else Belongs in the Mental Model + +Not every token tool is a direct RTK/snip alternative. Keep these categories separate: + +| Tool | Category | Use it for | Caveat | +|------|----------|------------|--------| +| [`snip-ai/snip`](https://github.com/snip-ai/snip) | Claude Code-focused output filter | Read/Bash/Grep/Glob optimization with AST-aware code handling | Different project from `edouard-claude/snip`; no Copilot path verified | +| [Redcon / ContextBudget](https://github.com/natiixnt/ContextBudget) | Context packing + command compression | Team workflows that want command compressors plus CI quality gates | License and product boundary should be reviewed before rollout | +| [Headroom](https://github.com/headroomlabs-ai/headroom) | Full-stack compression wrapper | Broader file, command, memory, and MCP compression experiments | Validate `headroom wrap copilot` before documenting as standard setup | +| [Tokalator](https://github.com/vfaraji89/tokalator) | VS Code token visibility | Budget dashboards, model/context-window awareness, instruction-file scans | Monitoring only; does not compress | +| [token-optimizer](https://github.com/alexgreensh/token-optimizer) | Context audit/status tooling | Auditing stale memory, configs, compaction loss, and model routing | PolyForm Noncommercial license | +| [Caveman](https://github.com/JuliusBrussee/caveman) | Model-output compression | Shorter assistant responses and terse style packs | Does not reduce shell-command input; prompt overhead matters | +| [ACON](https://github.com/microsoft/acon) | Research framework | Academic grounding for long-horizon context compression | Not a drop-in developer tool | + +The practical stack is: keep Copilot's harness stable, reduce always-loaded MCP/schema overhead, steer the agent toward precise commands, then use one semantic output filter where command output is still large. + +## 2.7.10 Case Study: Scoping a Large Plugin — Azure MCP A single plugin can dominate your `System/Tools` budget. Dina Berry (Microsoft/GitHub content contributor) audited her Copilot CLI setup with `/context` and found the Azure MCP plugin loading **~27K tokens per message** by default — more than all her other MCP servers combined. diff --git a/docs/09-comparisons-data.md b/docs/09-comparisons-data.md index 149f322..37f9631 100644 --- a/docs/09-comparisons-data.md +++ b/docs/09-comparisons-data.md @@ -107,11 +107,15 @@ The complete comparison of every technique covered in this guide: | J2 | Per-workspace MCP config | Variable | — | None | Medium | Multi-project setups | | J3 | Minimize tool calls (instructions) | 10-30% | — | Neutral | Low | Agent mode | | J4 | Compress tool output with [RTK](https://github.com/rtk-ai/rtk) | 60-90% of shell cmd output | — | None | Low | Agent / Coding Agent — any AI tool | +| J5 | Compress tool output with [snip](https://github.com/edouard-claude/snip) | 60-90% of shell cmd output; command-specific examples report higher | — | None | Low | Copilot CLI / agent shells where hook path is validated | +| J6 | Use minimal-context skills before more tools | 70-95% on targeted search/query patterns (tool-reported) | — | Improves targeting | Medium | Agent workflows that repeatedly search/read too broadly | +| J7 | Evaluate broad compression wrappers (Redcon / Headroom) | Tool-reported; varies by command/context pack | — | Depends | Medium | Teams willing to validate external wrappers and licenses | | **Agent Mode Configuration** | | K1 | Precise prompts + acceptance criteria | 30-60% | — | Improves | Low | Agent tasks | | K2 | Plan files for complex tasks | 15-40% | — | Improves | Medium | Multi-step agent tasks | | K3 | Cap agent maxRequests | Variable | — | Risk truncation | Low | All agent tasks | | K4 | Mode selection (Ask/Edit/Agent) | 60-90% | — | Good | Low | Every interaction | +| K5 | CodeAct for long Copilot CLI tool chains | 49-69% input tokens in plugin benchmarks | — | Depends | Medium | Copilot CLI exploration/audit sessions | > †A1/A2 output savings require system-level terse output instructions (see B5). Writing terse prompts alone saves input tokens; output tokens are only reduced if the model is instructed to respond tersely. @@ -119,6 +123,8 @@ The complete comparison of every technique covered in this guide: > C6 source: [Graphify benchmarks](https://github.com/Graphify-Labs/graphify/blob/main/BENCHMARKS.md) and project documentation. Treat the high-end 71.5× number as structural-navigation best case on large codebases, not a universal savings guarantee. +> J5-J7/K5 sources are external project-reported numbers, not independent guide benchmarks. Treat them as candidates to pilot, not universal bill-reduction guarantees. Do not stack multiple shell-output filters on the same command path without measuring for lost detail. + ### The Big Winners If you do nothing else, do these eight. Ranked by impact-to-effort ratio: diff --git a/docs/10-practical-setup.md b/docs/10-practical-setup.md index 7f68c13..fe3748d 100644 --- a/docs/10-practical-setup.md +++ b/docs/10-practical-setup.md @@ -254,6 +254,12 @@ Skills behave differently: only the **title and description** load upfront. The **Rule:** Use MCPs for capabilities needed on most interactions. Use skills for occasional capabilities — you pay the full schema cost per turn with MCPs, but only per invocation with skills. If a tool is used in 1 in 10 conversations, a skill is roughly 10× cheaper in context overhead. +### Optional: minimal-context-tools + +[`minimal-context-tools`](https://github.com/SebastienDegodez/copilot-instructions/tree/main/plugins/minimal-context-tools) packages this idea as skills for common low-token CLI patterns: `fd` for file discovery, `rg` for targeted text search, `jq`/`yq` for structured data, `ast-grep` for syntax-aware code queries, and `tokei` for code statistics. + +Use it as a behavior layer, not as another always-on MCP server. The point is to make the agent ask narrower questions before any output filter runs. It pairs well with RTK or snip: skills reduce how much the agent requests; RTK/snip reduce how much comes back. + ## 4.3 GitHub Coding Agent Considerations The Coding Agent runs autonomous sessions that can last minutes to hours. Token savings compound over those long sessions. @@ -333,7 +339,7 @@ rtk init --copilot # Restart VS Code ``` -RTK installs a PreToolUse hook into the current repository. Repeat per repo — there is no global VS Code Copilot install. Once active, the hook is transparent: your terminal is unchanged; only the agent's Bash tool calls are intercepted. +RTK installs a PreToolUse hook into the current repository. Newer RTK builds also document a global Copilot hook path; validate that path on your Copilot surface before making it a team default. Once active, the hook is transparent: your terminal is unchanged; only the agent's Bash tool calls are intercepted. On Windows, validate RTK before recommending it to a team. The hook path can be more fragile across PowerShell, Git Bash, WSL, and VS Code agent execution. If RTK adds setup friction or command failures, skip it and focus first on clean profiles, fewer MCP servers, precise prompts, and shorter command output. @@ -379,6 +385,60 @@ The graph lives in `graphify-out/graph.json`. The human-readable map is `graphif Note: code parsing is local for the AST pass. Optional semantic/deep extraction over docs, PDFs, images, or media may use a configured AI backend. Review that boundary before enabling extras on proprietary codebases. +### 4.3.8 Compress Shell Command Output with snip + +[`snip`](https://github.com/edouard-claude/snip) is the closest practical alternative to RTK for Copilot-oriented shell-output compression. It runs commands normally, filters the output through declarative YAML pipelines, and can track local savings with `snip gain`. + +Install: + +```bash +brew install edouard-claude/tap/snip +# or: +go install github.com/edouard-claude/snip/cmd/snip@latest +``` + +Set up Copilot CLI: + +```bash +snip init --agent copilot +``` + +Use snip when you want project-specific or team-maintained filters without recompiling a tool. A filter can match a command/subcommand and apply actions like `head`, `tail`, `keep_lines`, `remove_lines`, `json_extract`, `regex_extract`, `group_by`, `dedup`, or `aggregate`. + +Example filter shape: + +```yaml +name: "my-test-summary" +match: + command: "my-test-runner" +pipeline: + - action: "keep_lines" + pattern: "FAIL|ERROR|expected|actual" + - action: "head" + n: 80 +``` + +**Team rollout:** start with one repo and one shell surface. Validate that failed tests, diffs, and build errors still preserve enough detail for the agent to fix the problem. Do not enable RTK and snip on the same command path by default; choose one filter layer and measure. + +### 4.3.9 Use a Session Harness Checklist + +A "harness" is not a separate install here. It is the stable set of controls around an agent session: + +```text +model + mode + agent/profile + active MCP/tools + output filter + repo instructions +``` + +Before a long agent run, set those once and keep them stable. Changing them mid-session can invalidate cached prefixes and make the agent carry stale context under a new tool set. + +Use this checklist: + +1. Pick the mode: Ask/Edit/Agent/Coding Agent. +2. Pick the model lane or Auto. +3. Disable unused MCP servers and extension-provided tools. +4. Pick one command-output filter if needed: RTK or snip. +5. Use Graphify if repeated codebase orientation dominates. +6. Start a fresh session if you need to change the lane. + ## 4.4 Building the Habit ### Start Small diff --git a/docs/index.md b/docs/index.md index 94f28f5..d8e1c4e 100644 --- a/docs/index.md +++ b/docs/index.md @@ -25,7 +25,7 @@ Practical guide to reducing GitHub Copilot token spend while keeping answers and 6. Disable MCP servers you are not using. 7. Convert DOCX/PDF/Office/media inputs to Markdown before AI work; start with [MarkItDown](https://github.com/microsoft/markitdown). 8. Audit long-running agent sessions and repeated back-and-forth. -9. Install [RTK](https://github.com/rtk-ai/rtk) — CLI proxy that filters `git`, test runners, `grep`, and 100+ other shell commands before output reaches the agent. One install, 60-90% savings on tool-call results in agent and coding-agent sessions. +9. Install one shell-output filter: [RTK](https://github.com/rtk-ai/rtk) or [`snip`](https://github.com/edouard-claude/snip). These CLI proxies filter `git`, test runners, `grep`, build tools, and other command output before it reaches the agent. Use one filter layer per command path; do not stack them by default. 10. Build a persistent codebase graph with [Graphify](https://github.com/Graphify-Labs/graphify) — map code once via tree-sitter AST, write `graphify-out/graph.json`, then let agents query the graph instead of re-reading project files each session. Install: `uv tool install graphifyy`. ## Read by Topic @@ -68,6 +68,8 @@ Practical guide to reducing GitHub Copilot token spend while keeping answers and - [LLMLingua](https://github.com/microsoft/LLMLingua) - [Caveman project](https://github.com/JuliusBrussee/caveman) - [RTK — Rust Token Killer](https://github.com/rtk-ai/rtk) +- [snip](https://github.com/edouard-claude/snip) — YAML-extensible shell-output filter for Copilot CLI and other agent shells +- [minimal-context-tools](https://github.com/SebastienDegodez/copilot-instructions/tree/main/plugins/minimal-context-tools) — skill pack for lower-context CLI search/query patterns - [Graphify](https://github.com/Graphify-Labs/graphify) — build a persistent knowledge graph of your codebase; agents query `graphify-out/graph.json` instead of re-reading files. Supports GitHub Copilot, VS Code workflows, and other assistants. PyPI package: `graphifyy` - [Microsoft MarkItDown](https://github.com/microsoft/markitdown) — convert PDF, Office files, images, audio, HTML, ZIP contents, YouTube URLs, EPUBs, and more to Markdown for LLM workflows - [Marc Bara: "Your .docx Is Wasting 33% of Your AI Budget"](https://medium.com/@marc.bara.iniesta/your-docx-is-wasting-33-of-your-ai-budget-86a3d229d042) From fb588fb85c9e6bf946aa1b101d951af334b01d91 Mon Sep 17 00:00:00 2001 From: Marco Olivo <8478776+olivomarco@users.noreply.github.com> Date: Sun, 12 Jul 2026 14:16:23 +0200 Subject: [PATCH 11/17] Add diagrams --- README.md | 4 + docs/01-why-tokens-matter.md | 18 +- docs/02-prompt-compression.md | 2 + docs/04-context-management.md | 8 + docs/06-workflow-optimization.md | 6 + docs/08-mcp-tool-costs.md | 2 + docs/10-practical-setup.md | 38 +- docs/12-enterprise-governance.md | 2 + docs/13-outcome-per-token.md | 15 +- docs/assets/diagrams/agent-cost-loop.png | Bin 0 -> 74361 bytes docs/assets/diagrams/agent-cost-loop.svg | 49 + docs/assets/diagrams/cache-stability.png | Bin 0 -> 76689 bytes docs/assets/diagrams/cache-stability.svg | 51 + .../diagrams/context-loading-boundaries.png | Bin 0 -> 77103 bytes .../diagrams/context-loading-boundaries.svg | 39 + .../enterprise-governance-control-plane.png | Bin 0 -> 113187 bytes .../enterprise-governance-control-plane.svg | 63 ++ docs/assets/diagrams/format-tax-pipeline.png | Bin 0 -> 78597 bytes docs/assets/diagrams/format-tax-pipeline.svg | 55 + docs/assets/diagrams/graphify-navigation.png | Bin 0 -> 71920 bytes docs/assets/diagrams/graphify-navigation.svg | 46 + docs/assets/diagrams/mcp-tooling-stack.png | Bin 0 -> 77321 bytes docs/assets/diagrams/mcp-tooling-stack.svg | 54 + docs/assets/diagrams/mode-decision-tree.png | Bin 0 -> 88860 bytes docs/assets/diagrams/mode-decision-tree.svg | 59 ++ .../diagrams/outcome-per-token-loop.png | Bin 0 -> 65287 bytes .../diagrams/outcome-per-token-loop.svg | 47 + docs/assets/diagrams/plan-execute-cheaply.png | Bin 0 -> 83870 bytes docs/assets/diagrams/plan-execute-cheaply.svg | 52 + .../diagrams/prompt-compression-ladder.png | Bin 0 -> 76213 bytes .../diagrams/prompt-compression-ladder.svg | 58 + docs/assets/diagrams/token-cost-anatomy.png | Bin 0 -> 92859 bytes docs/assets/diagrams/token-cost-anatomy.svg | 47 + docs/diagrams/agent-cost-loop.excalidraw | 665 ++++++++++++ docs/diagrams/cache-stability.excalidraw | 824 +++++++++++++++ .../context-loading-boundaries.excalidraw | 467 ++++++++ ...rprise-governance-control-plane.excalidraw | 875 +++++++++++++++ docs/diagrams/format-tax-pipeline.excalidraw | 725 +++++++++++++ docs/diagrams/graphify-navigation.excalidraw | 721 +++++++++++++ docs/diagrams/mcp-tooling-stack.excalidraw | 884 ++++++++++++++++ docs/diagrams/mode-decision-tree.excalidraw | 998 ++++++++++++++++++ .../outcome-per-token-loop.excalidraw | 792 ++++++++++++++ docs/diagrams/plan-execute-cheaply.excalidraw | 863 +++++++++++++++ .../prompt-compression-ladder.excalidraw | 934 ++++++++++++++++ docs/diagrams/token-cost-anatomy.excalidraw | 877 +++++++++++++++ 45 files changed, 10275 insertions(+), 65 deletions(-) create mode 100644 docs/assets/diagrams/agent-cost-loop.png create mode 100644 docs/assets/diagrams/agent-cost-loop.svg create mode 100644 docs/assets/diagrams/cache-stability.png create mode 100644 docs/assets/diagrams/cache-stability.svg create mode 100644 docs/assets/diagrams/context-loading-boundaries.png create mode 100644 docs/assets/diagrams/context-loading-boundaries.svg create mode 100644 docs/assets/diagrams/enterprise-governance-control-plane.png create mode 100644 docs/assets/diagrams/enterprise-governance-control-plane.svg create mode 100644 docs/assets/diagrams/format-tax-pipeline.png create mode 100644 docs/assets/diagrams/format-tax-pipeline.svg create mode 100644 docs/assets/diagrams/graphify-navigation.png create mode 100644 docs/assets/diagrams/graphify-navigation.svg create mode 100644 docs/assets/diagrams/mcp-tooling-stack.png create mode 100644 docs/assets/diagrams/mcp-tooling-stack.svg create mode 100644 docs/assets/diagrams/mode-decision-tree.png create mode 100644 docs/assets/diagrams/mode-decision-tree.svg create mode 100644 docs/assets/diagrams/outcome-per-token-loop.png create mode 100644 docs/assets/diagrams/outcome-per-token-loop.svg create mode 100644 docs/assets/diagrams/plan-execute-cheaply.png create mode 100644 docs/assets/diagrams/plan-execute-cheaply.svg create mode 100644 docs/assets/diagrams/prompt-compression-ladder.png create mode 100644 docs/assets/diagrams/prompt-compression-ladder.svg create mode 100644 docs/assets/diagrams/token-cost-anatomy.png create mode 100644 docs/assets/diagrams/token-cost-anatomy.svg create mode 100644 docs/diagrams/agent-cost-loop.excalidraw create mode 100644 docs/diagrams/cache-stability.excalidraw create mode 100644 docs/diagrams/context-loading-boundaries.excalidraw create mode 100644 docs/diagrams/enterprise-governance-control-plane.excalidraw create mode 100644 docs/diagrams/format-tax-pipeline.excalidraw create mode 100644 docs/diagrams/graphify-navigation.excalidraw create mode 100644 docs/diagrams/mcp-tooling-stack.excalidraw create mode 100644 docs/diagrams/mode-decision-tree.excalidraw create mode 100644 docs/diagrams/outcome-per-token-loop.excalidraw create mode 100644 docs/diagrams/plan-execute-cheaply.excalidraw create mode 100644 docs/diagrams/prompt-compression-ladder.excalidraw create mode 100644 docs/diagrams/token-cost-anatomy.excalidraw diff --git a/README.md b/README.md index 567f231..f89aac7 100644 --- a/README.md +++ b/README.md @@ -14,6 +14,8 @@ > **Output tokens cost much more than input tokens.** That's the most important pricing fact in this guide. Anthropic's public pricing makes the asymmetry concrete ($1/$5 Haiku, $3/$15 Sonnet, $5/$25 Opus per MTok input/output). Copilot's exact per-model UBB pricing table is not public yet, but UBB still makes verbose output disproportionately expensive. Most input tokens come from file context, history, and tool schemas — not from what you type. Your typed prompt is a tiny fraction of total input. Start with output control, then tackle structural input wins. +![Token cost anatomy: input tokens include hidden context, output tokens are the visible answer, and stable cached tokens get cheaper.](docs/assets/diagrams/token-cost-anatomy.svg) + Don't have time to read the full guide? Do these today and cut your token usage: | # | Action | Primary Effect | Time to Set Up | @@ -39,6 +41,8 @@ Don't have time to read the full guide? Do these today and cut your token usage: Output control (#1, #2) pays off immediately and compounds — set it once, save on every call. Structural input control (#3, #6) compounds across every interaction. Model routing (#4, #5) reduces cost at the billing tier. Model-specific prompt tuning (#8) cuts waste by improving first-pass quality. MCP audit (#9) eliminates thousands of hidden tokens per agent task; RTK/snip-style output filters address the separate cost of verbose shell results. Markdown conversion (#10) removes DOCX/PDF/HTML layout noise before the model ever sees it. Graph-based navigation (#14) front-loads codebase orientation once, then reuses it across agent sessions. +![Plan first, execute cheaply: use a strong model for planning, save the plan, then execute in a fresh cheaper lane and verify acceptance criteria.](docs/assets/diagrams/plan-execute-cheaply.svg) + --- ## Guide Contents diff --git a/docs/01-why-tokens-matter.md b/docs/01-why-tokens-matter.md index 79825b2..4da9c12 100644 --- a/docs/01-why-tokens-matter.md +++ b/docs/01-why-tokens-matter.md @@ -49,23 +49,7 @@ Every token you send or receive has a cost. Here's how: Understanding what Copilot does behind the scenes helps you optimize: -```text -┌─────────────────────────────────────────────────┐ -│ Context Window │ -│ │ -│ ┌──────────────────┐ ┌─────────────────────┐ │ -│ │ INPUT TOKENS │ │ OUTPUT TOKENS │ │ -│ │ │ │ │ │ -│ │ System prompt │ │ The response │ │ -│ │ + copilot- │ │ you receive │ │ -│ │ instructions │ │ │ │ -│ │ + file context │ │ │ │ -│ │ + conversation │ │ │ │ -│ │ history │ │ │ │ -│ │ + YOUR prompt │ │ │ │ -│ └──────────────────┘ └─────────────────────┘ │ -└─────────────────────────────────────────────────┘ -``` +![Token cost anatomy: input tokens include hidden context, output tokens are the visible answer, and stable cached tokens get cheaper.](assets/diagrams/token-cost-anatomy.svg) - **System prompt:** Copilot's own instructions (you can't control this) - **`copilot-instructions.md`:** Your project-level instructions — loaded on **every** interaction diff --git a/docs/02-prompt-compression.md b/docs/02-prompt-compression.md index dc3de6b..a8c5b1e 100644 --- a/docs/02-prompt-compression.md +++ b/docs/02-prompt-compression.md @@ -8,6 +8,8 @@ The single most effective token optimization technique. Drop the linguistic scaffolding that adds tokens without adding information. +![Prompt compression ladder: verbose text compresses through lite, full, and ultra forms while preserving technical terms and constraints.](assets/diagrams/prompt-compression-ladder.svg) + **What to drop:** - Articles: a, an, the diff --git a/docs/04-context-management.md b/docs/04-context-management.md index a1387d3..004acca 100644 --- a/docs/04-context-management.md +++ b/docs/04-context-management.md @@ -101,6 +101,8 @@ Every file that enters context costs tokens. Be intentional about what's open an When the source is a Word file, PDF, PowerPoint, spreadsheet, image, audio file, or exported HTML, do not paste the rich format directly into an AI workflow if you can avoid it. Convert it to clean Markdown first, then send the Markdown. +![Format tax pipeline: rich formats create layout noise, MarkItDown normalizes them to clean Markdown, and rich delivery formats are generated only at the end.](assets/diagrams/format-tax-pipeline.svg) + Marc Bara calls this the **format tax** in [Your .docx Is Wasting 33% of Your AI Budget](https://medium.com/@marc.bara.iniesta/your-docx-is-wasting-33-of-your-ai-budget-86a3d229d042): Word, PDF, and HTML carry font data, XML, page-positioning metadata, layout artifacts, embedded objects, and tag soup that models must process but rarely need. The article cites a concrete example where a 10-page report extracted from PDF used roughly 12,400 tokens, while the same content as clean Markdown used about 8,350 tokens — a 33% reduction with the same information. HTML exports can be even worse because semantic content gets wrapped in long tags, classes, IDs, and layout scaffolding. The rule: use Markdown as the **working format** for AI interaction, and treat Word/PDF/PowerPoint as delivery formats. Draft, review, summarize, chunk, and retrieve from Markdown. Generate `.docx` or `.pdf` at the end only when a client, regulator, or internal process needs that artifact. @@ -130,6 +132,8 @@ Most context files are loaded on **every** interaction. That's a tax you pay eve The fix: prefer **conditional context** over always-on context. +![Context loading boundaries: keep the always-on core tiny, move path-specific guidance to scoped instructions, and load skills on demand.](assets/diagrams/context-loading-boundaries.svg) + ### Use `applyTo:` paths in custom instructions Custom instruction files in `.github/instructions/*.instructions.md` accept an `applyTo` frontmatter field that scopes the file to matching paths. Copilot only loads it when the conversation involves files matching the glob. @@ -172,6 +176,8 @@ In long sessions, this is often the biggest single cost lever. When most of your You can lean into this. Two practical patterns: +![Cache stability: stable threads reuse the same model, MCP set, and agent profile; cache-busted threads switch controls mid-session and should use a fresh handoff instead.](assets/diagrams/cache-stability.svg) + **1. Stable instructions at the top, volatile work at the bottom.** Cached context only works if the prefix of your conversation is stable. Don't reshuffle your `copilot-instructions.md` or rotate which files are open between every prompt — keep the stable layer stable, and let only the most recent message change. **2. Reuse named context via slash commands and saved snippets.** When you frequently ask about the same domain, define it once and reference it. For example: keep a short customers-schema note or slash-command snippet, load it once for the session, then keep follow-up prompts anchored to that shared summary instead of re-pasting the schema every time. @@ -257,6 +263,8 @@ The per-session codebase-read pattern is a hidden input cost: every new agent se [Graphify](https://github.com/Graphify-Labs/graphify) attacks that cost differently from prompt compression. It parses the repo once with tree-sitter AST, writes a persistent `graphify-out/graph.json`, and lets agents query that graph instead of repeatedly reading source files for structure. +![Persistent graph navigation: Graphify builds a shared graph once, then agents query paths and explanations instead of rereading broad file sets.](assets/diagrams/graphify-navigation.svg) + ```bash uv tool install graphifyy diff --git a/docs/06-workflow-optimization.md b/docs/06-workflow-optimization.md index e66b0fb..bebccb2 100644 --- a/docs/06-workflow-optimization.md +++ b/docs/06-workflow-optimization.md @@ -61,6 +61,8 @@ This is one of the higher-leverage savings opportunities in the guide. **Ask Mode** is a single call. One question, one answer. +![Copilot mode decision tree: use Ask for questions, Edit for single-file changes, Agent for clear multi-file work, and clarify vague work before execution.](assets/diagrams/mode-decision-tree.svg) + | Task | Right Mode | Why | |------|-----------|-----| | "What does this function do?" | Ask | Single-shot answer. No tool use needed | @@ -291,6 +293,8 @@ The most expensive tokens are the ones spent reaching a *wrong* outcome: an agen **The two-phase pattern:** +![Plan first, execute cheaply: use a strong model for planning, save the plan, then execute in a fresh cheaper lane and verify acceptance criteria.](assets/diagrams/plan-execute-cheaply.svg) + 1. **Plan in plan mode (or Ask mode) first.** Use Copilot CLI's plan mode (or VS Code Ask mode) to think through the approach *before* any code is written — files to touch, order of changes, edge cases, acceptance criteria. Planning is cheap: it's mostly reasoning, no large diffs, no repeated tool loops. This is where a stronger model earns its cost, because a good plan prevents expensive rework downstream. 2. **Save the plan, then execute it.** Write the agreed plan to a file (e.g. `plan.md`) or a tracked issue, then start a **fresh session** and prompt the execution against that saved plan. A clean session keeps the cacheable prefix stable (see [Caching §2.3.5](04-context-management.md#235-caching-store-and-reuse-context-within-prompts)) and avoids dragging the whole planning conversation forward as input tokens on every execution turn. @@ -308,6 +312,8 @@ For the fuller outcome-per-token frame, skill taxonomy, benchmark caveats, and c Copilot CLI and VS Code Copilot already optimize parts of the agent loop. Treat that as the baseline before adding external tools: +![MCP and tooling stack: scope MCP schemas, use CodeAct for long tool chains, filter command output with RTK or snip, and use Graphify for repeated orientation.](assets/diagrams/mcp-tooling-stack.svg) + - **Prompt/cache layer:** keep `{model, active MCP set, active agent/profile}` stable so cached prefixes stay reusable. - **Tool-schema layer:** prefer built-in tools and scoped MCPs; Copilot can defer or route some tool definitions, but extra servers and extensions still add surface area. - **Transport/session layer:** WebSocket reuse and automatic compaction help long agent runs, but compaction summarizes what the agent already saw. diff --git a/docs/08-mcp-tool-costs.md b/docs/08-mcp-tool-costs.md index 031c8e7..8acacbd 100644 --- a/docs/08-mcp-tool-costs.md +++ b/docs/08-mcp-tool-costs.md @@ -8,6 +8,8 @@ Most context waste hides in things you never examine. Before tuning MCP servers or instruction files, check what's actually in your context window. +![MCP and tooling stack: separate fixes reduce schema cost, turn count, shell output, repeated orientation reads, and visibility gaps.](assets/diagrams/mcp-tooling-stack.svg) + **Copilot CLI:** run `/context` mid-session to get a real breakdown: ```text diff --git a/docs/10-practical-setup.md b/docs/10-practical-setup.md index fe3748d..702e622 100644 --- a/docs/10-practical-setup.md +++ b/docs/10-practical-setup.md @@ -489,28 +489,7 @@ Each mode has a fundamentally different token cost profile: Understanding the loop helps you minimize steps: -```text -Step 1: Load context - ├── System prompt (~500 tokens) - ├── copilot-instructions.md (~50-1500 tokens) - ├── Tool definitions (~2,000-20,000 tokens) - ├── Conversation history (growing) - └── YOUR prompt - → Send to LLM → Get response - -Step 2: LLM decides to call a tool - ├── Tool call (function + params) → output tokens - ├── Tool result → input tokens (next step) - └── Reasoning about result → output tokens - -Step 3: Another tool call (or generate response) - ├── ALL of Step 1's context reloaded - ├── + Step 2's tool call and result - └── + growing conversation - → Send to LLM again - -... repeat 5-25 times -``` +![Agent mode cost loop: load context, choose a tool, ingest the tool result, replay prior context, and repeat until the task is complete.](assets/diagrams/agent-cost-loop.svg) **Key insight:** Context grows with every step. Step 15 carries all the context from steps 1-14 plus the original prompt. This is why long agent sessions get expensive fast. @@ -597,20 +576,7 @@ These directives reduce unnecessary tool calls. Each skipped tool call saves 100 ### 4.5.6 Decision Framework: When to Use Each Mode -```text -Question about code/syntax/concept? - → Ask Mode (1 call, ~500-2,000 tokens) - -Change to a single file? - → Edit Mode (1-2 calls, ~1,000-4,000 tokens) - -Multi-file change with clear scope? - → Agent Mode with precise prompt (~5-10 steps, ~15,000-50,000 tokens) - -Vague "fix this" or "improve that"? - → DON'T use Agent Mode yet. Clarify scope first in Ask Mode. - → Then switch to Agent with precise prompt. -``` +![Copilot mode decision tree: choose Ask, Edit, Agent, or clarify first based on whether code changes are needed and whether scope is clear.](assets/diagrams/mode-decision-tree.svg) **A costly pattern:** Using Agent Mode for a vague prompt, watching it explore for 20 steps, then realizing it misunderstood and starting over. That can double token use without improving the result. diff --git a/docs/12-enterprise-governance.md b/docs/12-enterprise-governance.md index a12ef8d..c7e10bf 100644 --- a/docs/12-enterprise-governance.md +++ b/docs/12-enterprise-governance.md @@ -16,6 +16,8 @@ Three levers matter most: Prompt compression still matters, but it is a usage-efficiency lever. It is not an admin billing control. +![Enterprise governance control plane: budgets, user-level budgets, and model access feed usage reports, cohorts, and review loops.](assets/diagrams/enterprise-governance-control-plane.svg) + One timing rule matters: June 1, 2026 is the cutoff. After that, Business and Enterprise governance shifts to AI-credit usage under usage-based billing. Treat premium requests as legacy transition context, not as the main planning model. ## 1. Set Budgets First diff --git a/docs/13-outcome-per-token.md b/docs/13-outcome-per-token.md index 0acaca3..690ca6b 100644 --- a/docs/13-outcome-per-token.md +++ b/docs/13-outcome-per-token.md @@ -38,6 +38,8 @@ The implication is simple: optimize the loop, not the sentence. High outcome per token comes from six habits: +![Outcome-per-token loop: pick the task shape, plan before code, route the model, target context, verify evidence, and close cleanly.](assets/diagrams/outcome-per-token-loop.svg) + 1. pick the right task shape 2. plan before implementation 3. route the right model to the right phase @@ -244,18 +246,7 @@ Stale sessions accumulate decisions, tool output, file reads, and abandoned appr The strongest pattern is two separate phases: -```text -Phase 1: Plan - model: strong reasoning model - mode: Plan / Ask / cloud-agent research - output: saved plan with steps and acceptance criteria - -Phase 2: Execute - model: cheaper or mid-tier model - mode: fresh agent session - input: saved plan + targeted files only - output: verified implementation -``` +![Plan first, execute cheaply: plan with a strong reasoning model, save acceptance criteria, execute in a fresh cheaper session, then verify or revise the plan.](assets/diagrams/plan-execute-cheaply.svg) GitHub's [Optimize AI Usage](https://docs.github.com/en/copilot/tutorials/optimize-ai-usage) guidance makes the same point: defaulting to the most capable model can increase token usage without improving the outcome, and overusing reasoning models in execution-heavy tasks can reduce quality by making the model overthink or introduce unnecessary changes.[^optimize-ai] The same page gives the practical rule: plan with a strong reasoning model, then implement with a cheaper model. diff --git a/docs/assets/diagrams/agent-cost-loop.png b/docs/assets/diagrams/agent-cost-loop.png new file mode 100644 index 0000000000000000000000000000000000000000..6229cef15dcd5d10a972992f16139f7c73ee5b03 GIT binary patch literal 74361 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 j;e5pV2cG5+KQ) + + + + + + + + + + + + + + + + + + + + + +Agent mode cost loop +Every tool step replays more context than the previous one. + + + + + + +1. Load context +system + instructions ++ tools + history + +2. Model decides +which tool to call + +3. Tool result +becomes next input + +4. Replay all prior +context + result + +history + +5. Repeat +5-25 times if task is +broad +Avoided step = one full context reload saved. + \ No newline at end of file diff --git a/docs/assets/diagrams/cache-stability.png b/docs/assets/diagrams/cache-stability.png new file mode 100644 index 0000000000000000000000000000000000000000..491b3eda45dc2cdf142fe04edfef4e8a2290e7cf GIT binary patch literal 76689 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 literal 0 HcmV?d00001 diff --git a/docs/assets/diagrams/cache-stability.svg b/docs/assets/diagrams/cache-stability.svg new file mode 100644 index 0000000..c7744da --- /dev/null +++ b/docs/assets/diagrams/cache-stability.svg @@ -0,0 +1,51 @@ + + + + + + + + + + + + + + + + + + + +Cache stability +Keep the control surface fixed; switch lanes in a fresh session. + + + + + +Stable thread + +Turn 1 +same model + MCP + agent + +Turn 2 +cached prefix reused + +Turn 3 +only newest request changes +Cache-busted thread + +Turn 1 +model A + MCP set A + +Mid-thread switch +model/MCP/agent changes + +Turn 3 +prefix reprocessed + stale history + +Better: handoff +summary +then fresh session + \ No newline at end of file diff --git a/docs/assets/diagrams/context-loading-boundaries.png b/docs/assets/diagrams/context-loading-boundaries.png new file mode 100644 index 0000000000000000000000000000000000000000..d11c3c60716c05bef8eb539905058c0e3e695b43 GIT binary patch literal 77103 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%0Dx(O)P90lT&nQN=ETUdzh34DnRb7@T6DQ7^KVW> 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 literal 0 HcmV?d00001 diff --git a/docs/assets/diagrams/context-loading-boundaries.svg b/docs/assets/diagrams/context-loading-boundaries.svg new file mode 100644 index 0000000..81d55d8 --- /dev/null +++ b/docs/assets/diagrams/context-loading-boundaries.svg @@ -0,0 +1,39 @@ + + + + + + + + + + + + + +Context loading boundaries +Always-on is a tax; scoped and on-demand context loads only when useful. +prune +defer + +ALWAYS-ON +loaded every turn + +• repo instructions +• AGENTS.md/CLAUDE.md +• active MCP schemas + +SCOPED +loads by path + +.github/instructions/*.md +applyTo: src/api/** + +ON-DEMAND +loads when invoked + +skills, checklists, +prompt snippets +Target shape: tiny core + narrow scoped slices + +occasional skills. + \ No newline at end of file diff --git a/docs/assets/diagrams/enterprise-governance-control-plane.png b/docs/assets/diagrams/enterprise-governance-control-plane.png new file mode 100644 index 0000000000000000000000000000000000000000..001ee08fe19b1faa24037ba5cc75a5542a1cfd57 GIT binary patch literal 113187 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 + + + + + + + + + + + + + + + + + + + + + + + + +Enterprise governance control plane +Spend control is budgets + cohorts + model policy, not prompt compression alone. + + + + + + +monthly review loop + +Budgets +enterprise/org/cost +center +stop usage when needed + +User-level budgets +$0 blocks usage-based +features + +Model access policy +enable premium +narrowly + +Usage reports +billing CSVs +AI-credit consumption +agent workflow spend + +Spend cohorts +baseline / power users +review cadence + +Value justifies +spend? + +Expand, rollback, +or retune policy + \ No newline at end of file diff --git a/docs/assets/diagrams/format-tax-pipeline.png b/docs/assets/diagrams/format-tax-pipeline.png new file mode 100644 index 0000000000000000000000000000000000000000..5fc35edb04f893e47d917c5ffe0aca0145222a7c GIT binary patch literal 78597 zcmeFYcT`jB*Di{>ttjA@qSTEjRY1BBic+Qb(2LRuz4wTMC{?<2kS4u`&;lp|(uDwl zKoWWhkkDHwcd@_Ucg{Ft+<)#k=l*vFjFFXOt*rN*^_kC{>$8@I(!D$McgV=d?kT^P z*C8XjUP?xG_2|}B;1im316knZ##>b-d9sVkzg$FdA{p5~WXkfd^!ze6Fup+#_E~zi zT@wfhawaGHJZjEBB5Q4O-lxdB_q%R$zW=uKK%UBoFXi#4_jjjMMX&c^3;)#K;WhIj z+Mb@jxXa4RS|9#rZ$D_OXDOo}vl8fguNUNtOQhi(zq~&gSw~Q>y4k-+WF3hLr&s}e270DgI)r|V_6g=H>SIz$^@G$6G}fN?Yh0ek8P(@= zI=425Uz>BWykSRITx>|871Tz9IB+&`#B-~p8TnkA;!7jFhK0Bv*8}lJ zHe6rJ1Wl56alv*w2U0Rgc^){)>v*UH1Qf-@!0Mu`D)9R0BBj%CrDB!jpva)S&_Mre z1XayEkvAeP`*WOT-#{N>x(+#9$3f2e_;Ho5UxL|KDgWhfE(^t0N^OS|UzAc%HDzXzIwK`z7R)vhb2=(0dk zNg~eI*HgeF4Qa=J{N~3Um~q9l{p?etDRCB!BOhb~0-cgEA|RG;HQ|gFIY5YYBS3m5 zCt|0V;rvQP$Vw9v0~910f+;eyQbY(k%w&YqO`nB}JxJ8K1E=FmZff%Xtjx8-Z*Bzh zDT}IGNPW{Ge2?Q z^|n9#NM~%cX3VfObJ5F^Qx9}p``LCJL4eAA$@o_?L^Y-A3|HWLlXAo8r+!jj^SNQu zcFVEq!UKYIb%&abqAl3VYa@k;R6J~cIs&SSdx&nYFBM5Jt~mEONXVf*E7U8gk3m)9 zntjeDETFE(F6g7sGvAI}TU}h=1L>S^fKE7TRm;S;ZO&Ks1!3;A-yy?##LPS{H ziW9c20mPPexa)!0=yW^Pⅇ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

    GlrbmMO$R;}%Re?h{u~%EfTLD%DG=##T|wJk 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 + + + + + + + + + + + + + + + +Persistent graph navigation +Front-load codebase orientation once; query the map across sessions. + + + + + + +Repo files +code + docs + +Graphify build +AST + optional +semantic extraction + +graphify- +out/graph.json +shared map + +query +where is auth? + +path +Router → DB + +explain +QueueWorker +Agents stop rereading broad file sets for the same +orientation questions. + \ No newline at end of file diff --git a/docs/assets/diagrams/mcp-tooling-stack.png b/docs/assets/diagrams/mcp-tooling-stack.png new file mode 100644 index 0000000000000000000000000000000000000000..2962113ae225f5dd76e3f6d504c144d7a367aa93 GIT binary patch literal 77321 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 literal 0 HcmV?d00001 diff --git a/docs/assets/diagrams/mcp-tooling-stack.svg b/docs/assets/diagrams/mcp-tooling-stack.svg new file mode 100644 index 0000000..333d5b6 --- /dev/null +++ b/docs/assets/diagrams/mcp-tooling-stack.svg @@ -0,0 +1,54 @@ + + + + + + + + + + + + + + + + + + + + + + +MCP and tooling stack +Reduce schema cost, turn count, command output, and repeated orientation separately. + + + +Graphify +Coach / chronicle + +Tool schemas +MCP servers, extensions + +Turn loop +model ↔ tool ↔ model + +Command output +tests, git, grep, build + +Orientation reads +same files every session + +Visibility/audit +measure what loads + +Fix: scope MCPs +prefer built-ins + +Fix: CodeAct +for long tool chains + +Fix: RTK or snip +one filter layer + \ No newline at end of file diff --git a/docs/assets/diagrams/mode-decision-tree.png b/docs/assets/diagrams/mode-decision-tree.png new file mode 100644 index 0000000000000000000000000000000000000000..f4ad06f0423421423d82b751f4e9e31e2f210512 GIT binary patch literal 88860 zcmeFYS5#A7`!A}m1qB6cpwdJX1O$}c0tzAm(tAgGM@nd+NfD$)dXpx-_ZlDq(wp=e zdJiG=KtjS<@q54jID4FPvB$YMS6dl_mCU*3eCF>d^J#ojQjoq)`k3_6rAxPEKD<-8 zbm>~*rAt@zZu|p$^V*1l9QbwJSWf!gr3>Q!jOM(UOP8Kpl6m)5&Hcv?!p%!nouO+# zCL4l|=iD?xH)9M)^Zop9kg|o|`z+?4Uw`Ma;}bU0CE@(uy2ciC< z#7M4Hic5AnrcXRNCMIT~xuMPp-hk25&aC_ZYzq9-;`C6b{?DV4!Ec7YPrusk`2OcB zGU@Znf1h5`?vwm|DF6I_CjGxaV4*&KZOnDjVQzO0{TdZdB~N3o56dq0R!R~xthSwR zORv^7@I5O?NKaP+KZyH@rMBIT_>p=8fHZ&2+V$KKr_lB#po@ZD#CgfsMMvkotd8fW zFC){_!;@V_GVOm(>{5==qvH!hu)@BpfBB$ZklV>%F=S|Pj(4D`-BB(Gbuo~Ykyn(F zhr4g}Zi8nR56LyQTsDnDv;-_x}C+Vq$9%-Xu^> zFe9^xoeAQV=sVc+Y=bxBaaYuCJEL#xSOT-(aA?LXQ`G3-N01D0vEHX=o_yAn+e_=w zF)0b(6P?7kg~j0+BQ`Iq{Dj3I{9HxbY<_I!yL4aZZUZj^ps1YhkB0Ku2<(hGpr>mP z$T9_c#Lo&>leeFiGPCkD2@Rh{C%ogdnEn!$?`r+=JSsIt#CM+yi{eu7J|ECzLDtP` z>0)+fN&y%&OXpwm^G2<%t(DC-i7a;)jOH=LsHpI8SMKcC>LY&81db!8YNtaoy#oU9 zVcuC^aF%JpG-tDhDNo7M!^7la`_?WKTJR9Jw7sc-FN7Ae$9Z$T6-v%x1nevW;e~5; zL0OZ)aU7;vcRqRlh-@gFr!uiS-=;bE9r9F}(jJ0~eIsE=7@6{HJ%yIr<{5mM%XQ_p$ z`I#q#-;S2h-Tfs1=a$f8`koVJo-eP9L5aI8uWp5XlVRQ3N^*6r-K8%bpqWGu=b-XQ za3Vs&u~xqxE0^n(%tIEZ=0jGx6o0_)C45g#Q~qwaxw=ZZh@Pxg)(Wm2z+$$xS5TQ- z4(E~Iqmr5(`_d3NsFai;RPIA>PfrZ{D!n~tX(^|e!S2%1aWelcyV*i3{9fY>nZX3z z0IlyMPHFuM@OUSPB(k%U`F=szxmPm`Y=5|uJ_#MRGwryQoKs)FPEK6K{ZpV+<3$*S4FX zkqvaz&LZ}Gkyk*lTHT|wi*Un{2kYbF7RC@o#5)$pJTBw%XSu|-}Y7lmY8j48w z6?8u8K8UrxYh8m~ITQCfMwHFO$k<$5i%B$X&;NlSTKpFp5#PjJcZ7;ZjdPUxJx#37 z-m|}W@k7*Z;sil*+l`%#4QsJd%G5RV((u5siuw4qo5q6&^4@375xN*EoV9|&{861a z`-_)91no`FtU2R^sCsEh<9d5W%~8|7)l-@q9Opd)(*?figG}_0x0n|gaYJv6&1b)b z6{uLosC_iwXQ6GZKcL9hL;ikK&)>;Nw_HZ3v4@ z7lymfi;xC2jeR;+FY*ry4K;7!aac>Ik;Mxp?e2rO_#GC+ftTL9#&6O6qG_iUiBie& z^udxmPYuw>S8F-wWXU}KXST*(BhsIJ7r^A@xp{*^mh1Va=-XK%uEd)!;~C$|Lc-bE zwP0xagw@VOj-8U9;n{Vstz)PxsBJhTO!2Y!+VNEVyLQB&VK^Hr?oZ-zt0wi+tO(93 z+x`lr_0RhwanY3&Jpj)meX$Y5M`=SZLnWpBQLTMGrF=C7?_+%Q&#N+k7>RRSz{d71 z2o44nB#;jJF?^NdWHAMtyL1nyR_DLqiyjQvwZ8_emZZ|SDzEcz(0eLA1gnp4ekY)eq~JCEYE27(GvbR{kteKKuQkosTkYYjsUlrQ1IU>ONfhWw!(cu z;36&II{9jYX)yQkgR`}wIX_a)G1V36+q(<$H}(fc#A|m1GZ1#2WcOfhc14K050&zk zuK|Wg^i?$!TGy4ylov@Wo`qL&RVZ~C2&;-&xgv>k_h>{z1$~x}uA#&VtRBr`Xdeq_ z1Q$&Bt=5SPY;UN(eGBe{(ra)DK4E1w8=tYu8+>1=Ce@Zf2O-B-c*eMfMbsRRDn|Nv z9hLuj1Ft^nADBJy24J$EO?KT-@XsB7M)N)gMfCstF7q)FJ}AhKIvjD?Gb@{TRcuzARnY-~iEypL`jjA{=%6#M#$*Ebe{l zQ=X(5E7NRQmQ!gBBE5A)cI)V##QE`%YpP?LM1V-O-KQDrW>LiCMMb><;?h|umR7+qso25p-7Wv{;c<5Gs z?=#)j>(1Ce`v(Cj_7UBPlV*6t20HodMkiqIuB4P&anHii(Cn4N@DLn-nzR%JRx9!s zKU*eAeY=A~`RJYdl6G7a;lLnqD zy<&lsP7Pk0e!Cqf!^OhvLCZ@~SHQx*=Nhv-Y@_)osnhR20?S)`Z>TaHnIBnoIt#8c ztgWeeUG7rh_$_Zp%DV0<3C@Q6gxAx>ikj+iHsY@1<~u+;zWhZD{rma$k4&b(#KZMN z;pyPteWUoC4d#b>g8B;NjX2zhp+-V=V_Unwq@;hScfm7r#J5}p549NY8;la$*T{Ef z)$UhV$DqF#>09Y7l4G7}e$2(-;${Tg6Oj~*u zjQGfzCaWu{?;G^QOy3M$8^$24G2Q!B*WcHwyts~;1cht9SOxr$(FUot9-gSS?EX5X z^(QesUn#aq5O*^Kg2VJUeT^&`Q1PCg;^8)iVn%>v-!9(8EF)K@OTntC@7)9vIO%ke z>7_p%PZM`V`J`mWtGI@S(MgWJrJDI_X~OrWYgCcZ?ZvEi_F?9?9}C=y>FbNxP6o4hdhL8hbQBb& zgqoYjZBXcRG{5!^O-;3{;7T%Y&oBOa#@~PYK8^;0|6`OI|2zBsN+@6a8F06q&Ha5DVU7_Fh}^cX;cFSQQ{h7O*8Tm) zxH`+3KQq0izMqQkhkjd;-s&IK&R2UcwGa~8l4<4W45sI=$2coS+$^Bh%H1ERyLaXe zxjME#Y~|uK0!or9P@D)>*StuYp`5N}xpmAacnp3E84e9WKvm>=y{SJ>|^3h(vm0K7YxgouMT%&;` zi~U?}*~fqs2bP1Q&yxdy|bBVZt`CSAPVsy{VwuL-b1d;eX-M8zyFPzI&UdW=e+&<@nSbmDd z6koMQe({h`ty+w=VOf`XdY2qXJpfAPAJAT`hESLMjJ0D69*MO5%NkF$KygE$I&5#p!H zgJ#UWzycTB`eUanUS6VL9Ztgr1KXj^qSwM4V)KpYajJXHEaLDt7ubaSi`~qOCDhs{ zm*)4c7bM2-GizTlFldw>8}?j4AWqmj>g1Z5!SIEy_Y^4tZnz3{38=cqZ)|k2!Z59>;*hMT3YrR*x#Ee$U zYn)l4Z%VR;%K+S;{V(^Y86-lwI&U2w{b_z;+#U~N7@BOJ%#8$m!gY>wnZs(y*>zz$ zdqk*+8>4KVa*2k+bgf}tg^36PV+}Zux~{Z;tkeoZ`5h+hY!N@BmXiB=1Ico}Bh!*I z+1T!mrvbh%k}3jh5UTh=%;%so&ioUg&4E?B)rr>sCX>UJ;RNBzCU zBE?qx;l2Nr=a1)0n?@JC&QN3>*C{qZnq@%HWBsQBBva*)oCLhwKbbMFU(4M!cVXRtMD7NL7ecq&x!sy{@#m0fLSyG4oDZ|bV>7) zV=r*RwR{1xtz%@}N1bBrMAO^E2)2;n=i&COGnJ*`j*^<%(aDc%fJb;e^k)7_mUGwl zsruhT)SNtf@nliMqq)AX9HKJCuz+fV&zokeZGVp1ok)ja=tN5|P5{p&Xrc7gE1wF2 zR&&oUd|I^wf{pdX3tpekRRptF3{|`3#5l1=ruL`24mWfy+2DU76P`@S)(l* zzbb$TYkdFEe(cE@Vq8doOZ+wK+FXZa>IzkaW}bYas9n5k-+s&n7Mdt(HP`*;dq#M8 zG2on+&Q|Mg=u46u{ShA<1N@s(^d1X~=!sGLp6B$m5KSFwp$1c~kY1XqBam-+PWPOx zO^xiq{l%hDi!H7q5D4)&aI&gWf8mbxXs%lACP@2$sFT-d^THPwRI;rOep3;L2o&={+&tZBkqi@z1HSQhZgiJ zW^C_3-GZ*th;CE!+=4eGdFj&w(gs=e*dNjS7e(oE+a`8qd>bVj5v-NPA8V9Qv%I5L zfIaj&L~!vb($Vge{+PG^St#H0%w};|`YYjJ77GZ=OvLNgZtFfR*&jQO&<@sgQKd(s6sWqVZW*Dcjix%DJAhKz^^z z14kH`MH~1$jp?zqEeMet_pKVA!;>R0^>%umdtACiIV0woeb&2Wf?h4S|bx�{N!THio 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 z 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 literal 0 HcmV?d00001 diff --git a/docs/assets/diagrams/mode-decision-tree.svg b/docs/assets/diagrams/mode-decision-tree.svg new file mode 100644 index 0000000..5fda680 --- /dev/null +++ b/docs/assets/diagrams/mode-decision-tree.svg @@ -0,0 +1,59 @@ + + + + + + + + + + + + + + + + + + + + + + + + + +Copilot mode decision tree +Pick the smallest mode that can finish the job. +no +yes +yes +no +yes +no/vague + +Need code changes? + +ASK +1 call +questions + +explanations + +Single file +clear target? + +EDIT +1-2 calls +targeted change + +Multi-file +clear scope? + +AGENT +5-25 steps +multi-file work + +CLARIFY FIRST +plan / ask mode +then execute + \ No newline at end of file diff --git a/docs/assets/diagrams/outcome-per-token-loop.png b/docs/assets/diagrams/outcome-per-token-loop.png new file mode 100644 index 0000000000000000000000000000000000000000..be94d10bfbc9d3cc31e5b2fddd700c0627f3e03f GIT binary patch literal 65287 zcmeFZcTiJZ^frq6+CT*rL_t8LgMbw2MN#R!O9@Kvp@vRWP(+&2dy(FygdPGYy+nEm z1ZklYY665L_wc^=cW1tt`_G;G{dX^9hBL{@K4-7B*Lt4)taS+2)>OJl$v{a#L2*+> z`IRmO#pMzTic6x`E&}h2cYl-w{#>zCQ+h=~KL5>z7sgRgJfcu}^+Mk_eQVCgmv+3P zd#{FnnmrA4ot5?5^GCGn8vY5K#ya{xBP=fyN~g4G|GC@``|$M(<&Q&N_+5V$_8j(a z-xU2(QdpLV{%RGmPqfv6^2ngf<^YK8>Ojha-ZR{Qq%gdl9k?{`^DwEUmG8ep?dC7? z{~o;$VI%$b)~)E{OaC58NGwwSd+_(~|9{f|jR`d0%+pc)d7G}Kz9Y02ycr7_=AR@J zU5MjF0<-A>Hv!X0Bwu+5y&qK|do_9s?PCocsEQwpOiyq5`0=rik2n~N;;pjn?Ztvlo~!2rCXDSa#?&76Ysuh;NFm+4 zHM_+Pppar| zQA;f|a2YLCCVc*NiXx~mJm;O)7iEq9EwQ)hnuYZOhlhWjkcknAw-@r0<^%q&!S5EV z9Zo*MVprkNeyk&`CVv@gKvwtPlijr0c_@1vp+!bwP+O5gCp(dqB>XRI!fb?if!y9! z+>#3=hssRdL0g@0)iRFTk_DJhGxI?i zAcQRu#}sgjNsb}ydrCrDTBV_M0KvD;g>Jggu29;QrOe&4+*&QMd+1@lQgk;zsL6H` z{j0e6fk$JDyW8KtBw6MrGVa^oHj|RNjJ}7mx9itp#+&g>Dr)^txSueHc>JC8L{}`! zfyg{Y+oJ`-dTp2$dbIRHK3n%v8P&^=my*t83LT8C(ge$*>SURq!NalRran7bDk|bC z1=-KZrU71o8w&v)X`l6fw3jqaPL#~GJlp4hxnDo`+pX;OL(;Lso=4i&%WHd>F|Pgr zxlkHl!9y{kIPZ6gwz&CHv8ZOJ(2Seo?GJ?}49iic3x)F;($L`o87^^oE^)H8 z^BD`Yoa*|?O4~gY%3LM3mF&L0N+zs$7)E%0D9GbC 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 z

    Q%_Rt;Hm-Q_1H%3i+z9}rNf7^(|Vx2)xeY)^{oR17Mj@Pu>GSkc&InC^DFLMajd1Qix=1-Zn6}ZK~|3 z?m;VfJzOB!g%Dv+hbb;f-|UnfaYt9f_Yd3MEE`jXrw1r;)qo|3MEA|6z9h!aeRKo} zicr0h7K(7kJd)!9rdEbI0?Sa-S$Z-Y)*FKAFCQK8n~Lo?loLkUC%8 zSVRom30Er#oE0kM?W@pJbs^jNAfj@;hKEk_UesU<3xBp|SZTw;?DLP!#71sstv4M; z?{%DWi(&{?nZET_){R8LAHscXI}P4bsRf_?72lhdS>NUpnk;!haB(sOz4({q?LZKTRl5FUkWfYyE>~=P~^~T_fjmrF|l?+$5P9bo_$Q}_MX$G z%WW~owoJ>6x5>T5frKy7wEBv>RyS0Sk4zX1CP>qhC)1v*f^(T5l&r80>>lE@ec&o0 zC{e!2#Fj0y-Sl3RC7Y4spQ_<VFcZmzBdrff=Le_% zx(g>Bb|#A%EIl4vabXApEwVzv5e`QM>DkW~B|57UPAOZjE=9w|T~+0EwvDcVo`-VO zkd3w0m3!P+m+&qRrzkJ#^C#e$iDyd=lV+d5!aLs1%N{FDIM3}~b{LbHM)HwT?t z!SHQ`4yMrf8!3bS!3w2jpm85Mqd~(O3gtoL{{~PB#}gVw3r$NQJt^83MfsEieM$fz zz)5H!V>9MEnx_qJdVs9r>hrg`npfQ=YI2}cxZz{Sc@KXP0n!ZVK{pmNz+a2?thRcw zLFz6Kkte_pU@1e;*|)qorQdB6dofa0eZ4G50Yo)SLV6|nxE~TuAWst@D*w%`Xum&2 zx)>Rnw)!|u37RdU!?;0~=OMTNiF+mm3ZyEa_)!Xw`IOoH^CmvIeq*oqFR0rgWOg(77(W8uBg zZKh9ftS&y*hzjtSp(fcSYwKLaJ)k9dD>K@{M8>AE%knmJ1#0|H-xFhbtyJck&Sva;FYWG)E`@>6G-xztzkOg_iz z1FkI4v`tn2rwmqqOPRLsTn}fbeQbjYb8*Msg9p z%eC)nCYVM>mFz(j3}}Nh5X>Zz=O2^#C1R}jZ{LpwoSfqfvS`TDF}IL_M_DS$fP_;0 zm#C`lg1SC1{(Hp`g81Je&;JAH|Dp2yA7uZ3iR>fUUkn9G`sW*MAp$8WsLK~Vdhzam E0YGWTVE_OC literal 0 HcmV?d00001 diff --git a/docs/assets/diagrams/outcome-per-token-loop.svg b/docs/assets/diagrams/outcome-per-token-loop.svg new file mode 100644 index 0000000..c494e9f --- /dev/null +++ b/docs/assets/diagrams/outcome-per-token-loop.svg @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + + + + + + +Outcome-per-token loop +The goal is fewer wrong turns, not merely fewer words. + + + + + + + +Pick task shape + +Plan before code + +Route model by +phase + +Target context + +Verify evidence + +Close cleanly + +High outcome +per token + \ No newline at end of file diff --git a/docs/assets/diagrams/plan-execute-cheaply.png b/docs/assets/diagrams/plan-execute-cheaply.png new file mode 100644 index 0000000000000000000000000000000000000000..f94429e35b1aae8de4eeaf425474de3c33600038 GIT binary patch literal 83870 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 *Z+idB&+_;pqT7ijyudeSi z!b08O72u^1s7ZCm?E%Z?2_2 zv#9h8dAK21tRB-IhS8rnlP$3yXYFbG`fmE4e|_S@f59m#RiV<}=+I^Pb*}g~oaQ8gF~fV3-%0eNYHEe5zGiAQ?;UtSC@XD4j?T!DG^j?0 ztSA{ocUW`P8`xqVgij7LKnGVI&5}0yI5ZM&x*6-dTwlLH!~=FEyWTdw(QKHs^}D$` zZYs=bg_#uyU}>#^v%5?)n1B3={<(gs1tSh2W>WD<^vN#wJiluAi^7${YEh3-r^SO_ z3Dt`jr`sP33+z()AV5|41w0cUK@=aSRiRQnmCJmw4H(bn#2x*vlB zd*TIREN1oze#(-6Cf8y+?9avoR(Q zevEiFe4tDH`Qp*2_%leaXa*s7-WWgl5%HV;(Z!@ADS$OpQnM2MSs$lKGNWJ=G|OJ+ z`5ddaNxR50PP)3g2|~_K69arlkly$#RcC61*Z_s>`H!j*Io$6k&zbQ}V6#nZIM)u%~AS|zPgqluV~)KoJwzPAh{i#yNDT_=s@_17>P z45{cNW+(3p(O={1hi&}wcl^1fTT|!Rva-3TBiy1>*Syd}=;9V0;)Eb6k=!F2qSTan zf4?<^4TFP^{QFiU@D4oIdG;%0^VfC$MLzW^VyzYSX2XFkM!C2jcbS@An{Vprm%z)H z-zVOSIg<x}5nV*>hfEj(OCp8aN=TgVAZ zc{v|vESUsyv$w}ei8){ZA4|*d`I@TU-W5#LuoYPoL&NJSag4Vha?SeQCSb2I(Kgr_ z2|=;|F*0OOQD{7{Qc@ygMmoqn@+uq9~P|v`IkVxc%Ef77v(@a`WVk z$vCHM`7T9A8&s8sW{NlN1y1rc!59E%`CbDhCx3r&L2Gze;gvaxV6dn#sb)SZV216f ziufop-IxUaPYWElru5d*($L~ayW?i3tqDKU*Rdt8EaW&(*9 zp1he)d!g{U4RenVcq=CZe=5f;1FoK`5`VF@~2Ddn{(gs;%Wg;5LV&pGwtE*Nb_u!IQQP?`5G-cdh4 z-IWFcfVg{-I9y*?2Uex6k5+EW%VT6%Z13`c_nX4R{1NxJyKF0oFc3LZz8vU$ z2G~-ZpNs2$3yZb;b%Y;kaUMAhZftWCJ}ZF)_6Mw5YdA@8ed_|$y={$;@?6W(_W?-& zQPK09EAKM3_t{7ULu}E3zq`KIrNGQMLqdlBVt9XaL7JO8l0ms_4KAcWYV4Dh6Ad`cI3e);)SLyxOZO!en}^F2 zqURhy|DQ!u^E%DSXi5CI(a(;9`uaq;-$f4De~l}x;z%a*#l~9-&U8gAZ&oi7)#fV} z22EQOQ`g$Bb6Mr0dL1H|_z4szmnh0D1SJ%D;%9tX!Ndp?TBO{sxVAPy1P+mnFdXxw zL=#}uYXfd1?uAcVPu|KtYJqpRtPXr( zedc|B3Z%-Q6``=+;{K3O%g{oVO`AQ=Z=+~{ zTiu@gW6u6&(G-kQ@FipMh#Uau=w`r1_eh8mI;KIs)!(uJPkn8BY=T?vgt%e0!DBKdzu8m*LaeH%BD^?^#KO3QdLE# zXgJcNs%%cayZk~*3oa| zJfWY-H+B(Z&57XIn~dF;-M%?o4rDC8XmknCzH4LQcM+!{bQG3Ah5#tMps{{bHagW4 zSVfz&>>w2)(#!-x3}32(`!VNfc2}~ih6;aP%?!4^Yi|C#a+48X)ZjoY^+Vcj46K)M zv>&Ss`z8Y=+t2xEPfsR;EjU^0JtX#)M@YBi22BebZ0QR}qFs3j984lDpT3ou#%4BQ+hpH5T#Ws{s%a-<$W({zSlJQjI+UA#^$)$wC)X3(%Hi z3wPDDw2LviJ39WE$7>Iek52{m0Ix-NogI>A#|F$&r1oYD(@<}wRNh&7efO>A@PZwP zI2H}x6r_+2nN{^7)Pv317k$6Un^HimPU)^N#IB3%06BRc3GB?+Y0f?FB2heEwzk{M zaG27fwkpCN499GIaeUL7K)*P&d!|?0k$Qy1hna(*s|w_!mOyd zEjg0-`#DvzD>&)l0XTnx>9=J|C!+tYxP(B^2Sb;KV-9QFT-R$ z-LUpw%1(ujSXC3SKEOadh-h$}sWhtoE=yvOo!J>Kmb>LO%b<}*Y+?%efOl*DDknNw z(E5?Nn@{$zT=xBGRCmPPUh3~rva*Qb*r)gmH$Cru*r5%mPj*(TWkexgN>A06V*l3z z`O4_oFID+0a`;Wxb!brRQ-2Kbw!yF#`AMejZ^xSq1!{{4(_EfbcTSJvP2*qmbd!1+5zBTHh#OBQfsK81jzQ5_{O z62AR?eU_S7Ws6R2*!k*lS1s?Mg`DJ4ozcq#UzkJPUP$;jK-xuwCgW6d3grjKf#0|p ze4s2Rqzu$3aD+W~_*qJDNbI?JD_;HFJ>#$z#gUw#9V~b|Ov4Lv^?@95`2He4q zprMWqzlQeGo zRGhnjmo`>Sqf~!(t10Ed35@-MXLnozMVcC(P54YsQpyV-l{FK?tJLSa_KoGxb`d*E z&j?r7lRnXIA%n}Rr2YUu6MmmAr+{22ofHvh7j{TOn#D0DBI||lw&|Hhf8^fhfr+2` zgMT>H{h@ypjP}rrT|(shJdfQEFUM!n<8RYfXI1E%xCL>=5LCH~h}yXhgU^keq!tz- zS%25t8FrRZO}Fb|WB<01AzP7?C;>C2P<8gm+L4R7e{67}$&u#vsBbJqe&6o?bgG7| zcD!?^opP%obuqu(rs(J=X~wdCCKv-&*2GeXJG8r#O4EQ>4zO}$e7+*R$Z12t#EenW z>9P9s=k^seyQ$k~Qr!Rbr%&|5s%FUWb#ESTCDXp1aQu?M}!Q@YKa+=^(dF8ZE@<+;)cK6G2#e1ucX-@IwfcK zFodUaFK)#@V*vmge7GW`+%dNA+aDiH3z#?`&zM$v9{(KF(zJ+r@85)&HS8SF4VC7J z1duzg3LCgAb+%YqRL{hFfUT&o^|hl24opw0&X6yCf66g z7uxQ8OgYx*)4zj_*rSdqkruoUC#mJSHcWLYYtpsnhkAUV_1?kae%4Rz8{&)XUpE`` z$mP{vd#)TvwXoqT3f;Sr|Mq;_aX0IT9oIsRS&E>LGGaGnG8&Vz26r!rbOl$Y;d8l zdBBloz?CmiX%@7+ZQ&)H=&*!bfi`aW>wmr(tHt>I$W~gIFFTAm@>tjAIk6_{PHeS2 z6g;#ipx%L_(4|{vOCs@A9dU~$Ll-6MscxW z*sFBYmsUa;-loknSKN_wWWqvtMFN7rc3MIE?L~s zUOt4+(al>{5a`~>;eKKjZU&r5b9&Or8tTkBvRXSjn^fG3r0VSgYcNwj>`^^=5}w~U8-MFJ5DK!rv8Rj`o~psJ~b2V#ng zr(X~`E^H_(!vG2MH8q4_Atk1`#Qd%VjS9Sl^pRWm+}qb!tP@_=d>To~!cTShgU4rb z^0_+mSgpWy!33Dpjw`tN_$CTOYBrE+diD30txvsDk^B6?xj_^^dXu=<(2)Qe)_cEY+Ei+SjhSlU07e`u;~!!kf$04J@Vmxz6ekiUR;B;9wZiR_ zuC7TF8ks#oV5V29a~N`C!DNN~x0{fjzJipoZ6M^&l7|<0hW+WnPq7Tzm?VYQs{&+R ze2sPhuCzAu932iwszp=jRj~(>u=vT90l@1((K}Sv;ydf1oa!NW zCJ4k}31{wY+7HC1X1uk`zU^*Q50u1FtDA8%%*-(AWFhGEFvnnE-(%F>cBy(`(qZOm zm289%)<+2&KUK@if)Rh;HnE+ATwPkrjJe3VU71ID(w5xgHbliRRSR*Q!YW&i&Iw1C zv#f4^3dF?02L+&?EE)%7IcCP!YqC{05X?Keyp+Wcs7kIXx!ϒe!QV5;rXI|TyA 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 Qp^qR%IptSnGRFS@3#AVE>Hq)$ literal 0 HcmV?d00001 diff --git a/docs/assets/diagrams/plan-execute-cheaply.svg b/docs/assets/diagrams/plan-execute-cheaply.svg new file mode 100644 index 0000000..979046f --- /dev/null +++ b/docs/assets/diagrams/plan-execute-cheaply.svg @@ -0,0 +1,52 @@ + + + + + + + + + + + + + + + + + + + +Plan first, execute cheaply +Spend premium reasoning before code; run mechanical execution in a clean lane. +capture +fresh session +verify +yes +no + +PHASE 1: PLAN +strong reasoning +model +Ask / Plan / +research + +Saved plan +steps +acceptance criteria +verification +command + +PHASE 2: EXECUTE +fresh session +cheaper/mid model + +Acceptance +criteria met? + +Verified +implementation + +Revise plan +before more code + \ No newline at end of file diff --git a/docs/assets/diagrams/prompt-compression-ladder.png b/docs/assets/diagrams/prompt-compression-ladder.png new file mode 100644 index 0000000000000000000000000000000000000000..7ff8c447bf1e42256c5e1e9712e2ac530ff99e2a GIT binary patch literal 76213 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 z zI(vH~tB;H+^caMMnk!N2b+rsFVyO>jhn^R7iWgON1SeX*^^RLT>$Zn8sIYOVX{cyu zO7z{k z8FX3$K9-O&97P=aUp1?g>D*1afXS?=tW(xS9*{@R6`axs=@Fk(Oe-*;NrHV*T;9YTe-jDIMuor42B)WSKCMvUZF}ME+ znQ?j?SW?cZq<-1=-MO;gX-|>zZMaWqkA@LZ5+}0a!fBOaoO^GGSNlG$kL#F8xYpO) z?H^+Im4fc%TALfryG3cxron)!PK_>UKs|#=byUR5n_uaPje{L8UghGN*k2?$^zz`d zsS;PI?gr_nEY5=B{2R*2)RW5J9OX@=pIjby`@=(8-1g*_riEVn;9p+8({6L;KJDMg zMYPUqY{W|_d#=b5bQTg66uYPfNgTAhd&f%;2d)0ZTp2pkhutEZTU$#lgr5+@Rxhsf z`FP$CLH+;GnAMpehe%AF_#gM0akGqOfAhIH8h|FMor_%UO|DW!w9ztYjE0$*n(}xJ zeYbYI>hFxP7*6{LY4tnm86fpnRueoT&+p@ipAqlgKWP2=$z@fGYUb|YU~TUY9mLXM z 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

    7>(7na=@HIyaB*+gSel}~924*2aS;A_ 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 s0wT)500C1h1H + + + + + + + + + + + + + + + + + + + + + +Prompt compression ladder +Drop filler, keep technical substance exact. + + + +remove +preserve +clarify + +Verbose +"Could you please help +me refactor..." + +Lite +remove filler + +Full +fragments OK + +Ultra +arrows + abbrev + +Articles +pleasantries +hedging + +Technical terms +file names +code unchanged + +Scope +acceptance criteria +exact constraints +Visual rule: compression is a funnel, not a shredder. +Meaning must survive. + \ No newline at end of file diff --git a/docs/assets/diagrams/token-cost-anatomy.png b/docs/assets/diagrams/token-cost-anatomy.png new file mode 100644 index 0000000000000000000000000000000000000000..4cfbb93ebd3711897ce34631a5d2ed6cf72e6cb0 GIT binary patch literal 92859 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�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

    5yx=+O{QXp8_B> zr%KGl8T`eQwe36bJ7K>hP+Hik< z($pQ<@a5s<{eFFYx|x!Zw&dk<&3M?t!vgFf*nX0Q%>gysQJbQz@(%Ege}dBlTi%8S z%@ic4&-}VkbKOzM&^15Md>QdExHkDbT6tx33N?dAzderc-d)r|3I;lV;G=bbN?|UR zdxMwosbg%Qv|0=$qZ0^6Zh};~p(iC@nHhhXwCqg%qR9c!6q;KNMQGT%WBzPEzCn^T z*3VG)PK)(X(xC4%uU@3d(K}LX?Lc`lDn3qy-=_jrF>6>qPA&l#GKQaMwbRQU4q+a~ zCk!%7p~h&6RE(qK zY)V-{=;{X#kKvUOgn;%8;8($Wk!{Xz?d?5=a~>grV*{2jjS(?hy0uP{->F_XbFkCT-gKH9K@pa_wM%cL9>QC0RA&D7~R( zjK6HH3|c%Cy(R9Sd5KnnSaq}O4CYa|!9|AF)>1p`s63dq*O7SHjOr|+&8x7%bv3^a zF`$WX&R^7jdg|8=WLp1(-6qN| z)64rE8Lvc^b6SFl13)$pg~(|C${u|Y^>^BxwqMHt&&eh--jM)B$Ig&KNPCgPk^HhX z25A_|YyK{qMaa;12hsUi6a9hEMBbybR)5qU2yMtEzW5KUNJOOGRSGoVy1#{S{uD0E z5{Hi2#Z?!y)p<$i3*kHS^WYXxX(}frm7^Ac{SBZt;)Q}fd;cfUsnyi%jL@9QTW&luZY` z6sE|hG?EJ0zx703by{4b2@n32n>gZ7xU(xKEsQqg* z{H0BIaC3zy@gnC7012Xw`E^Pdnj>}r*!X2!7l{AoSqEem=>It4At1{B_~~Ej0H5-A z|8vGeKvZG>|Ev^bbpQb&3~l|(UaE3-BRub2U=UObR((^#>5Z8uLVMp1^R~jlCwoif zCTjjODSe>?MOuoukP7+MJ|q_(f?o2gkeo@X5rlM`m}PH$gor@*XTu*`b8s*TttQ7G zVWTEeO9Lm4?rjWBfx`WHdHR`cjU?9lqL1G$Yt+j`pqa3y#A=}$@*-Zi30N5Ig1I?z za~C^e;D)CLfiuIk%wdPG3!d#yuG(hr+jln%R~W~mGc?XNvXUY*WG2j=#0hTQxM=kl z9rpt&$gj=wT{KqU4cbw5ccxDBhIx$T^=0vw1u%!jpmTf>R;bF5j0wCrZ5b1Oe`!}z zW2=Gp(d`<@g9>h6<F2RHbssD1-F)n+_0R2Lq{&#{9 z>+u2{tR_gc_RK5S;o%$HPFjDdVEHA3rz52%UDMx_y|)R$^2?nc;N@Dp7+ii04HvmE zAe?$_^Fap+d)cEZ&Vcxsi2&8icKCA$&!a7F3 za;5rtyOD-`m2L5A*~&e^VRmBKz)i8J%p=B6nkWhv6$O7?o-9s!Adq8&KwyZ{#%d`F z9nPt02LQRoU*zU}imQr%w%jtX;jDhXZVIBS{525YuV#W`HS$*JJI{wIXp7`|01dk*fr^_ngP`4-IRu$j~|Ybw6dQ zvB-go)91_|h6Aezuhr7z4Y!gPQ;bT!bmnf*DHuo#L0|4|f9m~&&lPubBPC`bM)$PG zpu?b2?6gvBdICp=auAHIMmcrXuYkW5A5LbE?!UcrG{&;f`*|>k7GxDO@q6JLlv^Mf z+e@Oc+{O2r8IS4Q_bt&t*}kKe306NCgKmq z!d?Bv_A5=4xbARMw=E$h`r<836b?S};mNPfTbs<3*@X#XA?R)jzNVz~%E>*E*LwHY zr?%x-Bk3}e>k&8>oQ{E2>fX0Kc|Rwx@za>9TztnFD#e7@e|^&|{pQL?(($cF=zA)E zfy87r+ap`mZezRYc&Z!qpScs%c^4Yg5ICIw4(eMEUmrMu5+PmE)dNHjFgEhoSapUP zbdAVO5I6G~EK-CYuQB74QW!1u{J`C^X0Q`OgbzH!?-&h5-)5SRfi45Pf3EsAdzd9? zJ3MJ)zpT;E0b}Eni1a;$I2HHjS7okldtY+q;DhCh?pG?30oDSEGI#dCy}LXrX%o=l z9XRdj%q>^kPH7Zjspd(L75NYvyXRLglXZv_LXLdvL&|o!C~K{ zbN7u@9KRfC$C8Cd44BGhP8V7F{V(PCetdg?q8uY8%9b z29$+$nQ=&Ux#modgU5DBW z%Cp_SyrXL|_7J^~#K8{IpugQeZQme&O<9TB(eYbQ%k&7!HZ8fEp}O%?e>J*HB`~15 zT_bQ7Y1604>CKW>B*sA~X{{_e~xFTO5NvMuqbOEQsRIwU%z_y*+aHjKruZfn=VQW=w6AZwMuB{h z-VG;8@>+WSOW{~`&9|QSyNS2o9v&GG z^FJjJ2h2RVdvAV^9?AG>fK-e=pqu{fWEeXH>CW&R@=%JQL3;LcB?pDepr>y8{1FB!nVSvpqa9WHgtr}`V z*r^}sj1Q9(wZ>9gmdln|p=haMSv@on4}V!*D>_kpbbRIbeie@hivoghanuhU=A`{%q7vzj}M)=qaGo>*sAiijNA-)%q4G;(S?$p7&jLzrU_j*p=adlvK-(qSY> z!!IlS9M9ylGYQZ(zPq%-57yTu|2dGmP>8RcTIcl)4oZ+mNCya53vWE(>uJ`BV%tR+ zqwP!@qWB8kJ4o{G?c^Tnq3Pk5^;AG!xA~eX8N(tXUmk4-^U1Y&F>n~oxj1{OQ`p`U z`poL$fDDU5s(57>JHzy(Yu)cBQ`l$6TAUcf&5mAk{Wc2BmObHJwO6ch^ z#r>&!y?A&MK|b%fFhBX+3f3SqVZblFgWz0T9#XiM|2*&>os}q@WdJ&XQ%Afzy4cC|UlA{$KaktBpQm?eXiV}at$Gtl0-B<#m9Ld;ML`^~@KCm!gG9Av! zkt0L$7OoXVIs*fTT~1q`V5jMLj?+juetMQ06J4{h;kd;T^Z{)3W-L++ z^LJ4(OH2C<5o8 z0ZHjJ(ec99IKMbQ+|ezjPXLktzUY$TZK6ma5f1m=@jm;pIP~TY|%U>M47-@gOb00Cj#{Z?yIqxT(@l zFk7h~I70L(B6g-xTJ5&8XsDdsk`IX%#GV#SVuR&1X?AcN4~khaBQtvqHK*ntFh6_J zZ}c@lQtfqX*a{5vQ4iA;d&jGgCsJ48lq$?Vx!it7p-$-fs93#73RX7&0JO68tU>Yx znDnvOL-7`_=B(KBn~biS0q`^>h2nvN(BqVsJl%1yK~G$|vmAc1#FtTnp+Y}CfLf44-UET|a z3>FIPT=(u`G+F$AjSLK|{Q=sM$BsAsl?@mBlaaAL&a7!C0Y()T{WSK`5Tf(Z(gXWU z8g^2mmOT->alh^dpKAqdG_=*lDN(fd{gA+(5-@gS*z-u<_wE|FZXTV_<9>{6YU8R+ zx7>4I8HT@pIRPi?v^O);<~0;gLqUWNIqw`D?;Mz3JHmOtWwFW)hQKWTW5z>EkjFX; z##0l|jCq)Jg7#z$7sIKD3N;&WAPRzP!eWc=SG!@k-6>MGJWXTO_=NBMNnewAsK3n0 z3Ty_5s@M5{B*nr_$dIvWcDv{y<1-7Hkcf&yu5Q6(nJY~v&+)1o(yC@f(kx>CS{h<9{)80!#Co7JTT2LD-<9Yq^O~icCN>=osn%+;oS_c~SXIE?k%bqg6>MvpuboHBM zBA^K8!>Uu@bo)ty{uMH_!vIWp;9LfYG%?< zjC0TEfbj5q&C(EPXN7*sr?qQXa+2!Z3C(6Zhh4|!*_HVQfTt)tMw-e>dPirM^gciX z{`y>PB$M!zXEyV@#`f;Rd{-sCyo|)mWM!P{^P0{Re~*1GI)SY;+KpB~aW9yWv=W;qxZH<-OlM7_9GRF!MevBD)E!a6GaXR0}%IJig z#L2kHvxt)r({Il7zPWf4py;i139v!E70**)t2e($$%Hh&>67x8C*o$WRMX|1U_ zWgB|lu#z)`5Ycr&%c!{bMA5H3E29FmzI70YRFXVmqG|&7?dvrk%R=v3qt>+>XHMqO zxk?F&JR!2INe!7ExRd9h3nW0?RYpw0OI-G*_}G_s|JlbB`|`ayI+lvkvJ4BNf*;qw zu-FJ$hI<9o0Aha^W&d{PdJ?XekPr#_yy)^Cw3nO+Id8P>1E2Z`w$-ZJPXA9sL&8pD zs^)7>E6HptK_{y7fUNwqgTDNs!T0d&@+Y_xS@@X6+t9sn6Kw^U^Sw*=0Hg%*r>dB> z$*T724y!U8@2pYNp)9kzS1qa)&G&>1joCHo<%B5j0Ta>b$HtfQ_jL$T>b)63r%O&m z`Tfy@f{)(SWnC1{V`%?7AOoGc@NuU^_sy>`Kktzb65^N*F@tI@KnMXJJ%$XLEcfv2 zV!KA2t?`@Il*w<}luPZEHtOCW27N`mw-lO#GfVvVC z!KS_B9~@|rLdI6lOr5g1`F#(2ZR@~d<#5?&(GA|Cq-(Q4)w1qd<@aQbG@vQGi`d`& z?(DQK7Vr&c1W!|oZr*LxxiezLNAoim`x_d>W1Km&gx8|F(ww<7q@L>)ebX z?$!YAJPPu|HQ}|lw4Ztr;)MhD6iu`=*mypRqqQQJp1Lqr__XJq{4G^nLI>3cUL110V^?PrBf>n$S*0 zu`bAXHQs*5#$MK2g-(kTZ3=@>YakYZ(kgEt~rM{v=7I3WKe(4$k`%aDuBqPf1m%C z;qoJ-sQpsise8o2%!{)eBHL;0xuy5{PjO!&z}o#P#v%%>E|&T~vu=S(SoQ0ep87vV zSwS73O`7bvTa-T5fan_9$^TwbQWg$e*DOc~+xpkaJcbUq$zh-Yn?@0$uw*Q9_=USp z@QYE>S3RG0L=al(MqiYA@o#NwWWcKL|KSXXpGVJCr%X~I49yj(r(gtag@+8#IQFLsG-}Y|SAWt% zzKMfD`Esya)5n95mkyk^USO-upPlS;%U!q!rkVEY=98ohDgBJ%}pNULNMw=k8zxyjf^f? zYqPbrwBeG`b#Mg}cw%)h_Chk?rxK^@Z>DPXg2<{#optb=3?LvHeEB8$4GKIsa36R5 z+)(&7w4grp{sLq=obiUuE_k;hBV}2SGLoM((N~akp8LgB55Ze7Yq>>SUnQy)Pwo+$ zuOeLqLKz&lJ9Ni<@$^G55&&*0 z-*_!=Tze2~12_fBI_g06Kr~ftG-1gSwSFh+xQGPp1YwnDw?daDoD;di)NU7kJu zmU-!A-D%4gsL8OwRBLOOB}%iwgldydQ+838Xwt=jwqU^8`LX6s+$G|LQ>9zl1-f~v z7SkwT-Mq<}(tPN>E$swlOYXF>1#?nre^IfJ?*%n|q9|!y*|C&x%n?Gl+4WyC%8JNKVBL@@^N9eH3-wwYN#d*S`KVZqrn)~*EDEr>Es}( zQ;D*bE>H(b=FMuG8qmV{ixSq9$TG+Dk&aW5!p!vgNfX!h!4b!NfSqDy%zDhO>? z>;%c4;D^S@ijo3y_JJx;FPH$Git$azsM?nks`poYQH?;0)+C$WyHJkMEtvku$2_H7 zFIzUY>xhz|nm5}&6-ItlFi|?V#kTc3)hsU;so$Bk!grv)=p1*?lLvb?v&ShPHXZXd zMNkGy=d#}j$%l_$xjz1fX@G#x$IX#ermm!oPsEU+89@DsqGd{UWl&HhOg}}^R)9l_ z0&PVdCu8bBDT|QMpHsuB`Yvg}NGX{XCPS!@sm~ETaHNnK%Y-{l);M|(mpac0VdPyG zb(3yhv_-sqgl=xE%rs1sIMFO+0Vq(E4z0{Y!6&~Sl%h!me1%u2(JrEj(@5$si|M=2 z4|)6LO~#4fMhi0@?yjdsp+8H;Nss--N3JGjTsPI3a8A`R??1OjzHrz_Q|-12RrLf0 zI=bjY45`6zlZ1kr0bwn%>N?@ln6wT&gao2&hg(&IsGhY+E@wxCEcI)WYzIzM^57m5 zm1M9Rr8QpgKozSkv3frlwFOw4Ts0(cpgD_L3@k~6Ox;bK@J*XOvDh@IZ1=+ba4Uq> z(54fQVJVP^Q%<+r(Om#qP9?^=^AVA|h_y{}DEnJ7XbjlAu6ZkdjLg1%mxeRsejz zjh!&l*i=q&hHEGBKk0G)Y|O>Q=!yW>&a*h40;$ltNXZ2HB~~D-S%Q=xP2+UeT!973AlJ}Mr=e%pPEs)SsMc-eqJPCZDp=9T(c7K1 z@gpGAn;W>>>SYdrk1SG2zE=G$Knhmw7h0t!V=24pI^2$6)=(MardnLRd4yvt35~=& zoW&mrTdPBL{%+_z`1A?=1@0t%jY@6OW%LOz`9Z_U61peCjHJXu^J^rPl`I+eG8M^? zOKajRYtFEV{Z@PI_q&`CSKXYq-QN9fee+G9@j~Pt@Ff2w0wT6}D@s%WKlC?#C=9dM zEkF=iO)2@pB8#g&E(T&`Ek^IW|HdIODyH)to1J73R`PNT6}1?%^TqnPi3yTrVO?l} z>ou>X+=Q$x+P~FlD}{TNP9DILnFhwzBv0JmP}|4`LsV!Gu9UINvPAFTbzPgq@QhGq z;^F+giV4t;u+RpnCj+7;LG~(^_5?5l0?0|M>>F<)M9S*AN73iPtoETf+R z^a_XQD#p)iCu8opbw$DR|J=#nWr!4X(^WGvfJghBQ!QB~4>ipyr~u8=)ux@-MIbYc zVRks-NRkvu-?cS+!&oKxhciF$xJJlVGQ_CzqN8nvg*jM;JBW3=)sst1BKrDA#>VD|-TuiqWZC$>6IpB+u995?qd-|9p^T;?aY+|{ zsrpP$B02CFg?my{Owbcf@Domq2u#qAC0N+DY`D$~{YCyj_#y}ws8P(CP^jkjY80+i z4p1h|vRa9d$8w+jdh=HQ$#WFK4`@AHBv2kH`-m7h1RwVkV&wVvq7tZT=}fwz(bE1= zbab=n&7F`iHg0(KNs#QGS8G`yOJ_wm5KIvHLl5r@${(Qmh2cB?NCN8mFSIbB*H zrKaUVqq0FW0X(SM2}*BJ{C4}D-q)NXpt!m;oC9BSe&8Zy^KB?%>7{eK*zJF%16?jW zEKGde2beU|M0Kk`Z3pD29iW)fdZ)W~KiN1vnyBrkKfwwH6Zm%F->pgHb_7=NWs^MO;(OGW)*pRwIH0I=Mx|z7;l_SgCo8H#X$8g1%C?@ zX$#YrPJJLSs`NaTrZ#S%_B08vMhtR3_lr-BJV`+79Q~tSZZpr@Ylp}$hIr+W|Dhb} zlmG$K&U~cZ|7h8LJsHp>-Ve#0f^Bv}a5Tj=K}9$>0;R75kxc~kZsiAGX{86Muw;%> zq1q04!Y4k;QQ4BApWEX@N%6=1{EZa%xUZ0fA-(-|^Prl8(s}+$g@r^< zDGMtLBP%T<*?xcR`l(YA=9t4#hm&LMiD53%2_|2dJUWPv?A$5nN2sVrsH{*#VEr^Q z+OG^!GL$kh6@AK}Y4>~|&A9U_@*N+GU`!Kjj^Nd&5v51HJmR-c4G67||HE-K6pdS+ zsORfbHhbhy9*2JGIwe8z!!+4hoMg*SlaVaWAP9Wx)A{DKRr0NJ^miV~RX!4vI_WZb zuzR{jGVDp)JrbC=Vg8=k54GzWe}CCJ_SzT8uM+%% zFosxY1eqQ+{nVj2w_T=JP�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 literal 0 HcmV?d00001 diff --git a/docs/assets/diagrams/token-cost-anatomy.svg b/docs/assets/diagrams/token-cost-anatomy.svg new file mode 100644 index 0000000..96c0b49 --- /dev/null +++ b/docs/assets/diagrams/token-cost-anatomy.svg @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + +Token cost anatomy +Most input is hidden context; output is small but premium-priced. +tiny visible prompt + + + + + +INPUT TOKENS + +System prompt + repo instructions + +File context + open tabs + imports + +Conversation history grows every turn + +MCP/tool schemas: loaded per step + +Your typed prompt + +OUTPUT TOKENS +visible answer +5x pricing +intuition + +CACHED TOKENS +stable prefix gets +cheaper +Optimize first: +constrain responses + \ No newline at end of file diff --git a/docs/diagrams/agent-cost-loop.excalidraw b/docs/diagrams/agent-cost-loop.excalidraw new file mode 100644 index 0000000..32c4e2c --- /dev/null +++ b/docs/diagrams/agent-cost-loop.excalidraw @@ -0,0 +1,665 @@ +{ + "type": "excalidraw", + "version": 2, + "source": "https://excalidraw.com", + "elements": [ + { + "id": "txt_1", + "type": "text", + "x": 54, + "y": 36.260000000000005, + "width": 1342, + "height": 42.5, + "angle": 0, + "strokeColor": "#14213d", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1001, + "version": 1, + "versionNonce": 2001, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "Agent mode cost loop", + "fontSize": 34, + "fontFamily": 3, + "textAlign": "left", + "verticalAlign": "middle", + "containerId": null, + "originalText": "Agent mode cost loop", + "lineHeight": 1.22 + }, + { + "id": "txt_2", + "type": "text", + "x": 54, + "y": 76.02, + "width": 1342, + "height": 22.5, + "angle": 0, + "strokeColor": "#526171", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1002, + "version": 1, + "versionNonce": 2002, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "Every tool step replays more context than the previous one.", + "fontSize": 18, + "fontFamily": 3, + "textAlign": "left", + "verticalAlign": "middle", + "containerId": null, + "originalText": "Every tool step replays more context than the previous one.", + "lineHeight": 1.22 + }, + { + "id": "arrow_10", + "type": "arrow", + "x": 460, + "y": 250, + "width": 110, + "height": -35, + "angle": 0, + "strokeColor": "#2563eb", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 3, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 5010, + "version": 1, + "versionNonce": 6010, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 110, + -35 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": "arrow" + }, + { + "id": "arrow_11", + "type": "arrow", + "x": 880, + "y": 215, + "width": 110, + "height": 35, + "angle": 0, + "strokeColor": "#0f766e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 3, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 5011, + "version": 1, + "versionNonce": 6011, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 110, + 35 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": "arrow" + }, + { + "id": "arrow_12", + "type": "arrow", + "x": 1145, + "y": 325, + "width": -165, + "height": 175, + "angle": 0, + "strokeColor": "#7c3aed", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 3, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 5012, + "version": 1, + "versionNonce": 6012, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 20, + 145 + ], + [ + -165, + 175 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": "arrow" + }, + { + "id": "arrow_13", + "type": "arrow", + "x": 780, + "y": 565, + "width": -120, + "height": 0, + "angle": 0, + "strokeColor": "#d97706", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 3, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 5013, + "version": 1, + "versionNonce": 6013, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -120, + 0 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": "arrow" + }, + { + "id": "arrow_14", + "type": "arrow", + "x": 350, + "y": 560, + "width": -140, + "height": -235, + "angle": 0, + "strokeColor": "#dc2626", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 3, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 5014, + "version": 1, + "versionNonce": 6014, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -205, + -60 + ], + [ + -140, + -235 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": "arrow" + }, + { + "id": "shape_100", + "type": "rectangle", + "x": 150, + "y": 205, + "width": 310, + "height": 120, + "angle": 0, + "strokeColor": "#2563eb", + "backgroundColor": "#dbeafe", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "seed": 3100, + "version": 1, + "versionNonce": 4100, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "txt_600", + "type": "text", + "x": 150, + "y": 226.57, + "width": 310, + "height": 78.75, + "angle": 0, + "strokeColor": "#14213d", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1600, + "version": 1, + "versionNonce": 2600, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "1. Load context\nsystem + instructions\n+ tools + history", + "fontSize": 21, + "fontFamily": 3, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": null, + "originalText": "1. Load context\nsystem + instructions\n+ tools + history", + "lineHeight": 1.22 + }, + { + "id": "shape_101", + "type": "rectangle", + "x": 570, + "y": 155, + "width": 310, + "height": 120, + "angle": 0, + "strokeColor": "#0f766e", + "backgroundColor": "#ccfbf1", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "seed": 3101, + "version": 1, + "versionNonce": 4101, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "txt_601", + "type": "text", + "x": 570, + "y": 189.38, + "width": 310, + "height": 52.5, + "angle": 0, + "strokeColor": "#14213d", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1601, + "version": 1, + "versionNonce": 2601, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "2. Model decides\nwhich tool to call", + "fontSize": 21, + "fontFamily": 3, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": null, + "originalText": "2. Model decides\nwhich tool to call", + "lineHeight": 1.22 + }, + { + "id": "shape_102", + "type": "rectangle", + "x": 990, + "y": 205, + "width": 310, + "height": 120, + "angle": 0, + "strokeColor": "#7c3aed", + "backgroundColor": "#ede9fe", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "seed": 3102, + "version": 1, + "versionNonce": 4102, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "txt_602", + "type": "text", + "x": 990, + "y": 239.38, + "width": 310, + "height": 52.5, + "angle": 0, + "strokeColor": "#14213d", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1602, + "version": 1, + "versionNonce": 2602, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "3. Tool result\nbecomes next input", + "fontSize": 21, + "fontFamily": 3, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": null, + "originalText": "3. Tool result\nbecomes next input", + "lineHeight": 1.22 + }, + { + "id": "shape_103", + "type": "rectangle", + "x": 780, + "y": 500, + "width": 310, + "height": 125, + "angle": 0, + "strokeColor": "#d97706", + "backgroundColor": "#fef3c7", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "seed": 3103, + "version": 1, + "versionNonce": 4103, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "txt_603", + "type": "text", + "x": 780, + "y": 524.07, + "width": 310, + "height": 78.75, + "angle": 0, + "strokeColor": "#14213d", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1603, + "version": 1, + "versionNonce": 2603, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "4. Replay all prior\ncontext + result +\nhistory", + "fontSize": 21, + "fontFamily": 3, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": null, + "originalText": "4. Replay all prior\ncontext + result +\nhistory", + "lineHeight": 1.22 + }, + { + "id": "shape_104", + "type": "rectangle", + "x": 350, + "y": 500, + "width": 310, + "height": 125, + "angle": 0, + "strokeColor": "#dc2626", + "backgroundColor": "#fee2e2", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "seed": 3104, + "version": 1, + "versionNonce": 4104, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "txt_604", + "type": "text", + "x": 350, + "y": 524.07, + "width": 310, + "height": 78.75, + "angle": 0, + "strokeColor": "#14213d", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1604, + "version": 1, + "versionNonce": 2604, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "5. Repeat\n5-25 times if task is\nbroad", + "fontSize": 21, + "fontFamily": 3, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": null, + "originalText": "5. Repeat\n5-25 times if task is\nbroad", + "lineHeight": 1.22 + }, + { + "id": "txt_105", + "type": "text", + "x": 220, + "y": 708.7, + "width": 1010, + "height": 37.5, + "angle": 0, + "strokeColor": "#14213d", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1105, + "version": 1, + "versionNonce": 2105, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "Avoided step = one full context reload saved.", + "fontSize": 30, + "fontFamily": 3, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": null, + "originalText": "Avoided step = one full context reload saved.", + "lineHeight": 1.22 + } + ], + "appState": { + "viewBackgroundColor": "#fbfcfe", + "gridSize": 20 + }, + "files": {} +} \ No newline at end of file diff --git a/docs/diagrams/cache-stability.excalidraw b/docs/diagrams/cache-stability.excalidraw new file mode 100644 index 0000000..f390cae --- /dev/null +++ b/docs/diagrams/cache-stability.excalidraw @@ -0,0 +1,824 @@ +{ + "type": "excalidraw", + "version": 2, + "source": "https://excalidraw.com", + "elements": [ + { + "id": "txt_1", + "type": "text", + "x": 54, + "y": 36.260000000000005, + "width": 1342, + "height": 42.5, + "angle": 0, + "strokeColor": "#14213d", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1001, + "version": 1, + "versionNonce": 2001, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "Cache stability", + "fontSize": 34, + "fontFamily": 3, + "textAlign": "left", + "verticalAlign": "middle", + "containerId": null, + "originalText": "Cache stability", + "lineHeight": 1.22 + }, + { + "id": "txt_2", + "type": "text", + "x": 54, + "y": 76.02, + "width": 1342, + "height": 22.5, + "angle": 0, + "strokeColor": "#526171", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1002, + "version": 1, + "versionNonce": 2002, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "Keep the control surface fixed; switch lanes in a fresh session.", + "fontSize": 18, + "fontFamily": 3, + "textAlign": "left", + "verticalAlign": "middle", + "containerId": null, + "originalText": "Keep the control surface fixed; switch lanes in a fresh session.", + "lineHeight": 1.22 + }, + { + "id": "arrow_10", + "type": "arrow", + "x": 350, + "y": 310, + "width": 0, + "height": 40, + "angle": 0, + "strokeColor": "#16a34a", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 3, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 5010, + "version": 1, + "versionNonce": 6010, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 40 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": "arrow" + }, + { + "id": "arrow_11", + "type": "arrow", + "x": 350, + "y": 440, + "width": 0, + "height": 40, + "angle": 0, + "strokeColor": "#16a34a", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 3, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 5011, + "version": 1, + "versionNonce": 6011, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 40 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": "arrow" + }, + { + "id": "arrow_12", + "type": "arrow", + "x": 1065, + "y": 310, + "width": 0, + "height": 40, + "angle": 0, + "strokeColor": "#2563eb", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 3, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 5012, + "version": 1, + "versionNonce": 6012, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 40 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": "arrow" + }, + { + "id": "arrow_13", + "type": "arrow", + "x": 1065, + "y": 440, + "width": 0, + "height": 40, + "angle": 0, + "strokeColor": "#dc2626", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 3, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 5013, + "version": 1, + "versionNonce": 6013, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 40 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": "arrow" + }, + { + "id": "arrow_14", + "type": "arrow", + "x": 1065, + "y": 570, + "width": -160, + "height": 105, + "angle": 0, + "strokeColor": "#d97706", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 3, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 5014, + "version": 1, + "versionNonce": 6014, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -5, + 85 + ], + [ + -160, + 105 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": "arrow" + }, + { + "id": "txt_100", + "type": "text", + "x": 150, + "y": 155.7, + "width": 500, + "height": 37.5, + "angle": 0, + "strokeColor": "#16a34a", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1100, + "version": 1, + "versionNonce": 2100, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "Stable thread", + "fontSize": 30, + "fontFamily": 3, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": null, + "originalText": "Stable thread", + "lineHeight": 1.22 + }, + { + "id": "shape_101", + "type": "rectangle", + "x": 90, + "y": 220, + "width": 520, + "height": 90, + "angle": 0, + "strokeColor": "#16a34a", + "backgroundColor": "#dcfce7", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "seed": 3101, + "version": 1, + "versionNonce": 4101, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "txt_601", + "type": "text", + "x": 90, + "y": 238.16, + "width": 520, + "height": 55.0, + "angle": 0, + "strokeColor": "#14213d", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1601, + "version": 1, + "versionNonce": 2601, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "Turn 1\nsame model + MCP + agent", + "fontSize": 22, + "fontFamily": 3, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": null, + "originalText": "Turn 1\nsame model + MCP + agent", + "lineHeight": 1.22 + }, + { + "id": "shape_102", + "type": "rectangle", + "x": 90, + "y": 350, + "width": 520, + "height": 90, + "angle": 0, + "strokeColor": "#16a34a", + "backgroundColor": "#dcfce7", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "seed": 3102, + "version": 1, + "versionNonce": 4102, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "txt_602", + "type": "text", + "x": 90, + "y": 368.16, + "width": 520, + "height": 55.0, + "angle": 0, + "strokeColor": "#14213d", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1602, + "version": 1, + "versionNonce": 2602, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "Turn 2\ncached prefix reused", + "fontSize": 22, + "fontFamily": 3, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": null, + "originalText": "Turn 2\ncached prefix reused", + "lineHeight": 1.22 + }, + { + "id": "shape_103", + "type": "rectangle", + "x": 90, + "y": 480, + "width": 520, + "height": 90, + "angle": 0, + "strokeColor": "#16a34a", + "backgroundColor": "#dcfce7", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "seed": 3103, + "version": 1, + "versionNonce": 4103, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "txt_603", + "type": "text", + "x": 90, + "y": 498.16, + "width": 520, + "height": 55.0, + "angle": 0, + "strokeColor": "#14213d", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1603, + "version": 1, + "versionNonce": 2603, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "Turn 3\nonly newest request changes", + "fontSize": 22, + "fontFamily": 3, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": null, + "originalText": "Turn 3\nonly newest request changes", + "lineHeight": 1.22 + }, + { + "id": "txt_104", + "type": "text", + "x": 870, + "y": 155.7, + "width": 500, + "height": 37.5, + "angle": 0, + "strokeColor": "#dc2626", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1104, + "version": 1, + "versionNonce": 2104, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "Cache-busted thread", + "fontSize": 30, + "fontFamily": 3, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": null, + "originalText": "Cache-busted thread", + "lineHeight": 1.22 + }, + { + "id": "shape_105", + "type": "rectangle", + "x": 805, + "y": 220, + "width": 520, + "height": 90, + "angle": 0, + "strokeColor": "#2563eb", + "backgroundColor": "#dbeafe", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "seed": 3105, + "version": 1, + "versionNonce": 4105, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "txt_605", + "type": "text", + "x": 805, + "y": 238.16, + "width": 520, + "height": 55.0, + "angle": 0, + "strokeColor": "#14213d", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1605, + "version": 1, + "versionNonce": 2605, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "Turn 1\nmodel A + MCP set A", + "fontSize": 22, + "fontFamily": 3, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": null, + "originalText": "Turn 1\nmodel A + MCP set A", + "lineHeight": 1.22 + }, + { + "id": "shape_106", + "type": "rectangle", + "x": 805, + "y": 350, + "width": 520, + "height": 90, + "angle": 0, + "strokeColor": "#dc2626", + "backgroundColor": "#fee2e2", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "seed": 3106, + "version": 1, + "versionNonce": 4106, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "txt_606", + "type": "text", + "x": 805, + "y": 368.16, + "width": 520, + "height": 55.0, + "angle": 0, + "strokeColor": "#14213d", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1606, + "version": 1, + "versionNonce": 2606, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "Mid-thread switch\nmodel/MCP/agent changes", + "fontSize": 22, + "fontFamily": 3, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": null, + "originalText": "Mid-thread switch\nmodel/MCP/agent changes", + "lineHeight": 1.22 + }, + { + "id": "shape_107", + "type": "rectangle", + "x": 805, + "y": 480, + "width": 520, + "height": 90, + "angle": 0, + "strokeColor": "#d97706", + "backgroundColor": "#fef3c7", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "seed": 3107, + "version": 1, + "versionNonce": 4107, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "txt_607", + "type": "text", + "x": 805, + "y": 498.16, + "width": 520, + "height": 55.0, + "angle": 0, + "strokeColor": "#14213d", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1607, + "version": 1, + "versionNonce": 2607, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "Turn 3\nprefix reprocessed + stale history", + "fontSize": 22, + "fontFamily": 3, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": null, + "originalText": "Turn 3\nprefix reprocessed + stale history", + "lineHeight": 1.22 + }, + { + "id": "shape_108", + "type": "rectangle", + "x": 545, + "y": 635, + "width": 360, + "height": 80, + "angle": 0, + "strokeColor": "#7c3aed", + "backgroundColor": "#ede9fe", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "seed": 3108, + "version": 1, + "versionNonce": 4108, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "txt_608", + "type": "text", + "x": 545, + "y": 631.08, + "width": 360, + "height": 90.0, + "angle": 0, + "strokeColor": "#14213d", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1608, + "version": 1, + "versionNonce": 2608, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "Better: handoff\nsummary\nthen fresh session", + "fontSize": 24, + "fontFamily": 3, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": null, + "originalText": "Better: handoff\nsummary\nthen fresh session", + "lineHeight": 1.22 + } + ], + "appState": { + "viewBackgroundColor": "#fbfcfe", + "gridSize": 20 + }, + "files": {} +} \ No newline at end of file diff --git a/docs/diagrams/context-loading-boundaries.excalidraw b/docs/diagrams/context-loading-boundaries.excalidraw new file mode 100644 index 0000000..e2f01b2 --- /dev/null +++ b/docs/diagrams/context-loading-boundaries.excalidraw @@ -0,0 +1,467 @@ +{ + "type": "excalidraw", + "version": 2, + "source": "https://excalidraw.com", + "elements": [ + { + "id": "txt_1", + "type": "text", + "x": 54, + "y": 36.260000000000005, + "width": 1342, + "height": 42.5, + "angle": 0, + "strokeColor": "#14213d", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1001, + "version": 1, + "versionNonce": 2001, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "Context loading boundaries", + "fontSize": 34, + "fontFamily": 3, + "textAlign": "left", + "verticalAlign": "middle", + "containerId": null, + "originalText": "Context loading boundaries", + "lineHeight": 1.22 + }, + { + "id": "txt_2", + "type": "text", + "x": 54, + "y": 76.02, + "width": 1342, + "height": 22.5, + "angle": 0, + "strokeColor": "#526171", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1002, + "version": 1, + "versionNonce": 2002, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "Always-on is a tax; scoped and on-demand context loads only when useful.", + "fontSize": 18, + "fontFamily": 3, + "textAlign": "left", + "verticalAlign": "middle", + "containerId": null, + "originalText": "Always-on is a tax; scoped and on-demand context loads only when useful.", + "lineHeight": 1.22 + }, + { + "id": "arrow_10", + "type": "arrow", + "x": 440, + "y": 415, + "width": 80, + "height": -5, + "angle": 0, + "strokeColor": "#dc2626", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 3, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 5010, + "version": 1, + "versionNonce": 6010, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 80, + -5 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": "arrow" + }, + { + "id": "txt_710", + "type": "text", + "x": 395.0, + "y": 383.74, + "width": 170, + "height": 20.0, + "angle": 0, + "strokeColor": "#dc2626", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1710, + "version": 1, + "versionNonce": 2710, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "prune", + "fontSize": 16, + "fontFamily": 3, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": null, + "originalText": "prune", + "lineHeight": 1.22 + }, + { + "id": "arrow_11", + "type": "arrow", + "x": 890, + "y": 410, + "width": 80, + "height": 0, + "angle": 0, + "strokeColor": "#2563eb", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 3, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 5011, + "version": 1, + "versionNonce": 6011, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 80, + 0 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": "arrow" + }, + { + "id": "txt_711", + "type": "text", + "x": 845.0, + "y": 381.24, + "width": 170, + "height": 20.0, + "angle": 0, + "strokeColor": "#2563eb", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1711, + "version": 1, + "versionNonce": 2711, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "defer", + "fontSize": 16, + "fontFamily": 3, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": null, + "originalText": "defer", + "lineHeight": 1.22 + }, + { + "id": "shape_100", + "type": "rectangle", + "x": 80, + "y": 175, + "width": 360, + "height": 480, + "angle": 0, + "strokeColor": "#dc2626", + "backgroundColor": "#fee2e2", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "seed": 3100, + "version": 1, + "versionNonce": 4100, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "txt_600", + "type": "text", + "x": 80, + "y": 327.15999999999997, + "width": 360, + "height": 180.0, + "angle": 0, + "strokeColor": "#14213d", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1600, + "version": 1, + "versionNonce": 2600, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "ALWAYS-ON\nloaded every turn\n\n\u2022 repo instructions\n\u2022 AGENTS.md/CLAUDE.md\n\u2022 active MCP schemas", + "fontSize": 24, + "fontFamily": 3, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": null, + "originalText": "ALWAYS-ON\nloaded every turn\n\n\u2022 repo instructions\n\u2022 AGENTS.md/CLAUDE.md\n\u2022 active MCP schemas", + "lineHeight": 1.22 + }, + { + "id": "shape_101", + "type": "rectangle", + "x": 520, + "y": 230, + "width": 370, + "height": 360, + "angle": 0, + "strokeColor": "#2563eb", + "backgroundColor": "#dbeafe", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "seed": 3101, + "version": 1, + "versionNonce": 4101, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "txt_601", + "type": "text", + "x": 520, + "y": 342.9, + "width": 370, + "height": 137.5, + "angle": 0, + "strokeColor": "#14213d", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1601, + "version": 1, + "versionNonce": 2601, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "SCOPED\nloads by path\n\n.github/instructions/*.md\napplyTo: src/api/**", + "fontSize": 22, + "fontFamily": 3, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": null, + "originalText": "SCOPED\nloads by path\n\n.github/instructions/*.md\napplyTo: src/api/**", + "lineHeight": 1.22 + }, + { + "id": "shape_102", + "type": "rectangle", + "x": 970, + "y": 285, + "width": 320, + "height": 250, + "angle": 0, + "strokeColor": "#16a34a", + "backgroundColor": "#dcfce7", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "seed": 3102, + "version": 1, + "versionNonce": 4102, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "txt_602", + "type": "text", + "x": 970, + "y": 339.85, + "width": 320, + "height": 143.75, + "angle": 0, + "strokeColor": "#14213d", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1602, + "version": 1, + "versionNonce": 2602, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "ON-DEMAND\nloads when invoked\n\nskills, checklists,\nprompt snippets", + "fontSize": 23, + "fontFamily": 3, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": null, + "originalText": "ON-DEMAND\nloads when invoked\n\nskills, checklists,\nprompt snippets", + "lineHeight": 1.22 + }, + { + "id": "txt_103", + "type": "text", + "x": 150, + "y": 680.62, + "width": 1100, + "height": 72.5, + "angle": 0, + "strokeColor": "#14213d", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1103, + "version": 1, + "versionNonce": 2103, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "Target shape: tiny core + narrow scoped slices +\noccasional skills.", + "fontSize": 29, + "fontFamily": 3, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": null, + "originalText": "Target shape: tiny core + narrow scoped slices +\noccasional skills.", + "lineHeight": 1.22 + } + ], + "appState": { + "viewBackgroundColor": "#fbfcfe", + "gridSize": 20 + }, + "files": {} +} \ No newline at end of file diff --git a/docs/diagrams/enterprise-governance-control-plane.excalidraw b/docs/diagrams/enterprise-governance-control-plane.excalidraw new file mode 100644 index 0000000..a681402 --- /dev/null +++ b/docs/diagrams/enterprise-governance-control-plane.excalidraw @@ -0,0 +1,875 @@ +{ + "type": "excalidraw", + "version": 2, + "source": "https://excalidraw.com", + "elements": [ + { + "id": "txt_1", + "type": "text", + "x": 54, + "y": 36.260000000000005, + "width": 1392, + "height": 42.5, + "angle": 0, + "strokeColor": "#14213d", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1001, + "version": 1, + "versionNonce": 2001, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "Enterprise governance control plane", + "fontSize": 34, + "fontFamily": 3, + "textAlign": "left", + "verticalAlign": "middle", + "containerId": null, + "originalText": "Enterprise governance control plane", + "lineHeight": 1.22 + }, + { + "id": "txt_2", + "type": "text", + "x": 54, + "y": 76.02, + "width": 1392, + "height": 22.5, + "angle": 0, + "strokeColor": "#526171", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1002, + "version": 1, + "versionNonce": 2002, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "Spend control is budgets + cohorts + model policy, not prompt compression alone.", + "fontSize": 18, + "fontFamily": 3, + "textAlign": "left", + "verticalAlign": "middle", + "containerId": null, + "originalText": "Spend control is budgets + cohorts + model policy, not prompt compression alone.", + "lineHeight": 1.22 + }, + { + "id": "arrow_10", + "type": "arrow", + "x": 390, + "y": 242, + "width": 185, + "height": 88, + "angle": 0, + "strokeColor": "#2563eb", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 3, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 5010, + "version": 1, + "versionNonce": 6010, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 185, + 88 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": "arrow" + }, + { + "id": "arrow_11", + "type": "arrow", + "x": 390, + "y": 422, + "width": 185, + "height": -62, + "angle": 0, + "strokeColor": "#0f766e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 3, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 5011, + "version": 1, + "versionNonce": 6011, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 185, + -62 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": "arrow" + }, + { + "id": "arrow_12", + "type": "arrow", + "x": 390, + "y": 602, + "width": 185, + "height": -207, + "angle": 0, + "strokeColor": "#7c3aed", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 3, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 5012, + "version": 1, + "versionNonce": 6012, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 185, + -207 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": "arrow" + }, + { + "id": "arrow_13", + "type": "arrow", + "x": 925, + "y": 360, + "width": 145, + "height": -118, + "angle": 0, + "strokeColor": "#d97706", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 3, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 5013, + "version": 1, + "versionNonce": 6013, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 145, + -118 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": "arrow" + }, + { + "id": "arrow_14", + "type": "arrow", + "x": 1225, + "y": 300, + "width": 0, + "height": 105, + "angle": 0, + "strokeColor": "#16a34a", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 3, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 5014, + "version": 1, + "versionNonce": 6014, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 105 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": "arrow" + }, + { + "id": "arrow_15", + "type": "arrow", + "x": 1225, + "y": 540, + "width": 0, + "height": 75, + "angle": 0, + "strokeColor": "#dc2626", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 3, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 5015, + "version": 1, + "versionNonce": 6015, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 75 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": "arrow" + }, + { + "id": "arrow_16", + "type": "arrow", + "x": 1070, + "y": 660, + "width": -835, + "height": 0, + "angle": 0, + "strokeColor": "#2563eb", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 3, + "strokeStyle": "dashed", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 5016, + "version": 1, + "versionNonce": 6016, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -350, + 100 + ], + [ + -835, + 0 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": "arrow" + }, + { + "id": "txt_716", + "type": "text", + "x": 567.5, + "y": 621.48, + "width": 170, + "height": 40.0, + "angle": 0, + "strokeColor": "#2563eb", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1716, + "version": 1, + "versionNonce": 2716, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "monthly review\nloop", + "fontSize": 16, + "fontFamily": 3, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": null, + "originalText": "monthly review\nloop", + "lineHeight": 1.22 + }, + { + "id": "shape_100", + "type": "rectangle", + "x": 80, + "y": 185, + "width": 310, + "height": 115, + "angle": 0, + "strokeColor": "#2563eb", + "backgroundColor": "#dbeafe", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "seed": 3100, + "version": 1, + "versionNonce": 4100, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "txt_600", + "type": "text", + "x": 80, + "y": 193.7, + "width": 310, + "height": 100.0, + "angle": 0, + "strokeColor": "#14213d", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1600, + "version": 1, + "versionNonce": 2600, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "Budgets\nenterprise/org/cost\ncenter\nstop usage when needed", + "fontSize": 20, + "fontFamily": 3, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": null, + "originalText": "Budgets\nenterprise/org/cost\ncenter\nstop usage when needed", + "lineHeight": 1.22 + }, + { + "id": "shape_101", + "type": "rectangle", + "x": 80, + "y": 365, + "width": 310, + "height": 115, + "angle": 0, + "strokeColor": "#0f766e", + "backgroundColor": "#ccfbf1", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "seed": 3101, + "version": 1, + "versionNonce": 4101, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "txt_601", + "type": "text", + "x": 80, + "y": 385.9, + "width": 310, + "height": 75.0, + "angle": 0, + "strokeColor": "#14213d", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1601, + "version": 1, + "versionNonce": 2601, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "User-level budgets\n$0 blocks usage-based\nfeatures", + "fontSize": 20, + "fontFamily": 3, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": null, + "originalText": "User-level budgets\n$0 blocks usage-based\nfeatures", + "lineHeight": 1.22 + }, + { + "id": "shape_102", + "type": "rectangle", + "x": 80, + "y": 545, + "width": 310, + "height": 115, + "angle": 0, + "strokeColor": "#7c3aed", + "backgroundColor": "#ede9fe", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "seed": 3102, + "version": 1, + "versionNonce": 4102, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "txt_602", + "type": "text", + "x": 80, + "y": 565.9, + "width": 310, + "height": 75.0, + "angle": 0, + "strokeColor": "#14213d", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1602, + "version": 1, + "versionNonce": 2602, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "Model access policy\nenable premium\nnarrowly", + "fontSize": 20, + "fontFamily": 3, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": null, + "originalText": "Model access policy\nenable premium\nnarrowly", + "lineHeight": 1.22 + }, + { + "id": "shape_103", + "type": "rectangle", + "x": 575, + "y": 275, + "width": 350, + "height": 170, + "angle": 0, + "strokeColor": "#d97706", + "backgroundColor": "#fef3c7", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "seed": 3103, + "version": 1, + "versionNonce": 4103, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "txt_603", + "type": "text", + "x": 575, + "y": 303.88, + "width": 350, + "height": 115.0, + "angle": 0, + "strokeColor": "#14213d", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1603, + "version": 1, + "versionNonce": 2603, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "Usage reports\nbilling CSVs\nAI-credit consumption\nagent workflow spend", + "fontSize": 23, + "fontFamily": 3, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": null, + "originalText": "Usage reports\nbilling CSVs\nAI-credit consumption\nagent workflow spend", + "lineHeight": 1.22 + }, + { + "id": "shape_104", + "type": "rectangle", + "x": 1070, + "y": 185, + "width": 310, + "height": 115, + "angle": 0, + "strokeColor": "#16a34a", + "backgroundColor": "#dcfce7", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "seed": 3104, + "version": 1, + "versionNonce": 4104, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "txt_604", + "type": "text", + "x": 1070, + "y": 205.9, + "width": 310, + "height": 75.0, + "angle": 0, + "strokeColor": "#14213d", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1604, + "version": 1, + "versionNonce": 2604, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "Spend cohorts\nbaseline / power users\nreview cadence", + "fontSize": 20, + "fontFamily": 3, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": null, + "originalText": "Spend cohorts\nbaseline / power users\nreview cadence", + "lineHeight": 1.22 + }, + { + "id": "shape_105", + "type": "diamond", + "x": 1085, + "y": 405, + "width": 280, + "height": 135, + "angle": 0, + "strokeColor": "#dc2626", + "backgroundColor": "#fee2e2", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 3105, + "version": 1, + "versionNonce": 4105, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "txt_605", + "type": "text", + "x": 1085, + "y": 446.88, + "width": 280, + "height": 52.5, + "angle": 0, + "strokeColor": "#14213d", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1605, + "version": 1, + "versionNonce": 2605, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "Value justifies\nspend?", + "fontSize": 21, + "fontFamily": 3, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": null, + "originalText": "Value justifies\nspend?", + "lineHeight": 1.22 + }, + { + "id": "shape_106", + "type": "rectangle", + "x": 1070, + "y": 615, + "width": 310, + "height": 90, + "angle": 0, + "strokeColor": "#2563eb", + "backgroundColor": "#dbeafe", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "seed": 3106, + "version": 1, + "versionNonce": 4106, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "txt_606", + "type": "text", + "x": 1070, + "y": 634.38, + "width": 310, + "height": 52.5, + "angle": 0, + "strokeColor": "#14213d", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1606, + "version": 1, + "versionNonce": 2606, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "Expand, rollback,\nor retune policy", + "fontSize": 21, + "fontFamily": 3, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": null, + "originalText": "Expand, rollback,\nor retune policy", + "lineHeight": 1.22 + } + ], + "appState": { + "viewBackgroundColor": "#fbfcfe", + "gridSize": 20 + }, + "files": {} +} \ No newline at end of file diff --git a/docs/diagrams/format-tax-pipeline.excalidraw b/docs/diagrams/format-tax-pipeline.excalidraw new file mode 100644 index 0000000..7c98a53 --- /dev/null +++ b/docs/diagrams/format-tax-pipeline.excalidraw @@ -0,0 +1,725 @@ +{ + "type": "excalidraw", + "version": 2, + "source": "https://excalidraw.com", + "elements": [ + { + "id": "txt_1", + "type": "text", + "x": 54, + "y": 36.260000000000005, + "width": 1342, + "height": 42.5, + "angle": 0, + "strokeColor": "#14213d", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1001, + "version": 1, + "versionNonce": 2001, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "Format tax pipeline", + "fontSize": 34, + "fontFamily": 3, + "textAlign": "left", + "verticalAlign": "middle", + "containerId": null, + "originalText": "Format tax pipeline", + "lineHeight": 1.22 + }, + { + "id": "txt_2", + "type": "text", + "x": 54, + "y": 76.02, + "width": 1342, + "height": 22.5, + "angle": 0, + "strokeColor": "#526171", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1002, + "version": 1, + "versionNonce": 2002, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "Convert rich files to Markdown before they enter AI context.", + "fontSize": 18, + "fontFamily": 3, + "textAlign": "left", + "verticalAlign": "middle", + "containerId": null, + "originalText": "Convert rich files to Markdown before they enter AI context.", + "lineHeight": 1.22 + }, + { + "id": "arrow_10", + "type": "arrow", + "x": 340, + "y": 280, + "width": 85, + "height": 0, + "angle": 0, + "strokeColor": "#dc2626", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 3, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 5010, + "version": 1, + "versionNonce": 6010, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 85, + 0 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": "arrow" + }, + { + "id": "arrow_11", + "type": "arrow", + "x": 705, + "y": 280, + "width": 95, + "height": 0, + "angle": 0, + "strokeColor": "#d97706", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 3, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 5011, + "version": 1, + "versionNonce": 6011, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 95, + 0 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": "arrow" + }, + { + "id": "arrow_12", + "type": "arrow", + "x": 1050, + "y": 280, + "width": 90, + "height": 0, + "angle": 0, + "strokeColor": "#2563eb", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 3, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 5012, + "version": 1, + "versionNonce": 6012, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 90, + 0 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": "arrow" + }, + { + "id": "arrow_13", + "type": "arrow", + "x": 1255, + "y": 340, + "width": -245, + "height": 160, + "angle": 0, + "strokeColor": "#16a34a", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 3, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 5013, + "version": 1, + "versionNonce": 6013, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 5, + 130 + ], + [ + -245, + 160 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": "arrow" + }, + { + "id": "arrow_14", + "type": "arrow", + "x": 565, + "y": 545, + "width": 325, + "height": 0, + "angle": 0, + "strokeColor": "#0f766e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 3, + "strokeStyle": "dashed", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 5014, + "version": 1, + "versionNonce": 6014, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 325, + 0 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": "arrow" + }, + { + "id": "txt_714", + "type": "text", + "x": 642.5, + "y": 516.24, + "width": 170, + "height": 20.0, + "angle": 0, + "strokeColor": "#0f766e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1714, + "version": 1, + "versionNonce": 2714, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "working format", + "fontSize": 16, + "fontFamily": 3, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": null, + "originalText": "working format", + "lineHeight": 1.22 + }, + { + "id": "shape_100", + "type": "rectangle", + "x": 80, + "y": 220, + "width": 260, + "height": 120, + "angle": 0, + "strokeColor": "#dc2626", + "backgroundColor": "#fee2e2", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "seed": 3100, + "version": 1, + "versionNonce": 4100, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "txt_600", + "type": "text", + "x": 80, + "y": 253.16, + "width": 260, + "height": 55.0, + "angle": 0, + "strokeColor": "#14213d", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1600, + "version": 1, + "versionNonce": 2600, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "DOCX / PDF / HTML\nslides / media", + "fontSize": 22, + "fontFamily": 3, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": null, + "originalText": "DOCX / PDF / HTML\nslides / media", + "lineHeight": 1.22 + }, + { + "id": "shape_101", + "type": "rectangle", + "x": 425, + "y": 190, + "width": 280, + "height": 180, + "angle": 0, + "strokeColor": "#d97706", + "backgroundColor": "#fef3c7", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "seed": 3101, + "version": 1, + "versionNonce": 4101, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "txt_601", + "type": "text", + "x": 425, + "y": 226.32, + "width": 280, + "height": 110.0, + "angle": 0, + "strokeColor": "#14213d", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1601, + "version": 1, + "versionNonce": 2601, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "Format noise\nfonts, XML,\nlayout,\npositioning, tags", + "fontSize": 22, + "fontFamily": 3, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": null, + "originalText": "Format noise\nfonts, XML,\nlayout,\npositioning, tags", + "lineHeight": 1.22 + }, + { + "id": "shape_102", + "type": "rectangle", + "x": 800, + "y": 205, + "width": 250, + "height": 150, + "angle": 0, + "strokeColor": "#2563eb", + "backgroundColor": "#dbeafe", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "seed": 3102, + "version": 1, + "versionNonce": 4102, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "txt_602", + "type": "text", + "x": 800, + "y": 239.74, + "width": 250, + "height": 82.5, + "angle": 0, + "strokeColor": "#14213d", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1602, + "version": 1, + "versionNonce": 2602, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "MarkItDown\nnormalize\nstructure", + "fontSize": 22, + "fontFamily": 3, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": null, + "originalText": "MarkItDown\nnormalize\nstructure", + "lineHeight": 1.22 + }, + { + "id": "shape_103", + "type": "rectangle", + "x": 1140, + "y": 220, + "width": 230, + "height": 120, + "angle": 0, + "strokeColor": "#16a34a", + "backgroundColor": "#dcfce7", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "seed": 3103, + "version": 1, + "versionNonce": 4103, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "txt_603", + "type": "text", + "x": 1140, + "y": 226.32, + "width": 230, + "height": 110.0, + "angle": 0, + "strokeColor": "#14213d", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1603, + "version": 1, + "versionNonce": 2603, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "Clean Markdown\nheadings,\nlists,\ntables, links", + "fontSize": 22, + "fontFamily": 3, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": null, + "originalText": "Clean Markdown\nheadings,\nlists,\ntables, links", + "lineHeight": 1.22 + }, + { + "id": "shape_104", + "type": "rectangle", + "x": 225, + "y": 500, + "width": 340, + "height": 90, + "angle": 0, + "strokeColor": "#0f766e", + "backgroundColor": "#ccfbf1", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "seed": 3104, + "version": 1, + "versionNonce": 4104, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "txt_604", + "type": "text", + "x": 225, + "y": 506.57, + "width": 340, + "height": 78.75, + "angle": 0, + "strokeColor": "#14213d", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1604, + "version": 1, + "versionNonce": 2604, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "Pay for semantic\ncontent,\nnot page decoration.", + "fontSize": 21, + "fontFamily": 3, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": null, + "originalText": "Pay for semantic\ncontent,\nnot page decoration.", + "lineHeight": 1.22 + }, + { + "id": "shape_105", + "type": "rectangle", + "x": 890, + "y": 500, + "width": 320, + "height": 90, + "angle": 0, + "strokeColor": "#7c3aed", + "backgroundColor": "#ede9fe", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "seed": 3105, + "version": 1, + "versionNonce": 4105, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "txt_605", + "type": "text", + "x": 890, + "y": 506.57, + "width": 320, + "height": 78.75, + "angle": 0, + "strokeColor": "#14213d", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1605, + "version": 1, + "versionNonce": 2605, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "Generate rich delivery\nformat\nonly at the end.", + "fontSize": 21, + "fontFamily": 3, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": null, + "originalText": "Generate rich delivery\nformat\nonly at the end.", + "lineHeight": 1.22 + } + ], + "appState": { + "viewBackgroundColor": "#fbfcfe", + "gridSize": 20 + }, + "files": {} +} \ No newline at end of file diff --git a/docs/diagrams/graphify-navigation.excalidraw b/docs/diagrams/graphify-navigation.excalidraw new file mode 100644 index 0000000..0e8e697 --- /dev/null +++ b/docs/diagrams/graphify-navigation.excalidraw @@ -0,0 +1,721 @@ +{ + "type": "excalidraw", + "version": 2, + "source": "https://excalidraw.com", + "elements": [ + { + "id": "txt_1", + "type": "text", + "x": 54, + "y": 36.260000000000005, + "width": 1342, + "height": 42.5, + "angle": 0, + "strokeColor": "#14213d", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1001, + "version": 1, + "versionNonce": 2001, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "Persistent graph navigation", + "fontSize": 34, + "fontFamily": 3, + "textAlign": "left", + "verticalAlign": "middle", + "containerId": null, + "originalText": "Persistent graph navigation", + "lineHeight": 1.22 + }, + { + "id": "txt_2", + "type": "text", + "x": 54, + "y": 76.02, + "width": 1342, + "height": 22.5, + "angle": 0, + "strokeColor": "#526171", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1002, + "version": 1, + "versionNonce": 2002, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "Front-load codebase orientation once; query the map across sessions.", + "fontSize": 18, + "fontFamily": 3, + "textAlign": "left", + "verticalAlign": "middle", + "containerId": null, + "originalText": "Front-load codebase orientation once; query the map across sessions.", + "lineHeight": 1.22 + }, + { + "id": "arrow_10", + "type": "arrow", + "x": 340, + "y": 300, + "width": 95, + "height": 0, + "angle": 0, + "strokeColor": "#2563eb", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 3, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 5010, + "version": 1, + "versionNonce": 6010, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 95, + 0 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": "arrow" + }, + { + "id": "arrow_11", + "type": "arrow", + "x": 735, + "y": 300, + "width": 95, + "height": 0, + "angle": 0, + "strokeColor": "#0f766e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 3, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 5011, + "version": 1, + "versionNonce": 6011, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 95, + 0 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": "arrow" + }, + { + "id": "arrow_12", + "type": "arrow", + "x": 1090, + "y": 300, + "width": 90, + "height": -100, + "angle": 0, + "strokeColor": "#7c3aed", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 3, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 5012, + "version": 1, + "versionNonce": 6012, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 90, + -100 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": "arrow" + }, + { + "id": "arrow_13", + "type": "arrow", + "x": 1090, + "y": 300, + "width": 90, + "height": 25, + "angle": 0, + "strokeColor": "#7c3aed", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 3, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 5013, + "version": 1, + "versionNonce": 6013, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 90, + 25 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": "arrow" + }, + { + "id": "arrow_14", + "type": "arrow", + "x": 1090, + "y": 300, + "width": 90, + "height": 150, + "angle": 0, + "strokeColor": "#7c3aed", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 3, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 5014, + "version": 1, + "versionNonce": 6014, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 90, + 150 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": "arrow" + }, + { + "id": "shape_100", + "type": "rectangle", + "x": 70, + "y": 245, + "width": 270, + "height": 110, + "angle": 0, + "strokeColor": "#2563eb", + "backgroundColor": "#dbeafe", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "seed": 3100, + "version": 1, + "versionNonce": 4100, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "txt_600", + "type": "text", + "x": 70, + "y": 273.16, + "width": 270, + "height": 55.0, + "angle": 0, + "strokeColor": "#14213d", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1600, + "version": 1, + "versionNonce": 2600, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "Repo files\ncode + docs", + "fontSize": 22, + "fontFamily": 3, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": null, + "originalText": "Repo files\ncode + docs", + "lineHeight": 1.22 + }, + { + "id": "shape_101", + "type": "rectangle", + "x": 435, + "y": 205, + "width": 300, + "height": 190, + "angle": 0, + "strokeColor": "#0f766e", + "backgroundColor": "#ccfbf1", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "seed": 3101, + "version": 1, + "versionNonce": 4101, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "txt_601", + "type": "text", + "x": 435, + "y": 257.91, + "width": 300, + "height": 86.25, + "angle": 0, + "strokeColor": "#14213d", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1601, + "version": 1, + "versionNonce": 2601, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "Graphify build\nAST + optional\nsemantic extraction", + "fontSize": 23, + "fontFamily": 3, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": null, + "originalText": "Graphify build\nAST + optional\nsemantic extraction", + "lineHeight": 1.22 + }, + { + "id": "shape_102", + "type": "rectangle", + "x": 830, + "y": 240, + "width": 260, + "height": 120, + "angle": 0, + "strokeColor": "#7c3aed", + "backgroundColor": "#ede9fe", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "seed": 3102, + "version": 1, + "versionNonce": 4102, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "txt_602", + "type": "text", + "x": 830, + "y": 259.74, + "width": 260, + "height": 82.5, + "angle": 0, + "strokeColor": "#14213d", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1602, + "version": 1, + "versionNonce": 2602, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "graphify-\nout/graph.json\nshared map", + "fontSize": 22, + "fontFamily": 3, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": null, + "originalText": "graphify-\nout/graph.json\nshared map", + "lineHeight": 1.22 + }, + { + "id": "shape_103", + "type": "rectangle", + "x": 1180, + "y": 160, + "width": 210, + "height": 80, + "angle": 0, + "strokeColor": "#16a34a", + "backgroundColor": "#dcfce7", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "seed": 3103, + "version": 1, + "versionNonce": 4103, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "txt_603", + "type": "text", + "x": 1180, + "y": 175.6, + "width": 210, + "height": 50.0, + "angle": 0, + "strokeColor": "#14213d", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1603, + "version": 1, + "versionNonce": 2603, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "query\nwhere is auth?", + "fontSize": 20, + "fontFamily": 3, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": null, + "originalText": "query\nwhere is auth?", + "lineHeight": 1.22 + }, + { + "id": "shape_104", + "type": "rectangle", + "x": 1180, + "y": 285, + "width": 210, + "height": 80, + "angle": 0, + "strokeColor": "#16a34a", + "backgroundColor": "#dcfce7", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "seed": 3104, + "version": 1, + "versionNonce": 4104, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "txt_604", + "type": "text", + "x": 1180, + "y": 300.6, + "width": 210, + "height": 50.0, + "angle": 0, + "strokeColor": "#14213d", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1604, + "version": 1, + "versionNonce": 2604, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "path\nRouter \u2192 DB", + "fontSize": 20, + "fontFamily": 3, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": null, + "originalText": "path\nRouter \u2192 DB", + "lineHeight": 1.22 + }, + { + "id": "shape_105", + "type": "rectangle", + "x": 1180, + "y": 410, + "width": 210, + "height": 80, + "angle": 0, + "strokeColor": "#16a34a", + "backgroundColor": "#dcfce7", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "seed": 3105, + "version": 1, + "versionNonce": 4105, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "txt_605", + "type": "text", + "x": 1180, + "y": 425.6, + "width": 210, + "height": 50.0, + "angle": 0, + "strokeColor": "#14213d", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1605, + "version": 1, + "versionNonce": 2605, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "explain\nQueueWorker", + "fontSize": 20, + "fontFamily": 3, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": null, + "originalText": "explain\nQueueWorker", + "lineHeight": 1.22 + }, + { + "id": "txt_106", + "type": "text", + "x": 230, + "y": 582.06, + "width": 970, + "height": 67.5, + "angle": 0, + "strokeColor": "#14213d", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1106, + "version": 1, + "versionNonce": 2106, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "Agents stop rereading broad file sets for the same\norientation questions.", + "fontSize": 27, + "fontFamily": 3, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": null, + "originalText": "Agents stop rereading broad file sets for the same\norientation questions.", + "lineHeight": 1.22 + } + ], + "appState": { + "viewBackgroundColor": "#fbfcfe", + "gridSize": 20 + }, + "files": {} +} \ No newline at end of file diff --git a/docs/diagrams/mcp-tooling-stack.excalidraw b/docs/diagrams/mcp-tooling-stack.excalidraw new file mode 100644 index 0000000..7444167 --- /dev/null +++ b/docs/diagrams/mcp-tooling-stack.excalidraw @@ -0,0 +1,884 @@ +{ + "type": "excalidraw", + "version": 2, + "source": "https://excalidraw.com", + "elements": [ + { + "id": "txt_1", + "type": "text", + "x": 54, + "y": 36.260000000000005, + "width": 1392, + "height": 42.5, + "angle": 0, + "strokeColor": "#14213d", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1001, + "version": 1, + "versionNonce": 2001, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "MCP and tooling stack", + "fontSize": 34, + "fontFamily": 3, + "textAlign": "left", + "verticalAlign": "middle", + "containerId": null, + "originalText": "MCP and tooling stack", + "lineHeight": 1.22 + }, + { + "id": "txt_2", + "type": "text", + "x": 54, + "y": 76.02, + "width": 1392, + "height": 22.5, + "angle": 0, + "strokeColor": "#526171", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1002, + "version": 1, + "versionNonce": 2002, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "Reduce schema cost, turn count, command output, and repeated orientation separately.", + "fontSize": 18, + "fontFamily": 3, + "textAlign": "left", + "verticalAlign": "middle", + "containerId": null, + "originalText": "Reduce schema cost, turn count, command output, and repeated orientation separately.", + "lineHeight": 1.22 + }, + { + "id": "arrow_10", + "type": "arrow", + "x": 290, + "y": 280, + "width": 0, + "height": 350, + "angle": 0, + "strokeColor": "#dc2626", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 3, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 5010, + "version": 1, + "versionNonce": 6010, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 350 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": "arrow" + }, + { + "id": "arrow_11", + "type": "arrow", + "x": 750, + "y": 280, + "width": 0, + "height": 350, + "angle": 0, + "strokeColor": "#d97706", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 3, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 5011, + "version": 1, + "versionNonce": 6011, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 350 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": "arrow" + }, + { + "id": "arrow_12", + "type": "arrow", + "x": 1210, + "y": 280, + "width": 0, + "height": 350, + "angle": 0, + "strokeColor": "#7c3aed", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 3, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 5012, + "version": 1, + "versionNonce": 6012, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 350 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": "arrow" + }, + { + "id": "arrow_13", + "type": "arrow", + "x": 445, + "y": 515, + "width": 110, + "height": 115, + "angle": 0, + "strokeColor": "#2563eb", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 3, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 5013, + "version": 1, + "versionNonce": 6013, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 110, + 115 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": "arrow" + }, + { + "id": "txt_713", + "type": "text", + "x": 415.0, + "y": 543.74, + "width": 170, + "height": 20.0, + "angle": 0, + "strokeColor": "#2563eb", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1713, + "version": 1, + "versionNonce": 2713, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "Graphify", + "fontSize": 16, + "fontFamily": 3, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": null, + "originalText": "Graphify", + "lineHeight": 1.22 + }, + { + "id": "arrow_14", + "type": "arrow", + "x": 1060, + "y": 515, + "width": -115, + "height": 115, + "angle": 0, + "strokeColor": "#0f766e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 3, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 5014, + "version": 1, + "versionNonce": 6014, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -115, + 115 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": "arrow" + }, + { + "id": "txt_714", + "type": "text", + "x": 917.5, + "y": 533.98, + "width": 170, + "height": 40.0, + "angle": 0, + "strokeColor": "#0f766e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1714, + "version": 1, + "versionNonce": 2714, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "Coach /\nchronicle", + "fontSize": 16, + "fontFamily": 3, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": null, + "originalText": "Coach /\nchronicle", + "lineHeight": 1.22 + }, + { + "id": "shape_100", + "type": "rectangle", + "x": 95, + "y": 175, + "width": 390, + "height": 105, + "angle": 0, + "strokeColor": "#dc2626", + "backgroundColor": "#fee2e2", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "seed": 3100, + "version": 1, + "versionNonce": 4100, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "txt_600", + "type": "text", + "x": 95, + "y": 199.44, + "width": 390, + "height": 57.5, + "angle": 0, + "strokeColor": "#14213d", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1600, + "version": 1, + "versionNonce": 2600, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "Tool schemas\nMCP servers, extensions", + "fontSize": 23, + "fontFamily": 3, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": null, + "originalText": "Tool schemas\nMCP servers, extensions", + "lineHeight": 1.22 + }, + { + "id": "shape_101", + "type": "rectangle", + "x": 555, + "y": 175, + "width": 390, + "height": 105, + "angle": 0, + "strokeColor": "#d97706", + "backgroundColor": "#fef3c7", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "seed": 3101, + "version": 1, + "versionNonce": 4101, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "txt_601", + "type": "text", + "x": 555, + "y": 199.44, + "width": 390, + "height": 57.5, + "angle": 0, + "strokeColor": "#14213d", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1601, + "version": 1, + "versionNonce": 2601, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "Turn loop\nmodel \u2194 tool \u2194 model", + "fontSize": 23, + "fontFamily": 3, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": null, + "originalText": "Turn loop\nmodel \u2194 tool \u2194 model", + "lineHeight": 1.22 + }, + { + "id": "shape_102", + "type": "rectangle", + "x": 1015, + "y": 175, + "width": 390, + "height": 105, + "angle": 0, + "strokeColor": "#7c3aed", + "backgroundColor": "#ede9fe", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "seed": 3102, + "version": 1, + "versionNonce": 4102, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "txt_602", + "type": "text", + "x": 1015, + "y": 199.44, + "width": 390, + "height": 57.5, + "angle": 0, + "strokeColor": "#14213d", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1602, + "version": 1, + "versionNonce": 2602, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "Command output\ntests, git, grep, build", + "fontSize": 23, + "fontFamily": 3, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": null, + "originalText": "Command output\ntests, git, grep, build", + "lineHeight": 1.22 + }, + { + "id": "shape_103", + "type": "rectangle", + "x": 250, + "y": 410, + "width": 390, + "height": 105, + "angle": 0, + "strokeColor": "#2563eb", + "backgroundColor": "#dbeafe", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "seed": 3103, + "version": 1, + "versionNonce": 4103, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "txt_603", + "type": "text", + "x": 250, + "y": 434.44, + "width": 390, + "height": 57.5, + "angle": 0, + "strokeColor": "#14213d", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1603, + "version": 1, + "versionNonce": 2603, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "Orientation reads\nsame files every session", + "fontSize": 23, + "fontFamily": 3, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": null, + "originalText": "Orientation reads\nsame files every session", + "lineHeight": 1.22 + }, + { + "id": "shape_104", + "type": "rectangle", + "x": 865, + "y": 410, + "width": 390, + "height": 105, + "angle": 0, + "strokeColor": "#0f766e", + "backgroundColor": "#ccfbf1", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "seed": 3104, + "version": 1, + "versionNonce": 4104, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "txt_604", + "type": "text", + "x": 865, + "y": 434.44, + "width": 390, + "height": 57.5, + "angle": 0, + "strokeColor": "#14213d", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1604, + "version": 1, + "versionNonce": 2604, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "Visibility/audit\nmeasure what loads", + "fontSize": 23, + "fontFamily": 3, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": null, + "originalText": "Visibility/audit\nmeasure what loads", + "lineHeight": 1.22 + }, + { + "id": "shape_105", + "type": "rectangle", + "x": 95, + "y": 630, + "width": 390, + "height": 80, + "angle": 0, + "strokeColor": "#16a34a", + "backgroundColor": "#dcfce7", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "seed": 3105, + "version": 1, + "versionNonce": 4105, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "txt_605", + "type": "text", + "x": 95, + "y": 643.16, + "width": 390, + "height": 55.0, + "angle": 0, + "strokeColor": "#14213d", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1605, + "version": 1, + "versionNonce": 2605, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "Fix: scope MCPs\nprefer built-ins", + "fontSize": 22, + "fontFamily": 3, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": null, + "originalText": "Fix: scope MCPs\nprefer built-ins", + "lineHeight": 1.22 + }, + { + "id": "shape_106", + "type": "rectangle", + "x": 555, + "y": 630, + "width": 390, + "height": 80, + "angle": 0, + "strokeColor": "#16a34a", + "backgroundColor": "#dcfce7", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "seed": 3106, + "version": 1, + "versionNonce": 4106, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "txt_606", + "type": "text", + "x": 555, + "y": 643.16, + "width": 390, + "height": 55.0, + "angle": 0, + "strokeColor": "#14213d", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1606, + "version": 1, + "versionNonce": 2606, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "Fix: CodeAct\nfor long tool chains", + "fontSize": 22, + "fontFamily": 3, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": null, + "originalText": "Fix: CodeAct\nfor long tool chains", + "lineHeight": 1.22 + }, + { + "id": "shape_107", + "type": "rectangle", + "x": 1015, + "y": 630, + "width": 390, + "height": 80, + "angle": 0, + "strokeColor": "#16a34a", + "backgroundColor": "#dcfce7", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "seed": 3107, + "version": 1, + "versionNonce": 4107, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "txt_607", + "type": "text", + "x": 1015, + "y": 643.16, + "width": 390, + "height": 55.0, + "angle": 0, + "strokeColor": "#14213d", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1607, + "version": 1, + "versionNonce": 2607, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "Fix: RTK or snip\none filter layer", + "fontSize": 22, + "fontFamily": 3, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": null, + "originalText": "Fix: RTK or snip\none filter layer", + "lineHeight": 1.22 + } + ], + "appState": { + "viewBackgroundColor": "#fbfcfe", + "gridSize": 20 + }, + "files": {} +} \ No newline at end of file diff --git a/docs/diagrams/mode-decision-tree.excalidraw b/docs/diagrams/mode-decision-tree.excalidraw new file mode 100644 index 0000000..55b8860 --- /dev/null +++ b/docs/diagrams/mode-decision-tree.excalidraw @@ -0,0 +1,998 @@ +{ + "type": "excalidraw", + "version": 2, + "source": "https://excalidraw.com", + "elements": [ + { + "id": "txt_1", + "type": "text", + "x": 54, + "y": 36.260000000000005, + "width": 1342, + "height": 42.5, + "angle": 0, + "strokeColor": "#14213d", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1001, + "version": 1, + "versionNonce": 2001, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "Copilot mode decision tree", + "fontSize": 34, + "fontFamily": 3, + "textAlign": "left", + "verticalAlign": "middle", + "containerId": null, + "originalText": "Copilot mode decision tree", + "lineHeight": 1.22 + }, + { + "id": "txt_2", + "type": "text", + "x": 54, + "y": 76.02, + "width": 1342, + "height": 22.5, + "angle": 0, + "strokeColor": "#526171", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1002, + "version": 1, + "versionNonce": 2002, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "Pick the smallest mode that can finish the job.", + "fontSize": 18, + "fontFamily": 3, + "textAlign": "left", + "verticalAlign": "middle", + "containerId": null, + "originalText": "Pick the smallest mode that can finish the job.", + "lineHeight": 1.22 + }, + { + "id": "arrow_10", + "type": "arrow", + "x": 585, + "y": 215, + "width": -165, + "height": 35, + "angle": 0, + "strokeColor": "#16a34a", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 3, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 5010, + "version": 1, + "versionNonce": 6010, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -165, + 35 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": "arrow" + }, + { + "id": "txt_710", + "type": "text", + "x": 417.5, + "y": 203.74, + "width": 170, + "height": 20.0, + "angle": 0, + "strokeColor": "#16a34a", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1710, + "version": 1, + "versionNonce": 2710, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "no", + "fontSize": 16, + "fontFamily": 3, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": null, + "originalText": "no", + "lineHeight": 1.22 + }, + { + "id": "arrow_11", + "type": "arrow", + "x": 725, + "y": 285, + "width": 0, + "height": 80, + "angle": 0, + "strokeColor": "#d97706", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 3, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 5011, + "version": 1, + "versionNonce": 6011, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 80 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": "arrow" + }, + { + "id": "txt_711", + "type": "text", + "x": 640.0, + "y": 296.24, + "width": 170, + "height": 20.0, + "angle": 0, + "strokeColor": "#d97706", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1711, + "version": 1, + "versionNonce": 2711, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "yes", + "fontSize": 16, + "fontFamily": 3, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": null, + "originalText": "yes", + "lineHeight": 1.22 + }, + { + "id": "arrow_12", + "type": "arrow", + "x": 590, + "y": 430, + "width": -165, + "height": 195, + "angle": 0, + "strokeColor": "#0f766e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 3, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 5012, + "version": 1, + "versionNonce": 6012, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -165, + 195 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": "arrow" + }, + { + "id": "txt_712", + "type": "text", + "x": 422.5, + "y": 498.74, + "width": 170, + "height": 20.0, + "angle": 0, + "strokeColor": "#0f766e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1712, + "version": 1, + "versionNonce": 2712, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "yes", + "fontSize": 16, + "fontFamily": 3, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": null, + "originalText": "yes", + "lineHeight": 1.22 + }, + { + "id": "arrow_13", + "type": "arrow", + "x": 860, + "y": 430, + "width": 155, + "height": 0, + "angle": 0, + "strokeColor": "#2563eb", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 3, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 5013, + "version": 1, + "versionNonce": 6013, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 155, + 0 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": "arrow" + }, + { + "id": "txt_713", + "type": "text", + "x": 852.5, + "y": 401.24, + "width": 170, + "height": 20.0, + "angle": 0, + "strokeColor": "#2563eb", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1713, + "version": 1, + "versionNonce": 2713, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "no", + "fontSize": 16, + "fontFamily": 3, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": null, + "originalText": "no", + "lineHeight": 1.22 + }, + { + "id": "arrow_14", + "type": "arrow", + "x": 1150, + "y": 500, + "width": -50, + "height": 85, + "angle": 0, + "strokeColor": "#7c3aed", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 3, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 5014, + "version": 1, + "versionNonce": 6014, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -50, + 85 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": "arrow" + }, + { + "id": "txt_714", + "type": "text", + "x": 1040.0, + "y": 513.74, + "width": 170, + "height": 20.0, + "angle": 0, + "strokeColor": "#7c3aed", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1714, + "version": 1, + "versionNonce": 2714, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "yes", + "fontSize": 16, + "fontFamily": 3, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": null, + "originalText": "yes", + "lineHeight": 1.22 + }, + { + "id": "arrow_15", + "type": "arrow", + "x": 1015, + "y": 500, + "width": -145, + "height": 140, + "angle": 0, + "strokeColor": "#dc2626", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 3, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 5015, + "version": 1, + "versionNonce": 6015, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -145, + 140 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": "arrow" + }, + { + "id": "txt_715", + "type": "text", + "x": 857.5, + "y": 541.24, + "width": 170, + "height": 20.0, + "angle": 0, + "strokeColor": "#dc2626", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1715, + "version": 1, + "versionNonce": 2715, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "no/vague", + "fontSize": 16, + "fontFamily": 3, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": null, + "originalText": "no/vague", + "lineHeight": 1.22 + }, + { + "id": "shape_100", + "type": "diamond", + "x": 585, + "y": 145, + "width": 280, + "height": 140, + "angle": 0, + "strokeColor": "#d97706", + "backgroundColor": "#fef3c7", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 3100, + "version": 1, + "versionNonce": 4100, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "txt_600", + "type": "text", + "x": 585, + "y": 202.19, + "width": 280, + "height": 26.25, + "angle": 0, + "strokeColor": "#14213d", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1600, + "version": 1, + "versionNonce": 2600, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "Need code changes?", + "fontSize": 21, + "fontFamily": 3, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": null, + "originalText": "Need code changes?", + "lineHeight": 1.22 + }, + { + "id": "shape_101", + "type": "rectangle", + "x": 150, + "y": 205, + "width": 270, + "height": 100, + "angle": 0, + "strokeColor": "#16a34a", + "backgroundColor": "#dcfce7", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "seed": 3101, + "version": 1, + "versionNonce": 4101, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "txt_601", + "type": "text", + "x": 150, + "y": 206.2, + "width": 270, + "height": 100.0, + "angle": 0, + "strokeColor": "#14213d", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1601, + "version": 1, + "versionNonce": 2601, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "ASK\n1 call\nquestions +\nexplanations", + "fontSize": 20, + "fontFamily": 3, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": null, + "originalText": "ASK\n1 call\nquestions +\nexplanations", + "lineHeight": 1.22 + }, + { + "id": "shape_102", + "type": "diamond", + "x": 590, + "y": 365, + "width": 270, + "height": 130, + "angle": 0, + "strokeColor": "#2563eb", + "backgroundColor": "#dbeafe", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 3102, + "version": 1, + "versionNonce": 4102, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "txt_602", + "type": "text", + "x": 590, + "y": 405.6, + "width": 270, + "height": 50.0, + "angle": 0, + "strokeColor": "#14213d", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1602, + "version": 1, + "versionNonce": 2602, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "Single file\nclear target?", + "fontSize": 20, + "fontFamily": 3, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": null, + "originalText": "Single file\nclear target?", + "lineHeight": 1.22 + }, + { + "id": "shape_103", + "type": "rectangle", + "x": 165, + "y": 575, + "width": 260, + "height": 100, + "angle": 0, + "strokeColor": "#0f766e", + "backgroundColor": "#ccfbf1", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "seed": 3103, + "version": 1, + "versionNonce": 4103, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "txt_603", + "type": "text", + "x": 165, + "y": 586.57, + "width": 260, + "height": 78.75, + "angle": 0, + "strokeColor": "#14213d", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1603, + "version": 1, + "versionNonce": 2603, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "EDIT\n1-2 calls\ntargeted change", + "fontSize": 21, + "fontFamily": 3, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": null, + "originalText": "EDIT\n1-2 calls\ntargeted change", + "lineHeight": 1.22 + }, + { + "id": "shape_104", + "type": "diamond", + "x": 1015, + "y": 360, + "width": 270, + "height": 140, + "angle": 0, + "strokeColor": "#7c3aed", + "backgroundColor": "#ede9fe", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 3104, + "version": 1, + "versionNonce": 4104, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "txt_604", + "type": "text", + "x": 1015, + "y": 404.38, + "width": 270, + "height": 52.5, + "angle": 0, + "strokeColor": "#14213d", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1604, + "version": 1, + "versionNonce": 2604, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "Multi-file\nclear scope?", + "fontSize": 21, + "fontFamily": 3, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": null, + "originalText": "Multi-file\nclear scope?", + "lineHeight": 1.22 + }, + { + "id": "shape_105", + "type": "rectangle", + "x": 955, + "y": 585, + "width": 260, + "height": 105, + "angle": 0, + "strokeColor": "#d97706", + "backgroundColor": "#fef3c7", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "seed": 3105, + "version": 1, + "versionNonce": 4105, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "txt_605", + "type": "text", + "x": 955, + "y": 599.07, + "width": 260, + "height": 78.75, + "angle": 0, + "strokeColor": "#14213d", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1605, + "version": 1, + "versionNonce": 2605, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "AGENT\n5-25 steps\nmulti-file work", + "fontSize": 21, + "fontFamily": 3, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": null, + "originalText": "AGENT\n5-25 steps\nmulti-file work", + "lineHeight": 1.22 + }, + { + "id": "shape_106", + "type": "rectangle", + "x": 590, + "y": 610, + "width": 280, + "height": 110, + "angle": 0, + "strokeColor": "#dc2626", + "backgroundColor": "#fee2e2", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "seed": 3106, + "version": 1, + "versionNonce": 4106, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "txt_606", + "type": "text", + "x": 590, + "y": 626.57, + "width": 280, + "height": 78.75, + "angle": 0, + "strokeColor": "#14213d", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1606, + "version": 1, + "versionNonce": 2606, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "CLARIFY FIRST\nplan / ask mode\nthen execute", + "fontSize": 21, + "fontFamily": 3, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": null, + "originalText": "CLARIFY FIRST\nplan / ask mode\nthen execute", + "lineHeight": 1.22 + } + ], + "appState": { + "viewBackgroundColor": "#fbfcfe", + "gridSize": 20 + }, + "files": {} +} \ No newline at end of file diff --git a/docs/diagrams/outcome-per-token-loop.excalidraw b/docs/diagrams/outcome-per-token-loop.excalidraw new file mode 100644 index 0000000..155a5ab --- /dev/null +++ b/docs/diagrams/outcome-per-token-loop.excalidraw @@ -0,0 +1,792 @@ +{ + "type": "excalidraw", + "version": 2, + "source": "https://excalidraw.com", + "elements": [ + { + "id": "txt_1", + "type": "text", + "x": 54, + "y": 36.260000000000005, + "width": 1342, + "height": 42.5, + "angle": 0, + "strokeColor": "#14213d", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1001, + "version": 1, + "versionNonce": 2001, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "Outcome-per-token loop", + "fontSize": 34, + "fontFamily": 3, + "textAlign": "left", + "verticalAlign": "middle", + "containerId": null, + "originalText": "Outcome-per-token loop", + "lineHeight": 1.22 + }, + { + "id": "txt_2", + "type": "text", + "x": 54, + "y": 76.02, + "width": 1342, + "height": 22.5, + "angle": 0, + "strokeColor": "#526171", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1002, + "version": 1, + "versionNonce": 2002, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "The goal is fewer wrong turns, not merely fewer words.", + "fontSize": 18, + "fontFamily": 3, + "textAlign": "left", + "verticalAlign": "middle", + "containerId": null, + "originalText": "The goal is fewer wrong turns, not merely fewer words.", + "lineHeight": 1.22 + }, + { + "id": "arrow_10", + "type": "arrow", + "x": 865, + "y": 190, + "width": 50, + "height": 115, + "angle": 0, + "strokeColor": "#2563eb", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 3, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 5010, + "version": 1, + "versionNonce": 6010, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 50, + 115 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": "arrow" + }, + { + "id": "arrow_11", + "type": "arrow", + "x": 1055, + "y": 355, + "width": 0, + "height": 145, + "angle": 0, + "strokeColor": "#7c3aed", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 3, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 5011, + "version": 1, + "versionNonce": 6011, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 145 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": "arrow" + }, + { + "id": "arrow_12", + "type": "arrow", + "x": 915, + "y": 548, + "width": -50, + "height": 117, + "angle": 0, + "strokeColor": "#0f766e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 3, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 5012, + "version": 1, + "versionNonce": 6012, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -50, + 117 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": "arrow" + }, + { + "id": "arrow_13", + "type": "arrow", + "x": 585, + "y": 665, + "width": -55, + "height": -117, + "angle": 0, + "strokeColor": "#16a34a", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 3, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 5013, + "version": 1, + "versionNonce": 6013, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -55, + -117 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": "arrow" + }, + { + "id": "arrow_14", + "type": "arrow", + "x": 390, + "y": 500, + "width": 0, + "height": -145, + "angle": 0, + "strokeColor": "#d97706", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 3, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 5014, + "version": 1, + "versionNonce": 6014, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + -145 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": "arrow" + }, + { + "id": "arrow_15", + "type": "arrow", + "x": 530, + "y": 305, + "width": 55, + "height": -115, + "angle": 0, + "strokeColor": "#2563eb", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 3, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 5015, + "version": 1, + "versionNonce": 6015, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 55, + -115 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": "arrow" + }, + { + "id": "shape_100", + "type": "ellipse", + "x": 585, + "y": 145, + "width": 280, + "height": 90, + "angle": 0, + "strokeColor": "#2563eb", + "backgroundColor": "#dbeafe", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 3100, + "version": 1, + "versionNonce": 4100, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "txt_600", + "type": "text", + "x": 585, + "y": 175.97, + "width": 280, + "height": 28.75, + "angle": 0, + "strokeColor": "#14213d", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1600, + "version": 1, + "versionNonce": 2600, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "Pick task shape", + "fontSize": 23, + "fontFamily": 3, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": null, + "originalText": "Pick task shape", + "lineHeight": 1.22 + }, + { + "id": "shape_101", + "type": "rectangle", + "x": 915, + "y": 260, + "width": 280, + "height": 95, + "angle": 0, + "strokeColor": "#7c3aed", + "backgroundColor": "#ede9fe", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "seed": 3101, + "version": 1, + "versionNonce": 4101, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "txt_601", + "type": "text", + "x": 915, + "y": 293.47, + "width": 280, + "height": 28.75, + "angle": 0, + "strokeColor": "#14213d", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1601, + "version": 1, + "versionNonce": 2601, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "Plan before code", + "fontSize": 23, + "fontFamily": 3, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": null, + "originalText": "Plan before code", + "lineHeight": 1.22 + }, + { + "id": "shape_102", + "type": "rectangle", + "x": 915, + "y": 500, + "width": 280, + "height": 95, + "angle": 0, + "strokeColor": "#0f766e", + "backgroundColor": "#ccfbf1", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "seed": 3102, + "version": 1, + "versionNonce": 4102, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "txt_602", + "type": "text", + "x": 915, + "y": 519.44, + "width": 280, + "height": 57.5, + "angle": 0, + "strokeColor": "#14213d", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1602, + "version": 1, + "versionNonce": 2602, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "Route model by\nphase", + "fontSize": 23, + "fontFamily": 3, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": null, + "originalText": "Route model by\nphase", + "lineHeight": 1.22 + }, + { + "id": "shape_103", + "type": "rectangle", + "x": 585, + "y": 620, + "width": 280, + "height": 95, + "angle": 0, + "strokeColor": "#16a34a", + "backgroundColor": "#dcfce7", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "seed": 3103, + "version": 1, + "versionNonce": 4103, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "txt_603", + "type": "text", + "x": 585, + "y": 653.47, + "width": 280, + "height": 28.75, + "angle": 0, + "strokeColor": "#14213d", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1603, + "version": 1, + "versionNonce": 2603, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "Target context", + "fontSize": 23, + "fontFamily": 3, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": null, + "originalText": "Target context", + "lineHeight": 1.22 + }, + { + "id": "shape_104", + "type": "rectangle", + "x": 250, + "y": 500, + "width": 280, + "height": 95, + "angle": 0, + "strokeColor": "#d97706", + "backgroundColor": "#fef3c7", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "seed": 3104, + "version": 1, + "versionNonce": 4104, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "txt_604", + "type": "text", + "x": 250, + "y": 533.47, + "width": 280, + "height": 28.75, + "angle": 0, + "strokeColor": "#14213d", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1604, + "version": 1, + "versionNonce": 2604, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "Verify evidence", + "fontSize": 23, + "fontFamily": 3, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": null, + "originalText": "Verify evidence", + "lineHeight": 1.22 + }, + { + "id": "shape_105", + "type": "rectangle", + "x": 250, + "y": 260, + "width": 280, + "height": 95, + "angle": 0, + "strokeColor": "#2563eb", + "backgroundColor": "#dbeafe", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "seed": 3105, + "version": 1, + "versionNonce": 4105, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "txt_605", + "type": "text", + "x": 250, + "y": 293.47, + "width": 280, + "height": 28.75, + "angle": 0, + "strokeColor": "#14213d", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1605, + "version": 1, + "versionNonce": 2605, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "Close cleanly", + "fontSize": 23, + "fontFamily": 3, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": null, + "originalText": "Close cleanly", + "lineHeight": 1.22 + }, + { + "id": "shape_106", + "type": "rectangle", + "x": 545, + "y": 355, + "width": 360, + "height": 120, + "angle": 0, + "strokeColor": "#16a34a", + "backgroundColor": "#dcfce7", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "seed": 3106, + "version": 1, + "versionNonce": 4106, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "txt_606", + "type": "text", + "x": 545, + "y": 378.4, + "width": 360, + "height": 75.0, + "angle": 0, + "strokeColor": "#14213d", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1606, + "version": 1, + "versionNonce": 2606, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "High outcome\nper token", + "fontSize": 30, + "fontFamily": 3, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": null, + "originalText": "High outcome\nper token", + "lineHeight": 1.22 + } + ], + "appState": { + "viewBackgroundColor": "#fbfcfe", + "gridSize": 20 + }, + "files": {} +} \ No newline at end of file diff --git a/docs/diagrams/plan-execute-cheaply.excalidraw b/docs/diagrams/plan-execute-cheaply.excalidraw new file mode 100644 index 0000000..cb1503f --- /dev/null +++ b/docs/diagrams/plan-execute-cheaply.excalidraw @@ -0,0 +1,863 @@ +{ + "type": "excalidraw", + "version": 2, + "source": "https://excalidraw.com", + "elements": [ + { + "id": "txt_1", + "type": "text", + "x": 54, + "y": 36.260000000000005, + "width": 1342, + "height": 42.5, + "angle": 0, + "strokeColor": "#14213d", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1001, + "version": 1, + "versionNonce": 2001, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "Plan first, execute cheaply", + "fontSize": 34, + "fontFamily": 3, + "textAlign": "left", + "verticalAlign": "middle", + "containerId": null, + "originalText": "Plan first, execute cheaply", + "lineHeight": 1.22 + }, + { + "id": "txt_2", + "type": "text", + "x": 54, + "y": 76.02, + "width": 1342, + "height": 22.5, + "angle": 0, + "strokeColor": "#526171", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1002, + "version": 1, + "versionNonce": 2002, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "Spend premium reasoning before code; run mechanical execution in a clean lane.", + "fontSize": 18, + "fontFamily": 3, + "textAlign": "left", + "verticalAlign": "middle", + "containerId": null, + "originalText": "Spend premium reasoning before code; run mechanical execution in a clean lane.", + "lineHeight": 1.22 + }, + { + "id": "arrow_10", + "type": "arrow", + "x": 395, + "y": 305, + "width": 180, + "height": 0, + "angle": 0, + "strokeColor": "#7c3aed", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 3, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 5010, + "version": 1, + "versionNonce": 6010, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 180, + 0 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": "arrow" + }, + { + "id": "txt_710", + "type": "text", + "x": 400.0, + "y": 276.24, + "width": 170, + "height": 20.0, + "angle": 0, + "strokeColor": "#7c3aed", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1710, + "version": 1, + "versionNonce": 2710, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "capture", + "fontSize": 16, + "fontFamily": 3, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": null, + "originalText": "capture", + "lineHeight": 1.22 + }, + { + "id": "arrow_11", + "type": "arrow", + "x": 875, + "y": 305, + "width": 180, + "height": 0, + "angle": 0, + "strokeColor": "#2563eb", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 3, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 5011, + "version": 1, + "versionNonce": 6011, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 180, + 0 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": "arrow" + }, + { + "id": "txt_711", + "type": "text", + "x": 880.0, + "y": 276.24, + "width": 170, + "height": 20.0, + "angle": 0, + "strokeColor": "#2563eb", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1711, + "version": 1, + "versionNonce": 2711, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "fresh session", + "fontSize": 16, + "fontFamily": 3, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": null, + "originalText": "fresh session", + "lineHeight": 1.22 + }, + { + "id": "arrow_12", + "type": "arrow", + "x": 1205, + "y": 380, + "width": -340, + "height": 190, + "angle": 0, + "strokeColor": "#16a34a", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 3, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 5012, + "version": 1, + "versionNonce": 6012, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 10, + 190 + ], + [ + -340, + 190 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": "arrow" + }, + { + "id": "txt_712", + "type": "text", + "x": 950.0, + "y": 446.24, + "width": 170, + "height": 20.0, + "angle": 0, + "strokeColor": "#16a34a", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1712, + "version": 1, + "versionNonce": 2712, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "verify", + "fontSize": 16, + "fontFamily": 3, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": null, + "originalText": "verify", + "lineHeight": 1.22 + }, + { + "id": "arrow_13", + "type": "arrow", + "x": 865, + "y": 570, + "width": 170, + "height": 0, + "angle": 0, + "strokeColor": "#16a34a", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 3, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 5013, + "version": 1, + "versionNonce": 6013, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 170, + 0 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": "arrow" + }, + { + "id": "txt_713", + "type": "text", + "x": 865.0, + "y": 541.24, + "width": 170, + "height": 20.0, + "angle": 0, + "strokeColor": "#16a34a", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1713, + "version": 1, + "versionNonce": 2713, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "yes", + "fontSize": 16, + "fontFamily": 3, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": null, + "originalText": "yes", + "lineHeight": 1.22 + }, + { + "id": "arrow_14", + "type": "arrow", + "x": 585, + "y": 570, + "width": -180, + "height": 0, + "angle": 0, + "strokeColor": "#dc2626", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 3, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 5014, + "version": 1, + "versionNonce": 6014, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -180, + 0 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": "arrow" + }, + { + "id": "txt_714", + "type": "text", + "x": 410.0, + "y": 541.24, + "width": 170, + "height": 20.0, + "angle": 0, + "strokeColor": "#dc2626", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1714, + "version": 1, + "versionNonce": 2714, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "no", + "fontSize": 16, + "fontFamily": 3, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": null, + "originalText": "no", + "lineHeight": 1.22 + }, + { + "id": "shape_100", + "type": "rectangle", + "x": 95, + "y": 230, + "width": 300, + "height": 150, + "angle": 0, + "strokeColor": "#7c3aed", + "backgroundColor": "#ede9fe", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "seed": 3100, + "version": 1, + "versionNonce": 4100, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "txt_600", + "type": "text", + "x": 95, + "y": 234.85000000000002, + "width": 300, + "height": 143.75, + "angle": 0, + "strokeColor": "#14213d", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1600, + "version": 1, + "versionNonce": 2600, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "PHASE 1: PLAN\nstrong reasoning\nmodel\nAsk / Plan /\nresearch", + "fontSize": 23, + "fontFamily": 3, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": null, + "originalText": "PHASE 1: PLAN\nstrong reasoning\nmodel\nAsk / Plan /\nresearch", + "lineHeight": 1.22 + }, + { + "id": "shape_101", + "type": "rectangle", + "x": 575, + "y": 210, + "width": 300, + "height": 190, + "angle": 0, + "strokeColor": "#2563eb", + "backgroundColor": "#dbeafe", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "seed": 3101, + "version": 1, + "versionNonce": 4101, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "txt_601", + "type": "text", + "x": 575, + "y": 234.85000000000002, + "width": 300, + "height": 143.75, + "angle": 0, + "strokeColor": "#14213d", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1601, + "version": 1, + "versionNonce": 2601, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "Saved plan\nsteps\nacceptance criteria\nverification\ncommand", + "fontSize": 23, + "fontFamily": 3, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": null, + "originalText": "Saved plan\nsteps\nacceptance criteria\nverification\ncommand", + "lineHeight": 1.22 + }, + { + "id": "shape_102", + "type": "rectangle", + "x": 1055, + "y": 230, + "width": 300, + "height": 150, + "angle": 0, + "strokeColor": "#16a34a", + "backgroundColor": "#dcfce7", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "seed": 3102, + "version": 1, + "versionNonce": 4102, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "txt_602", + "type": "text", + "x": 1055, + "y": 262.91, + "width": 300, + "height": 86.25, + "angle": 0, + "strokeColor": "#14213d", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1602, + "version": 1, + "versionNonce": 2602, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "PHASE 2: EXECUTE\nfresh session\ncheaper/mid model", + "fontSize": 23, + "fontFamily": 3, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": null, + "originalText": "PHASE 2: EXECUTE\nfresh session\ncheaper/mid model", + "lineHeight": 1.22 + }, + { + "id": "shape_103", + "type": "diamond", + "x": 585, + "y": 505, + "width": 280, + "height": 135, + "angle": 0, + "strokeColor": "#d97706", + "backgroundColor": "#fef3c7", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 3103, + "version": 1, + "versionNonce": 4103, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "txt_603", + "type": "text", + "x": 585, + "y": 546.88, + "width": 280, + "height": 52.5, + "angle": 0, + "strokeColor": "#14213d", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1603, + "version": 1, + "versionNonce": 2603, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "Acceptance\ncriteria met?", + "fontSize": 21, + "fontFamily": 3, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": null, + "originalText": "Acceptance\ncriteria met?", + "lineHeight": 1.22 + }, + { + "id": "shape_104", + "type": "rectangle", + "x": 1035, + "y": 525, + "width": 250, + "height": 90, + "angle": 0, + "strokeColor": "#16a34a", + "backgroundColor": "#dcfce7", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "seed": 3104, + "version": 1, + "versionNonce": 4104, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "txt_604", + "type": "text", + "x": 1035, + "y": 543.16, + "width": 250, + "height": 55.0, + "angle": 0, + "strokeColor": "#14213d", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1604, + "version": 1, + "versionNonce": 2604, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "Verified\nimplementation", + "fontSize": 22, + "fontFamily": 3, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": null, + "originalText": "Verified\nimplementation", + "lineHeight": 1.22 + }, + { + "id": "shape_105", + "type": "rectangle", + "x": 155, + "y": 525, + "width": 250, + "height": 90, + "angle": 0, + "strokeColor": "#dc2626", + "backgroundColor": "#fee2e2", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "seed": 3105, + "version": 1, + "versionNonce": 4105, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "txt_605", + "type": "text", + "x": 155, + "y": 543.16, + "width": 250, + "height": 55.0, + "angle": 0, + "strokeColor": "#14213d", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1605, + "version": 1, + "versionNonce": 2605, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "Revise plan\nbefore more code", + "fontSize": 22, + "fontFamily": 3, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": null, + "originalText": "Revise plan\nbefore more code", + "lineHeight": 1.22 + } + ], + "appState": { + "viewBackgroundColor": "#fbfcfe", + "gridSize": 20 + }, + "files": {} +} \ No newline at end of file diff --git a/docs/diagrams/prompt-compression-ladder.excalidraw b/docs/diagrams/prompt-compression-ladder.excalidraw new file mode 100644 index 0000000..82c9336 --- /dev/null +++ b/docs/diagrams/prompt-compression-ladder.excalidraw @@ -0,0 +1,934 @@ +{ + "type": "excalidraw", + "version": 2, + "source": "https://excalidraw.com", + "elements": [ + { + "id": "txt_1", + "type": "text", + "x": 54, + "y": 36.260000000000005, + "width": 1292, + "height": 42.5, + "angle": 0, + "strokeColor": "#14213d", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1001, + "version": 1, + "versionNonce": 2001, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "Prompt compression ladder", + "fontSize": 34, + "fontFamily": 3, + "textAlign": "left", + "verticalAlign": "middle", + "containerId": null, + "originalText": "Prompt compression ladder", + "lineHeight": 1.22 + }, + { + "id": "txt_2", + "type": "text", + "x": 54, + "y": 76.02, + "width": 1292, + "height": 22.5, + "angle": 0, + "strokeColor": "#526171", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1002, + "version": 1, + "versionNonce": 2002, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "Drop filler, keep technical substance exact.", + "fontSize": 18, + "fontFamily": 3, + "textAlign": "left", + "verticalAlign": "middle", + "containerId": null, + "originalText": "Drop filler, keep technical substance exact.", + "lineHeight": 1.22 + }, + { + "id": "arrow_10", + "type": "arrow", + "x": 410, + "y": 255, + "width": 35, + "height": 0, + "angle": 0, + "strokeColor": "#dc2626", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 3, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 5010, + "version": 1, + "versionNonce": 6010, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 35, + 0 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": "arrow" + }, + { + "id": "arrow_11", + "type": "arrow", + "x": 695, + "y": 255, + "width": 35, + "height": 0, + "angle": 0, + "strokeColor": "#d97706", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 3, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 5011, + "version": 1, + "versionNonce": 6011, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 35, + 0 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": "arrow" + }, + { + "id": "arrow_12", + "type": "arrow", + "x": 980, + "y": 255, + "width": 35, + "height": 0, + "angle": 0, + "strokeColor": "#2563eb", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 3, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 5012, + "version": 1, + "versionNonce": 6012, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 35, + 0 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": "arrow" + }, + { + "id": "arrow_13", + "type": "arrow", + "x": 300, + "y": 455, + "width": 0, + "height": -125, + "angle": 0, + "strokeColor": "#dc2626", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 3, + "strokeStyle": "dashed", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 5013, + "version": 1, + "versionNonce": 6013, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + -125 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": "arrow" + }, + { + "id": "txt_713", + "type": "text", + "x": 215.0, + "y": 363.74, + "width": 170, + "height": 20.0, + "angle": 0, + "strokeColor": "#dc2626", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1713, + "version": 1, + "versionNonce": 2713, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "remove", + "fontSize": 16, + "fontFamily": 3, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": null, + "originalText": "remove", + "lineHeight": 1.22 + }, + { + "id": "arrow_14", + "type": "arrow", + "x": 700, + "y": 455, + "width": 0, + "height": -125, + "angle": 0, + "strokeColor": "#16a34a", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 3, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 5014, + "version": 1, + "versionNonce": 6014, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + -125 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": "arrow" + }, + { + "id": "txt_714", + "type": "text", + "x": 615.0, + "y": 363.74, + "width": 170, + "height": 20.0, + "angle": 0, + "strokeColor": "#16a34a", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1714, + "version": 1, + "versionNonce": 2714, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "preserve", + "fontSize": 16, + "fontFamily": 3, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": null, + "originalText": "preserve", + "lineHeight": 1.22 + }, + { + "id": "arrow_15", + "type": "arrow", + "x": 1090, + "y": 455, + "width": 0, + "height": -125, + "angle": 0, + "strokeColor": "#0f766e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 3, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 5015, + "version": 1, + "versionNonce": 6015, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + -125 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": "arrow" + }, + { + "id": "txt_715", + "type": "text", + "x": 1005.0, + "y": 363.74, + "width": 170, + "height": 20.0, + "angle": 0, + "strokeColor": "#0f766e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1715, + "version": 1, + "versionNonce": 2715, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "clarify", + "fontSize": 16, + "fontFamily": 3, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": null, + "originalText": "clarify", + "lineHeight": 1.22 + }, + { + "id": "shape_100", + "type": "rectangle", + "x": 80, + "y": 190, + "width": 330, + "height": 130, + "angle": 0, + "strokeColor": "#dc2626", + "backgroundColor": "#fee2e2", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "seed": 3100, + "version": 1, + "versionNonce": 4100, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "txt_600", + "type": "text", + "x": 80, + "y": 218.4, + "width": 330, + "height": 75.0, + "angle": 0, + "strokeColor": "#14213d", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1600, + "version": 1, + "versionNonce": 2600, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "Verbose\n\"Could you please help\nme refactor...\"", + "fontSize": 20, + "fontFamily": 3, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": null, + "originalText": "Verbose\n\"Could you please help\nme refactor...\"", + "lineHeight": 1.22 + }, + { + "id": "shape_101", + "type": "rectangle", + "x": 445, + "y": 190, + "width": 250, + "height": 130, + "angle": 0, + "strokeColor": "#d97706", + "backgroundColor": "#fef3c7", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "seed": 3101, + "version": 1, + "versionNonce": 4101, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "txt_601", + "type": "text", + "x": 445, + "y": 228.16, + "width": 250, + "height": 55.0, + "angle": 0, + "strokeColor": "#14213d", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1601, + "version": 1, + "versionNonce": 2601, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "Lite\nremove filler", + "fontSize": 22, + "fontFamily": 3, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": null, + "originalText": "Lite\nremove filler", + "lineHeight": 1.22 + }, + { + "id": "shape_102", + "type": "rectangle", + "x": 730, + "y": 190, + "width": 250, + "height": 130, + "angle": 0, + "strokeColor": "#2563eb", + "backgroundColor": "#dbeafe", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "seed": 3102, + "version": 1, + "versionNonce": 4102, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "txt_602", + "type": "text", + "x": 730, + "y": 228.16, + "width": 250, + "height": 55.0, + "angle": 0, + "strokeColor": "#14213d", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1602, + "version": 1, + "versionNonce": 2602, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "Full\nfragments OK", + "fontSize": 22, + "fontFamily": 3, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": null, + "originalText": "Full\nfragments OK", + "lineHeight": 1.22 + }, + { + "id": "shape_103", + "type": "rectangle", + "x": 1015, + "y": 190, + "width": 250, + "height": 130, + "angle": 0, + "strokeColor": "#7c3aed", + "backgroundColor": "#ede9fe", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "seed": 3103, + "version": 1, + "versionNonce": 4103, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "txt_603", + "type": "text", + "x": 1015, + "y": 228.16, + "width": 250, + "height": 55.0, + "angle": 0, + "strokeColor": "#14213d", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1603, + "version": 1, + "versionNonce": 2603, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "Ultra\narrows + abbrev", + "fontSize": 22, + "fontFamily": 3, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": null, + "originalText": "Ultra\narrows + abbrev", + "lineHeight": 1.22 + }, + { + "id": "shape_104", + "type": "rectangle", + "x": 180, + "y": 455, + "width": 260, + "height": 95, + "angle": 0, + "strokeColor": "#dc2626", + "backgroundColor": "#fee2e2", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "seed": 3104, + "version": 1, + "versionNonce": 4104, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "txt_604", + "type": "text", + "x": 180, + "y": 465.9, + "width": 260, + "height": 75.0, + "angle": 0, + "strokeColor": "#14213d", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1604, + "version": 1, + "versionNonce": 2604, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "Articles\npleasantries\nhedging", + "fontSize": 20, + "fontFamily": 3, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": null, + "originalText": "Articles\npleasantries\nhedging", + "lineHeight": 1.22 + }, + { + "id": "shape_105", + "type": "rectangle", + "x": 570, + "y": 455, + "width": 260, + "height": 95, + "angle": 0, + "strokeColor": "#16a34a", + "backgroundColor": "#dcfce7", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "seed": 3105, + "version": 1, + "versionNonce": 4105, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "txt_605", + "type": "text", + "x": 570, + "y": 465.9, + "width": 260, + "height": 75.0, + "angle": 0, + "strokeColor": "#14213d", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1605, + "version": 1, + "versionNonce": 2605, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "Technical terms\nfile names\ncode unchanged", + "fontSize": 20, + "fontFamily": 3, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": null, + "originalText": "Technical terms\nfile names\ncode unchanged", + "lineHeight": 1.22 + }, + { + "id": "shape_106", + "type": "rectangle", + "x": 960, + "y": 455, + "width": 260, + "height": 95, + "angle": 0, + "strokeColor": "#0f766e", + "backgroundColor": "#ccfbf1", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "seed": 3106, + "version": 1, + "versionNonce": 4106, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "txt_606", + "type": "text", + "x": 960, + "y": 465.9, + "width": 260, + "height": 75.0, + "angle": 0, + "strokeColor": "#14213d", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1606, + "version": 1, + "versionNonce": 2606, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "Scope\nacceptance criteria\nexact constraints", + "fontSize": 20, + "fontFamily": 3, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": null, + "originalText": "Scope\nacceptance criteria\nexact constraints", + "lineHeight": 1.22 + }, + { + "id": "txt_107", + "type": "text", + "x": 170, + "y": 622.06, + "width": 980, + "height": 67.5, + "angle": 0, + "strokeColor": "#14213d", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1107, + "version": 1, + "versionNonce": 2107, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "Visual rule: compression is a funnel, not a shredder.\nMeaning must survive.", + "fontSize": 27, + "fontFamily": 3, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": null, + "originalText": "Visual rule: compression is a funnel, not a shredder.\nMeaning must survive.", + "lineHeight": 1.22 + } + ], + "appState": { + "viewBackgroundColor": "#fbfcfe", + "gridSize": 20 + }, + "files": {} +} \ No newline at end of file diff --git a/docs/diagrams/token-cost-anatomy.excalidraw b/docs/diagrams/token-cost-anatomy.excalidraw new file mode 100644 index 0000000..00a000d --- /dev/null +++ b/docs/diagrams/token-cost-anatomy.excalidraw @@ -0,0 +1,877 @@ +{ + "type": "excalidraw", + "version": 2, + "source": "https://excalidraw.com", + "elements": [ + { + "id": "txt_1", + "type": "text", + "x": 54, + "y": 36.260000000000005, + "width": 1292, + "height": 42.5, + "angle": 0, + "strokeColor": "#14213d", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1001, + "version": 1, + "versionNonce": 2001, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "Token cost anatomy", + "fontSize": 34, + "fontFamily": 3, + "textAlign": "left", + "verticalAlign": "middle", + "containerId": null, + "originalText": "Token cost anatomy", + "lineHeight": 1.22 + }, + { + "id": "txt_2", + "type": "text", + "x": 54, + "y": 76.02, + "width": 1292, + "height": 22.5, + "angle": 0, + "strokeColor": "#526171", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1002, + "version": 1, + "versionNonce": 2002, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "Most input is hidden context; output is small but premium-priced.", + "fontSize": 18, + "fontFamily": 3, + "textAlign": "left", + "verticalAlign": "middle", + "containerId": null, + "originalText": "Most input is hidden context; output is small but premium-priced.", + "lineHeight": 1.22 + }, + { + "id": "arrow_10", + "type": "arrow", + "x": 370, + "y": 619, + "width": 610, + "height": -254, + "angle": 0, + "strokeColor": "#16a34a", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 3, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 5010, + "version": 1, + "versionNonce": 6010, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 610, + -254 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": "arrow" + }, + { + "id": "txt_710", + "type": "text", + "x": 590.0, + "y": 453.48, + "width": 170, + "height": 40.0, + "angle": 0, + "strokeColor": "#16a34a", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1710, + "version": 1, + "versionNonce": 2710, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "tiny visible\nprompt", + "fontSize": 16, + "fontFamily": 3, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": null, + "originalText": "tiny visible\nprompt", + "lineHeight": 1.22 + }, + { + "id": "arrow_11", + "type": "arrow", + "x": 790, + "y": 282, + "width": 190, + "height": 33, + "angle": 0, + "strokeColor": "#2563eb", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 3, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 5011, + "version": 1, + "versionNonce": 6011, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 190, + 33 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": "arrow" + }, + { + "id": "arrow_12", + "type": "arrow", + "x": 790, + "y": 452, + "width": 190, + "height": -87, + "angle": 0, + "strokeColor": "#7c3aed", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 3, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 5012, + "version": 1, + "versionNonce": 6012, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 190, + -87 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": "arrow" + }, + { + "id": "arrow_13", + "type": "arrow", + "x": 930, + "y": 632, + "width": -140, + "height": -382, + "angle": 0, + "strokeColor": "#16a34a", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 3, + "strokeStyle": "dashed", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 5013, + "version": 1, + "versionNonce": 6013, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -170, + 58 + ], + [ + -140, + -382 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": "arrow" + }, + { + "id": "shape_100", + "type": "rectangle", + "x": 70, + "y": 155, + "width": 780, + "height": 520, + "angle": 0, + "strokeColor": "#2563eb", + "backgroundColor": "#ffffff", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "seed": 3100, + "version": 1, + "versionNonce": 4100, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "txt_600", + "type": "text", + "x": 70, + "y": 401.58, + "width": 780, + "height": 27.5, + "angle": 0, + "strokeColor": "#14213d", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1600, + "version": 1, + "versionNonce": 2600, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "", + "fontSize": 22, + "fontFamily": 3, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": null, + "originalText": "", + "lineHeight": 1.22 + }, + { + "id": "txt_101", + "type": "text", + "x": 105, + "y": 187.92000000000002, + "width": 700, + "height": 35.0, + "angle": 0, + "strokeColor": "#2563eb", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1101, + "version": 1, + "versionNonce": 2101, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "INPUT TOKENS", + "fontSize": 28, + "fontFamily": 3, + "textAlign": "left", + "verticalAlign": "middle", + "containerId": null, + "originalText": "INPUT TOKENS", + "lineHeight": 1.22 + }, + { + "id": "shape_102", + "type": "rectangle", + "x": 110, + "y": 250, + "width": 680, + "height": 64, + "angle": 0, + "strokeColor": "#2563eb", + "backgroundColor": "#dbeafe", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "seed": 3102, + "version": 1, + "versionNonce": 4102, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "txt_602", + "type": "text", + "x": 110, + "y": 268.58, + "width": 680, + "height": 27.5, + "angle": 0, + "strokeColor": "#14213d", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1602, + "version": 1, + "versionNonce": 2602, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "System prompt + repo instructions", + "fontSize": 22, + "fontFamily": 3, + "textAlign": "left", + "verticalAlign": "middle", + "containerId": null, + "originalText": "System prompt + repo instructions", + "lineHeight": 1.22 + }, + { + "id": "shape_103", + "type": "rectangle", + "x": 110, + "y": 335, + "width": 680, + "height": 64, + "angle": 0, + "strokeColor": "#0f766e", + "backgroundColor": "#ccfbf1", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "seed": 3103, + "version": 1, + "versionNonce": 4103, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "txt_603", + "type": "text", + "x": 110, + "y": 353.58, + "width": 680, + "height": 27.5, + "angle": 0, + "strokeColor": "#14213d", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1603, + "version": 1, + "versionNonce": 2603, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "File context + open tabs + imports", + "fontSize": 22, + "fontFamily": 3, + "textAlign": "left", + "verticalAlign": "middle", + "containerId": null, + "originalText": "File context + open tabs + imports", + "lineHeight": 1.22 + }, + { + "id": "shape_104", + "type": "rectangle", + "x": 110, + "y": 420, + "width": 680, + "height": 64, + "angle": 0, + "strokeColor": "#7c3aed", + "backgroundColor": "#ede9fe", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "seed": 3104, + "version": 1, + "versionNonce": 4104, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "txt_604", + "type": "text", + "x": 110, + "y": 438.58, + "width": 680, + "height": 27.5, + "angle": 0, + "strokeColor": "#14213d", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1604, + "version": 1, + "versionNonce": 2604, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "Conversation history grows every turn", + "fontSize": 22, + "fontFamily": 3, + "textAlign": "left", + "verticalAlign": "middle", + "containerId": null, + "originalText": "Conversation history grows every turn", + "lineHeight": 1.22 + }, + { + "id": "shape_105", + "type": "rectangle", + "x": 110, + "y": 505, + "width": 680, + "height": 64, + "angle": 0, + "strokeColor": "#d97706", + "backgroundColor": "#fef3c7", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "seed": 3105, + "version": 1, + "versionNonce": 4105, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "txt_605", + "type": "text", + "x": 110, + "y": 523.58, + "width": 680, + "height": 27.5, + "angle": 0, + "strokeColor": "#14213d", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1605, + "version": 1, + "versionNonce": 2605, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "MCP/tool schemas: loaded per step", + "fontSize": 22, + "fontFamily": 3, + "textAlign": "left", + "verticalAlign": "middle", + "containerId": null, + "originalText": "MCP/tool schemas: loaded per step", + "lineHeight": 1.22 + }, + { + "id": "shape_106", + "type": "rectangle", + "x": 110, + "y": 590, + "width": 260, + "height": 58, + "angle": 0, + "strokeColor": "#16a34a", + "backgroundColor": "#dcfce7", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "seed": 3106, + "version": 1, + "versionNonce": 4106, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "txt_606", + "type": "text", + "x": 110, + "y": 605.58, + "width": 260, + "height": 27.5, + "angle": 0, + "strokeColor": "#14213d", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1606, + "version": 1, + "versionNonce": 2606, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "Your typed prompt", + "fontSize": 22, + "fontFamily": 3, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": null, + "originalText": "Your typed prompt", + "lineHeight": 1.22 + }, + { + "id": "shape_107", + "type": "rectangle", + "x": 980, + "y": 235, + "width": 360, + "height": 265, + "angle": 0, + "strokeColor": "#dc2626", + "backgroundColor": "#fee2e2", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "seed": 3107, + "version": 1, + "versionNonce": 4107, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "txt_607", + "type": "text", + "x": 980, + "y": 296.74, + "width": 360, + "height": 145.0, + "angle": 0, + "strokeColor": "#14213d", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1607, + "version": 1, + "versionNonce": 2607, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "OUTPUT TOKENS\nvisible answer\n5x pricing\nintuition", + "fontSize": 29, + "fontFamily": 3, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": null, + "originalText": "OUTPUT TOKENS\nvisible answer\n5x pricing\nintuition", + "lineHeight": 1.22 + }, + { + "id": "shape_108", + "type": "ellipse", + "x": 930, + "y": 570, + "width": 430, + "height": 125, + "angle": 0, + "strokeColor": "#16a34a", + "backgroundColor": "#dcfce7", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 3108, + "version": 1, + "versionNonce": 4108, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false + }, + { + "id": "txt_608", + "type": "text", + "x": 930, + "y": 586.75, + "width": 430, + "height": 93.75, + "angle": 0, + "strokeColor": "#14213d", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1608, + "version": 1, + "versionNonce": 2608, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "CACHED TOKENS\nstable prefix gets\ncheaper", + "fontSize": 25, + "fontFamily": 3, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": null, + "originalText": "CACHED TOKENS\nstable prefix gets\ncheaper", + "lineHeight": 1.22 + }, + { + "id": "txt_109", + "type": "text", + "x": 965, + "y": 144.5, + "width": 350, + "height": 62.5, + "angle": 0, + "strokeColor": "#dc2626", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1109, + "version": 1, + "versionNonce": 2109, + "isDeleted": false, + "boundElements": null, + "updated": 1, + "link": null, + "locked": false, + "text": "Optimize first:\nconstrain responses", + "fontSize": 25, + "fontFamily": 3, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": null, + "originalText": "Optimize first:\nconstrain responses", + "lineHeight": 1.22 + } + ], + "appState": { + "viewBackgroundColor": "#fbfcfe", + "gridSize": 20 + }, + "files": {} +} \ No newline at end of file From 028ccb8189c94484fad45936a8aa49f5f3eb595d Mon Sep 17 00:00:00 2001 From: Marco Olivo <8478776+olivomarco@users.noreply.github.com> Date: Sun, 12 Jul 2026 14:21:34 +0200 Subject: [PATCH 12/17] Updated slides --- slides/index.html | 337 ++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 278 insertions(+), 59 deletions(-) diff --git a/slides/index.html b/slides/index.html index fd3f19c..2eafcdc 100644 --- a/slides/index.html +++ b/slides/index.html @@ -172,6 +172,27 @@ .left { text-align: left; } + + .diagram { + display: block; + max-width: 96%; + max-height: 560px; + margin: 0.35em auto 0; + border-radius: 18px; + background: #f8fafc; + } + + .diagram-compact { + max-height: 470px; + } + + .star-history { + max-width: 96%; + max-height: 420px; + background: #ffffff; + border-radius: 14px; + padding: 0.35em; + } @@ -226,8 +247,9 @@

    8 hour agenda

    03:15-04:15Workflow + modesMode routing cheat sheet 04:15-05:15MCP/tool costs + dataMCP audit list 05:15-06:15Practical setupRepo setup checklist - 06:15-07:30Model/pricing + governanceCustomer admin rollout - 07:30-08:00Capstone30 day token plan + 06:15-07:10Model/pricing + governanceCustomer admin rollout + 07:10-07:40Outcome per tokenPlan/execute/verify loop + 07:40-08:00Capstone30 day token plan @@ -241,7 +263,7 @@

    Navigation

    Quick Start

    -

    11 things to do right now

    +

    14 things to do right now

    Start with output, then shrink structural input, then route models and tools.

    @@ -263,29 +285,42 @@

    More fast wins

  • Write precise prompts: target file, function, done condition.
  • Retune prompts to target model.
  • Audit MCP servers.
  • +
  • Convert rich files to Markdown first.
  • + +
    + +
    +

    More fast wins, continued

    +
    1. Run /chronicle cost tips & /chronicle improve in Copilot CLI.
    2. +
    3. Use AI Engineering Coach for VS Code habit review.
    4. Try CodeAct for long CLI tool chains.
    5. +
    6. Build a Graphify map for repeated codebase navigation.

    The priority stack

    -
    +

    Output first

    -

    Verbose answers are expensive. One default instruction changes every response.

    +

    One default changes every response.

    Always-on second

    -

    Instruction files and tool schemas load repeatedly. Small baselines compound.

    +

    Small baselines compound.

    Mode third

    -

    Ask for questions. Edit for single-file changes. Agent for multi-step work.

    +

    Ask, Edit, Agent by task shape.

    Governance fourth

    -

    Budgets cap spend. Model policy limits expensive lanes.

    +

    Budgets and model policy cap spend.

    +
    +
    +

    Outcome fifth

    +

    Plan, route, verify, close.

    @@ -329,14 +364,7 @@

    Core insight

    Cost model

    - - - - - - - -
    BucketWhat it containsLever
    InputPrompt, context, files, history, toolsScope and compress
    CachedStable reused prefixesKeep stable context stable
    OutputModel responseCode-only, concise format
    + Token cost anatomy: input tokens include hidden context, output tokens are the visible answer, cached tokens reuse stable prefix.

    Output tokens usually cost materially more than input tokens in vendor pricing examples.

    @@ -384,6 +412,7 @@

    Goal

    Part 2.1

    Prompt compression

    Say same thing in fewer tokens. Preserve technical precision.

    + Prompt compression ladder from verbose to lite to full to ultra while preserving technical substance.
    @@ -593,24 +622,22 @@

    Use scoped instructions

    Always-on vs conditional vs on-demand

    - - - - - - - -
    ScopeUse forToken posture
    Always-onUniversal rulesKeep tiny
    ConditionalPath/layer rulesapplyTo
    On-demandReview checklists, release notesLoad only when invoked
    + Always-on context should be tiny; scoped instructions load by path; on-demand skills load when invoked. +
    + +
    +

    Normalize rich files first

    + Rich files carry format noise; MarkItDown converts them to clean Markdown before AI work.

    Cache-friendly behavior

    -
      -
    • Keep stable context at the top.
    • -
    • Do not churn instruction files constantly.
    • -
    • Reuse saved snippets instead of re-pasting large context.
    • -
    • Summarize and restart when history gets stale.
    • -
    + Stable thread reuses prefix; cache-busted thread switches model, tools, or agent and should start fresh with a handoff. +
    + +
    +

    Persistent graph navigation

    + Graphify builds graph.json once so agents can query the map instead of rereading broad file sets.
    @@ -718,16 +745,7 @@

    Review

    Ask vs Edit vs Agent

    - - - - - - - - - -
    TaskModeReason
    What does function do?AskOne call
    Syntax questionAskNo tools
    Single-file tweakEditTargeted
    Multi-file refactorAgentNeeds tools
    Issue-to-PRCoding AgentAutonomous workflow
    + Decision tree: use Ask for questions, Edit for targeted single-file changes, Agent for clear multi-file work, and clarify vague tasks first.
    @@ -770,6 +788,11 @@

    AI Engineering Coach

    L`FAmefD57&t18 zU0Ndd5Ra4@OG_IK`kFdn^MM!4h+-m=SDfXt?KBW0s*2gJ{Ln)p_PWb|GNy z`{3=5@@aM1vu?Gx@#4WS`t#Aw>T7o2s&E3{+Dq{f6;ZaTtvxNe-k zJZ7(}O<)&3zQi3}Bc;mw>H1PE;?upmBP|s2rfu{&@o5lOJN=3TB@+0GbH@0etd)bT zF@Z#|3UW}kG~~nu-pNr}F&(fBcJiQ+Idqj-r(;Sy#jZfthpKH3!+BeViVIfs$`-ec zFKn-jBf_bAON`p9C_usIDaI8gEQ^QTxwOnKl-7SKX_!;SwLb9XopW&n8!N_A{p{-H ztN!SF82c)8oM_<#@*ZkfSaDG_)BMxWx;OE6xGcMRm6@;#$jorAjS=K&wYiKGdrLr1 z8^c||!LQqG!C-~VX@`N2%^B%ZyDLx_dDWSV*yWIHA8!j^SXOHYNy9NDbaVs@JVTNP z7O4vG4q}+7D1di+&Iy1HB9!F2itQF(Oq$%B_zq0^U~=E>?4(^I8!!wt=2AE8V>vUk z+CCLgzI{meVdr2YaEMaAmvP-8$NA5T>WeQfbi)cwO%jjl@G~2&nCZ@;tjO2Vs$hsP zb9N=G`np$0TR1Exnc$>+n`=cwQQquxY@B-E>*1l^K3Gj%-CbT&4DrGT=Jex)?dH&H zBog{?eFM)K#`)VIIrIa)LgYe9I&JiC`;Dimfbx1r-ZC4Nr@(IN54cI&{HD^ z&^q|gg>%kcwYJ++R(bHy*(1h{a@?t3*U6?`VMI&#QSg3z7Y38(&AI1dTK5(yh-kfAfei|zW}Wfu+%5 z`y1E*>u$QJQ5_*~2C*s(X}4UaIOrmqkbtT}!~C%LpQ?t4pcY?+!!?LWlJxA~Fw^D+*JCWqv1L->uTg3*K1z=CZ7e2=sL`r(WTKL%f zJpOx~KR=9!*1P3CH$db3UAy9A4mFfBxlbK(u)Mr@n>D?moP*}z$$^IWj|g5ePOEOU zlm3GrI0^h%`SVR=+o+d@M#zO29Wbs5WiBZU{{}#5;e8~X%VF?BD%7BjxK;_h-t!}0 zJHTRSf8!3KJY79B2!0*Q zB<*`5KZ1JdjC0#6+m^9s>9ZDWGG%veK5c!^VtbnROp79zbe&Z`G3Ag5@jUTsq=v4V z6TI+8h_x+GgF;{uW~9*u^OJ|S0->u>tw5F=Egn4AU>>F8f6NV{2ECzSgYI92_`zIonTc4% z`S_%{?58(Yskqi)1BsGXw*=n0mCfdpejGBeJl;2e7%Jrgru?~)Bz{DiKs-D1r&W0d5f_S~xkaz>g3Z~Xi< z6Htb~D#!JRzizP(<+Pn1e5ty#lYHzC^lXmT6GU_ik4=1?#+t42-%04hQoZek(^>2) zkE})%9SX+(NO1sRT-#59KIY*uwxbeZjA?sxxO8-^v-c%EGh}(Oke&BEOWE?3Dqop^ z)l90l`;kmiB;T1@f;r*&*8U2BD76+$!1#;fVFtRwo*U77uYX01xQ3C$EiP;|{B97@A zT+^F8%PC54;G4JYC~WlYy9Q86&w17xGAA@NGyW96`qEDIEx=~j|AJwX&_ygfxCa_i z&pDEva~BRt6KJ$6ejH->#n8z3S-SWy%((fj5jX_V)J{l7Lr~?Tj&`9 z-uI=GRm+%EVt~#>H(h+Ld%~ci8mNoiO(m9N0@yioW%Xq!A&{t9wDb=cF>bZypxqm| z@-xxfz(LqZ{8;wWNEJMJo|5&K%=9oo@xJu`lInYL_m%2;PwWvamRTY-J(ExU&@ay{ z=3U>Y@>7wk++wcC*;&E^*-ue+Y{VIr@2kY8VYlv z^Et+~jp!Tdj;Ookwd&MNQ0kVAce$leU}%LFXBZVPI-END4Uo3@vtyEqESM*D&onKN z!3Rfk$ zGr<8Do6nCJ0RlsT0_NVxw(O_xpH>H=ofu5Y$nDq)E8Lflp00iSN`Xmt5V~(i7h$Xr zv#K2#SSc)zdRF6fZ zI9Rz5-wv;lZy&mge7PLJzoC~@OUW7*(URYQkn1-_J7{M4Y+nDzSGU$Y*mv!-r`Ww` zk|I*m)5z~vu+iGZU1giLSg0U?&MGp~jBsI*mXc7Z$ITn*ZTAsk z;Nnn>I<2u9WKqCLA2^Qja-B~e9TJE|r|CI|f86uGJVDlMs=>mnWU~R2LhxBv#9(6X6e>p1aT4hNF?{!B zktDFDev9=lXVsP9BX`1#kf$BHJfTVHWU`bKNk+C(3H?2AKWx&?f4)S*_L^}f5Sy=zkFOt<9(2%ye|M=HOkO@1-dvVHW<67|6b)C!L}GAHvQmD6U{@)C0lY3GS}J z-3jjQ0fGdA1b26WySux)2X}Xe;O>5R&iVhkFSqJe&BHuQ)%4!Idg-@T5A0rArV4dG z9G;jOWi9SDlj>yAi-P2bc&>&nVs8+Sy39P|PlH zE+qbv?qL#8xF#qq)u-YKQc(#XW((x$|NR3FZ6-dX6aV_!@lHIpP{X@Py4ks5aNCxd zn(|ep+%K0;H!nOGu;Kf`O)-WN!EcQt<{tw#B;8Eer23ji9h41UHH77bgK&Lp2a-If6EQY$(Vih97S?_L3~eL z_B=e=i^-4_^Q%Q`$d5+^MaPlpKiW`sz6Xfym;*}!pRSo+P~&W3kq(gw43>D%`*rl4 z?tUC{`^p84=uuQvEij5GDC*((U{)?SHKv3RMEodDeIH_UoxXjO1S`Tyxb8((vk^v} zYjBI!sgedGC+u}Ol$l&LG8FnoUP&+$`$MI~ZU%F$ZOPjW8xka`Fs#Kk{xQ`uK0@2e zpoX=)kv;}K9l4ByM%!6Z0!!4f_kDhT663hcgR^!DC(JZ4=yG#wG`I>*`WghXrz1=C zYqzILL$)D{>n!N?g5~O@q%^HwnO0G&wCoBT0|oLey)#70 zsMGoho2>%>PXDe!l>NP$Z!{_A84#G)rDc}kGPG?iX<=_M!(xZ1{{Q}T(^pGo;G3PQ z=4&aWJKW8&2i1TWWo3F7FAtya2yvxepa5BolGOb~A|qjAu6JVNfJs3Dt%UZPtK8oj}ZHX;bES)r%Fu?DnblsW5b#_ zeA*I6pucT1f7_o5sh_B%l!lA%&Al#ODyOP4-i^CvB)ILrP9R3Hl90EymQSqSU=5UR zsHrKf!a_wIuD~3q#lgWVDP}${YeF9mbt51hVX95<=A14QpgeW~sBEcPSb-$R^X1}Sbt5Z;Y$JoOH z15u9SlA55X*uPcsXNc+t_S|OG4OS9yPwVIyK%ZjL z4pgA4RDNLKM%X=QPX%ucH5ycM1yS-O5uTOp+m+aTZ>?ox8s*5~K!RR4OE=K!@p{@L z0}+1_uo}LtfS&lN{CXZ@cw&xpGw)c%9ymysXBhO6oez z0;y0b#f7<s!L6U zNVPv6asyRf(RTsk^y|wo?*hRO$-0Yd#zAD=Kw*4W?lHO1ci*$fO7*FW?2IpL(=ozj z<3)1BTTSOTIsz|~Q6w=_VSAj$tAf5KhE7opya(erZ8^E^Xdp$^p;nJ)Ft!}+)s%s+ zRP#huvz3AHg+HaFh5|5MKSiyf@s|~rTp#pc=Eew2oO6hg)-5(YF(*3o>a&hPkL) zf~H5ZIX6SMH5o+ddVI}Q8B48zp(yL<8G(FDKfTp9mV*(S-LiA#tlGq~Z1;FtK~9xt z4UG)bZ|+8ZUoURLKVpVYK_=u&J!|XszKNuDQcD|0^+kb>8l1et^S<9WC&_yWp;-U3 zd*vjL^|5+tX=O(1iNYg#H5ZWquP!^sI)}zvP}p;LFzdOnGkqB?lE917+%qh9cqXo) zuGwl@dJ#Ka(NwrlL{KP4itbGCoYhgcg(@TaeTS%%H^)1;q~(1(Jnbw!K#6&!^_Ul# z{(`+*bVm_E?YZQH*AqJmOHKj~l+B7UAV=izeopA$x~xfaZPyrSx|9>zBJdY}_f)^g zN%kgom-N`b{hxi_!QOhVY0)eW$yE1u)cnHJ_SryyudFmIF1ClhtT?tP8u3o;xTt1o zHg}Wn3-$;t0_;XnP%Aq*+nsZ__GNo_W-~T!P721N& zxF{q6`4@e?#nk0TOZHl*_Ig>>175R-_2!?s-r6wQW?Qv{ulREX<@;lTv)uT=6g)`` z&gUlEyu#nt$t)xOqx%QgiC77$@fzwXdy>yQ2%({T>1Vg{XK5oP`-S=Ck9npeqVx!Kr)#MnY@Ir;g;d3k-?ws7$9TII^+Z`*x? z%iP=_giA7{IedRY?)&C+z1JsPry6qdi|b2EwS|@RCxv7pl?SWO+iY)#U^f)8>Kvkn z{*>4UD`fDtCl8N|n%G%zjUZ5{Ihwepx=^Q7`YvpTzXK=ebxkBSw>_r@$ybQlL=B&h z$~IqF4SS%O-JxH9BSV(qwyTLVGs39*k}%RbvGy=3b*akTMuWP~p`wDz>Ie?QwZ$jS zQp|EWF+p8%Z~q(2*j3r8T^&69b+WXB_$Om4e59l_J@X54TQ%0=v{-+UgtU(Dr>7Lg zH+IQ^ko|m&3gT)~5(emtLdr9aya(8S;cLT~RRaVszsemST=UDo#E7XXmEEjXHRxw- zqI`er?nAXXv}1 zzZ^l7gS+LANMPugR;!5TThPMHa7hdV7{eMhIN0J;&|I(>xn{EYPUP-6++Z-W25*0sxUc8!xg+(rT z2|PI`6(_GwbcMeVITzQGOuK7wdHL_~2nAW`0d1fut;+-J`{ne)!ps6{7uez6cBJ?? zIVB|luif>XrSPk^n9E-1uJ6s?$x`o}*H^z@5z44RH8rIYK~rTrxH8S?zf;4@sC4tF zgjis^xU%E2HE&YV(xwU3*>ve~b!32J+9jjQ$jQzgF>ZQtbVN%>_vw#~Phn$ep_4yO z_V4k#-@;__eh6wjq77Fzq&4s~(?1vq(MY>+TXS0z!;&ri9qJwD8yx3NrsvqFX4uUy z+nNJstyO&siJ5*0g(OC%CQ9z8)re|QuAx8;tU$%W-Aa42>zvF#A^z7w{l~*Xg_pUp zxq=1x&}mo;-9QKTwK$5R@EQFuK_#LhLGPKRnv~DrNy|+1Rm%(b{2BK*A*<0`@pi5w zkGP6EL?$;O?lZ;Z?efeF3#hx(M=zsI(up`KJlvqwgZ<3> z=kjuTkWXag#2p^?$;C_(lVOoUMqnll7k;G~6QD!Yb1*9Yd1rQt=l?AAf8PUB)dm98 zC(tE>05BaA4RrbHiV~*<0b*wV;^gRt>tKj_=YOtd zKi=(8aM|-w@bH3{1*la=HecRP=SS7rxbD&O=~neXAcN@ouudP z!B&~{+F4AlWzG9Rpk_zA{)wQ#K==Tr?cM<VrbrKPnj8Ke8ACZ>9=9{jv?cp%%8zZuiU63L(O7B66oW!c!~ z=I7>FSnJ4<-tR2aH)HorO!k?j1~WUnmse%zhH?uEjt-irDcH~ME8432=f_(l9;_7` zYwBWVutl}B09hdA(N_Gvts|mbwZRVtde?EHq=2^rD=sa)CEAiBjmZ*p2cyc$GN^Xj z59+QPymD#J%i~Xxtt=@40|f+&M`kf&fl%(nHIrFMNyA3>QDGjLNI6iQos-<`!GM^8 zmKK52d9i%#G&#Ad`f7i4aan7br&TTlS`2s_VxG}YpZ@JA@Par^=7tOpCUlD{Dm-y+ zpMhT*7#roR8+Lbl4Mt|hFPZG*|3asV*u4Q}$^^<%*0q+d%#Ar*X1@wx4>oZ7Z$O z#)x=Yc?K2mzcYUZL<6}ifoQ|~56AyR#DT;&(EpKam_IgQsjb=<0{mG5t`qxqO+QzV z@PZNUauolZ5E;fNCT4K`dLGU*qoANb!?e4(rf7`92gQZ=sp;z zzM=m8$)+kZvohasC7|@!LN*AKvopY}NBjBq4AF{cD*eln8L>kO7|7!tf1yDK8|0G~ zOvmP3tywTkQz8uq$2?>*);wJ#57DdnnT}3|o}sKI5GR9?q-y&S*7%zk8d9*mUG3l) z5e2=vjy33?RAXhY{fnahZD$vg@j#@Xh?*KE$VaF<3YWE=!~`k0&U~9lgHf;VClMEZ zq)>NwA#X)xY3$PCxSSmeDuVe72y}aLF`wCp3=$F%A*Hk|F8c&Z9y2Nz*C>)_hvU~X zObG&%Hpbdoz>#2YU+)(tWSc61=Vv#NPjxknDG53}jh%B+G>`%M#<+7ys*o`FUBAMm z7W3bd*f9TN+5Ro>(X*zh2?(2dk=$<&D=X%|oegU+ZIXM)_|z68^e^8~0oi&&e6)J^ zNhI0e$pe|wvcd()3`zPA^KV-%bV-%$zX-+;=F2$8F4Pf{`5{0;F=WOJm zWe3*21L`b39wP_;o&r2o@X(<(rY5H@9KF00k9J3i^b3Fx`g}!C<+Fvj6(s=Pl{Wfq zN!Wi*0Qi*-tJ|rhEFl@`BD4%79OyHvX+TN}jjs?0BuO7b_w`eQWnj71gW#B7wasQ1 zr}dhJ$Fc2q)J=3kh1#nEl1{IP)fP`qCv!_nV^eD=5Hrh{UR<(XGV!(m2{FUkm>4jO zOPBWW@a_%@K6>y%E=MP)KijqwjFHUdFr)M`q%rsz_^E6P|6W%;e*DY-p3A0z(Xz?5 z=qP+739Xd#8KDlH5d4&Y;h2~&fDs1+?dROP# zLR0D*zp9zWWqo%2N=HZc-PnJ6iWJ%fd5|jiR)zLZm z#G|n`e8}AP2auvt+jHuIIL=UhecRM_-{mk(H1K8(JzJ@#ixH1TJLB%ENC!F->LMK3 zO|&#_5}m%C@$rxI2(+Gj@S|rWBkc#Gd$jZNK3T6#eoq)?0aI(;f&D1BTioZZ-Hgu6 z_!FQRAyBmDj+GFrKUBFRgni3E=Yel^>vh|%o#pRa zmDP^6CezIOx$*{&y0F?}b^LLUj~e;xg4teI1Js?+mc_L88gN8SqbLt8iz%lAAoEq_ znVoFa_b&vfpl%zdO?|zw9C{v+2YFMvzpf4A&nO}H{$iw0HtWRUrb&z$QTPI2`@BsT zfu68QMZ;8-*kXQ;1YF8Rrv&;cSjKUZoe7St8#G=PbD!!v=aug<-Fc@heQf?l{$ zgNq9bMtY`W$+-m#2pD$QQXgQy?3^G#<`x#_C*}v=4?@hPBRzzPSAx+$^x-{;5ceH< z{~qCRe7?BPbMfGOTqrP8%;cIak}wdiOc!-$@^oP+COqr1DeN6%rLHj3F0b&Ec z#JwKFawZg0S)HbGfBB!RvRJgN@fX?Pw>%g7F=Reiegw7!@!-D0Qz4%+zMsLgT$4Xm z?P{=I!<}UH?q1nTATQP0#s&f8&NqX-1EgB{puc<25w2ZVOKHZ}so;Yzt<87u1yXmtBcd z6$S?kin!K0bAp5p7yqRDk!n$9S5zv0paG2*aE-}Nd4-KmHe2Jbq=rt;WEni_ghzm+ z+!K1fANUR$MNkyTxpc8bDWD#$J_!0;SA#{e4mkZdp#ujEApLqe5K~l=f&>whvn`J= zS9>eqot_5jWXbEHVpPm6H!ly3(ZIsWVG$fmk1h#&{uI|?+<3ix7R@yu&5!AA zDm{e3wFtASW`Wo_=${!edLAp$Tt`nHQV|vP9I2P`zCbchkZEpd`MFtRGJcGx%a}B{ zYjv|JMUK+Z{vvsln=ORL>ooUt<2NYS(9l4yP6NtLq*7^B#79~j?(;mF2^=5=V*>f~ z_(N|!zIJ`Q7uD9Hfx36ET=;UbLM~2^W((!8<~i9|6c-hP*?)n7!ouJRH*b=8+PFef z1=o0_-f4h11(`-F#gGVc5_u^h)*kai6NtEKaNLm3gBr{V4hH&RI{nJZO7RXOgxFwM zyxD^Nc4p2b7(1RZT%88(aMcdmH2X>jx~{9Xm<;falM^!pt=2aX?FX4Mxx`NA!uY8s z);y;bB?zOi(Pq@k0LTjb(d(VR7G521aoMOehax#93Yg_)X5_S+dei?e4KuXjc&B#X1 zZA6C1l~S#?yeD*xBxqg1EB;r8ut3n(F=$Oz^VNb#-$Ig-_+J*_=j!mRn4GxbVz1As zE2+%rR3ITy6}_;+%1orflH6RshRKYRljGyp$LYG)cD__UzmAUa=p2ERl$7M!oE(9| zpFh8cG^p(F3-goH-d>(I{9cva*79Lw_<~2W|RJj2gPIun=Jl4iW-7X$P?3 z|M@btK4U}?b(YJrR*qk_AbAD2cL#2qlbyd_CRM>V5+JN~BFyTx38K__ZrL{fdTWci zJT4T`kenFe_t+QKOyAo0wmLn!K>4gs3gy@J$tG+?fF8lo^!MSxH)}CU^tzjHk=`zS zcU->=3RD>Ah4F{fhRPrnc+lg^ZG@Lz`srB2hWHa<&p*mbA8dGhFr&={qKh^jOFeKylp z78ozQ;UW85W~6}yv-!OfCQ?C~&OGUe3`Nk#_tOh9{*nRKcnn!^6h2K0cx75zxX$_| zA|2hRfAIa{Vmi0w^O)9bfo=f_$kU^jNlq&dmSu!mbvL@&xi+oZ*Y){^RM1YI(SOA6^KkTr zf&&&rtdLOloy=K444s;xDz$abfkNjqGUgS#<>Oc%2*eUT<5V zmxVE^D5vz$yiBmY%Rf~*L#Ty6I1ADnL(KbhmF26R+V<<60#PTqhU$FsVVNB6^6-Q- zbf%mvgXXq(M{_>-iTjC?n2RiB{2;=w47Of^5m*{X=d7;-6n_(|X<@~{MMF!=N`9JE zoETMARgrCzl>R=|<=wF|x05G?2iYD-?L`D{_m_`oTtEhLN8G7#GT1QN(k(p)Y4;7>vo~?XW~*zxy-vRjG5vyU z5$6*ykjvO!8y>J!#O9XHIPeI3>W|6VMe8a!Fu?|LXSH;t)Yo>}JQhfdiJAK6MkCS4 zJu#E#!FvZ-EUNKtw~iOA)%Kz)o>zw*f66J0mSt7v4xK9@!~?u4zH7*6O%Fy76+MVt z+ru4=NN4a9yda-loeGEiNe2|rT>fdc#6=w1%&7Fpl^A%2{Op{1UGEpa|10lfDY)9w|$)COrMQ1`o4MS)3eD;3WBtiFApRxy52A5h9fEb?^o)FRo`3 zs|EXxxgJcLPwgfb9cu6|OsS0J2A2%n$at6Q2YX%b?%-#D+91AUxIBKzbEkZ{Z2%B6 z4b@OR9^R;gH@)S)<zRA$fdFW-xMYhOWBk9?fYGJ_bD^F_4vTL#c zn|Jq%{ZO<%Vc4}Q@h2C)_wH8L4%13sYw+YVQLPxPYC9+6j+0BSJ^0|!f}xlWzEm4e zYWm8!8WH_i6OG?NPRhT~a}6D4%%~<>O4$$Mv<}!oO1GbNmSSn!@kaU4ea( zvu@UZ8$)4&>1^N?u*zaACI|%0Y_Rx9MfpP8SC9J%;9VqWF+v5=TULBOTih;2a~+e! z+qSNJM)yB~fQs@GI!Lz!$MuWY@9i6)G72i(rYp^jMIEc>RKx5ekX;+i;o9FC<43{bCOZs zYs-7FCT!p{9gp*AWbxUjjplwa@;~B0*^8N~Y^!S>d=)xIlC5Tn3=PJ$Wh_@jz3lb3 za6J{U|M)*;1I6d0>6S20X>k)`bu@po;~q&($QtHW1*QmICxgHJjEP(rkdwqQ&(CZ5 z@%~56T_Kd?{caF}p`oxPX4Cr)6*N^8=g+4m59J73T~_+RM^b-HJ6+5Yv>~}B^@U(e zz)wksPKER#k-p+xT!+9}$DT?i?(%VuRDC(Zj0DFukiDUS`FU6fKA}#W4G~ID;L9ID zjxSXQLtTb4ANm|r5Ar=2v`g%GPU}5LN#jRt=B7-fgx>E9MGd?*eM}c!$bv+>yQM`H z^c-ASQ93Q%?t8>V@%6odCyba0s^FmHe$0zLWj_9~({cwi(buf@$c%Q$OD#4_k*4v{ z6Nq66kMTbU)Cx=tH8m&!bu}ZU`VfPLm81-YH(?}9n-qm6EHzk`_7w^69e8J4mdX!F z7ib_56;nqVSMF@VYL?*(P!X)$c$v8lCHa?Ky<$}v-JZ~AY21vqPWjQ2_VK_}uM&@u z5ab={cwvNWtnXyQ4dzX&xKHzuu5Whn6BZN#7jD4p3SU&%SeRO8b~B8=*w_cw_VDX$ zV{m?E;B#5<_`%J`s^|M!4KK*YZ!LEVJI52s2@IsFUOkDAX$nf_u=yjlNy3GH{u!4_Qws~GpV%uo@r{IiH{nl_(o#!vRXD6}a8W&SCvtSy+>SpGARpcJ7(8(uIX;=&%qadXSQ9!-evBB-*w0_dU+4 zUH!aBpFoki?y8Ea;CN;cKTWMUAVlDVNj9^Wf#zqUqAs_Xt<5oKkHsb;vIpoX$@ z{_s>z@piG>C6WmsyaxlxBFs@DIDcH+(k*2s4nq*edaCqi55aC89awwZUe$84tIn!w zbo)S(X%gjf~)PRz2MaD+b5^ z$pRB(`u4d$G7=(!rZ{KrapqrMe+jSGpWb>*0c}tM?Gf}ew1E-+68CI%YynDC02Y(s z&eh>c2=_*5$8z0p#|{FiH&Oz2e{oVU^dnVSRZ&?@ZG87?RI`^i@G%*~{QVIFO;3yD za=E^iJ*CS7JpO46ku*tkL zc2xt&M_lCCmz zFN@3wvzC^UVpwdB*yyYNCyFR7(igTc&HYhlB6LgL>w_4LqWAdqkjq<77e~ZkG2+{k zV^V)N0`gW#2gh3dGv2QQsO0DQpWQz=;Z33Xv*|`u`|BuV%Dkr;f|&r9k2Z+ zy5;oe5wxQn)7-*bMNL&C5SQ2X*%iDE7zpm#PTt9FBXdDz(4mk$JyZ1SeU=L`cs8t?og zUhPF53j_XVP4cRwn|x2<$Hb_>(Ay#r7>IxE^bqcvrI-_jFsg}_bEU>%rJ=(zf6f(C zbVojHd;8n`V4u?M%#et2fuN7x>1TT*+6gxM6o(?t!U%N4opx(=OXBP%W_<`^v3xh=(3lwV6HOWP|V zHvukfL}fv1(9NwL7pS{PYnuf7<2lPWk`n21e{bk`M7maopBVA%d)ZWPK?B}wuO3Q2+Q#fFE@wsc4cUY7K=Y2Q;R;g5aL)E zMQ-nvKeDMrGwsI)4>wa)_N~3@S7mKs3!a<))yMKRG)Z`l4%_=-9Qk#fjW$BoNd)$41(n8*sXxd!sdRHzFuN@lVPJzrVs%5=StNRT4u7xV9rkTk? zRW}h>J44>w0}hfMzeCR0)J-?>jQ{e> zRsplMJMG&yXAO7zoKHii4A9nm$f$B;y6VFMPH$I!R>9SYe5S*xK0>Fq7bD9Yg-}44 zW6a>y78y#pYaWuVpagh6;9!E)?)I|CP&}!Bp;kG;rDnyzhzS)ccMoB}cEJ~kZq72vQWUBFnj zIXQC1%(eXz8+Fu}bB9s}!pjs1w)q68yBa;dyv5D5uXH4*FC4tsG<=h#hB=FTrhp9iCu5VplIpThJ^r-?5sVFbBE; zHg=g;r`2UC>|JXGHz`3Ka5}+2CI!8CC{_g9aa+Mn`twA~J^kQu27F#o`zZe)N4M*o zaV!Y@^$KS0!>hsG*NZ#qnHzHbrqWv6zX|}ZcYEuU#bUOUYGwbBsTof5-Lq-^j~Hd- z$p!RBB!sR-8wGJH;`O^Z{w5;Wcb1xRzl<0iO*%U>apEmx8{K>nY(5nV^w5vW6kgM( zEJZ3Fl7^cA6Kkixv=04yztfj63>8~LGZ$8tcdJG5k(^z2jj{sM!exM_>HUOL*Y^)A z0hgYQv1nP!eGCk7s{Hx61-Dihvf0El9`#rLj-dcw{ujqzP@v!U=l9f)HyKGpAW%zS zzvTlop>CJZ^9*78I}GUX^jkqG{dSB^8QHFUBivbged6T-(QJ}D4iu2X@4*IEerLbW zn9B8C^FqDN^`*h*YxE2{RWy~PXZd);vqMur3&RL)X*<;`t5Y?+R;0^~p^IrG@qTnd zNuq}H$-vjx-;srv!Xx9ss1~$grL=G$A0_|v&kj%ZlRA ziUz{p)3YBYCZ!Z6_^f1iO-&lM7OvMAr2ZQa!K+Cmo9%-iWDAlS`MSIuML46vuX{pd zlEWt*L+JUtJw`Q^`k1O7%xqH+=Tt7yI?Bp+_hY~yn$*w8*Eo;6e?uM(g~*0N2TzeM zU`bK`FN|4U@c)4^$*jtEOZ*p0*x(|*wzxAKirRjEiy5!@{gYtam=rBL)bKe(jXCbH z?uEn(SKi2?@?y^vlMol$ShFxn^NhV2J_4KXpfmYj~x`#3tmTJMa<*?Eq0CYNR? zsh0L!*EN#H+#HVOw<^%+8C#d5o4gqi9~t8G2}rzAF|yZr&*JQNB1E+-mq@(b>2FGUz0(x6}`)-VVYgF z(rHSqJBCB2;*^LkPe_~fdsJn72ta}6=4`Pm+Fmc$NRI-)Rd>qe=Ev(@tG#9v=dR_d zN{3|Oe}_1Vj>o8z$46JaxW7G(OcB(iD8QaD7+8sU+I9Zx%;EQQrNew1r`?@1jMA%JLo2&&vX!NYh_|TUY0^~}LkqZh-cGy49 zdq0^xW^6Q9fQ1U#*0L=(x*WINc+0dKUo7@>@2zdhP$7Mps=Sc_+6>w>)6R9cUwXC~ zo>S2XuXXTF_ys$SC*ce@b?j?OYf49?vK`+V)I34;3|%QN$+nZ~B_ zL^PJ#>^PhryE=;CWN!3H~V46En>GVeF;qI7$0{iA9_JDIv zn64MVts9>RKT4RwW*T*g>=GSMd0BCIY|3J0mqA1%V|xFqfz!usZ?W7{B1;B0&+5mF z9ZDA#H9nN@BmWbBpWz`wzY3=lqvjW-NyXQ2eL4T>$)cC?{=99HKw4*FTmQH;=GK79 z@@j{1)lG^#ipZZ9mEMm#ro2>!7{41UpC>+zx+9wF7?_f&Wb`Gy66n&`V0n_Abqp?O zF2Uvb93l9c@%ZQLu{YC|Tav+v>sNk6pAT03%%g+1!;Mc;Gcpq=FhmhV9(oaFS$wGM zueI5-!acuDMR8I6bzYfOPegYxo*IJrX0O z5`3G&ldnM0#zR(BU7w2<)%T;UEJW=af15E5#$E}A8Qqo88&G*5B3$v?pWCvv5C&$n z0!fA~3**8HMlS_Y$mxvfS@U+|8>iY54b(h_#73*>?+Xub+kn}=YkP@26|8RSUYVJ4 ztdT(}5C|-c9_IYC0K3<^EF?xngNn}ogYdlzuPcozB!_YLZ)l66x?0SZvRFZ^2IFCq zop4wATI|2Ifvi*2JI%oZIO zO1Z$u<0n>aIoyf=hY9W);^>l^^{}(fOlWyZ=tDvQ`l{}-%-!#i5ue}Ak27AJ0k@-_ zH%0r<+osC?L7o)72uK7to?jYK(lI3smuyqB#;eXJoFqw4vrqAOObapvr)23!0s~3d z7Jx)XL3x<}0f#W8nqyFLXG_BL|C{;zj)W<827@@>jzh=tWmeG5)lwgcRWPY!OcBt` zmDE+Q_OoAHu!8%RJ+pkma6NT=hyVzxy|y^IpOyyTr~rOc?-L?v&BXd`k+UCZCeV?A z?&+D|2@^u}iN#y8uuO&Z)0X(OVvc3;l!+pSL?*2njq+Cw3{N@s&67XSWCD)pK6Y?2gdp!xhike~mz!1mn&o|8b^gEIy z4i>sGicI>AJG5`RwHa4N$;TAiQSB;re#VSCEGDxQ0P^3QmL;M+xkC(af00QBXL~XJ z9vK;NCLyY=tt(M2ElaBlt=Z%J=IH3CswyijZ6WU3!lwqHy_3_^nP2myh}v^=N%zj$ zPSbURYOjGJQ-6Q|BEWsCeZyke?DW*o)-EloTI_JwI87vDVL7&xrH>kHs;#yC<%pGr zkTfbMqo5!oMMq!&n7fLc$$Qiq98&XHjGf<~pxv7UCaN>Z||eluro>=@aF3+vhRa1K-;kpL6 z2JTI|2^Ylk(n6AVJq4BMBATHSf2egHfp*y7!dy9bEL5Inl_mp>@9&SE+^s*ZqB2Ev zrhSuw%sG-#16UeIqcY(|Sb)YC=46xk-uD^Sgm*ND>V0BdNLD}9RI5*0NeaRYiSVDI z1}|0`n&K%!iu<>1cL$=hj++$g;iCq5z0Y@A?30+;VFE>P*exE{p6aUGJZpM}?e?tR zc}GX-K%mA(4xp%qfteIS8=sH_dCK3t4Wo>9e0+Sq{y?Rd(rK9SQKZnjqGoN)2=oMI zD+f;Ix<8yo-JyxA$<0sN!~nwz3(r3#qVH|INf;XR;vMgw?gXR=0(?n=%%XgjfQGU% z6>@HA>4=}WJv5@lc&&2?5x6PD)hW$(7UI=xY(l2{(VS;!5#SSPJWVFLNW*b!K_1a? zgM7GU22+wr%xbcLw*#b>4MuF%%b%Bm9Q#+G^`+3!EbY1)0N!OQBm*yj_XWM z$p~b5AMIdDP`&7P@YN(Tq%{e;zLtAEl$Ms>95D3{^h2L+>TPb4e4%meYh^%-z}T!J ze0p}QHkVOXUsz#J+uJWuQu>m6mXl+EL?rM&NYpDqjEFc&|J{0RtE#woYr3Te;i{tl z-m2|<)1BB5X)L!w$B6|#MWs;Q;)J{Y)0$+f`v0;3O&e<7&kNJm?=mB4(W_)%g7H2= z5L4rZ@UA`)$A+xGG>dyh1}-ZAdC!Tl5!=IL0WvB#&OT?+%&+_|*608oh#}?a_qYt; zG64Hpu=97Eh#wL{1je6{$@p@DNf=s3UNqjD`z5c)$J}0%9xFjQgUhwOHTC%JqzS!~ zqWiwhnef}+C^LmD<3?m|?v`bHGhmW+ette7j{^dazsD24)74Hw$({9GU0p30$jPbE z>Ao=?SKd|JwWBPlw4_Wfl?@4GdwN(hG9nEUQdVYhz`Vj?VFozZ5enaqqxbb-nIy(P zyO6#Nd0!)JA8gsbd;tLT#H6Cc#KcbTk6#D(>-b0j|Cc4;S-Jc-s^J8vAO>g63^Un~cVNy0 znMk9Cs0WLYo^#j6P99+IVJ2ZDsH>@s&QkNZ;ohmF3?b=h3A_0q10K$Qnk4^~Fi>V5 zEgv|X|4}?il^MZ^sH(O=#j6LydZRsj*vl(CC<-4AWb0t3sG*@#;}IcrFp%;57a7$3 zKfJcxohMk^*qAIBXjzL}qiVw^qO_Fug8(i%F76Y^0~S$6Ru&wjs;atouy6STzIR-` z{MNW`IR;hfV$-|4ym)KQ4h-aA;$|pJ0wU(24I16&U=lD;P)N>;=r^)jsYk5yq}Q+g zcE~I|(uc=sZEUgHXv4xh1r5^F)+&F@+I)4D`Sxe3V%1rkUmYmow)ysLv(>Az;mSDs z9ZLS=U9Vn5@V@vJljVesSBWn_-N=P`13f+!A%3G6Xnk7}letzjp3WgUTDN&-S7g(R zi~ax@>Jt>y3QU}LbYurCnerjqJ3A#-+{^7*;P85@bN{Wqy`7A-bbP|eo?hW>g6Xq- zf}NuZy751>)Z7AIh2`P&2o_*pKZA`E0kh{WOko(4ocAuTMw2Rmjw?z0md3`$@^aaq z0&)fI?M6qjm^8yBm$rY)j{xqtZ(=|UzA;d!+h(O&?RF*^9}j&o7WS1K;exiPY-Jja zFUwu2zcgCi8W})g?f(0Gxy&9A{T<_dnX9Q`FApZ1-qB-YG{$Z5f1aDJ@_|epq<9jI z>MoN0Y!ly3*y&&7*dWC9Q|~Q#yvY*J>FEk%YN|M?sq~&*SQau{F8n2M5RhJ#cA!x5 z41y!$q{1F40L~Q@aNXh&q#|2=03|YumL`I}jE-ooz{g9ud^(rs{g^8?06w9sphIOK zfkGm}{eP%~f!Ns@q&1Y()EbPIj~|;&jWi{!Ss;#)Sc|91w?I-9m_Y@?+S=NH;5e!YY9@t5FC{I&@h#J+ zj0y<}2o?~9dU;|fWwnp7B8eMTDU_1`C0*4-6=DF-Y6VX3@lq2VFh&IPM*-Fu9GMS>If9ij6CSpd0v0`9=@}CyC0gSb{ zct4Pz)EN9p)Y9U5bcDk|lr_3>yS)Pq125Q+8RFXW&Z{j|I2KY5^`4y!903gL&}lGlR!j+U*lodm)W08UDp z^5o^!3yaYo#j#h^>I)%9wSmV-t`EWihoFedA5BlulH}szfwi@EAR%l04WRAA z?e07!Gqc9?#6UUhbYz0#L(rhp1JOi9CGN*8WkG(Sq1iqSh82MosCy`;*Gj9wqL0X% z-pS4>e|k?wTJ!4Hm5u+Vpy%_?@Qtp!M6NBPK8U?Lcn2$xS!%$L;r>u&j)ErYve~Uvq}&ZBYaO`Z4H2 z@_MI-0dD zZx3OelH=p~td8lGAkDCg0G{X*sJ;EA)AQy1Dz6CSlYW|>@S(FBdqV036}_FOwD1DS z*G2@sU+3(Uq62@-W25CNWW)VxyV|36r$w>o&T}q(R18feO>ot$lb*_q{ zKJ&Q!&Go%IT*Tow;=W)pTdp;%kBGm23lAps`~xsisCfG(7y)@i2LKm|Q$`xU!;6K#(z^ z#{=B4R6C>Wj4VuGfGel}98cc3Ys+O21IKhXjas7aKe#)n@R`?bYzXN6kdhiUDKNp{ z4hy3d)ze#_8S#@Ykj8<&it|Arf)NV_OA++qA49CaG06Cst~00n4=ZI}R@S_d{C3z< zA7b#VcIfhd9}zl0zGyO)U2o^#^GP2`<|wYMuLGY{POgBSZ<4CjH4Tk54V9bc>s2EPgC>)>Fn%=8Bt8j#5tD=@EB@K>)}dXz5S zq1P*8N!dvOySr@w{~q%&m6NL=jVKk-sArpL;N(o@sjuP@)kbX&vhx$#2=ZL_KEFSx zlHwEC91!!~XcnI7lO3U5J~)TuhlLH7n*gvZ)#xIi`iXe7|E0eOxM@;82dLZNeEQmn zaK5cB$lFR?LzBW^RMoriIGO6&Ca>T2@T~IdM+=Z}O`m?FLOO;70SxfE^WTM}C33>7 z3-cfC9?wIB6C6gO!=2rfXPNODhLcBlHN!ZtKbB?HY07{mTp;sR$FV?kc*L<>#M$Bt z?iFI1cife*a}1ULEz5wrJ$Bw^`s;&ZiCk<@*z=EYn4$A6iNDaR_5We&s-vRnqWz!(N;lFaB`w_w zgD40HNOyO44hRxT2uL$@h;(;J44u*?ox{)_@8b9Ly}RZQ*1Fu2yU*|JZ4H%h;-$-| z@wFOxFOS0>?}eD@Gdq)v#v7HDef}8S7+wA`H!dkBJW3i{T7lziYBQUJZXyKBWvQbH zopJA#$K}VUquZw(eFE@i!;YcH_4rpv-l1}&OEu7&CfmoL^xDeC+DZ{-x(xtZ2f$~y zF%G=kN$#VL<@2x$Z!wW;f|z}am0RQ$6y9tq$}|xppO>m)_*Tr!1@2TNcVaJY`=J}e zx0?ASITN3q2D@3p&f`XZbrYMuoo>BI#v7|xTAIvuZfS`yS>rmX{B=9!k^;m3MU3$z z@}|^#BWJ$Avwnux$bVp}DQL=NyIx(^7nh|aTI|C!zUOd5sBiNNKc=AoJ7 zc$x!7j^L2$Zz>-;8B{wN)}ajt2MD<=Ml3f}5CGO^2zL~BzD zFhLfjxF;HLI}7!-RJmE6H7pj#S|b_o;@M0BGV;&96cjjUEVekgpM=3itJOL=AmuUL?5a1%#v0e-!?j zZj(86@d>*{0j0Ba<3B#9jr*;6HMr1)1c1GP6C;haSkA|ZeQR(5&$(#?%5v*7f4nG) zgUJr)i}_Hfwdb!nUKF^^0V@UETmlL`bLYc=Bl9|KG0^YTP8>j86X5B6P(oVE&q5}o zs)0lNrp16OH%+lviQtg)BxG3*Q6KyUw9?ovh@SXtoi7QtN1J&DVs-y7+#`>DRe0Z?`8Q zIxD^EXOM06819jyY6?16XFD8RCntA;5L9kVYb_C%L395rx7NB@;RqchP)ClbuJ5^L zxdLJ$>8L55%HaFsj8LR+=rHUB0Xqq{NPfqyQ*6Zpke? zE~xuRf})@uxL9z_r;7~wpyEK;6qfj+_aP{~r2XkK98|Ee;6q1D7!lHjRbQcx?DF=~m6M80}C6z{;@f{OXI z=MVp@yiiqNk|`LG%6*CffYgIy663z~+@)xj6z6=TAX+D8WHbeVoG~k1fxGwSYs3m1 z{AIly3nCDHZa5 zC$#7UCBGi@Tn~vOY0SLSxo~Vi5Nq`mdptcROr=;@e5DbJ272sCJd{t^sB!6``Dzvw z)Y|si?dN-b)`|749f7y&*aX)f{{TQrf`6bqj8Pk0oG+^R;vZU_QC1xKsW}NnQf}4y zDlA}gA6PeR{lO{!wxu#}u{0eOpVK|`!udDSPNQEJ&|#RgdZZ35s zrM55mi8l@XqLQFBH{CgMcU6vp;|%jnUletBehu)#7QDxJI4=F z58hesc&c|}RksG2Z|~U%*b`OwV4OOOH^CztQ27=_OGkR&V2@d>e*t_@^2VEQfzx6i zzFEwwVK(`C56-tq6A-xfXoHKaV>W3hJM%V~jOi0$5N?oBA66wBLfenxM z)EC6?#`nn%vAr4S{UY;D*nWw<(Wd!$|KyZj+2pAtxeaFQamoYt72M?LC3BkZv=_XB zP0cU-{U#OF{OJ{$99Qk!B7c=UnEmX;ZWtR3?m_~g@NymIO!K(-%gr{k_8E^l>o1vi61RcQp6D>gAwyhE#HJQn6qOFxYsl#;H+OV)O%}z}K%1BK? zu01{!rhgs##-+na@lZ6w$kJLO!u(7iO45hIpEUFtPd1QL0?5$y+Y7D?{?Q@GW2uV2-#+s`~QbQFKK_+{nOA0j3b%Ul&ik<2D4#@TDexocug#CX@V1fbU9LNw1~ z-=FWOG$_Nn1+apZwKQqnl_WBvEzl0(-jkKA9II$sIQ#l2qB6yO#=f_ZBbT&ZHNub7@uP=7=*$*)ejx)GuH@%T6r@B@jr&W(-#;8q(Xc1Tmkbg;%WTa&I3J&^ zNqdACm0*88i*SGBoahs@>< z>^&jWTjX7Vv92A-YiDXiBvtFQ*Q+yKpGsbC=St3r4=Pjo-oXuujV8M>CmvqRBz7d#z>MZQG z%U?QR7NHz!oBOV^?u{5{1o_1WD`$x@6upTdn))>#^Em3IeI+MWqyh@4w3o$)$YyJ{ zhl`7DV_`?ZrdsAvW|M;hjw$85)49cK)v^b2dkYoc!>kV$X*0vfmaC5zVf}^%nkh>+ z-zQ#F1^)X6?)0Er3` z=nm@Zaxu8Ey*&fuLm38{25l#JUpW}dQ_9LoA%RL=)^O(UD%{czBn`H#oR^IA&Il-kD$Cp>B#%yy4o=_GeIucjV4x%WLylR9K&N1sxwpH zgmQ1t=@>(x&v}>9%D^m1%iB$_|m_BC!_7UBO9p!5%o>+LA;9*$@&DQ3%+F*kF^qFyB?j$8>9Y zUV(`MVvQ{irN|i_bXh?eNSGA@aE@ah*WYmSBIrv?Rzl5QOu-8%8wLWj>wU>f9ho5Z zzuV}Kem-c#f8lr}``nT+T*jpW%zAocPa)2_yddQSylSuyi-|&?(lra$0-z)3#2LZy|!PQunBhClLg$|nwpp}N}|%!TaxhJb@^T@u=CL9_p=tE zxzS9<%vVbblb8o~H39Ei@AOxqXKkOJj3M$?V$fKAkYRXsjZeFF=(lw8YxBEl8qa<# z3=iKwE1{Y?UJ}0}mn$h!_Nbj6f{LB@T$%YE!nrcBfYy&MlHIIt&F^lrEY@N%yQEyh zWqNnQ;am9aUdK})^{ULDnI+BFK{ktJ)}a?4NcsV<$o;BT^rm;aay6y!xN#;41vmvY zqLyZC_-cQ*H5r-KV*WW@4)rJ;A$oc-0f%9yO)~$k>3S9Q?%E+G#FQh=8_}K<*xMhB-6RDTHnS#0h-IUnl|I_MLGrOR zHtudkx>c6e>Z2kARjRz#t~gu#_1fgf4nkjEh3%$xMQ_6(%8QE8UfS*Em4pYP4l8D$;beVZUF%ScXwda!9s$9xQZ?+Cwrn^=;)uruJWGc+0LG_%~Fba zZ+=*GEq$|82ug846aABD5C4+3%6eC7=@0!*j%!PAqI3!|Zh-X9a4%<*hmw6QYN zuHM&)+1VeeMXlD4{aR0bU_fM6SxJed_jwZUfMea<(2!gAa2svZ_b+YrUJC`fAqUQD zCTl>hY!x6WUqD;uxXEhBQmSrh(?KBUr2;30)1@&QZe6{w=*ei4HVg?X{Tf(;0XTYX z1PGMU(_iGhHt*Aw45aq}b}&jtjvw7oE!*^)$~aT#=6pP{pr9e9h~J%n8=t{SL2_>& z3;W&3H|7|=mJ>}CmnsM6CoJ@9-ZC;foRtk~3!SPYz!BalqOE+3HAEqVU zk4Z|twX<^sOZC|p$}7{dtutB5dC{@uB<_7DUQIzNlx}m8m6_?d(?HeLK|Z;2HwK;V z>RK;>xVmwvyA64bqtj$AFGssAcyh4si94koxi|L2Fp4$ZzBMyrd;p5+ljrzeq>3|A zQL>0&s#y`jvIngJHL^I78KtLx+aqAA3TYyIfjg{lOp;BV#A~8SW>9~WQoiP0KYDn0 zFBW8Gcq;s4WM-yv3;yx?r@ZSqVs3|`Z-~YH_bo4)6soKSP*KJ1Y~DkjHb?`D}*F-@nrlkg2$YgzLRH>?zTWfd=0#cul#D z8F73cw$@iYb2Bqxhvi3V{FB$$52C*NL~<^SZ{wf@Eak-Wky=p=4$8Br&XJH3jn2)b zK%ER0(;#Q8Q!4i>$MqD0qvbrQ?DU{jvVfRfyLAKoboX{8CbES(v;6R|2;pfv1<(1?o9=*yChQuID1Oh3K%&R=C^T#9Meki2HTH zHyR~n4mJl-pRP(*X{!cx(;DrQM!2>wjZFYOJwu7ML)w92!h@lezL@vL3*85*sC`Zfn`sI#U%lV3OtN10Xw?c>NUTN)K%CM1jneiRFeih2-C zE+kMo$=$by$I6k&;g@Q3QMp@FV~V3VLGQ zvjZ@geP~mw8xz zSUWWqj}UR+r#89*gjfMWYin=MbS`s}%w1&p=tAeoMA4D%c&q=zaGSC>m6qf4@d#yI z-I0qaV8=Gm@2N?>oWZ5<;2hn0cD~d0oVumCd8O+2YBp#%bgr>cP1n<>tKY&17Iu1c z7TaSCFym?m!3vgAexQv&FGV<+kwRB$qDWiMbZE%+jkgr7qS_##2(yd}0PcbBc zdLh6s&G)))Kqva1r{veT$WkF&4m zd2ta;<(&d$Gl50u2)piD)(oY;qKFJZ+AIq@s*{u9ou%ZnOn*7t^wxX!IY*Jl=Ahct z>1txu;-#|=V$V)Styfi7_2`$6oo;heO$4@S!3N|hz^NsoC)>rzh?|s~$+^)O4#6T4 zO3_k0B{DKIvpg)w>e5p4MbYH-jaCbsAQY@1dg4wj?CH$(%(!)ik%|zF!$*)2FO<^z zycx*1wrPKd)b?u8r^V)QHT1eK&I&ga+!YB?!Q+wUKoknmZDgon!!2e_Oy>eS&tAT4Lr%_P{oMn(Wv2fx*>}g@K3Q_!cmHEkOHJ({re>+^f z52v=yN2RNb3{2p~phjzPW65Lrfin`evmY^!IlV;pUL}i_DZecC z?az;Mv*9Flqi-9$$g|>zeAYjqHNB!D|GloyNRz2-b_Arl!wv2HInw?>s8MaB{&157 z@;MKic_;o(&rc`PwrB2F^F~ESiz1|VN9;w_?&XYro z*4frybX9A;j-=%EJpMkYAY^m-ixPEb&!fSe2E4kr$7i%&$qq*wRwgb-BXkLule1ij z>o|8Nduz33+mX;+T_W?jzN>!bwMkaAPEI#}YZiR275crnkcFeDyrKsE@#%J(=Hv{K zj-o+gdB$5)mIL(t7hMh7I^mg(g_^UO6;&}py>Oj*;XNPM@KyQK0xF&UY6>Vvlc%dd zytGYKW@W8}B?~6T>DKah+JLsN-h5;B4m37Y5C!ZK*&L-YZ93=2fE4g+R?;r6y;vBU zKAp1&m?%j+I<{(o(XWx&vRgPcC1&LyX+GA`|(?v|IRAN z9ZcdWg{QXMdbsYy2Rj`W%-DVteiIBnZ@l<9K;v&4Z>DcH=5DjIh-x%CyRdT_+`?Ba zi_eFS+=zvkn*R#NI$Xv-O7$^1E1Mz@G6?COANM^v;^#=cZP}^HhW9E1LT}=CObtZH;aGc?%}UMYMYV$Qbw7~+rS7eaylF;e zaTz?-kZh!5D~rjjV>J9BgYpC#i0T z+(Z;-M=yh3J;Rev;5+oMszD7pube+Z%#SSk))!FMRKj1QO3#-1zuM8&AjH|7@8ovv zB;0s(fjH$=Sgc!%Es;-qXHYWVDR=v;uON4Ta_piF6QzA;$fp`nleIgr1EeO{I5K+& z2_L5EzX1v=p-p?lqVHXHs9#ZMW{%d!TD9EWAUdiWe41`nFSWUAL>^PmQxfrkzeFuA22R<{M{Hg?uk18fH*u_0}UF z_Bh$zrO)F}7FCjq0r#th6`vq=#l5?LY0(y`x*fM}H4qm?3P)MboexpL^fb;!*0@Ls zesGuN^QyS$G!N@4C#aQM9ymELMu$)8Dy!W6%tDx^4(+V!0_Nw5nK#!1xxsg1 zu=`xlYP2;<@}}I01#-t2>a*o@w?o&Ca>bq?7#QL^MbfvozO`4n*QU{|D}VAiclq%0 zJn-7cK@b|O(d@pv>X4CkgQKIQJ7hau>Y94KTnTyLYX;S9AS^H1ZG7%(9TMNr-nJQr zV#2M(b8(orLe*TIy%TAy7J*L@e*`Zn>uM;a!B_f>1?8zM$?3`@fD3E$2PQTS`OM~`mj@DG^p{O zY;YuPZ$B4z;Gtox@bft<_h^qdV#IW_uY^BS@4A>9AZym2{NQL`sZ;G~pbma{`zg9a zd|`TO_}5&v$I^(K+wE0GR*Wbv{C17ni$e{2V?2`e^w`1byB#Y>k-S(u3FJjiOvN$u z8a-!slg15u17CWGnJhWvO$opC-ChatqGxS;!&4y9(2)1x*`E37`UyItjr$SJ%04Z3 z<7<{cK+X7tdY|k;opQl=BlW?i9O?&emoI2(EkE!g=Hg4YPnl>hH+QnS%75PUG1_WR z3ZeO!XCwNwPRrrg%|gAZM3&o{UPNFW;zsY0DcL-Yx1{0ncAJGU?I+4~q2?RSPF>jh zXRP7nvAPb_wp#OO(}R5q?C$2B#;&{l*K1T2WJ3(Zu4|3+LW4CeDLmB(4ZNz0i{z=( z%Skr~z>Oxbom6%)Pp%g6oUH zjxqLDu{0Z#R(O{p_BljV)N|HHmM=R`mzp-V+~SUk>r1>FU)tbV8p6Pe3S8;1GgF2i zj5l)5Os72$PRV<8)#}HWj`RQ!YF=ozCBQc?`ST4K=V^@Z3mY)N9OxOIoH*n%mqv4xFE;#fhr{ z?l&yc@3dLL)3b#3af@-Ku|ZNoTJ-1cZiN}iX3yBeJ#BXMgqr+AqDMcIsSKP}NADx0 zYShJoD|Zkb9Y>u3Kbug`8v=tp!^ucCSD0INubXnUXl55i=ErZFg&E7?ijp@{5=afV zKiBBMLX)v89rWvZXdaW<)o?2gh%-=tAndGJ#G9dRcvw+1Q*pe|+}hOZ#+jc@O+ggM zj;RMk3%!qeihp(NV(G?>1yI8xS1)+B2NDB z$6vM7p<3z#d;Kd1xvxL@);feX6!?_rNx4Z@H`%F|HaLvnQ${kzd?pC@q#fO=KXZ{* zi%?dcBn2R}S6+Ia-*1|r7v8?Xh-=TuJxKH(WSw!v+`!dR-SumP!xzo@pK;>#$#F4x zlpxS$3FHhqS9*GL*ZlloI)l86jkGF=odt4!URTq!1$VPR{ywvPDL?pqY>U7}rn+d7 z%=gyQF1SHOWxPCmJd#ab0II4t+bUnJ`Ax6OcH_X^hylyzU?5m$?w!seHu-NO@){tm zU-kS0hLvKzB=q?dQvd;yUse8EUW92j;8OF!M<-)kaEpmpt5zap-L`t1rH6=lQ+J8VZRSr5ql@?W_^ihAdW5XnIf8X z<}+2L#(8RmN*iSln1EP!pRh3u&z@i%%mQKMm7$`i{2sN*c}}zO)wK!P{Ha%ku*n6Z zYS;2={tGp)MOwTXSJwBxm?sO}tEx3eY*Fupps`ewxI3{K$gpyz0FJKT69#$EC631F zUs-r~iNbqjBaYh%ZQ!wSf0NFlb%l-TsxZWE#^06Nm&QjEW@Dz!q{dU-d}m)7U)xa4 z{vNT)w0!+=>a&RevoJOJf;LtEFYC(Rg{DsR`_V+W5~+Mzc~qpofM%7B`b zWH)u)laVJhVe#_kNam!D&Ef*gj@!ngL5;piSMTfW%t-6ltjkvKg>{2Q5pcD_y^T04 zrT-_&r(OXjhJ*eb!McYZOKMfwuYzdo{f0gjN>pogkWm%7I65?X*Hlv|k*~SRstua0 zRGC*!lU$IcT_ivuJbUgyVpsS(Ys>l0-k*TCX!A@bsjmM~mjWe?o9p??q~va8zExby z<(2|R1%3mm%K@oe`}r5k>+vcS)#KAQ)NY1kmou8h6(IYbbnBZiSWU%>&=*3*e60zQ zGg$|Xrq@}s72+4kd@MfwP`(74IT5#7hm|9{Jp;91=I2FT%Q=f-vvw(>VHB?qw$4WG zu0)%wn@_x+0%mII8$C0R9j71soET%%57^=LiXDsu&Ic0pgwZTVx!8QwdhR@Uwkbhp@niV9AEY-n<_fn@?PSW;e^iM}u`(EJ^@A+&c zJ=g5J_x!vq^?O-|quWH`r^9-At~buZ=UL3$FlXPzY5sTmWPqWy=0Y_-uI;J*OKu?e zPV8iAz62_^P=5*^(nH)h!3Pzl$E`5urMqy*2}VBsw$e^l~RgHO;A?-btU>K!Rz_=B_WPytrT?ZgW#r^(LxhE*fnwIj=~JIRhTB^;2~TNS_r`5y+7l@_}^$iyA6hC=kYy4XU z9jBevCyV2hL;Z4C4RA@LLd4B_)6e+X_f~c1(RyN4+}@r0npu08JjB&u`kv$jL)~p> zC)l4Ay%nA4$pYevxeAZ3Hq1$Jt1371SUv6R6U=-aY*fNW1rz~yr0MiO767hks#9Bz zSXFGJts_e%p6}vHeq2$glIOiVZ?c=3=?SF0&ECq=o4Tfsgpu)kxc6spgR^Z$*tAO7 zd1%wKzh_o!8l(&!$vk>+dq8Iv3Dox8J2Btw$e`;2yHZ;8eD=886OM&O4HdIGt*oLx z4Dhjm=bTi1&b)SX%?+DHXteI7c(WgM-`2`;crR`3tZzTxIP$ot%h}~20rOaY07t_5 zlkn1pAQw+C$OH2em+dp0JGuD}+@Pvgu!7bQJ7%ooRD1Ec2z`tnQ$Q<+8 z&D&w|*Fi=Xn@t}Yu=J3-ZC~t~JB;T*tQfhIHxK{FXlRW@9E5sV-*|Ocq!wQ3Xz{J$ zdKB?8>qlL6bN)d~mN&;_z}H+xx39P7Z8B;bvNy?3gQDJmshXQV*q3>gzO!`7X+S?$ z;{b|xY&JFfW;oyyRn^mr<(K|=eX&2U{2Jr5;rhL(tQXrK3qgoRfwRj62bY3P2<9vj z^O{Pt(mEn*EN2oow*0MP9*_L^K?gcZxYZXR?#BE?qiX!KNr7z$xzKMkm=&+@VF>b< z+$yg#JT9j5aW|?4%V(j#*4q)f`jcxWEF6GX3O(4mAeNb)2?m=QZS1F=WugRRRF=|S zXqzr4Vi@VP!WNI}CJ~5zf@}6h-Q*O@zQG44Lepw-FU8gKe6puH!+!6Y>KpQ3Dv0PtsZW1M*7Pw5 zu?k^UfN#MsSEvxXwWZ6XA2R{P2o`tmKBHbORcIV@b{S+)~!LZrj%ebxPHHwv3q>badas z<-pHk-U=-)zNTF`?Bph!gjg2ZUf04SuPC)fJFR#yi*)1PC%y$M+6FX~Hmv=&XsBD( zZ^|c`LD_``ofLH5Jd}gPefP+gU7hUJ+>S^$5#kG${ z>puHj)<*f!4+d86WSb!<-)6&^+VR#_dJzy}d&ZZ!6yP1UmHuAZ@~4Zq|d3)!4yr05C+u*Q~2gmi9;IY!50H_}afORtJo)YB`!p`Xni zvf|d&_CRLNY-h1JhS{V)4~jspm1!@%moJfh@#`XtgeFcXqFSe?UE45wMH^zdxUjai zqWvG%$v@J!#1wYL!Cf3tC2WGT`kQu>X_v~)F%FK49P#vXwDJRGA07RUu$q!%*iKADZtI@0NUtdlpkSk8=@ z>Z&N251xTloipEnaCtKvWA^eQ*(3JKw9lHof4;7W0QPzlbdRU;>U7XU!N2yZrbolaPE`h z)7;^nFv8(UN-bWW6xv<<1 zjEzdGMrDcLH>H|8M`$CaW08`?fow9AwU=&)bwfy^MJ-FU(e0G6x?=Rl{wHl17jFRz z1Sje`BRE+h#r&;8!D5{nGdOntBpPvh ziBznt&I}y5UXuiD3~f^3d!Cd4DR+iL8BrD;3R!8Y_I`4ZprQz&4q}uRw;}5fR(j4~ zCPWsDpMWb3&P5%|#xbeOGe6mdyW@q)tW9$Z%SGmp^wu`Hm$7sQaxozDCEG=BStA{Ua3H* zz!TR$G`LdnWa!N!L+Gos?R*>Y9K?nYu6l!|%T0SQU=z6qg>*Gwd$_Dx7UMg#%k)u! zpONq{tQ3@7L_~COR_S>wmKg*Tmq+is2Q|GTq|iD19bnyp-LuJMOXb~-uetJ-|GpdL zq)o2t_^lFvNHMsm=x^)UFWW!oY8FfS#|kMqpQhfBP5V-<%m-U1AE$)a<)l3>JTBMZ zqkHXnyKl7i@N7p$Rs|?F0TteGUkS(JUu1Q5+Ylmc!#-296kyK8tVy;?V!`m)g^r7M=y9xz8 zCN-?s&>DwTA62cZ($hm!+)xRLCRcc|*A4I5f;dTdE>P^`a?!Wq33?0`83P&`o`8^{ ziS{P{)7K^M&HMVaM#si`dQf6N&$HUQ#+7)H9{JplAwfOCsI_fJe8&E?Lgzx7*AqTO za#dqS8DfvtILJ-g-6qXmM!a8G!!34<9Q5?lYmMAOnW7%q!hR*os5(Kh3f zW`a0}G2%T5__)6bY~stB$LBmRz)zDiL}PR7ApT*&9Gz{BCd6Bz-F;Hj6>S`zXCdc5 zk+7Pz^ERmlRchpAfV6sIJx&6X4(Sld9N=^sl+HguLC=u+!&A~TDh?RDk5qwK^id_4 zhk;=6sRY%sULh^n(=et$t4}~666nz`iA$UHH$E<0uy{!b{iR;0teqk+H<-udd&mx} zevdmbG0foU!%2!qQi`7>6c{upo zx$F!z;|x`s<-fy!&uKdTUTd&OPzJ{tAIbhFdi50i{G>2i3S72ihALcxW$aDK>n}~> z7yz7T664R|x}WYkykAdDQUYx8X{O|^?YX1Aq9qw-+U<0QtFs|w2|La?igqY@X+rdj(i?V%K4Z_=W=wqZJYKjQB-2neskBTI)Zi(bF$ULJeB{rmf zkPvuic+svK_?b+bg=P}K!hk@m(;-NiR1<!M|ifGuI=((hYAt|dtOrgQ#ixU2I zW7~;Sm2o;;16}kf@$aHUS~`fTusIXEh>R{CHi`e%{DY|h4cACCK5F3WUObmN*{}$I z-M9N$5g}HLbwG%PPITe*nB2xgLTr8Cqbm0=79jGGQyUKNcZ{{F%YH*2nPS!Px%#=F z3Q@>BEy?;72%j6vw~RRJ8fg*@*vwLP?~DW+P9e5?tAu4GE%E>xt+@A9*Q|Hsd~`k^ z)vhYc#1a$3gm9~z-8TzMe~{dy(PS*A&+H8#ToO|8oFFd|uK>y`MAzH?$#>jK3WPF_ z)llT?6&Y59{pS(10%<783$67=4| zVZ<_2dQ9Wn-?KGK-gCbf&dr(;gUl1 zNRDrh!1)~Hil!a41D=8I?slldHc6uxw0ONY7ly(><94(($exB+Z-KIB<2)?CgfQ=o zs)S2|Vv1aHR8WBtzcDWE7U}bG`i;852g7%qLN>~;XmQ^LFgQVhOsK3H4$Abi`&BL* zLg?xb06uHo?xrO^JeQzV>VW?S`1mfXU(8^bDfA7gSp2;R)9?BGt!NEf{F`_>KY&>S zsY>hbnDSdQxEjnDi2t>1zlz%S}_ zd5Ihcfp~@q+YhO@Q3@MC!z#UDMg#O4q1^^^0U{ZJI|6??O8zkwlvYGGsnLpe-_^t$ zrZcB7O-b)M@0!J5!pYTG3RX! zeQ659SJas+3E#kWpg?V%;}Wu&jv#gp=LN5dxW&BO?zjh9mD*qQDpmXED`cqsnb>E> zXiwHz_OEp~?H{fWUQ6~O72_i%aJ-&WD%+@v zWP0WECV-(~@c>6Jq=>&Zp+RnqGFV zSYjGP)puSlB8w<=HNhCYkT`4Xd497%@)_TLpJMdtbfDfHC^t$et&a~y7})`e z3}oR107TCmBae0P^(xLnyRy?rigMXqy>#ZVLe*+n^#i-v-s|sltf1EpJ{~>;tPEB2 zojx9V3pwPsDB;obtfekasSQu=tqebAXv@@_^}=?mp^Gt;F?=xN1; zv44rB*W7RSaO#xL*P}wU6tkwEn_A9Q7eVVnl3zXp7NSoCNA=qD)RQ$N?=lKN_<&k} zK!3b3Afwa%2~c<3!+RJ3%kq;BTK>jOfY?C^ADlgCXA^e0QUJXtSh^3G`}a=*deJLl zHJ4Nyh5e^pF65=;|H1lz#i$cdh8BJ);ffgx}YK`j~(2nB2b}C9+o~gn% zL(LPM63EfZBugazC}H5M{-0FHBi2U#5CUK?M(>y6&ofsr&O=`EhL)D{VEsyNRR~L+ z^l$HeURP+5R+vJxq$@;QRy%{hWO)8g26T2x&{Z1#2`L7UHbnOji$BkA^-uMu&f^}g z1Mwcd_yG3j|Gk<@`!wR&^%AT|DLMblv3SJ~`QO-TJ8+I92gR+g7{a{$oBjXjTA)4q zEp-hEc}Xr@!Ou2!$I=%MFaMC{eNU}9cICImWU?R4`U3HQwoLxDC7?X4?pnKx0mSNR zyjxEI%W zsqJ;NS9-J5Tku12Z^ru_!cu?nZ;c+3`t-rJgr`q?hc85y0mq1y#MGoEoVhm|fLjpvBLQTh<)SgX$g-G` z7H}VDM@}AIQvQ3T^c;G5)W0}=I`c}l^8xN;XzSrW%3wG#>Do&&MaI3D@t7m!xhFBg zf72Mt|1jy3T9#}h&U=o9tJm#9TZ;B~JN>pAQ}#^)RHeWM5lA(U-B^C-1Hz3TIS6Y5il( zO@Q=ZW=n1C63hHuM*%s&AbqS}An0YE;^Ly>|Iaj$j!hwV6u-?Q$9 z#`uIj+W^xXCc*IiPj33zp7U8DF3%@sVALM_c4Pc?GONHg)}r03sr$#T_)@@TgY4~M zIox0{<1YE~M@+aV;42pY-&RJm<==VnubEYgPS^~)DeIOK_tXM?(Ep{SR+Y`CH$fG8 z-f2ydO(bh#$Ft02)}NG$osgXG&Cx&4FiDQ;&F@ft?0Bew-QY3hO=pK$*&zBc$G=7h z37J{qq+6nkn2hZfh(wNxMy$Zz-f@AxC@nx{^!sPHEHJ4*c7&`TX(u#9y0Ja8Gj?qJN-Cq(SZsol<+W$P7^y8-U zZr(r=(C8+?HlrzG{Iu9F@Y+FS`+tN8qRpi62%dmJ<_hf$7=@Y`uY-VaL>n!KKFPip z#-CR7;U9!f#`45xbnL^LEI6WVNUo;5Tb^idJlN#@J7)E&cT#OWjC>nRpQn-~p%Tpr z=Y?rd)X6%KC;s0RR{cz~o|kgNLGRsDY%2?{L6L(v9h2V61Rg)#zg+9b`&?C}IDFo- z{6%6DGj50;)k*8U#0NUV|JNB*&k?)P+g2;9Iq`N_ zUIiHBSOHj{+^>waklzD4L35#mx~=6)XJmgS)~b1}<8A444I3Xg*&V<^UBvDZ=js;> z+tCL3{3EVDwc_IWZ^!V#Mj$CJ<-y+L#G}Iyl^1}?Z4S!4x0ml9Kl(AQOGNo;bL?T3 zQh{krtt@nb@@VrNVnkc|At%LO`Oi90mlS3u4@pr?gDtG$B2JN0brC47NdFo`lkB(ikk*yGuHRlJ$a|5o z8roJm!iW!&s-JDa%eyb_nVV5Hly=L;Bd@=i$h|2h1?=w;sn zK?|0(;KjoT&W=(ok(|Mu;39Q$K)&7bD-| zyLYVcQ1~VOUA1%wCuhH2Cu4Q?bxIBsr|q{d@JTG)a$093qAKLgN4Fw>HVSmxj75C4uXfg>p4VW$Hk_cmoFci(^`dY-J=-sN1P zZYpBT8FYj4m!{X>SPjG31y0{y7FSE^7)$iPADW8ec_b%;2Q7sBd{O?g{ZZzxA2l14 z=d3Gdqq&wVudDaVOn)1?<>TjVfiCI)u3W#AhVp=#2IM;7$Ste7r*=g5Sp&E6-a}me zhD;dhONGDYNo!MM*Qj0j*=@p6G! zJiZw(jk@(;Gy4rg#ACCXHWX8@5yKJrLu;A@VL}z#)n#d?6tKfBEyr7wL~N$jT1;nHRAs|;3^uI zscZ5Qb=>f(!aiHKOotk1av!SBw)PN|)(J`(9ijL2e^R!Vw8b8GLK(QC_#vi%!n7$> zwE6r*$QnM4an;60iejCP5cp36jS-VdE5D+rK2@D{fve9yp_cz5uHi4pqkfhGxY2`s zX#f8f>bsC%qod9GIX|4ih>A&dk!#=2Xctd;&?^tO$LZMBi-h<7_@7!|J19&(e5K^8 z$s;7IrRr{f$~({_Mv=X2wAO3SR$np55yUxRf^5h5Pg=eS3l9WCkygM;ZptcWS8MbL zw{J##4+0nXv%j~vT0czt(0@(GwBs_@Ml&~GF?-2px2qpf(|emnjMfle-ebOzvW@NI zgnJ7t`~K%(p+?PQaH}Ui$=WXciJq&>O>*SNIJ+}gdNX_*l61;Gu658QF9PiS!%_pq zti4b<-y$M5m0Q8_#B_fCO-bRhY>r?uWg7ABU1;h)bI*LwkE~GO|7=rHmcfPIBC|wk%&^15h7#uzd4`D6jMjlN<&eMaxSJ>zX-?w zvSqQ$*lTh`bIQ261RHX9R}Zbrd3O6h!xmR8P!wDw#jBF$TzzDzZLq)19SD=jSn8YW z8kVr*q4m>%5bGmE#^`^u6PGJK>t4&X`ThF-uJCGZK&eE)>7MV!F)fBCK=$GT-?T+` zi&&4a6!8Bwemfe=p+>Yt)n?Iz0To)A(nTbkl}H0p$`+%0?P!9Ws280+B*6Z!uJeA8 zD48UgF-|R(;*(EvFD0w$j1KVbB{)K7`eVO`KDutO%#a1^9owP9_s_DuBF8vb*jhNc zJGh#RH4}H3r**XoX!_V&D|LZOhqai2X{~( zo6)#PU47UwG_YAn0CZ>m)45fOd1g|@!(1Avwz*uqzsVE}l%48v(tF_@&Ik_qI0iiW zoNxb>qBZo#Kz@Gx&jfyx%~4D*87B6jzR7#G?qRFZM2I30k0)yo@=YhQrkt=x<1K}uBkg&}4=HGVtZv7$F z>=bDb3AGEmifc$>qXE>g(^Q#2-&attdWa zGW2@CC_^(M8TVUL3>4FYQ&?zSdiq3X6;O>}3l{}vC53?r6odPw|LK5nm)eVNq7~|w zESr8anh_OrBPuw1>|iDgKbSBhE|JxKt)D!90N7PA7rAVnZwZonD7z@IQ6=w)p}dv< zHOlRw)zn_)9P~cryxdF}!s>`H^TC-2!g{;J>S{*FCiiPzPA#*Lg#nLV$f9fa91KZd`+bSF1)^jG zpzwU%EtenY$U&&&-{l5=52aVRYu#Ig)l3?tSS*&fs%0)X>_K{#xcu)2MJw{{n~!si zuyZc{oDTuqcL7`vh>qBV?Q^;Kh;8ylFz#B!h?VD&D3TzvSn@+{&sn|!5*9rBnkPnGr4H6V1 zg%E=AnQ-BSppkG?Wu~06dNviklJc*@LNFbMg?vb4i%@&{&h8AU_7cwS?4A7?eB~|b zxgT#MAplf?(ySKPv$NCjkd%vQr5NH5W^l(KG;nZWam>7{Lc&l^(;zaSurU;MtjE}x zX%C8|81&9(daP(I3QuOVnvG8A*lq+{%L^M?CA5kdO`AM*xPMOx9c+*~od0TY?$>NF z9KlCZ)j;hjS0k$kC67Aa;)DFeb>e*uD))y9e~(Kp)5X+DD=Y2uKjD zOL#j#Fh)O}uaut3^Wbn~>-TVQX$Rr$l7xbOv2^5O0Oiww1PS1pDlk;EnQwU6SgU+> z(?JHTVUVz-HE7QXd|DHA@4*c8%Wm(TV%gDaRcV1k5}jMYceQVF^$`*AF)>+EJq}#J zUP7AQfpVcwaBz0>Q|N~N=0Q*$Qj_&%Sjd*b(>bJC)X$bA-}HiM#FAHJu_NbJU*WV* z?y$%|rqX)BPfPZE$S?R&Ks$kzvo~P>eW-iXN60v6myfQKfKZJM%$f7c*O<;6J?)Q9 zk=*R8d3$%i&+HNT83Mgm1v{3mG&Ox1#NEQprjj*{78RlSa=48Av&jvN1b_$4kfixb z5ygcH%$wZN&+C0SRz4y@Fn1dt+qbX_5yZXB&|YWuSP)P-8!zKq40bUCZ>M!D!0~!! z)r!|_C6B(BfD7uAJ~^B7!RbK`T>}%vSDH1M>(BhRX;QM}L=8$eZA~hAgb3b7777fn z8hJFs;PYvL_j-7qSR2;|GpTCaMq%q`SO@TV8i8WwqfH)FsRVC2y!}95;sG{C#Qw52 zVt%2w{_O0!j;=CZ9E^&A7Tw3Sc6#I7!br(=9N|K_?q1Sh-PU!5(EiJgC$ zju_OUaeuFZWxz7IW$AU#GyZ@!e`f79$!1D|=??)92H#i6)Lsw%c$Z8TcjXQt)~ILq zTJ`UNE96%)vX+)Zr&R4znkwF_vlvgA5il#@y;5i38w|Go7VLaOTzy;JjbO#EX|@8Dr_)2@ z5)gF*#s<-D%;y$F#~g^jRzs8R{TrMS^B2xj*}9${0y)#V%4Fp%cOTyEl#1lI8oj1} z*`jlDznRgHe+0_KCjF5b90bu(N#ilw?6&~0WI+ZyD`f&GLqUBjv0l%c`5r(**;&v= z6uU%VK8+;SbE-dxf3zT^ll)ooaNVG2>N(DW$JA{_2HSnWx)W#-D$*M{vNoQr@8+Thb|UCAC~w7FcqYsfvKEsX!lA~J zL33JlSVESmK^_X?MZi^qz>8+2xi2ynGcpR(MvC+$? z7vHiF^!aZ$7>R#$IlOkB{H}PEvx4PeW>*AH#!S^?jJSNZZq&h_;9gkpA;e@Anq32MFF`_7&Jg^`2Dov!)3%oy7#zd%fXE zX#Lq|FTeAJy{71*T)~(@ER~D_JOU=Ep^;(#npP&MT*=w_a{OY%P8xxH2xryid;04P z1psLC*_?0b7<3rKGNIJ?0Jz+d`GMU1aB3P#oopO-Yv*6FP!OIIxX)OE8V=-F5?gKLK~L&mK&dV+#1u; zPE4vZ*yfy$erDuD1C}K;{x_$O>DS;q)ZFg9i>|G$&TpoROp9tTy5)=B!QPwAenNc- zH=nO7kX7DB4)ZtT9eVg7E#&`$Q#z6uzKvYu9;$#nDjAhHuW*5)Ut9{Jcp$%+_($FC`QgI5S_*A@TyFm8`7y zYugSd{gWo|Y|#=!f2>-fZb^!$k?b1v1MLIP%$_}SwrgYlcy2~a!;IMQ&dpgSqq2DX z3o@e*m-BMeN8FB7%+xr*R~EA;odJTrS?_S9`a1oVR)wT15uzAK>$#s($Z{{A59kW~ z?n(44^uI3Fx@#kZA+{y*LjZSvPi|PJEaK(YbC1@? zOf|*3F*ZV2M+mNOZ(!v(BMR#rfU5|PZnpaW}NzLh=77mF=G=aG(lsus0p zCS7uX$ML44@wll#=sj^3ekwN?_rj!E_0Unu*jZp?d7T2~30O*IPEBJti7O~O`N4U* zmNPx1%rF5%cV7?+2olqdBx7~>{0voq{Ld^q3knyT`MU0w6heyXl%4Laknoyzv=_9r z4)^!L0P+P4cjHB+zKwvl8i`D(j6}HPI@U$Vy)XjiWXC|We27R~tr2}dgbkl~U?}VQo8BPE^{YH3(0%LeOHfS|p&Qqg{~vitjz- z$%rY*l6JX_OiH*pnQmG-a&OQaVP#{fW4b(ZWUpY5r>9)QXz@5_VYQy0 z>sik-W>&1SPHic%?0g*S3sgl#Ae*f7u;(`6E}RPqpbxq0ma#^9NqyQQD61$OO0mGT z`Ks_x)Q$pC*0<7Mt8C&$6*`y-e>)K~5powCm^Qz!J_VWYFO75Oa7Jrm{5Ge%BQVm5 z(zd@_m{ilCG%O}eHbkW61M$wKp1H0VnhU9LDd>n@Y+uw^5Oh8IlJHG>*15pISg_gT zA-Os3U+tE`bGo_?7}?ofBBk^7>N6=HT-^D@mkGrvDEbLTH53GSg&2oBIu5{0Z3>X& zWb=8x_>5w4aL+keuf}yxoWU0hSDgom3()(*!@)h?9-WxlkfVhd=x-XtM8mA&I|;bZ*^QJi&L6G{@C!32G^*|t!K3L&N4-YbkV?KR#b49Ap^CmF9ju~ z2gVH>-=~WF?72XTtu5W%#q5fn21xIz(9i&ZQD=8g7{$WyFI0%`H$+ry;aPdJr8((U zSwh|0HObHpCopeXJg{H@F2Zy+PlRNxS`rc>riYQN&(ZjEO-*)>)Aun9Y-}Tg^Z<~A z_6cvA*Ob>X+kgN+U4D<636P*G{r8TAJ^^9>4_+G088OT=zvwBB!L#{iglL- z`JM9!^Vl5}5^;#koIb;7X;#48AE|_S&9ftq?2L9A93v z8VOcUQ{ z?V%G3Ne43)E;gj*c*Xc6SY0GnWQ&2BG^X-L$sm{4T8A%nMBk?{kz@v&rTkM-+*R9y zHGiQ>oF=BA=xuex~xjekD!Wo;k+)} z?@g)yKFiV&uM3Bu#(Xw4FaFl36b`GGQRZ}g)8b1mqsV^>O6Ox;aaC1CsZ5n7)bpVe z{tA9I%T6!>BjL3a+#N(WBF)W|15Jr-h zJA7wmtE9=p%DgFx;7~pNWSjGb{C8qRof1)w9gn7#tKls&mlPFbdcXL2q zmtL5T77J&zEk)@=*f;xmtg2Ei&%hs1VU}+yO2UZQ^I>~D#^fN+n%@~cInvpDw9Ws` z167_QK1Y(OTt-UFucXGS(Hb|l(h`{}(NS$NF^OEHZMz0=W@h>N3UHiGhyH+!m56uv>z z^Q_AZM^f^-gO%gm&+y}g1Zc`qIBJ+t71c98QHI z035dKOr&0CFv33wH2L3LpWG{ZP=1L#05z}A6zv_%6BhD-_GwTVbj&dJ(=cHhQtQn~ zZI5ve7guC#nupcfjRZx?c$}foKdE$}NCiJngH9Ot^*~!t^wsVniANVaD(Du5maZPD8QD{5+ zBUQ*p@Kne1Gm}kfi|!@<$k=rdX)jO)awX>a^m}I(aDX72{^Ji~?vHi~s86Rb0zka1!v5iRBThqyj`9CX5Q(r_y z$!Ur057VH!s@C+zCiCYwWZ7p|y^`oDsFHYY^O~RB0n@Gh3fKNuvE;72&)jY-nbz4o z`gwHPxz)&+A*@D6`Ej&K1BMs3-!@TdLixsE z(OLY`GXIA5R_aZbSJ??{csiu_;}6;3;E-!hT%i7zBk)2Hd!f$B!BsWUs+P`Ts9eCy z<{k@xOm7hz?klgVedE1&OAt&FEZX$@*+MVtGxWV6m^KkGCxDRs9LIA85A%Z^s=tX5 z*xNs>d20$5u+@A%#gwHTqIQ2|;-RK3%Fb6Ji>ZiB5$p6_jZ!_=?sUUnaaU3!`qghZ zE4!S)VZ#IP)aN>rotdwUjh8H4SM1CfgI6PgiULCd!mLQ?)cj!{`k^g&a6#Ou=E2qp zG$5_PJ|Z#bj&X+#C~PQp_;%vdSr#vmg^6f*=o%S#r3agM|B-XA8JnCmvj3h)lUw6k z1713!{M-7ovMYq|n5nDMUtWIHS6qFZKkW96|3X;raC1`!pI0cx04m3#8#)uFM6Ea9 zJ>7ZbF7$Z2ecE>FPA1@hXahwGRB~QQUn%+RUCoa|2Aws%GatTP2Tcw)JnxEo>PuBt zG*s01vL>oU7Zl|c@pNw6Uf;1&wU{o;S~XGM_*`49y7y%Zuq=ImDL@Ps&J?vB2Xsvg zj|{Sg(OjVmQ165xsjN(OKj-N9`^y)-d#lA=O@7h4AEGK2p5u3~(?(C0J}ioaeMY$V z(Z!F?X?vlAlX;(DRRRoph`DROAtC~w2`Lu5o=Ey5f@BF#4;EM@v&L_%w0BpV3+#3> zU6?Q7;Cyu2#E1JR=;)#bwgv`8e1tlAmNol(N{5iy(RsC&MbhvG!c0vfM5e+Jkfzt* zT%Vpusaia{C#>D7citCJ(bJ4y&Zn0Q`B>JuoI=a@rmUsd7w^c-K8DBL4 z9)1>)SM|}+t2k)DnmtfDk`OF-9)B&Da5XwJ z+NBdyZn}!uPAoG}CnfHe@#)35On*sJtqRBY@&r&78BVI#;x`$QdnvRpR9Gh3ibri6 zN`pd@=&gMm2vQVlM~n_5C4+;f;Z@%hC}HEEicWw+{_93y%o^{#k9+jq(Gc6ADpdQK zvFD;_s3Lvj*988XwNf~^skhA&(WI*MOJT0@v}=+^l@*>P>_{K46CWnRk0Vac{RBNQ zEsQ_MFVt>RcY9}zZc?M8{OLU>VmD{e~;@Wy6?X!MXqjTflL4{(qrETZiplM(Ib+TlkDLv9+^n}a<=fLST&S?iCXDp>FF{1Oc|&wH@jYK zD*_Db--fObiyK5@^RLn?Y0o@e^?v94_%uLJXUI1vw$SHd}j$(1%9V`|lwOFJapA-9|-4j!D?|SOW zdFp*qr_RpHTg=0Gxg!+A08s_dAb|SNW=9qPuv2@+cR3olIo!DR-JQwf`wi5p}p(qJH2o(`LAbEmhh76tT558uz}LFdb;QG8R868Z+y`~+Mk^Mu3TJP zTOy@s3(WjwL+^a-+$nI9qV$Xw*jbq7zB_t2f9pCV|NU+}h|;#8zoMVyVy`BKy%FJP zX>L_?{tY+z;s_L%ndQLJfD~!K@7noK07GnA^^`%qvcpJh676A;NL-j#`H_KSl9>bJw;w)_cQDKgy1|SV%NsT?_6ON zgbnuu_qsb+=!NK|^Wt*3I%W74Y_HVOf!%2R!*0mdymB;**3+4s?}p@kz0jbYuy$)- zJO${rA=`s4SVG`v|I18UHd!`VZw^O26=niYiy~Mrbop?S zAaFoPRJ6Bubg@^q!bRI$f8p0jFkvnjJA^%ZfMtOsp?2$U&jG?UEW~s!C6CV8qbpqa zWGepN{H*R2RebZ7_NUd%w=1I$=3w3in^IfwJU3v@NeYkku?WGx4w)o{Iw^|7A z9#UGHNkwj}mt?N*8WnE=HUxamk+v{L;)}{kv$k{k=+*IM`{S16kIfx3GNp%a!gR;> z;ptNw2;Q3wj1z1wnhWgWlZgEgqe`{C`1Zy4D_J@@3LGbm3bABz5ba{PJAIu*j(}`0Ag|wn`_rmCsN2Og43eT8X2^FdRo5S6Wx58MAg7 zgqKjjnD+6O8h_Ot4Ij7FYTnVD8k3t`L!vpK%4_J+ezHu%hadob3$xFVNiXQ^IHYb$ z{UM+|zlE=hj&g`vlg&U_%DGsL1QT93h%pE&LNk&3D8P#PrDWs-Wp%>kfPrZ-isD8V zny)plc%Xz>pbUE4+d=A86Qx9!+J^wv0CoaIH+;;SjpJ@&)z)Lymg=Wqu@;i{Whj8j z*)PbY0XQQOK*in>7o-88NhvV>YMdO%>Cc32t#up@2bzYe6)NhLh&z%zGz;PV1+&OIJwypVBK{%{Y)2C`p{q>9n?QO5=nS22+h zEEB}Wz5_`0$JdrM=zq4*p}m8b2u5ymX1csWrS;c&M&%6-OLBNH6||NqP;=)ev%C7O z<$Gh~?YbvHRgPhESBGdtG^k5IN(>#3 zz-#NOVLhfzr@}D{Gj2+(>H!z&&{wuA2I~*#68H(O$7(n^;&bIzG)Gkk5(I^YH9fD% zD_LrS36gonV`juEND;&X*__?iMsQ1}$EZ$=Cn}mN_?3KFWWOkmH&sBpekg@z*WmsT z5kkM*{7ksFekDbhvWBaTalvzC-30u zX>Ifs&La8QOicN%UKfPncCqq+Nut!w)3m*ra!_h10)P7J*}*25J}yevuT(GLsw3Iw z%W~syxD4f}ZH9AyrutSYvCg*q)xyLZ?(2}t_WAiG*$Qr^!umyGu-Vh@oX+;XVvGN^ zv*Yc3mD?!9XEh?8=KH<%;b|6#d!KjTuJ3NoJu;m*5|coY%-P@T+q%emXRG)XR?b|^ zO%)m7xFXs!1LdvS(Q%Q}t{G`hire#(=UgX!nw0f&nmL^2Hk`uPOawcCvnftE;Z1_42}l)JuTJDM#Yb2 zRxt;8b)Cq+_e1ONB6gb;m{w2i=0@dwQP~hX70oCiBV?n6VT6kUKw!{j*zg zz@4Av=G)(UBWh$MVr)G35l83VTIQ?Xdi5qOur_t5`d*_J3Ls0ZaG0Cp(+)#)aDX7> zW6xWx^@5X>sD)<1`{qNh~Q>OsOu(UB`R8inW{2q``i zBBzQj6h->zyep4#ABlhWWV9B55{(W#Gh!+&_(5Q= z@Ke!DJTC;ov1;iigAd{Mj}?Nq7cghf(WlKx>`EhMQ^o5MUMgGq%Lb7;5PihYRLvq7GL@U#AwXp@1PP8WxcOhAJkFMx%<@R8phPi`2Hi zHa0%1@dyT>u^iHaSn$3TpD*Y&3`saEP<~meF-+Y(!fX zt!Kukj>;f}Qiq3@hiH$(25VEAabNs7xSz@_%4E$6fU%{KiZ)qAU~haZWGfpiCEf0u zKw(#3u3-cFUeO7D@IJL>+^~qBhybVQbiu*g)M#?N1)~4HRJvD1rqnl?g?)Pu>a&CZ ze!t21{;?J>Qj0TqnC*E%FA`0gtvKv=fbbK$Xr>i|!4@;4#XDjqS&)Wf@w}UOKC`7 z8G^CPtmUg;;4J2@1Y8|T57VZ~;4F#Oh(ZhSy>s;<6gzI8F^Wj$_0PUWR3`Q>)HO9M zznM#lY@e+--S{BYs6l+&L)!vx4_|=kKE)Ql{oxx3Bz>;UzCK+uF*hqL&_le!9`7vk zr3bztDCyLyHy(X#lO|v{IZDP_Po(^)AC+LyVKp{4IXtM`kl+_aYNXa_j7T-P@58@4 ztoGnBmAqG6J=Ecz_Jw5U8=@u;Zi{=1(v720WrCt-8jEXBALxiHzMuG+BUs8fJJr$k zXZg=af#o6(wHtL98$!}tx(OYtvrNtg#81;r?o9Xw>HV zJ}xyzLsOw+e6p&x`s};C^6Jd5Zo?Or!$&aR-sb*H#>knYq-Ng5TFJt0Z|`VlN3qDY z+_PXlGbK*4Jk=XAV6(R`v)#nSIjvL$OI*vpLmda(2!xrliOwCZoEvea|10VSTYz9 z5i#}X=qZWyQyQvrszMmY!eT0a_3nAq?s&yHu9jBYjx>&IeOr*TXw90g#tn~LYKX!) zNhlthm`?iTZ!CY2>k^R{5(*RZ9RQhP75)F-nq8?XKl&zS*!FCOlMw!%0J^~B& zFnfld&1ZP3-mZ>pA53k2kM|EOq1n`dMTIhD>%7!-?X2syr{lRkka4w`%GlTf5m}4X z4hG&mv6MrMYt=_vIsy>X+>)RSr7(Qvom`yN*zAar7;$mgbg+B>>rA~FcdMY3vH=+NyjYR5IVpR z^|g0lBJ<+W8+-52$y{~(cxYz8{AS8#>JrDrmF40p|J<0;l;!K=4DDi_wfJ^Ia$=mS zA6Rzuc&ydO2tB=86rPxxZ*Y84vEnrbgE~#YApt>T*U^f*&O&mV<=lL#t4Q8uyQYZ( z19|e#NbSa<+VIM>3-(j+!mjBQ3gRg9TOW5c%_kqi>o7{**27a?=k=f6hMRLD!`Kf_ z#d@%+&;sUB0DHG&$M%^VS?YC{3uB4FJNVm?XXGTd0g5auug2O6`{mzUu6(wq}m zKG~wzaQbe5rM#Mt$CE1g&suyO(rO(q6SEL^GPmb9e0BR>5e02)LzN!?$GU3Mya(b! z9$_NkjC4B0<~f9(#jB}3%jtETLy$pJUQJSy@mUe)tq&pV=TX#6?7CAn+a32HC5ag! z2TKj+KO-nx7T~^nlhV$8O)dn26(1 zS}N>Do5xt2U5-SR`Ayeiog&cr5H&I3lMJ<}aD)NoK2Tz2DDT4-iijwQyRuyoRVY0i zFHQAL?8s}P$BabweHk!%!c8S+n)rz(KFQh!)gJ0SGU$d}tj-L=1QHUG!f4%Dsa08> z{DWTIqTJBqNblv-!IMu20r4*aO27V&jnQzTU0>jxM#S-&{^@FeMCs0c7-1h)7+uW% z;hNOSkOpT{)HY7*jm(d8#;K8dXv|bk-3FRAnIr2&}A`0}L%5 zCO^c!A5B+XbwKjIvDl0pU&LR9mw7R@ANE^z-NnL!>F(Xa#F(}`1s@oCj0iFodhFhQ zrB*5~ceT}U``^J~;#ELr#S=UHYQIbP(NqhxHx?)+dE##12t>L{nYwo%H{Am5er8n* z4fV6NoMOXgET3kUJA$E4`_Rtv@VGx;B{9e3DJGW_UPt_#-GH)(1{mCPezepb^yt0y znKDx7=+29K3+Qf;LG2pfy<&kZk6TzDLa;mOsnW7`iM6(g;j$L zEdV}-7aWku0{%tWs+z2dQk97!q+{o95^JBHzO1dqJ6^OiybP}WCU`(7i>9x^-Jrh& z@wcrcG>C=%{Wu>t=wT+$Rccvj{7{N_F_C33t>(mQM6%eC%v*os1Kz$b9(twj?+u^@ zA_veCV;L{6qL7kjQk<^^sX9^Y{cZl7(mHiwD7lMq5&C}H5uU%f1bxAA<~_m@BvDUp5M zqzLxY6)Kp}Avk+VN#b#AdfIAyE}&a~L0x0ER_kkYYVzaLv_&-C)}_TFE{Jwn{yTrr z0)_D4r+#iteW&7meWY9s#g;GH0mn4;>2HfK%G7fSx=69GVm~B(1J6$XT5WN% zxhs9_L=iuz!{hw%iGzfhRFMYFR=OTBiDhr9%(o(uaav4JsbglFTg-K>-qWhFuGRi! zWKgs$*jd<7rq-k9%J$|PkqL-V-o8jH=~;hLKF_la5#!2GZGzZ*kWX!O#l5%~FS^?L zULj{_X+4phBfIN~2YNcAvmoaCRzY0pOXLFE?qQ~PZ*t4otdAgmto_kZH#agAM21d8 zDKRV}VPc~CysGsoq8C=Ijv9D?IvDJ6Ra;GiOb3(KIRw zt@kHs*-YmLc{AxQBB;;>Hh&*yAQk6FP7BY6-Qg;R*e8QUnG`pVuMt`BfSLF{wMkjH z8&;m?+DZ}* zN7-0tZ+!tqhrO9TKN2Rzs+WXEldWWmZJE=QHn(q^Q95idqeXtRyL;%MoEK32ddoCj zOW>^qRtu{kM3u~UAo}?;d+TSmAz-?*DQ)M7%h7B!>lyW>Skvtj+!Kro*VH8|@tc+Oljr$JyUmua=9H@q-X+AS9nhuRVW1nw}%LzNF(x zO-V^wqSfR#iY$>P824uG#IiOTH6pG#Li)$s~$h|I*VHhln{_ zMD$j{;jdV35eMIOzb2nanhR3J3S~`xMqtsBhwb>mJ-^d& zNyQTw9uHW+73pFWD-bJRgoF$f<;eUsn|m5UYsmwu0)9VbMu``{Vb?qw3#`S7k8bgC`W$GcmkSkA3fSsnRjfG0K)3 zH#aYG_~|veK^TAyg-)}HvDhme1b!(^ugZ7BTE}tW^H;3%#MMxyTiEp_q!2y z71{aOAYbxy0ZOv&C6g(|+%b5HuGc5sVu=2A`AEb?S`VYxN14w8Bb!dwT>s+YW?ED> zO*-|Jx&PkbPs%zJ`bz?c!6!SNlACF1E!VWYPH<*uSzE8j4yy3NBSCoA|I8L5m-S+| zZMIAP68&MJ%_h&WM1W3qxKECcI(`s@Ayw(sP0jUry!x3oQlp|`rL)Fg*iA%k!y(A& zHCJ5D-cq{X%A=5aAskHFKL!2OOi}R&?bb3^Z z*{>?R8P%aqWTTL!AX@B=)qzmXv1M_|(C}ncB|u2`Nxo&{E=q{nw6;bE zKAM4@^0C2sb1{YFiW8SDSz4v+7u?`UGdB|MO1*u=)#h{oy1PJ>6j|2#jsQ4sV9gNF z3W=B%1WMpwe>9~bR-($v880dWn#CF_9+-lC6C#tNjEQE!R-CP1E?kjO|At%G zJXN0dYpuO)nfv_(&rJm!*jHBNZ7EZ+?d^y+aWjg^4zdbiSz%L1IhmD7A}9eiFOlOaVF0b86~irqz<{ z*1eu%I)-+f!31D$IsWObKZI&}zkaZ=J|HG87Auhhs>qyBKJY!m=nn+yW{CrNOp}%Q z)gW0xLU_BE5-^MC8PBKlk|~yc)hi$A3&C|1IUJ5o|uW2$#c7BL-4?U z18{z97(Hz>o$pUS%C|cl!Ylk{z;8o~kl}UbsPt7cGetIQyx9Y%#q;6KUm6GqFP0pY z{DMD&zl-`E1@h1Gxwai7?u;(V5)0-5-BbPB$F?@}alXGiGAL4acV~#6W${BeFx#iF zKZ#X_bh4OylxcTAgC`Kxk=0wK9`o9cmX;xfT2-U6H2gkB5ln9vU>P$Ftf&ODF6W{` z3s510`~)BOu5vSw76<|Sg9@O|%(Yd3__n)JM~sH7ENuGN<`}FOb0E01%I!wdTl{Ys z7@3ipF@Al>I#ah=$t~!q|CHXfG>`&K5ELPG=QJ&&A&N6LZnm0L0wz|*D1`!_KGC4k zeYm`g6!%TxN!eyn|7zEhY+{qP>b1Yv+Mpw91=*oGMhRq-8fTN|#SDAYnBs!oFSUU5 z-RA>LFxlYBZi({3hX!c3Ard?;AJIWrF)`W8fM{`SB8T~%mu^s%mipfLwgtNs4nG-v zo9<<)2T_n(OL=S#OzcXvg^s=iRdRP_Mdi`L?`JPvD$sRB0OKC$`@kKmB+n|{jUNuM z{n*Q6d3wJl1jZXBi`Eqb(iS}YyYA|p_o6SZ)dcgI(<9);npu<>7u3T zMCfwka$oSC!QIj>mW%H;94hUv@vQ>X{A4T&;s5%#2yg^Ca5yS2Y&(zh^PCM|AY7i= zH1Cg)C-Yv|R|uZnZs%%G<+KGLfabUFJW$c#fHw~hAPr^w{G7^9gXM;C#}3|^2M7!e z(yDUd2CC05g+YuOg|@v3-G{I+^uhX$;8B&$YFTZ5^#>?%kFLyo#qSd@F0)CKF&o^P zDCys^u`qpLv2BmD#~Cget~qoa>-queXe#=-$1aym)uV@HFsqT{ofxY=E1=~sg?+`z zMSH(yZgFUtrSMDHkn$30Q;(x3yKLd!D;H@ zi^A%~4YS_R_Q`Vf%;dD+fZ5)<=eI*wQCRNl4ofz-=fc%r9)AO%Y7tSI@#al*pD8Xd zn1ph&g79`w%wusFHztKqkd_GXGZQz<=_Y;9gp$;dY&lb)` zMI?yY#=%Aumu;152@Xn(i=UgHlg=+Yl{dAXOmq9|6QrlPev%pm(fY(v^OBN}>o4@! zZ1NmZrvE*nV%rjz&@b~#U{-YHr04sO6 zaAJfWTp8A1OCE{Y$crxU3Eq`;!|s5w-<<@Mo6U}w>He%FLbtF@EdB^f~lJ5Rmeeu;@KC5XV6ZqRW;k5mNL0i~BtRKMZ5c>g_& zA5$VaQ19=L$a{8jHZT4TEBz}Gct%Y!LQ3-bt4=nbcZd!OG$oc6(qheT$!?>1GJnnY z)4gPH9zrrPDq+)?(lk<1G*SaaMy8f?WAy?ssR#Rq4QzJL$Xp)JB)>?=o*7X830*Z0 z6mCH|)TlMpw*APJy0fvRCh#M;+Ye;M93+Cyn{h6-btTxfLKCzUJiL@YKe&``VC8>^ zWHoSdE9;_xA*9h?Vg*XJreJz21W>kv_!x1hx>)NfXlADUH-v2M+1%m;IGdHq-LfgNM zK*`1ZyTJcO!~a|byMJSr|NRU6EynwgRsZk50tcKQ9?%6Mxg@%Z-Ug|`0T2EU*4m{t zRwG`2z)cJwvlq~1_yBH@F#j8hqHMMK(o?u%VF*uz-`vc^Vb)m5*W{aY%9Alub2F0q zW#iO0;n*TtEE0k075*>%E1++1Kr%>{)GXeg&R^sW*xu^m@d~5aoeyxXIs5A5E^U>p z$gJcZgj~%1;erI*E{Mo!;v+i~9rm}cv?v%j+@3u=(b_yVGhmeQY5)Z~+}--9z=u5? zXV$ZP9S~C zV}+{Fxkf4ij{ktn-s_(B-)%VVmb-DIN-*Ff!2I7Nm#$5WDHFv)fMk}sTC0C&Gtw0X z98@Nv?dc|rA0&{$Yzku9Ks)_f9%)XMgL=4iI7{PBMh8&= zRFT0!#=}NRr`!O~l`1o_;;F6l5EF;KgON*a@(qCleBK~g=0F)#0{0CrPl7*`Xx2X* zEON~=Bo1AOB;m#rt-Z56DhV47CX<56nr-S;m!ASt+ls$80JD-wD@-vuVCR zA%|BjC1N+8I8QLUQRQ+I;l1l&ODo>)o27m@s55jp%Ia{%C!5 zG81<#KqaQWGzt3aGDt&2#K*;bLJyG+3&TA=R$>NN`)5U{v4IR2P_9 z^|3XR*J`5f*n~%mj=8@2zMPU`%F>)j)Q5%e&*NxPInC8)Iclpic^tq)F6D`q$N_YX zjcz&#?3FiEFn2KUSH54JA?jbpP|F<8%-DljpU?eCt4@EvT7@+v)C4Zc4( zZ9IrOYN)WkJY7s%@}!CZH*+ogaRql){5|>@zroIP_5NxLp+Qr|h$(R>PU|V}g{Qyg zk4VEd2rA>mS&B=G!2qCZG^3?4tj<=|?2P*)_$P{16b#`9>Cq!`|6hC8+11q6b)(qs zrAb#2xHLf!kS<*Wq=Q1}CG_5V3#f>6=}iQrNbg;$G$C}99!L=B5JC@W@E-2-?fnh+ z%NfbY$jBKdd#|;RA1qGrl`*H-#_ava7J}uBqHRs`xhiE7c1?t*X+lv0~ z+NNflH8H($RKv>}HP^XY4hgkuSXlQxB&=7^?TRIxL@&cXVFPqaX3_KB8$aoQ3V7kI z!Fbx-b;zre<#!QDf^|U2zaFA2)$ab1l113(?v(Sa3l?+uYjb*`v^8LO?=SX9B0#tf z8qupdI$wyj4Xe>sQ?0Vt!;s{;ApN;Tq~CqgaaNCgY^@y6C|e{{pkP~Wa2j(bqE}AL zMZ$Z#+>nixoF8jB&cz4p%<*?P&UawaXhqzwRwaJ{1eZV-C^0*$-DRVEG*zQqm>>U~=7_kA7&$z)2Uu{Gh2F34p z9tni8CUjq(!&qrbY&X}+4ZejOj{|%OShmCAHeNe(PUJ-|yuE9O;&BTx*S z$)f?)3VkoND`xtow>04J)%NnTgzQ_c`bEW(fM`qNnh4bv9*BQZlp-aTo&E` zF{L46j01x|jTMhpva-$AUDXAY3t#GXXO8Et^cETK-_qO?afgdY$!tz;umi#bP9@HY zjf*DC21R=HMvX~KSAR^`Qs**Zu|-8yBRE8+_7k)!xBEk~JCLfF@P4(8O`{qxjti=^ zZV_|7j#P5)$2@-pAEx(M%(pLwn`(7s>)BZWlb0LY`;G4zWyz@nX;e{)`G(B0=gL#n zhRjh`Vh|uYK(t*x1q5!~q@)Iwhz8FpwJLEc^s}I#Yp%xY47Ac=r=M(czxkYQF8l(( z$OlqCH$6U_>_Pzr3#c^+zb|lXPbJE+g&ldpoR@lkv0M9Q@lOXyb8_kH#w}icwZg)p zGuKo`MkRwbLTogifcE74yn3VZ_0#DKZ&Pkfwyke0 zgV!AoDq;pNfSn5{Cz3)a88U#K`ry8I%~ESHcGeZt>WR5X(zPFiIzX6ESE~eAj(GV= z-Q)=?q1$KsFj0}#P>gKT=xzB#0g9`3OPkLg<3V>=Xu*^Nz}!NfW~mAl_R{jIBfH2F zLJC!a#m)@^9=BKcE}V!T+@v88w0Im-=v8SR(k1VXKBtFF7FPn(wvWNsiX1)-6a@$ zN>NgNREg1iruwHNa0nXSw3?r0O$j4>C<02-3=JYV$VxSOfil!Yt_6B6pec1_4%La-=_*w>cm=O(W%9#Bupm$DD$kIs9{rnoM zURdx1^d`K57-QCLB4wBo#hmupkcO0okH2pAr9R<**>()U&Q*GXOY8RCy$1pzHSY;K ztWLMS=Qt8$rei>F?-ZEE!Ym#x*JY`Yc++3{{n>|t0FE~hddC>?sdIDZR0aSW}>e-S;@X z*}(={Vc<@;>mVLbQ-Gi^PubAbph;hg3>2?_a>izhK(BLu@-=IG(v2J~v~WFFk{swC zA(7-EmTy_#@N+C7A?&3^rHY+FT5Y`pE6ckWuw4z6Oc`Lh`QubKLk=M=z-aMO?H1j{ z3ouW?QD1Ik23J^z!9D;dJB8vBP!;@P;I10+iIH>yS+>yopR!T#sGJm6U;Z)w*kWox zOYrR0=V9$idIwjVfv|KS21oe;2#G;{j7c0&OTWIRLiRDAh$D2aL%hz})|z4nQ&qa4 zb^70Pje>y-k9u@@x5lT&tF5zVG1tRED{I&h>qrWE)qa0w9-EVVVvuv3XZ7d+V~Zb? zw3@W;G;C7EJz<8-2 zRG+U}S-QP!qy#+`Ts_;KJsryO`cnl|4jEVH)$*G;S}p#MN!_bQrZ~}A;L(VV&)0V< z)65p2881tW470D);xdXhLPnz2(ZWU=G_mzj>-uN5(DhCF#Ajbfe-H%NB??DxJs|ga z&YzMZT1OqN_$X~^tFd?K1!p#2Sz}#R9e<>m@e}aAIK=S{WsU5tgNeCYXrLX#Mw-l- z(W3DyM|NHIW@Zz^0$T`n!B$4{o0JoO8S1O!QhnW#9D};NUPfj0Bhtt8D-V%K8_S!v0S=(gfRNA(-XPh9J))$iObaic_ERSL=3p z#?k=1FEX3d;YG`5KCi}V^Ey3^ugV`+R})O7Vq-)Dg4pgHDFJFm9e>Lyy0E+g%4;p% ziVv4YnysJ=M_pzK%^W#t={a~yWooB({RdT}5l!XV9A4iD%M}<+!M;X?XnAc3foLO|ipS;p50X-5JL#S7&T$g^H^r1Nv`uXxgqxKr=mD zt>=e5} z1=Kz95MfrtQxJ$+>xv67gm#|2_B{>m@4#X{9eIj>zk54DU}#jwMP@eNwc?Ffl?o2( z6Zhjtays~g| z(a?(M2&||ZZdgfN{Yeday0V2AcQ^jJzw>B1%w$JS=v~P6%8wS6<$=^b*60w~?q=7i z+;k>lnWlF2!*(3uf;3A*KT)^V6ZUA~_S~;G<}o+F2C;moq^2!Qb}>7153zY?_$1U1 zjU7wUw-FpV8FOWTL?1h*#5s>|7DWls*7&a zD@jik@9zpb(-qXc_NCGAd}X*W?+1SzfCb&)#yKJ19cg~Ssl{j_+V+q;Co}cB>YbEb ztU!6S*y1O*KztA3ZuS0+_*!UC9^}aL<%p(YfV28B`^;ZZ`ZKuy2(0^HB}#4j9DO&H zoA9Q!?ZLwk0L^$e`G*JbDdul59ZDc0*Gw|$y$T1;_Y{eZkS+rQxs6CV=av{!oiEQA zhJ3K+>5-TF(o~_IE&Mz)^PXqB51~InE_)J0D)lI3p&{Ds8 zW^$c-*Vm7e|LD?2j9hZtSXutGw-G2%=Ef-Li&i{)1MU*2j{aSg_sG?xIR`9VcYG3^ zQ&MKZrocs6z4Nu~%~cxAXf2K-)T@k)TvfD8!G9#zQh=05pE>{YzD8mcE3ekZ%(v#M zGS;q~XB&$-?Lfr<^4PuTGr_RbXKL^eZh#0+i6&6ax^~>w&JM*c(tjeUe(MhrXm1K; z(&+=66E#-}i%on5iqcfs6LEOo89#>4G&GX%{L&#UGen);@$Ox7=WQ=?G9Mp{!M5&C zK^1QN`Z+ugvcxR+PNguq!a^X6!M6%r6A%wSpG4T2>fD1(`H~$+B?WFb%QT_x;*&s(%L`iU~f7-l75;AZAdRQ-1DZzR#5%m%M?s=YCVP zB<#@B-ZZrH_xUd2u)OMrB?_F0PHFs_H^GipO|AW+R%;mp_*5{cR$Oe#-qHMu%9L?E zo`OO%6Lj}j@q`lzlk1(H54ha$C0|-DeW->9azyOr*aI0Gi+F!YzjKQ=ojWK?A|6~k z`;%q!zBiq-x7YEJLLa-&LM12ZhSL*i&*`VLw~^XFRQmpBo#ANOm*Av76%|c|`96E9 z+3_H$kMP1=#W27j;0BcdV1=_pIMx%Olw#cV9m%LSw562x`nEK);JJ8SXWV$knM}n; z0;(2`{~C#40o)HdwzWf+t{_)b5;eahUrIX3o>%Oa~r{fk+(s0z)m(R#rBNBBf zUQn%Xu>=n12;^Cd+n-=esIQCyn?aYB4zDU`S-Dv-dH z22+KkHI@%fGBeBO&S@c3)HQznnsZ*5>fZf6KFs)W)Jy{20*xIM4-ddb6sOy{wl}%K zJI5|gBV%Oyr>C*CQ5i6+>Uk_2I0fV(pgb#d3lfU}xmP#O`MDBU4-xUclp1K{LOo7j zuVt44;M=WmODi`kOKU`}Q6JDNOZ^jB*7wu4X0e@s7{E{L%L%M9z~@c;Sr)70X@L7g zQkww`Bh~gUT*5ZIOgl1ij=7r>nwO^wcnw)wxh>Xa+3$|?RRlQ>x3B8u%*P0L26lpf zslOcL{HDE&Xb zN`Ef^Rs&|O)ESu^v@xKy{_?*UYrd$Z{h$C*_%)ZDUEtSj4+^;^Xp(h-;w3&l?#bxr zlIcVEIaYFhq1+d!s4LC&D%x%|wtKl;)(JBd{GmCSce&iqR3_WQY;Aj&*Cyq&>a~{n zvpe&Wf@&LxTdW79N^EaaJp@6mBEA= z>7rN(f4#%10IT+k=s$f~D=DHgPXzK9&Q`0!ZbNtu6hr+k7B8zvLm$4N$UqaS07k{9 z9SV7F<}PxG-`+FO9@Fs{D9%gQGkDeiU5+^uYQ7#P=M;pPP3Pc8}M$f4Fa4sUOo1Ktv)(0}rxbrVRgeShD# zJvG^W1ymQ^niQXPT*_ezGP}pbF&t%Q61>u9KV#Tx<*V*4|~*v$)Kg7ono24CZRs%W2{fK>GyrZ)|^sJT3-$PqvV;j8>VP_npc zXpZHG+fS`3jTo49uJopKbVulVpU>Atin+U)s1=n?1%ao=?$~n2k4%{K!9Z`R#Zf+o-x)c4Q(4RTj zzt)_GjwrX)dGes*#)<~Gf{qa_Guwgl?30l(Fy#unJMf30_-(Zp_Rz##uA-!6%3-P7 z^Ov`jUvm)KN{Wb41)|&2x&azuzaYAJd+o7-nln0kM!03#fp$XrndCvQ&D9N5n!8FL ze|Knrng%K;;s4RbxB1Gso|1WZdAGOM7}g$?ElWLeZgM3dG0RyO-jQnk{usY9Ul+`b zJQ!Z-&Sq(c2B2Et@S?yw)1vJ@7hh4q7sge3v6n72eqc30WKRUBP`UWx{CKLx4;)+2 z>Y$4K;oBJ+5BqaS`U`f}f@t;a!?9aiE4?=D3^+8KgM?`zKkHN8{M^=!LL5(SjIqSU ziNFV~Tb5*NN=jxFu9Zx^HETj5p&=nfuW1Jc4AN^l3+>MqF0AEa$-ACm3An?lKHaf1 z&tqukvbT#gXCk3T9tS#NJR!8@rRzlSl-;+&bK$0JvLQmtKWCE z-QbcQD;CFV&9=Ou*i*(46sn4u{22-n)^O3E@R0@TUd|o!ar`G8F^v;aF)E>aqjqT~gW|WNQoFFgNl40uVt!@kE@7Ptr?_JZs=#eFJ?}X4 zjC`iPZH}W*D38~a<0|n5&w#Fxk4?bJ%GhF+?%rYl(8_uwlGgPGZF($^*teu)fpW#D@p=B6~rX^xf + + + + + + + + + + + + + + + + + + + + + +Format tax pipeline +Convert rich files to Markdown before they enter AI context. + + + + +working format + +DOCX / PDF / HTML +slides / media + +Format noise +fonts, XML, +layout, +positioning, tags + +MarkItDown +normalize +structure + +Clean Markdown +headings, +lists, +tables, links + +Pay for semantic +content, +not page decoration. + +Generate rich delivery +format +only at the end. + \ No newline at end of file diff --git a/docs/assets/diagrams/graphify-navigation.png b/docs/assets/diagrams/graphify-navigation.png new file mode 100644 index 0000000000000000000000000000000000000000..6d4627637583ac5b14e6cfc6202e573dc5706f25 GIT binary patch literal 71920 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

    +
    +

    Plan first, execute cheaply

    + Plan with strong model, save plan, execute in fresh cheaper session, then verify acceptance criteria. +
    +

    Lab 8: mode routing drill

    @@ -860,6 +883,7 @@

    Goal

    Part 2.7

    MCP and tool costs

    Tool schemas are hidden token tax.

    + Tooling stack: scope MCP schemas, use CodeAct for turn loops, RTK or snip for output, Graphify for orientation.
    @@ -908,11 +932,33 @@

    Audit rule

    Tool output compression

    -
    -

    RTK

    -

    CLI proxy filters noisy shell output before agent reads it: tests, git diff, grep, logs, file listings.

    -
    rtk init --copilot
    +
    +
    +

    RTK

    +

    Rust CLI proxy filters noisy shell output: tests, git diff, grep, logs, file listings.

    +
    rtk init --copilot
    +
    +
    +

    snip

    +

    YAML-extensible command filters with local savings stats and team-maintained rules.

    +
    snip init --agent copilot
    +
    +

    Pick one output filter layer per command path. Do not stack RTK and snip by default.

    +
    + +
    +

    One tool per layer

    + + + + + + + + + +
    LayerToolReduces
    Workflow turnsCodeActRepeated model-tool loops
    Command outputRTK or snipVerbose shell results
    Command choiceminimal-context-toolsBroad search/read behavior
    Codebase orientationGraphifyRepeated file rereads
    VisibilityChronicle / CoachWaste you would miss
    @@ -1063,6 +1109,22 @@

    Agent mode controls

    Cap runaway sessions carefully. Increase only when task requires it.

    +
    +

    Agent mode cost loop

    + Agent loop: load context, decide tool, ingest result, replay context, repeat. +
    + +
    +

    Session harness checklist

    +
    model
    +mode
    +agent/profile
    +active MCP/tools
    +output filter
    +repo instructions
    +

    Choose before the session starts. Stable harness = predictable cost and cache behavior.

    +
    +

    Lab 13: repo implementation

    @@ -1150,11 +1212,7 @@

    Enterprise governance

    Spend levers

    -
      -
    1. Budget ceilings.
    2. -
    3. User-level AI-credit budgets.
    4. -
    5. Model availability policy.
    6. -
    + Enterprise governance control plane connects budgets, user-level caps, model access, usage reports, cohorts, and policy review.

    Prompt compression does not cap spend. It reduces waste inside allowed usage.

    @@ -1248,6 +1306,98 @@

    Scenario

    +
    +
    +

    Part 4.4

    +

    Outcome per token

    +

    Optimize for accepted work, not the shortest prompt.

    +
    + +
    +

    The metric

    +
    + outcome per token = verified work completed / total tokens spent +
    +

    A short prompt that causes wrong-direction work is more expensive than a longer plan that lands correctly.

    +
    + +
    +

    Agentic cost research signal

    + + + + + + + + +
    FindingImplication
    Agentic coding can consume far more than chatDo not extrapolate simple-chat cost
    Same task can vary widely across runsUse budgets and stop rules
    More tokens do not guarantee accuracyOptimize loop quality
    Input dominates agentic costContext hygiene matters
    +
    + +
    +

    Outcome loop

    + Outcome-per-token loop: pick task shape, plan, route model, target context, verify evidence, close cleanly. +
    + +
    +

    Skills as practices

    + + + + + + + + + + +
    SkillToken effect
    BrainstormingPrevents early lock-in
    PlanningReduces guessing during execution
    GreennessAvoids debugging unknown baseline failures
    VerificationPrevents false completion
    Impeccable closePrevents review churn
    Branch-close disciplineStops stale context carryover
    +
    + +
    +

    Skill libraries: borrow patterns

    +
    +

    SDLC

    Superpowers, planning, TDD, branch finish.

    +

    Handoff

    agent-toolkit patterns for requirements, plans, entropy control.

    +

    Guardrails

    Secrets, cloud, DB, Docker, dependency, and retry-stop cautions.

    +

    QA / writing

    Browser evidence, writing review, QA depth on demand.

    +
    +

    Do not install every skill. Load only what changes the next action.

    +
    + +
    +

    Skill library adoption signal

    + Star history for selected community skill libraries. +

    Stars show attention, not quality. Judge by whether the skill changes the next agent action.

    +
    + +
    +

    Plan first, execute cheaply

    + Plan with strong reasoning model, save acceptance criteria, execute in a fresh cheaper session, verify implementation. +
    + +
    +

    Day-to-day model guidance

    +
      +
    1. Auto first for unknown everyday work.
    2. +
    3. Lightweight for tiny bounded work.
    4. +
    5. Mid-tier for normal implementation after clear plan.
    6. +
    7. Powerful for planning, architecture, hard debugging.
    8. +
    9. Fresh session when changing model/tool/agent lane.
    10. +
    +
    + +
    +

    Benchmark caveats

    +
      +
    • Benchmarks choose candidates; repo tasks choose defaults.
    • +
    • Harness, tools, retrieval, and reasoning effort affect scores.
    • +
    • Compare outcome and cost together, not score alone.
    • +
    • Label sources: verified, directional, anecdotal.
    • +
    +
    +
    +

    Capstone

    @@ -1261,9 +1411,9 @@

    Week-by-week rollout

    WeekTeam actionAdmin action 1Output defaults + Ask ModeUsage baseline - 2Instruction pruning + scoped rulesBudget pilot - 3MCP audit + model routingModel access review - 4Agent issue templates + setup stepsMonthly reporting cadence + 2Instruction pruning + scoped rules + Markdown conversionBudget pilot + 3MCP audit + output filter + Graphify pilotModel access review + 4Plan-first execution + verification/close disciplineMonthly outcome-per-token review
    @@ -1288,7 +1438,7 @@

    Developer

  • Code-only default
  • Ask/Edit/Agent routing
  • Concise prompts
  • -
  • Fresh sessions
  • +
  • Plan first, fresh sessions
  • @@ -1298,6 +1448,7 @@

    Repository

  • Scoped applyTo files
  • Coding Agent setup steps
  • Precise issue templates
  • +
  • Graphify map where useful
  • @@ -1306,7 +1457,8 @@

    Platform

  • MCP profiles
  • Content Exclusion
  • Model access policy
  • -
  • RTK/CLI tool output strategy
  • +
  • RTK or snip output strategy
  • +
  • One tool per layer
  • @@ -1315,7 +1467,7 @@

    Enterprise

  • Budgets
  • User-level caps
  • Usage reporting
  • -
  • Monthly review
  • +
  • Monthly outcome review
  • @@ -1337,6 +1489,68 @@

    Closing message

    + + + From 5cdc1b84d880717dae6d4aebb1315f2775f92769 Mon Sep 17 00:00:00 2001 From: Marco Olivo <8478776+olivomarco@users.noreply.github.com> Date: Thu, 23 Jul 2026 18:50:41 +0200 Subject: [PATCH 17/17] Add extra CSS styles for improved layout and design --- .github/workflows/deploy-pages.yml | 7 ++++++- docs/index.md | 4 ++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/.github/workflows/deploy-pages.yml b/.github/workflows/deploy-pages.yml index a948ca8..15224d4 100644 --- a/.github/workflows/deploy-pages.yml +++ b/.github/workflows/deploy-pages.yml @@ -6,6 +6,7 @@ on: - main paths: - docs/** + - slides/** - mkdocs.yml - requirements-docs.txt - .github/workflows/deploy-pages.yml @@ -41,7 +42,11 @@ jobs: run: python -m pip install --upgrade pip && pip install -r requirements-docs.txt - name: Build site - run: mkdocs build --strict --site-dir site + run: | + mkdocs build --strict --site-dir site + cp -R slides site/slides + mkdir -p site/docs + cp -R docs/assets site/docs/assets - name: Upload Pages artifact uses: actions/upload-pages-artifact@v3 diff --git a/docs/index.md b/docs/index.md index b2be97e..54b50e3 100644 --- a/docs/index.md +++ b/docs/index.md @@ -4,8 +4,8 @@ Practical guide to reducing GitHub Copilot token spend while keeping answers and [Start with Part 1](01-why-tokens-matter.md){ .md-button .md-button--primary } [Jump to Practical Setup](10-practical-setup.md){ .md-button } -[Concise practitioner briefing](../slides/briefing.html){ .md-button } -[Full 8-hour workshop](../slides/index.html){ .md-button } +
    Concise practitioner briefing +Full 8-hour workshop ## What This Covers