Repository navigation
Ask Jev through one decision service - #257
Merged
Merged
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
BunsDev
force-pushed
the
decision-service
branch
from
October 16, 2026 04:22
fb7c0d1 to
8830678
Compare
Code coverage overviewLanguages: TypeScript TypeScript / code-coverage-agent
View coverage of the 6 most impacted files.
ℹ️ Calculations represent line coverage. Results may change as calculations are updated. Updated |
BunsDev
force-pushed
the
decision-service
branch
from
October 16, 2026 06:04
8830678 to
d44663e
Compare
Routines Phase 0: Auto routing, follow-up suggestions and approval rules (Try it included) now reach Jev through routing/decisions.ts. It owns the key, the transport and the session-wide switch-off that the Router held, names the three versioned question sets (routing, follow_up, approval), and hands each caller a connection whose every request leaves a receipt in app/decisions.jsonl: set, version, model, transport, thread or preview, timing, and Jev's typed answers or the error. Receipts never hold the state sent to Jev. The log starts over past 4 MB, keeping one previous file. Behaviour does not change: the Router keeps its API and delegates to the service, each caller keeps its own questions and failure handling, and the existing routing, follow-up and approval tests pass unchanged. Coven-Harness: Claude Code / claude-opus-5-5
BunsDev
force-pushed
the
decision-service
branch
from
October 16, 2026 07:23
5b1a1ad to
4e40eb1
Compare
This was referenced Oct 16, 2026
BunsDev
added a commit
that referenced
this pull request
Oct 19, 2026
… and the routines spec (#310) v0.2.0 was published on 2026-10-18 (23:14Z) from the signed tag on 01b1b8a. This follows Val's status layout (#290): - Shipped gains a v0.2.0 row linking its release and its review. - The 13 "On main, unreleased" items move unchanged to a new "Status summary" at the end of the v0.2.0 review, along with the old In flight entry. Each one was introduced by a commit in the tag (#248, #253, #254, #257 to #261, #263, #264, #266, #267, #269). The CF slices and #283's Markdown parser came after the tag, so they stay. - In flight keeps a short follow-ups entry for the gates no receipt records yet: the independent download checks, the banner upgrade on the release Mac, and the Companion 0.2.0 (7) TestFlight upload. - The routines spec and the README now say Phase 1, and most of Phase 0, ship from v0.2.0. Unchanged: the website's static fallback (apps/site/release.json) and the release evidence, which stay with the release owner. Claimed on #290. Coven-Harness: Claude Code / claude-opus-5-5
This branch was successfully 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.
Routines Phase 0, step 2 of the routines spec: the shared decision service. "Move Auto routing and approval rules behind one module, with versioned question sets and a stored receipt for each judgment. Behaviour does not change."
What changes
routing/decisions.tsnow owns the Jev connection, moved unchanged fromRouter: key resolution, CLI or HTTPS transport, the session-wide switch-off after an auth or billing rejection, the Settings test, and the connection half of status.Versioned question sets.
QUESTION_SETS = { routing: 1, follow_up: 1, approval: 1 }. The newAPPROVAL_QUESTION_SET_VERSION(approvals/gate.ts) andFOLLOW_UP_QUESTION_SET_VERSION(routing/followup.ts) sit beside the routing set's existingQUESTION_SET_VERSION.One door to Jev.
decisions.connect(set, { threadId | preview })returns a transport for one set, or says why there is none (disabled/unavailable). Auto routing, follow-up suggestions, the approval gate and Try it all go through it;router.jev()is gone.Stored receipts. Every request through a connection appends one JSON line to
~/.modex/app/decisions.jsonl(mode 0600):preview;The state sent to Jev is never stored. Past 4 MB the log starts over and keeps one previous file. A failed write is logged once and never touches a decision. The Settings ping is not a judgment and leaves no receipt.
Behaviour does not change
Routerkeeps its public API (status,test,setKey,clearKey,reset,route,followUp) and delegates.Tests
test/decisions.test.ts:reset();preview;Verification
pnpm build && pnpm test: all packages pass (desktop 1,426 passed, 0 failed).playwright test e2e/approvals.spec.ts e2e/approval-policy.spec.ts: 6 passed.Coven-Harness: Claude Code / claude-opus-5-5