Skip to content

Owner decisions·

The builder loop never guesses on these. Decided items are binding (charter, "OWNER DECISIONS — 2026-09-15 04:40Z"); open items are recorded and skipped.

ID Question Decision Status
D-001 License Apache-2.0, with NOTICE ("tiny-vercel, Copyright 2026 Çağatay Çalı"); SPDX headers optional DECIDED 2026-09-15
D-002 Project name tiny-vercel everywhere (code, @tiny-vercel/web, @tiny-vercel/worker, @tiny-vercel/contracts, docs). GitHub repo renamed strands-nextjs → cagataycali/tiny-vercel on 2026-09-17; remote is git@github.com:cagataycali/tiny-vercel.git DECIDED 2026-09-15, slug renamed 2026-09-17
D-003 Public visibility of the repository Owner framing: "making tiny ready to public — again"; write every file as if a stranger reads it tomorrow. The actual visibility flip is the owner's action OPEN (owner action)
D-004 Fresh Vercel project for the deploy walkthrough APPROVED — a scratch Vercel project may be created to prove the fresh-deploy path. Never touch the tinyai-id Vercel project or tiny.technology DNS DECIDED 2026-09-15
D-005 Fresh Cloudflare resources (D1/KV/Vectorize/R2/Worker/DO) APPROVED under prefix tiny-vercel-*. Never touch tiny-v2, plugin.tiny.technology, the 5 production KV ids. Every created resource is logged in docs/PROVISIONED.md; scripts/teardown-cloudflare.mjs must delete them DECIDED 2026-09-15
D-006 Submit to Vercel Templates marketplace Deferred. Make it submission-ready (docs/VERCEL_TEMPLATE.md checklist against official docs); do not submit DECIDED 2026-09-15
D-007 Missing CLI login (wrangler / vercel) on this Mac Ask once via native notification, then continue other rungs DECIDED 2026-09-15 (procedure)
D-008 Next 16 deprecates the Edge Runtime (runtime = 'edge', used by 55 of 64 source routes; still builds with a warning) Port as-is (exact behaviour, warning accepted) vs. migrate routes to nodejs (changes streaming/timeout/cold-start semantics) OPEN — porting as-is until told otherwise
D-009 Worker oauth.ts token store exists but is unmounted and has no app-side callback (DRIFT #11) Wire it up as a real integrations feature vs. delete it from the template OPEN — ported unmounted, test green
D-010 GitHub OAuth App for the scratch deployment (https://tiny-vercel-scratch.vercel.app/api/auth callback). GitHub has no API for creating OAuth Apps, so the loop cannot; without it only the anonymous surface (home, universe, public tinys, chat) is exercisable, not sign-in → create tiny → passkey → devices Owner creates it (github.com/settings/developers), then npx vercel env add GITHUB_CLIENT_ID production --scope cagataycali-s-team + GITHUB_CLIENT_SECRET, then npx vercel redeploy tiny-vercel-scratch.vercel.app --scope cagataycali-s-team. Asked once via native dialog 2026-09-15 08:38Z (timed out, per D-007) OPEN (owner action)
D-011 POST /api/control answers {"message":"Success!"} when the worker rejects the body with a 400 (itty schema: systemKnowledge is a required string, so a client that omits it "succeeds" and nothing is written). Inherited verbatim from tinyai-id/app/api/control/route.ts — the source UI always sends systemKnowledge, so its users never see it; a stranger scripting the API will. Found during the R1–R9 re-verification on the rebuilt stack (2026-09-15). Port as-is (rule 3: no semantic changes) vs. surface the worker's errors[] as a 400 in the template and offer the same patch upstream OPEN — ported as-is; callers of /api/control must send systemKnowledge (an empty string is fine)

D-012 — apps/cli is a self-contained package, not a hoisted workspace member (decided by the loop, 2026-09-15)·

apps/web pins react@18.2.0; the CLI's TUI is Ink 7, whose peer range is react>=19.2. npm workspaces hoist one react to the root, so whichever wins breaks the other — measured: with apps/* in workspaces, ink landed at the root next to React 18 and import('ink') failed (useEffectEvent not exported) while tsc reported two incompatible @types/react. npm has no per-workspace no-hoist. So workspaces lists apps/web, apps/worker, packages/* and the CLI has its own package-lock.json; root scripts reach it with npm --prefix apps/cli, CI runs npm ci --prefix apps/cli. Revisit when the web app moves to React 19 (D-008's Next 16 work).

D-013 — publishing tiny-vercel@0.1.0 to npm (OWNER; asked once 2026-09-15 18:47Z, no answer → deferred)·

The package is publish-ready (docs/EVIDENCE.md § C5: tarball contents, dry-run, sizes). Nothing was published. To publish: npm login (this Mac currently has no npm session — npm whoami → E401), then cd apps/cli && npm publish (prepublishOnly rebuilds and runs the 1445 tests first). npx tiny-vercel works the moment it lands; until then npm i -g ./apps/cli or node apps/cli/dist/cli.js from a checkout.