AI Decision System
Replayable, offline-verifiable records for AI-assisted go/no-go decisions: experiment promotions, typed model answers and human-approved actions.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Live at texprs.com.
View the compiled PDF of a LaTeX pull request on GitHub, and compare it with the
base branch, without checking out the branch.
Swap github.com for texprs.com in any PR link:
Planned views: side by side (synced scrolling), overlay/flicker, and a
latexdiff PDF with changes marked up.
LaTeX can't compile on Vercel (no TeX Live, function size limits), so compiling
lives in the worker container.
Needs Node 22+ and Docker.
1. Build and start the worker (first build takes ~5 min):README 전문 보기 ↗Live at texprs.com.
View the compiled PDF of a LaTeX pull request on GitHub, and compare it with the base branch, without checking out the branch.
Swap github.com for texprs.com in any PR link:
github.com/owner/repo/pull/12 → texprs.com/owner/repo/pull/12
Planned views: side by side (synced scrolling), overlay/flicker, and a latexdiff PDF with changes marked up.
| Path | What it is | Runs on |
|---|---|---|
apps/web | Next.js app: PR pages, GitHub login, PDF viewer | Vercel |
apps/worker | Compile service: TeX Live, latexmk, latexdiff | Docker (Fly.io or Cloud Run) |
packages/shared | Types shared by web and worker | — |
LaTeX can't compile on Vercel (no TeX Live, function size limits), so compiling lives in the worker container.
Needs Node 22+ and Docker.
Build and start the worker (first build takes ~5 min):
docker build -f apps/worker/Dockerfile -t texpr-worker .
docker run -p 8080:8080 -e WORKER_SECRET=devsecret texpr-worker
Copy apps/web/.env.example to apps/web/.env.local and fill it in
(GitHub OAuth app, a SESSION_SECRET, and WORKER_SECRET=devsecret).
Start the site:
npm install
npm run dev:web # http://localhost:3000
Open any LaTeX PR, e.g. http://localhost:3000/owner/repo/pull/12
Checks: npm run typecheck, npm run lint, npm run build, and
npm run selftest -w @texpr/worker (compiles the fixtures inside the image).
.tex files and picks the one the PR changes.Repos with an unusual layout can name their documents in .texpr.json:
{ "main": "paper/main.tex" } or { "main": ["a.tex", "b.tex"] }.
GET /pdf?t=<ticket> is what browsers use (see PdfTicket in packages/shared).
The other routes, except /health, need Authorization: Bearer $WORKER_SECRET. Pass the
user's GitHub token (for private repos) as X-GitHub-Token.
| Route | Body | Returns |
|---|---|---|
POST /build | { revision: { owner, repo, sha }, mainFile } | the compiled PDF |
POST /diff | { base, head, mainFile } | latexdiff PDF (changes in red/blue) |
Errors are JSON { error, message, log? } (see packages/shared). Results are
cached by commit SHA; access to the repo is re-checked on every request, cache
hits included.
Repos are untrusted input. Each compile:
.. are allowed, since templates like McMaster's capstone one use \input{../Common.text})latexmkrc (-norc, and the files are deleted), and symlinks are deleted after unpackingtest/fixtures/evil* check these in CI.
Checks: npm run typecheck, npm run lint, npm run build.