Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
142 commits
Select commit Hold shift + click to select a range
57cbe68
Add orders reference platform designs and generated code
raphael Oct 30, 2026
17298a1
Implement orders refund rules, bearer auth, and refund workflow
raphael Oct 30, 2026
bdc8c34
Wire the refund agent planner, conversations, and orders commands
raphael Oct 30, 2026
560bd0c
Add evaluator-hosted commerce and payments simulator
raphael Oct 30, 2026
ae62dc6
Add scripted demo model and end-to-end refund flow test
raphael Oct 30, 2026
cf8c71f
Mark the run-visibility wait as provisional
raphael Oct 30, 2026
9f07b79
Prove a refund survives a worker crash after the provider accepted it
raphael Oct 30, 2026
5e8fc2f
design: add root module and Scantle MCP control-plane contract
raphael Oct 30, 2026
cf2cb42
Make the evaluator own its contracts and run acceptance as a goa-ai e…
raphael Oct 30, 2026
2710655
controlplane: implement CP1-CP3, structural diff, gitcapture, and cmd…
raphael Oct 30, 2026
228cca2
Start candidate processes with a minimal environment
raphael Oct 30, 2026
02dc4d1
Label the orders harness as local smoke evidence
raphael Oct 30, 2026
0348abf
Assert the complete expected refund in every acceptance scenario
raphael Oct 30, 2026
309affb
Format simulator tests
raphael Oct 30, 2026
cbff44d
Pass the test issuer key as hex so it is always a valid environment v…
raphael Oct 30, 2026
f4d04f9
Persist the orders runtime store in SQLite
raphael Oct 30, 2026
cbd3692
Merge remote-tracking branch 'origin/phase2-orders-reference' into ph…
raphael Oct 30, 2026
53d0bb6
Add sandboxed candidate launcher with an OS-enforced probe test
raphael Oct 30, 2026
b7caa55
controlplane: delete synthetic openui.v1 validator per RFC-012
raphael Oct 30, 2026
f89fd78
Run acceptance candidates only through the sandboxed launcher
raphael Oct 30, 2026
9ad9567
Keep runstore values byte-exact across storage
raphael Oct 30, 2026
76c4a86
Write candidate output to evaluator-owned files and drop global metad…
raphael Oct 30, 2026
bf5eddc
Merge branch 'runstore-import' into phase4-verify
raphael Oct 30, 2026
3746c73
Harden CP1-CP3 contracts, AST diffing, and dirty git capture
raphael Oct 30, 2026
7ea539a
Let sandboxed candidates stat their state directory's ancestors
raphael Oct 30, 2026
77591f2
Pin candidate binaries into protected storage and tear down every sce…
raphael Oct 30, 2026
9f908bd
Format the orders harness
raphael Oct 30, 2026
019f3ef
Assemble CP4 reports bound to executed binaries and refuse stale appr…
raphael Oct 30, 2026
677520a
Prove a pending approval survives an orders API crash
raphael Oct 30, 2026
33ba451
Stop candidates before reading the final refund ledger
raphael Oct 30, 2026
41b1d36
Drain the simulator's accepted requests before reading the final ledger
raphael Oct 30, 2026
728d492
Bound runstore page reads and keep every accepted timestamp
raphael Oct 30, 2026
9aab748
Merge branch 'runstore-import2' into phase4-verify
raphael Oct 30, 2026
3c286aa
Evaluate Goa/Goa-AI designs via eval.RunDSL and harden CP1/gitcapture…
raphael Oct 30, 2026
96b1e30
Share one graceful simulator shutdown between Stop and context end
raphael Oct 30, 2026
26c229d
Add the verify runner and the suite command contract
raphael Oct 30, 2026
aa1c4f0
Choose transcript pages with length(payload)
raphael Oct 30, 2026
e2f2e2b
Merge branch 'runstore-import3' into phase4-verify
raphael Oct 30, 2026
35c3bb3
Choose seed pages by size and keep every zone
raphael Oct 30, 2026
fefaf0c
Re-derive reports from their evidence and harden the verify runner
raphael Oct 30, 2026
970bc26
Merge branch 'runstore-import4' into phase4-verify
raphael Oct 30, 2026
0063c64
Compile candidate source only inside the build sandbox
raphael Oct 30, 2026
a26a4c3
Give builders a minimal report, approve only full reconstructions, an…
raphael Oct 30, 2026
7ae7cda
Sandbox designeval via candidate.Exec, enforce model.StructuredOutput…
raphael Oct 30, 2026
71550cf
Compile designeval harness via candidate.Build sandbox
raphael Oct 30, 2026
5902091
Own and await the build's process group and log Temporal output to a …
raphael Oct 30, 2026
7aca212
Run each process group as one owned lifetime and bound Temporal start…
raphael Oct 30, 2026
bc0ed05
Name still-running simulator requests when a stop times out and log f…
raphael Oct 30, 2026
312c1c0
Release a withheld refund response when the simulator stops
raphael Oct 30, 2026
d9d9d4c
Delete the temporary simulator request-tracking diagnostic
raphael Oct 30, 2026
4d77355
Delete the caller-supplied configuration digest from verification rep…
raphael Oct 30, 2026
223cddd
Bind reports to the suite-declared environment and to exact commit IDs
raphael Oct 30, 2026
b819669
Accept full commit IDs in both Git object formats
raphael Oct 30, 2026
89ad079
Phase 3 follow-up: structured designeval contract cards, verbatim CP1…
raphael Oct 30, 2026
0568487
Report accepted runs immediately and delete the provisional record wait
raphael Oct 30, 2026
8d8ec1e
Measure every model call at an evaluator-owned gateway and enforce pe…
raphael Oct 30, 2026
f296aa3
Reject an order request without tools in the evaluator's scripted model
raphael Oct 30, 2026
b216be3
Pin goa-ai 9db7935 and count partial model usage as unreported
raphael Oct 30, 2026
6c8a2bd
Count every failed model call as unreported usage
raphael Oct 30, 2026
73a4efc
Keep observed token counts of incomplete model calls in the measured …
raphael Oct 30, 2026
6e188d9
designeval, diff, gitcapture: multi-file module evaluation, wire/secu…
raphael Oct 30, 2026
3ebfb26
Merge remote-tracking branch 'origin/phase3-controlplane' into phase5…
raphael Oct 30, 2026
3a37976
Evaluate designs only from explicit module snapshots at the target's …
raphael Oct 30, 2026
544f7e9
Preserve resolved Model identities in architecture previews
raphael Oct 30, 2026
f4c717e
Merge remote-tracking branch 'origin/p5-designeval-contracts' into ph…
raphael Oct 30, 2026
e9ee889
Pin goa-ai 746274f, use HasCompleteUsage, and keep the evaluator prog…
raphael Oct 30, 2026
e0e9b38
Compare compiler output and preserve distinct tool input contracts
raphael Oct 30, 2026
babdbcf
Regenerate the orders example's tool schema catalog with the pinned g…
raphael Oct 30, 2026
c0fe0a1
Resolve design modules with the toolchain the sandboxed build uses
raphael Oct 30, 2026
a37583c
Add Golden Path MCP resource, Chorus swarm role/model planner, and Ph…
raphael Oct 30, 2026
f474f2d
Refresh embedded GOLDEN_PATH.md from 0477164 and clarify quickstart c…
raphael Oct 30, 2026
7c866bf
Delete duplicate Chorus message length check in FormatManifest
raphael Oct 30, 2026
34510b2
Address planner review findings: pinned-builder family scoring, relat…
raphael Oct 30, 2026
72fb380
Delete unused PublishManifest/ChorusSender facade and update access_m…
raphael Oct 30, 2026
5e251cd
Qualify cross-family routing and quickstart generation in docs
raphael Oct 30, 2026
38c4acf
Refresh embedded GOLDEN_PATH.md from 6d6b42a (NativeImage exception)
raphael Oct 30, 2026
cf59805
internal/swarm: preserve valid path bytes, reject NUL/dot segments, d…
raphael Oct 30, 2026
03446f2
Declare the orders platform's C4 model
raphael Oct 30, 2026
395633b
Describe every model connection the orders API supports in its C4 model
raphael Oct 30, 2026
3a506f6
Re-pin goa-ai@58afa9a2 and regenerate examples/orders/AGENTS_QUICKSTA…
raphael Oct 30, 2026
62fdc94
Rewrite README.md with clear value proposition, 3-pane walkthrough, q…
raphael Oct 30, 2026
9c73cb5
Slim README.md into an outcome-first invitation and split details int…
raphael Oct 30, 2026
ce4f609
Replace multi-column tables with full-width lists and sections across…
raphael Oct 30, 2026
518bd3a
Rewrite README.md as a high-level, example-led introduction
raphael Oct 30, 2026
e991aa6
Highlight 0-token codegen, Golden Path maintainability, mixed-model c…
raphael Oct 30, 2026
58baf14
cmd/scantle: wire the CP1 model and swarm profiles into serve
raphael Oct 30, 2026
30473ac
cmd/scantle: reject null and malformed swarm profiles at startup
raphael Oct 30, 2026
36cf99f
cmd/scantle: prove gateway mode answers propose_change over HTTP
raphael Oct 30, 2026
cd3a6f5
controlplane: send a CP1 output allowance on the analysis request
raphael Oct 30, 2026
4d59851
controlplane: reject CP1 analyses the provider marks output-limited
raphael Oct 30, 2026
e27f477
controlplane: report output-limited CP1 analyses as the provider stated
raphael Oct 30, 2026
189ac19
controlplane: say an output-limited CP1 analysis may be incomplete
raphael Oct 30, 2026
d9d78cc
Document commands that include the end-to-end verification suites
raphael Oct 30, 2026
8a02f1b
Explain model configuration and proposed agent assignments
raphael Oct 30, 2026
ca13416
Align README.md and docs/HOW_IT_WORKS.md with exact CLI, swarm, and v…
raphael Oct 30, 2026
3c5510e
Link README -swarm-profiles reference to docs/REFERENCE.md#configure-…
raphael Oct 30, 2026
1298c07
Address #521 review: conditional confirm_intent, CP3 anchor, and stan…
raphael Oct 30, 2026
a31cdc2
Add scantle verify and keep verify.Run inside its directories
raphael Oct 30, 2026
ea05f60
Serve stateless MCP Apps checkpoint viewer and add orders onboarding …
raphael Oct 30, 2026
1f8706a
verify: resolve module and package paths inside the checkout
raphael Oct 30, 2026
4f59b36
verify: refuse checkouts whose committed links leave the checkout
raphael Oct 30, 2026
39e6178
Address MCP Apps lifecycle and orders onboarding review findings
raphael Oct 30, 2026
0d56168
verify: build the suite in the source sandbox instead of scanning links
raphael Oct 30, 2026
3ac1e87
candidate: state which inputs Build trusts besides SourceDir
raphael Oct 30, 2026
76c6abb
controlplane, docs: embed checkpoint.html and qualify example swarm p…
raphael Oct 30, 2026
cfb5c42
docs: document scantle verify flags and MCP Apps checkpoint viewer in…
raphael Oct 30, 2026
b4f0537
verify: require an empty WorkDir and narrow what builds may read
raphael Oct 30, 2026
ae573bf
docs: note that -work-dir must be missing or empty in REFERENCE.md
raphael Oct 30, 2026
09b0ea7
controlplane: delete JSON text fallback and enforce strict omitempty …
raphael Oct 30, 2026
9bee4bd
Merge branch 'p8-verify-cli' into phase5-integration
raphael Oct 30, 2026
a76d680
Merge branch 'p8-checkpoint-docs' into phase5-integration
raphael Oct 30, 2026
240460f
docs: clarify scantle verify relative package syntax and exit behavio…
raphael Oct 30, 2026
dbd3c9f
docs: replace literal ./... with concrete ./ package example in REFER…
raphael Oct 30, 2026
1379b59
docs: distinguish MCP resources/read MIME types from HTTP GET JSON st…
raphael Oct 30, 2026
1de85f0
controlplane: let confirm_intent refine a confirmed Change Card
raphael Oct 30, 2026
a73e3f6
controlplane: add get_change so a stale editor can read the current card
raphael Oct 30, 2026
e92a10e
controlplane: move the CP1 validators into cp1_validation.go
raphael Oct 30, 2026
76d70b8
controlplane: add interactive CP1 form, CP2 C4 SVG graph, and DiffRes…
raphael Oct 30, 2026
2e83eaa
controlplane: harden CheckpointUI RPC correlation, CSP header, and in…
raphael Oct 31, 2026
12ba89e
Merge remote-tracking branch 'origin/p9-confirm-refine' into p9-check…
raphael Oct 31, 2026
bfff3fb
controlplane, docs: verify guest tools/call against live adapter and …
raphael Oct 31, 2026
bc7bdb1
controlplane: set class via setAttribute for SVG compatibility, updat…
raphael Oct 31, 2026
ebfb1d1
controlplane: set fill=currentColor on C4 SVG text for dark-mode cont…
raphael Oct 31, 2026
dd42a21
controlplane: preserve verbatim example strings, disable all CP1 cont…
raphael Oct 31, 2026
ee435f8
Retain CP1 editor draft ownership across host notifications
raphael Oct 31, 2026
551333e
Separate CP1 editor and result regions to preserve drafts and interve…
raphael Oct 31, 2026
8f4c630
Scope dataset bindings per region and keep renderChangeCard pure
raphael Oct 31, 2026
9fa16ce
Delete root dataset binding copies and uncorrelated error routing in …
raphael Oct 31, 2026
4a4cb86
Preserve multiline CP1 example text via textarea and report busy card…
raphael Oct 31, 2026
3e3589d
controlplane: carry a CP1 decision composition bound to its revision
raphael Oct 31, 2026
6e307ed
controlplane: check the final MCP result in the progress stream test
raphael Oct 31, 2026
e4afefe
controlplane, ui/checkpoint: add OpenUI + shadcn/ui Decision Studio
raphael Oct 31, 2026
721469c
controlplane: carry any model composition instead of failing CP1 on it
raphael Oct 31, 2026
aedbc1e
Merge remote-tracking branch 'origin/p10-openui-contract' into p10-op…
raphael Oct 31, 2026
098132a
ui/checkpoint: enforce AST slot types, narrow-layout labels, and work…
raphael Oct 31, 2026
cfa47f7
ui/checkpoint: distinguish selected draft answer from server-confirme…
raphael Oct 31, 2026
eb447b4
controlplane,ui: enforce recursive AST provenance and Zod slot valida…
raphael Oct 31, 2026
9378efc
controlplane,ui: fix WebKit dark-theme button transition and rely on …
raphael Oct 31, 2026
cfecc5a
controlplane,ui: use strictObject schemas for all OpenUI decision cat…
raphael Oct 31, 2026
78808fe
controlplane,ui: use --foreground on badge variants for WCAG 2.2 AA c…
raphael Oct 31, 2026
77d6601
controlplane,ui: derive types.ts from gen schemas and use plain-Engli…
raphael Oct 31, 2026
cbfb434
controlplane,ui: export schemas via public generated Go APIs, fail cl…
raphael Oct 31, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
ui/checkpoint/node_modules/
2 changes: 1 addition & 1 deletion PRESS_RELEASE.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@

Engineering leaders adopting AI coding agents face a growing maintainability and reliability gap. Empirical research from **GitClear** (*"Coding on Copilot: 2023 Data Suggests Downward Pressure on Code Quality,"* 2024; *"AI Copilot Code Quality: Evaluating 2024's Increased Defect Rate via Code Quality Metrics,"* Feb 2025, analyzing 211 million changed lines of code; and [*"The Maintainability Gap: AI Code Quality in 2026"*](https://www.gitclear.com/the_ai_code_quality_maintainability_gap), analyzing 623 million changes across 2023–2026) observed declining code reuse/refactoring, rising two-week code churn, and a **+81% increase in its 2023–2026 duplication measure**, while **Tornhill & Borg’s *Code Red* study (2022)** across 39 proprietary production codebases demonstrated that low-health code contains **15× more defects** and takes **124% longer** to resolve issues than healthy code. When teams build distributed agentic platforms—which require typed tool schemas, MCP servers, durable execution across crashes and multi-day human approvals, live event streaming, and observability—either humans spend weeks wiring infrastructure glue by hand, or autonomous "dark factories" burn token budgets maintaining repetitive boilerplate and weakening their own tests to pass CI.

Scantle addresses these challenges by pairing **Model-Driven Software Product Line code generation**—motivated by **CMU Software Engineering Institute (SEI)** product-line case studies showing reduced ongoing maintenance effort and faster time-to-market—with **process-isolated behavioral verification**. Instead of asking LLMs to write and maintain transport and schema plumbing, Scantle expresses services, agent toolsets, MCP endpoints, evaluation suites, and C4 architecture diagrams in a single executable Go design (`design/*.go`). Every time a capability changes, `goa gen` deterministically compiles the `gen/` transport, schema, and workflow layer at **zero LLM token cost** (in `chorus`, for example, 239 lines of Goa design generate 21,686 lines of `gen/` code alongside 2,566 lines of handwritten Go). Builder agents receive only the compact design slice and the exact Go interface signatures they need to implement, coordinating in real time over **Chorus** with zero-token background waiting (`chorus watch`). For production runtime efficiency, Scantle scaffolds **Goa-AI’s runtime token and cost controls** by default—including application-supplied input injection (`Inject` and direct `BindField`), bounded tool views with runtime-held pagination cursors (`BoundedResult`/`ContinueWith`), UI-only data streams (`ServerData`), isolated child-agent workflows (`Use(AgentToolset(...))`), and provider-supported prompt-cache breakpoints (`RunPolicy` `Cache`, which unlock 75%–90% cached-input price discounts on providers that support explicit checkpoints such as Anthropic)—and enforces **per-scenario runtime token and cost budgets** in `scantle.verify` on every change.
Scantle addresses these challenges by pairing **Model-Driven Software Product Line code generation**—motivated by **CMU Software Engineering Institute (SEI)** product-line case studies showing reduced ongoing maintenance effort and faster time-to-market—with **process-isolated behavioral verification**. Instead of asking LLMs to write and maintain transport and schema plumbing, Scantle expresses services, agent toolsets, MCP endpoints, evaluation suites, and C4 architecture diagrams in a single executable Go design (`design/*.go`), guided by Scantle’s built-in **Golden Path Architecture Playbook** (`scantle://golden-path`). Every time a capability changes, `goa gen` deterministically compiles the `gen/` transport, schema, and workflow layer at **zero LLM token cost** (in `chorus`, for example, 239 lines of Goa design generate 21,686 lines of `gen/` code alongside 2,566 lines of handwritten Go). Builder agents receive only the compact design slice, the generated `AGENTS_QUICKSTART.md` agent/tool contract guide, and the exact Go interface signatures they need to implement, coordinating in real time over **Chorus** with zero-token background waiting (`chorus watch`) and deterministic **cross-family role routing** (`@architect`, `@builder-<scope>`, `@eval-author`, and `@reviewer`) that pairs builder models with a disjoint model family for evaluation authoring and adversarial review whenever eligible capabilities and scope assignments permit. For production runtime efficiency, Scantle scaffolds **Goa-AI’s runtime token and cost controls** by default—including a central stateless gRPC inference gateway (`goa-ai/features/model/gateway` with `middleware.NewAdaptiveRateLimiter` and `pulse` capacity coordination), application-supplied input injection (`Inject` and direct `BindField`), bounded tool views with runtime-held pagination cursors (`BoundedResult`/`ContinueWith`), UI-only data streams (`ServerData`), isolated child-agent workflows (`Use(AgentToolset(...))`), and provider-supported prompt-cache breakpoints (`RunPolicy` `Cache`, which unlock 75%–90% cached-input price discounts on providers that support explicit checkpoints such as Anthropic)—and enforces **per-scenario runtime token and cost budgets** in `scantle.verify` on every change.

> *[Draft Spokesperson Quote — For Approval by Raphael Simon]*
> "Unconstrained coding agents act like developers perpetually new to your codebase—they copy-paste transport boilerplate, burn tokens re-reading entire repositories, and grade their own homework," said **Raphael Simon, creator of Goa and the Goa Design suite**. "Scantle turns your favorite AI assistant into a disciplined software factory over MCP. Goa and Goa-AI compile your contracts deterministically so your team maintains a fraction of the code and coding agents spend tokens only on business logic—while an isolated evaluator blocks any change that breaks crash recovery or causes a workflow’s runtime token cost to regress."
Expand Down
Loading