AI Decision System
Replayable, offline-verifiable records for AI-assisted go/no-go decisions: experiment promotions, typed model answers and human-approved actions.
A model router on your own machine: each request goes to the cheapest of your models that is strong enough for it, and the response says which model answered and why.
Developer toolsAstro · TypeScriptGitHub @reasanceOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Showcase and docs site for delegation-kit — user-directed model delegation for Claude Code and Codex. Astro 5 + Tailwind v4, static, zero runtime JS.
Taken from the repository README
Loading the full README.
Read the full README ↗Showcase and docs site for delegation-kit:
a model router on your machine for the models you already pay for. Easy
requests go to your cheap models, hard ones to your strong ones; you choose
the judge, your rules pick the model, and every response says why.
Built with Astro 5 + Tailwind v4 + TypeScript. Static-only output.
The runtime JavaScript is the copy button on code blocks and
src/scripts/motion.ts on the home page: scroll reveals and three story loops
(the hero table's rows rated one by one, the install command retyping itself,
a request's minimum score sweeping the ladder chart), driven by one
requestAnimationFrame clock that runs only while a story is on screen. All of
it is off under prefers-reduced-motion, where the markup is the final frame.
The "Resolve a role" panel on /dispatch is radio buttons plus CSS :has().
Everything that describes the kit is generated from the kit checkout, never written by hand here:
| on the site | source in ../delegation-kit |
|---|---|
| version in the footer and hero, catalog date in the footer | package.json, config/catalog.json |
| the ladder, the index chart and every price and rung in the worked example | config/catalog.json |
the routing table and the "Resolve a role" panel on /dispatch | delegation-route table --json, delegation-route resolve --lane … --json |
/docs/router, /docs/configuration, /docs/executors, /docs/compatibility | docs/router.md, docs/user-configuration.md, docs/external-executors.md, docs/compatibility.md |
/changelog | CHANGELOG.md |
The worked example uses Terra/high (mid), DeepSeek/max (small, default and
API decider) and Opus/max (frontier). It is computed at build time by
src/lib/example-pool.ts, which mirrors floor-v1 and verifies every displayed
answer against effort-specific v5 evidence. The ladder uses those exact efforts
for the three ringed models and the best measured setting for other models.
scripts/sync-kit.mjs runs the kit's read-only commands and rewrites the
synced blocks between <!-- BEGIN AUTOGEN --> / <!-- END AUTOGEN -->
markers. It never dispatches a model.
The generated release link and documentation version come from the kit's current tag. Repository links in the synced docs point to that tag, so they describe the same release as the site.
npm run sync-kit # refresh from ../delegation-kit (or DELEGATION_KIT_ROOT)
npm run sync-kit -- --check # exit 1 if out of sync; skipped when the kit checkout is absent (CI)
npm run build runs the check first, then regenerates public/og-image.png
from public/og-image.svg.
npm install
npm run dev # http://localhost:4321
npm run check # astro check: TypeScript + templates
npm run build # static output in dist/
npm run preview
When the kit ships a version (its release flow, step "sync the showcase
site"): after npm serves the version, npm run sync-kit, npm run build,
commit, push. Pushing main deploys.
Production runs on Cloudflare Workers with Static Assets, configured in
wrangler.jsonc (Worker delegation-kit-sh, assets from dist/, custom
domain delegation-kit.sh). Two ways to deploy, same result:
.github/workflows/deploy.yml builds and runs wrangler deploy on every push to main. It needs the repository secrets
CLOUDFLARE_API_TOKEN (Workers Scripts:Edit + Workers Routes:Edit) and
CLOUDFLARE_ACCOUNT_ID.npx wrangler login once, then
npm run build && npx wrangler deploy.Umami Cloud, through src/components/UmamiAnalytics.astro. The script reports
only on delegation-kit.sh (data-domains), so dev and previews send nothing;
see /privacy.
src/
components/ CodeBlock, HeroResponse, RequestFlow, LadderStepper, LadderChart, Ladder, Disclosure,
MachineBoundary, StatusPill, RoutingTable, LaneResolver, ResolvePanel, UmamiAnalytics
data/ kit.json, catalog.json, routing-table.json, resolve.json (generated)
lib/ example-pool.ts (the worked example, from catalog.json)
layouts/ BaseLayout, DocLayout
pages/ index.astro, dispatch.astro, docs/*.md, changelog/index.md, privacy.md
styles/ global.css (design tokens)
scripts/ sync-kit.mjs, generate-og-image.mjs
public/ favicon, og-image, prose.css, _headers, robots.txt
wrangler.jsonc Workers Static Assets config
MIT. Content synced from the kit repository is MIT there too.