AI Decision System
Replayable, offline-verifiable records for AI-assisted go/no-go decisions: experiment promotions, typed model answers and human-approved actions.
A complete compiler for the web
Developer toolsJavaScript · TypeScriptGitHub @scrml-langOnlineOwner 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
Loading the full README. The saved excerpt is shown below.
A complete compiler for the web. Markup, reactive state, scoped CSS, SQL, server functions, realtime, and tests in one .scrml file — the compiler reads it and does the wiring. No virtual DOM, no JSX, no node_modules, no API layer to drift out of sync.
You declare the shape of the app; the compiler builds the machine.Read the full README ↗Workflows live in workflows/. The required check on main is the gate aggregator in ci.yml. main is protected by ruleset 25356240, which requires a pull request, gate and the merge queue, with no bypass actors. Every automated write therefore goes in through a PR.
| doc | producer | PR-side | kept current on main by |
|---|---|---|---|
docs/FACTS.md | scripts/facts.ts | warns when stale (exit 4 only); every other non-zero fails — a broken measurement (2), a missing anchor (3), a dangling symlink (5), or a crash (1, bun's uncaught-exception code) | facts-regen.yml, after every merge |
compiler/SPEC-INDEX.md | scripts/regen-spec-index.ts | blocking (checks) and pre-push | the PR that edits SPEC.md |
docs/bootstrap-conformance.md | scripts/bootstrap-conformance.ts | blocking only when the PR touches conformance/cases or compiler/self-host-v2; tracking reports it otherwise | the PR that changes the corpus or the bootstrap |
docs/known-gaps.md @generated:gap-counts | scripts/state.ts | not CI-gated; derived only from the same file, so a PR's table always agrees with its own gap markers | the PR that adds or resolves gaps (cloud-maps.yml does not stage this file) |
Owner ruling, S469: "Regenerate on main after merge." FACTS holds repo-wide totals that most landings move. 48 of the 78 landings between 2026-10-10 and 2026-10-22 changed it. A PR's FACTS edit was stale, and in textual conflict, as soon as any other PR landed.
The flow, in facts-regen.yml:
main (and workflow_dispatch) runs bun scripts/facts.ts --write on main's current tip.bot/facts-regen. It opens a PR from that branch, or reuses the open one, and enables auto-merge. The PR goes through gate and the merge queue like any other PR.The job also does not race. concurrency: facts-regen with cancel-in-progress keeps only the newest run alive, and there is only ever one bot branch and one bot PR. An open bot PR that already carries the right figures is not force-pushed, so it is not dequeued.
What this means for a PR author:
Token: the job writes with the MAPS_PAT secret, the fine-grained PAT that cloud-maps.yml also uses (Contents R/W, Pull-requests R/W). The default GITHUB_TOKEN can't be used, because a PR it opens does not trigger gate, so the queue would never take it. Fine-grained PATs expire. When MAPS_PAT lapses, both bot workflows go red at checkout. Merges aren't blocked, since neither is a required check, but FACTS drifts until the PAT is renewed. Then re-fire with gh workflow run facts-regen.