You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CONTRIBUTING.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -59,7 +59,7 @@ CoalTipple is **Claude Code only**. Routing actuates only where an agent can pic
59
59
60
60
## 🚀 Releasing (Maintainers)
61
61
62
-
Bump version in `.claude-plugin/plugin.json` ➡️ Add changelog entry in `CHANGELOG.md` ➡️ Ensure `verify.mjs` and `test.mjs` pass ➡️ Commit ➡️ Create signed git tag (`vX.Y.Z`) ➡️ Push ➡️ Create a GitHub Release.
62
+
Bump version in `.claude-plugin/plugin.json` ➡️ Add a changelog entry in `CHANGELOG.md` ➡️ Ensure `verify.mjs` and `test.mjs` pass ➡️ Commit ➡️ Create a signed git tag (`vX.Y.Z`) ➡️ Push `--follow-tags`➡️ Create a GitHub Release (stable tags only).
Copy file name to clipboardExpand all lines: README.md
+14-32Lines changed: 14 additions & 32 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,28 +2,30 @@
2
2
3
3
# 🚂 CoalTipple
4
4
5
+
> A *tipple* is the sorting-and-rail-switching station of a coal mine — this one switches rails for prompts across models.
6
+
5
7
**A model/effort router for Claude Code** — delegate a task you *can* do but that is large and cheap *down* to a cheaper tier to save tokens, and hand a task beyond your reach *up* to a stronger tier for quality.
✅ **Live -- in real use on Claude Code.** The v1 core is validated on **Claude Code** (across the 2.1.x line) and active; the conductor hook fires a routing forcer on every prompt.
21
+
---
20
22
21
23
> [!CAUTION]
22
24
> **Claude Code only.** CoalTipple's routing only actuates where an agent can pick a spawned worker's model + effort. Today that is **Claude Code**. **Antigravity does NOT work** -- its subagents inherit the parent's model (no per-spawn model parameter, no separate effort knob), so routing cannot actuate there. Other platforms (Codex, Cursor, ...) are under monthly review.
23
25
24
26
---
25
27
26
-
## 🚂 What CoalTipple is
28
+
## 🚂 What it is
27
29
28
30
A *tipple* is the sorting-and-rail-switching station of a coal mine. This tool switches rails for **prompts across models** (alongside [CoalMine](https://github.com/HetCreep/CoalMine)).
29
31
@@ -47,7 +49,7 @@ You are **main**. CoalTipple decides, per task, whether to:
47
49
48
50
---
49
51
50
-
## 🚀 Installation
52
+
## 🚀 Install
51
53
52
54
### Claude Code plugin
53
55
@@ -120,9 +122,9 @@ Workers start context-fresh. A **memory anchor** file gives a fresh worker proje
120
122
121
123
---
122
124
123
-
## ⚙️ Configuration (.coaltipple.json)
125
+
## ⚙️ Configure
124
126
125
-
Shops zero-config with optimal defaults. Precedence: **project override → global config → schema default**.
127
+
Ships zero-config with optimal defaults in `.coaltipple.json`. Precedence: **project override → global config → schema default**.
126
128
127
129
Key settings (see [`scripts/lib/config-schema.mjs`](scripts/lib/config-schema.mjs) for the full SSoT schema):
We evaluate the **final output correctness** after the main escalates one rung, and the **token savings** of delegating mechanical bulk down — each dated, on small honest samples, never inlined here so a copied number cannot drift.
174
155
175
-
**Routing Savings (Measured 2026-06-19):** main does it itself vs delegates a big mechanical task (a 12-handler API scaffold) to a cheap worker — **~70–75% cheaper** to delegate down (Opus is 5× Haiku per token; the cheap tier also ran terser, 51k vs 71k tokens). The saving holds only **above** the `delegateMinLines` floor (a small task costs more to hand off than to do inline) and **never** applies to sensitive work (the hard gate). Detail: [`benchmarks/CoalTipple/ROUTING-SAVINGS.md`](https://github.com/TheColliery/.github/blob/main/benchmarks/CoalTipple/ROUTING-SAVINGS.md).
156
+
***Output correctness (+1-rung escalation):****20/20** — every main, escalating one rung, delivered correctly across all 5 domains (crypto · proof · research · legal · voice; measured 2026-06-15, v1.0.3).
157
+
***Routing savings:** delegating a big mechanical task down from Opus to a cheaper tier ran **~70–75% cheaper** — holding only above the `delegateMinLines` floor and never on sensitive work (measured 2026-06-19, version-sensitive rates).
176
158
177
-
The full benchmark harnesses (tasks, scorer, results) live in the series umbrella at [`TheColliery/.github/benchmarks/CoalTipple`](https://github.com/TheColliery/.github/tree/main/benchmarks/CoalTipple).
159
+
Full harnesses, per-task scoring, and the dated figures live in the series umbrella: [`TheColliery/.github/benchmarks/CoalTipple`](https://github.com/TheColliery/.github/tree/main/benchmarks/CoalTipple) ([output-quality RESULTS](https://github.com/TheColliery/.github/blob/main/benchmarks/CoalTipple/RESULTS.md) · [routing savings](https://github.com/TheColliery/.github/blob/main/benchmarks/CoalTipple/ROUTING-SAVINGS.md)).
Copy file name to clipboardExpand all lines: SECURITY.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
# Verifying CoalTipple
2
2
3
-
CoalTipple is verified under the same framework as **[CoalMine](https://github.com/HetCreep/CoalMine/blob/main/SECURITY.md)**: all execution hooks follow the [Phoenix-13 commandments](https://github.com/TheColliery/.github/blob/main/hooks-safety.md), builds are fully reproducible from source, and security scans run on each release.
3
+
CoalTipple is verified under the same framework as **[CoalMine](https://github.com/HetCreep/CoalMine/blob/main/SECURITY.md)**: all execution hooks follow the [Phoenix-13 commandments](https://github.com/TheColliery/.github/blob/main/hooks-safety.md), builds are fully reproducible from source, and security scans run periodically (event-driven).
0 commit comments