@askalf/dario 6.12.26 → 6.12.27

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -510,7 +510,7 @@ export declare function detectDrift(t: TemplateData, installedOverride?: string
510
510
  */
511
511
  export declare const SUPPORTED_CC_RANGE: {
512
512
  readonly min: "1.0.0";
513
- readonly maxTested: "2.1.289";
513
+ readonly maxTested: "2.1.290";
514
514
  };
515
515
  /**
516
516
  * Compare two dotted-numeric version strings. Returns negative if `a<b`,
@@ -1211,7 +1211,7 @@ export function detectDrift(t, installedOverride) {
1211
1211
  */
1212
1212
  export const SUPPORTED_CC_RANGE = {
1213
1213
  min: '1.0.0',
1214
- maxTested: '2.1.289',
1214
+ maxTested: '2.1.290',
1215
1215
  };
1216
1216
  /**
1217
1217
  * Compare two dotted-numeric version strings. Returns negative if `a<b`,
@@ -67,6 +67,10 @@ fields that always differ between runs (`_captured` timestamp, user-agent
67
67
  string, `_version` / `_supportedMaxTested` labels). It flags **shape** drift in:
68
68
 
69
69
  - **tools** added or removed (by name set)
70
+ - **tool descriptions, input schemas and order** for tools on both sides
71
+ - **header values** the proxy replays (not `user-agent`, which carries the
72
+ version, and not `x-api-key`, `x-stainless-os` or `x-stainless-arch`, which
73
+ describe the capture)
70
74
  - **anthropic_beta** header values added or removed
71
75
  - **system_prompt** content (any character delta)
72
76
  - **body_field_order** (top-level JSON key order)
@@ -95,7 +99,7 @@ That exact sequence reached the ship gate on 2026-07-02 (PR #632: runner CC at
95
99
  older. A *deliberate* downgrade bake (an upstream CC release gets pulled and
96
100
  the bundle must go backward) bypasses it with `--allow-older-cc`.
97
101
 
98
- ### Exit 2 vs exit 3 — why the split, and why only one auto-merges
102
+ ### Exit 2 vs exit 3: why the split, and what each needs to merge
99
103
 
100
104
  Because `--check` ignores `_version`, a CC release whose wire shape is
101
105
  *unchanged* (the common case for a patch bump) produces a bundle whose shape
@@ -114,8 +118,8 @@ user-agent header) — never the wire shape — patch-bumps `package.json`,
114
118
  promotes the CHANGELOG, opens a `bot/template-label-*` PR, and turns on
115
119
  **auto-merge**.
116
120
 
117
- Auto-merge is safe for exit 3 but **not** for exit 2: an empty `computeDrift`
118
- means the live capture shows no difference in the fields listed under
121
+ An exit 3 PR merges on the review and the required checks alone: an empty
122
+ `computeDrift` means the live capture shows no difference in the fields listed under
119
123
  [What --check considers drift](#what---check-considers-drift). It is not a
120
124
  byte comparison: tools are compared by name only (descriptions and schemas
121
125
  of existing tools are not), the memory path in the system prompt is
@@ -126,7 +130,9 @@ same deterministic-bump risk class `cc-drift-watch.yml` already auto-merges for
126
130
  (build ×3, live-test, CodeQL, actionlint, validate-package-json); compat runs
127
131
  alongside but is not required. A red required check leaves the PR open
128
132
  with the bot branch preserved. A shape rebake (exit 2) changes the wire-shape
129
- contract, so a human reviews compat-test + the diff before merging.
133
+ contract, so it needs one thing more before it merges: the upstream check
134
+ described under [The rebake PR](#the-rebake-pr) has to have passed on the
135
+ bundle the PR's head carries. A rebake whose check failed waits for a person.
130
136
 
131
137
  ## The rebake PR
132
138
 
@@ -137,8 +143,8 @@ and not from the `--check` log:
137
143
  - **What changes.** `scripts/rebake-release-prep.mjs` diffs the bundle on the
138
144
  base branch against the baked one (`describeBundleChange` in
139
145
  `scripts/drift-report.mjs`) and writes both the CHANGELOG entry and the PR's
140
- list from it. `--check` compares tool names and header order; the bake writes
141
- the whole capture, so tool text and header values move with it. Those texts
146
+ list from it. The bake writes the whole capture, and `--check` compares the
147
+ tools and the replayed header values as well as their order. Those texts
142
148
  say what the bundle holds. What a request carries also depends on the proxy,
143
149
  which prefers a fresh live capture, sets some headers itself and manages some
144
150
  beta flags per request.
@@ -177,6 +183,12 @@ and not from the `--check` log:
177
183
  bake. While such a PR is open each run makes one more capture pass, and a
178
184
  second when the first reports drift.
179
185
 
186
+ The platform review gate merges the PR once the review approves it at its
187
+ head, the required checks pass, and the `rebake/upstream` status is a pass on a
188
+ commit of the PR whose `src/cc-template-data.json` is the one the head carries.
189
+ A failed check, or a bundle changed after the check, leaves the merge to a
190
+ person.
191
+
180
192
  The bundle is captured from Claude Code and scrubbed by the bake. The prompts
181
193
  and tool descriptions in it are Claude Code's wording and are not edited for
182
194
  style in review: a change to them comes from a bake.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@askalf/dario",
3
- "version": "6.12.26",
3
+ "version": "6.12.27",
4
4
  "description": "Use your Claude and ChatGPT subscriptions in Cursor, Cline, Aider, Claude Code and the Agent SDK — at subscription pricing, not per-token API bills. One local Anthropic + OpenAI-compatible endpoint: either plan answers either wire shape, with automatic failover when one hits its limit.",
5
5
  "type": "module",
6
6
  "bin": {