Repository navigation
Conversation
…ess, not for merge) pyproject.toml, desktop/pubspec.yaml (2.0.0+41), desktop/lib/version.dart, CITATION.cff, the README badge, the QUICKSTART line and the action docs pin name 2.0.0. CHANGELOG Unreleased becomes 2.0.0 with a date placeholder and a summary opening. README Limits says task success against other agents is unmeasured. The versioning page carries the security window placeholder. The release notes are not written yet. Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>
What you can do now, what changed by default, what breaks and what to do, how old records verify, what did not change, which versions get fixes, the limits, the release assets and the monitor rule pack digest (unchanged from 1.9.0). It links docs/LICENSING.md and docs/MIGRATING-2.0.md. The release date and the end of the 1.9.x security window are placeholders; `python scripts/release_assets.py stamp --date` fills them on the day. The Limits section is written from what is known today and is to be rewritten from the security fix work's final list of known limits. Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>
…26-11-14 The notes gain a section on what the security review changed and a Limits section rewritten from docs/KNOWN-LIMITS-2.0.0.md. The changelog section reads: what you can do now, what changed by default, what breaks, fixed, known limits, with pull requests 462 and 465 to 468 cited. Gateway overhead figures are the on-disk ledger values from docs/BENCHMARKS.md. The stamp fills the release date and the end of the 1.9.x security window (2027-02-12). Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>
CHANGELOG.md conflicted: main appended the #469 and #470 bullets to its Unreleased section, and this branch holds the reordered 2.0.0 section. The release side is kept, and the nine new bullets are carried into it with their pull request numbers, with the entries under "What changed by default" brought up to date. Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>
"What the security review changed" gains: no ledger means no model call (503 before any provider is contacted, and a start line), a key's limits are read again when the body has arrived, the read timeout, the charge for a stream abandoned before its first byte, the rule that a TOOL line in a native reply's text does not run, and the reserved key name. Limits follow docs/KNOWN-LIMITS-2.0.0.md on main: the prose TOOL-line limit is removed and the ledger, timeout, abandoned-stream, key-file, price-field and Lean-path limits are added. The overhead figures are marked as not measured again after #470. Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>
Main holds the third review's fixes (#472, #473). CHANGELOG.md conflicted: main's Unreleased section against this branch's reordered 2.0.0 section. The release side is kept. The ten new bullets are carried with their pull request numbers, the three #470 sentences that main corrected are carried over, and the entries under "What changed by default" are updated. Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>
The review paragraph names the third review: one blocker (text inside a native tool call's arguments could run as a different call) and ten other items, fixed by #472 and #473. It says the reviewer's probe scripts were run again against the fixed code, and that #472 and #473 have had no further independent review. "What the security review changed" gains: the 503 for a ledger that stops taking writes while the gateway runs, the quarter-of-characters estimate for an unfinished stream, the head and body deadlines, the argument rule for native tool calls, and the notice when a model moves to the text protocol. Limits follow docs/KNOWN-LIMITS-2.0.0.md on main: connections are bounded by deadlines and not by a cap, /v1/embeddings is outside the ledger, the call that meets a ledger write failure has reached the provider, and the fallback rests on the wording of a provider's error. The changelog gains one entry for #471 (the Telos Toolkit plugin folder), which merged to main between #472 and #473 with no changelog entry of its own. It is in the repository tree and in no release asset; the entry says so. Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Draft. Do not merge before the release go. This is the release change for 2.0.0. Merging it and pushing the tag
v2.0.0publishes the release. An independent review on 2026-11-14 said DO NOT TAG because of one finding (B1). That finding and the review's other items are fixed on main (#472, #473); the reviewer's probes were run again and the state is below. The fixes themselves have had no further independent review.What is in it
pyproject.toml,desktop/pubspec.yaml(2.0.0+41),desktop/lib/version.dart,CITATION.cff, the README badge, theQUICKSTART.mdline and thedocs/GITHUB-ACTION.mdpin. Homebrew and Scoop stay on 1.9.0 until PyPI has the 2.0.0 digests.RELEASE-NOTES-2.0.0.md: what you can do now; what changed by default; what the security review changed; what breaks and what to do; how old records verify; what did not change (licence, price); which versions get fixes; limits; release assets; the monitor rule pack digest (unchanged from 1.9.0,a76b7e89...).CHANGELOG.md:## 2.0.0 (2026-11-14), in the order: what you can do now, what changed by default, what breaks, fixed, known limits. Every pull request merged since v1.9.0 is cited.README.mdLimits: one sentence saying task success against other agents is unmeasured.SECURITY.mdanddocs/VERSIONING.md: 1.9.x gets security fixes until 2027-02-12.State on 2026-11-14 (23:30 UTC)
716f549c) is merged in with an ordinary merge commit (a835f64c). The security pull requests on main: fix(gateway): server tool replies are served and recorded; no reply without a record #462, fix(gateway): the gateway ledger is kept on disk and chained across restarts #465, fix(gateway): unfinished streams are charged; calls in flight are bounded; pass-through allow-lists #466, fix(lean): Lean child processes get an allow-listed environment #467, fix(gateway): small review findings, key and network docs, known limits, release gate #468 from the first review; fix(code): on a native turn, a TOOL line in a reply's prose is not a call #469 and fix(gateway): confirmation review items C1 to C9: no ledger, no upstream call #470 after the confirmation review; fix(code): on a native turn the calls that run are the provider's tool-call objects (B1) #472 and fix(gateway,code): the remaining findings of the independent review of 2.0.0 (D1, D2, D3, A1, A2, N1 to N5) #473 after the third review.verifyholds on a ledger a gateway is appending to; stray files in the ledger folder are ignored; a key's row is read and its slot taken under one lock; an unfinished stream is charged at least a quarter of its characters; the fallback to the text protocol starts only on an error that says tools are unsupported, and the session says so; the request head and the body of a model call have deadlines;gateway-ledger showcuts long fields; the Lean scan covers aliases and more spawn APIs; the limits page names/v1/embeddings.716f549c. The probes of B1, D1, D2, D3, A1, N1, N2, N3 and N5 no longer reproduce: the model's own call runs with its argument intact and no other call runs; one call reaches the provider when the ledger stops taking writes and the calls after it get 503;verifypasses on a ledger a gateway is appending to (0 of 6 runs report a problem); stray files are ignored; the fallback does not start on a context-length error; the Lean scan catches all 18 planted forms; an abandoned stream with an 80,000 character prompt is charged 20,010 tokens; a client that drips header lines is closed at 1.2 seconds with a 0.5 second timeout;showprints a 681 character line where it printed 25,341. The forced-interleave probe for A2 still prints two served calls and 920 tokens: its second request now waits for the first one's admission and the two then run together, which is the documented margin for calls in flight. The probes of claims the review had confirmed still pass (103 probe cases passed in all).python scripts/release_assets.py check --tag v2.0.0 --releaseprintsrelease check clean for 2.0.0. If the tag slips a day, the dates are edited by hand and the dry run is rerun.Dry run
Run 43652933825 on
b33f31e4: plan, discover, build, gates on ubuntu and windows, and dry-run succeeded; publish, release and verify-pypi were skipped, as a dry run requires.harnessfolder moved away. 1.x record control: 51,084 single-byte flips, 0 read MATCH; 0 both-name receipts read MATCH. The 20release_gatefiles passed (by the progress lines 447 passed and 2 skipped on Linux, 448 passed and 1 skipped on Windows): the 14 of the earlier rounds and the six added after the third review.flywheel gateendedverdict=PASS rewitness=MATCH. The scripted coding request wrote its file.d29b5419...) and the sdist (73be36a8...), both changed by the fixes; the plugin and skill zips (unchanged); the source tools plugin (named-dev-in a dry run; changed, because a reviewed source file changed); the VS Code extension (unchanged). The key-shape scan of the wheel and the sdist was not repeated on these builds.Limits a reader should know before upgrading
No task-success figure has been measured. The retired accuracy comparison showed no measured gain. No paid call to a hosted provider was made: replay tests and a local model only. Claude Code and Codex CLI were not run against the gateway; the
anthropicandopenaiPython SDKs were. The desktop app ships for Windows only, and its installer is built and attached separately. A virtual key's budget is an operating limit and not a hard cap on a provider's bill. One gateway process per Flywheel home. The call that meets a ledger write failure has already reached the provider. The fallback from native function calling to the text protocol rests on the wording of a provider's error, which no provider documents.Checked locally
release_assets.py check --tag v2.0.0 --release: clean.check_release_digest.py: the notes print the shipped digest.gate-testslists 20 files.test_version_alignment,test_package_manager_manifests,test_release_digest,test_docs_site,test_release_assets,test_release_drafts,test_benchmark_surface,test_migration_tables: passed, one skipped. Claim language, public instructions andcheck_writing --gateon the notes: clean. Every pull request merged since v1.9.0 from chore: point Homebrew and Scoop at 1.9.0 #418 on (55, to fix(gateway,code): the remaining findings of the independent review of 2.0.0 (D1, D2, D3, A1, A2, N1 to N5) #473) is cited in the changelog by number. plugins: add the Telos Toolkit Claude Code plugin #471 (the Telos Toolkit plugin folder) merged to main between fix(code): on a native turn the calls that run are the provider's tool-call objects (B1) #472 and fix(gateway,code): the remaining findings of the independent review of 2.0.0 (D1, D2, D3, A1, A2, N1 to N5) #473 with no changelog entry; this branch cites it in one entry that says the folder is in the repository and in no release asset.tests/test_gateway*.pyexcept two agent MCP files, the coding session files, the 20 gate files against a wheel built from the branch (the two timing files from the source tree), the gate's scripted coding request andflywheel gatefrom that wheel, and 20 reversions of single fixes in a scratch copy, each of which made its tests fail.🤖 Generated with Claude Code