Repository navigation
Add opt-in decision providers, improve retrieval performance, and support Pi 1.2 - #48
Merged
Merged
Conversation
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.
Pi 1.2 custom turns can lack a prompt, repeated revision queries reparse the same SQL, and file capsule expansion reads an entire file to return only 2048 bytes. This change synchronizes the fixed Pi extension, caches revision queries, and bounds capsule reads. It also adds an experimental, explicitly requested
brain contextdecision pass for TypeSafe Jev, OpenAI Decisions and Perplexity Decisions; defaults and automatic host integrations stay unchanged.Provider configuration alone makes no request. Both
--decisionsand an explicit probability threshold are required. The pass preserves local abstention, validates every response before mutation, filters only already-selected evidence, and uses bounded transport with no redirects/retries/fallback. No hosted service was called; contract and HTTP mock tests do not establish access, quality or calibration.Release metadata is prepared and verified for 2.9.0: all seven workspace crates and lockfile entries, all 13 inter-crate version pins, and the changelog agree. npm CLI/server manifests intentionally remain 0.0.0 templates because release.yml stamps them from the release tag; the SDK retains its independent version. Merging alone does not publish. After genuine required approval, merge, and verification of the merged commit, create v2.9.0 at that exact merged SHA and push that tag. The tag triggers release.yml, which validates tag/version agreement, builds and smoke-tests artifacts, publishes the GitHub release, and runs enabled crates.io/npm publication jobs. PUBLISH_CRATES and PUBLISH_NPM are currently true; publishing still requires the existing workflow credentials. No pre-merge tag or publication is authorized by this preparation step.
Validation and evidence:
docs/audits/2026-10-13-review/README.md.3dc7808b020b471ac50cc28d1adce335ea280100; all CI jobs passed except the dependency audit, including Windows/macOS/Linux, explicit embeddings, both lint builds, CodeQL, SDK, formatting, examples and asset drift.eef1a018596f6757f30e3f41cdd926bb1a3b1ee0updates to patched 0.11.18 and 0.23.45 plus required transitive dependencies. Its full local workspace suite passed 1439 tests (five pre-existing ignores), Python passed eight, and Pi passed 36 including real CLI integration against the 2.9.0 candidate. Local audit reports zero vulnerabilities with the existing informational exceptions only.