Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
30 changes: 15 additions & 15 deletions compatibility.json
Original file line number Diff line number Diff line change
Expand Up @@ -110,8 +110,8 @@
],
"golden": true,
"name": "create-hayate",
"role": "Composable applications with drift-checked first-party TypeScript clients",
"version": "0.13.2"
"role": "Composable applications with deployment-identifiable Workers and drift-checked first-party TypeScript clients",
"version": "0.14.0"
}
],
"protocols": {
Expand Down Expand Up @@ -210,9 +210,9 @@
"visibility": "private"
},
"golden_app": {
"commit": "381c071f108e29b16eae6b19b7f870a4fc3f18a9",
"label": "golden-app release lock main CI",
"url": "https://github.com/hayatepy/golden-app/actions/runs/30507749113"
"commit": "f0e334554f4b98e4be941dcb84feaaf6b47a9c89",
"label": "golden-app create-hayate 0.14.0 deployment metadata main CI",
"url": "https://github.com/hayatepy/golden-app/actions/runs/30511141307"
},
"mcp_ci": {
"commit": "249b2df4bc41a0603e168b22c53815e31d2d5711",
Expand All @@ -235,20 +235,20 @@
"url": "https://github.com/hayatepy/hayate-openapi/actions/runs/30506784156"
},
"scaffold_ci": {
"commit": "884b2b82dd9c64026d00deecd6afac3200a9baa5",
"label": "create-hayate 0.13.2 main CI and feature matrix",
"url": "https://github.com/hayatepy/create-hayate/actions/runs/30506646209"
"commit": "261af98f18b1f97cbb94f7bf19a99ab34e92be4f",
"label": "create-hayate 0.14.0 main CI and feature matrix",
"url": "https://github.com/hayatepy/create-hayate/actions/runs/30510345493"
},
"scaffold_matrix": {
"artifact_sha256": "f207dcd979c695508c4bf672432848e5469ebf4ab1b58b0f2c4fecb8e004af05",
"commit": "2e3d091b903d7a649ab5f03f4fbf058f4e27d0fa",
"label": "create-hayate 0.13.2 frontend smoke matrix (10/10)",
"url": "https://github.com/hayatepy/create-hayate/actions/runs/30502309672"
"artifact_sha256": "d980477da29e494182080adcd79b864ab533a1dcfbc8035b401f75f7dfa97e43",
"commit": "261af98f18b1f97cbb94f7bf19a99ab34e92be4f",
"label": "create-hayate 0.14.0 full frontend matrix (112/112)",
"url": "https://github.com/hayatepy/create-hayate/actions/runs/30511183502"
},
"scaffold_release": {
"commit": "8bcca24bbd43854c05a6467d26b675c20a89b63e",
"label": "create-hayate 0.13.2 release provenance",
"url": "https://github.com/hayatepy/create-hayate/actions/runs/30502570222"
"commit": "261af98f18b1f97cbb94f7bf19a99ab34e92be4f",
"label": "create-hayate 0.14.0 release provenance",
"url": "https://github.com/hayatepy/create-hayate/actions/runs/30510444651"
},
"sql_ci": {
"commit": "4e84db1ab3a7683239f288fb1bae64afa3007303",
Expand Down
30 changes: 15 additions & 15 deletions data/ecosystem.toml
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,9 @@ benchmark_result_commit = "561bcf01874e7777b04917ff84e683afff264180"
capabilities_path = "benchmarks/competitive/capabilities.json"

[sources.golden_app]
label = "golden-app release lock main CI"
url = "https://github.com/hayatepy/golden-app/actions/runs/30507749113"
commit = "381c071f108e29b16eae6b19b7f870a4fc3f18a9"
label = "golden-app create-hayate 0.14.0 deployment metadata main CI"
url = "https://github.com/hayatepy/golden-app/actions/runs/30511141307"
commit = "f0e334554f4b98e4be941dcb84feaaf6b47a9c89"

[sources.auth_ci]
label = "hayate-auth 0.10.5 main CI"
Expand Down Expand Up @@ -93,20 +93,20 @@ url = "https://github.com/hayatepy/hayate/actions/runs/30506830778"
commit = "a1821a27a83a2406c491338a397b489856db15de"

[sources.scaffold_ci]
label = "create-hayate 0.13.2 main CI and feature matrix"
url = "https://github.com/hayatepy/create-hayate/actions/runs/30506646209"
commit = "884b2b82dd9c64026d00deecd6afac3200a9baa5"
label = "create-hayate 0.14.0 main CI and feature matrix"
url = "https://github.com/hayatepy/create-hayate/actions/runs/30510345493"
commit = "261af98f18b1f97cbb94f7bf19a99ab34e92be4f"

[sources.scaffold_matrix]
label = "create-hayate 0.13.2 frontend smoke matrix (10/10)"
url = "https://github.com/hayatepy/create-hayate/actions/runs/30502309672"
commit = "2e3d091b903d7a649ab5f03f4fbf058f4e27d0fa"
artifact_sha256 = "f207dcd979c695508c4bf672432848e5469ebf4ab1b58b0f2c4fecb8e004af05"
label = "create-hayate 0.14.0 full frontend matrix (112/112)"
url = "https://github.com/hayatepy/create-hayate/actions/runs/30511183502"
commit = "261af98f18b1f97cbb94f7bf19a99ab34e92be4f"
artifact_sha256 = "d980477da29e494182080adcd79b864ab533a1dcfbc8035b401f75f7dfa97e43"

[sources.scaffold_release]
label = "create-hayate 0.13.2 release provenance"
url = "https://github.com/hayatepy/create-hayate/actions/runs/30502570222"
commit = "8bcca24bbd43854c05a6467d26b675c20a89b63e"
label = "create-hayate 0.14.0 release provenance"
url = "https://github.com/hayatepy/create-hayate/actions/runs/30510444651"
commit = "261af98f18b1f97cbb94f7bf19a99ab34e92be4f"

[[packages]]
name = "hayate"
Expand Down Expand Up @@ -152,8 +152,8 @@ evidence = ["golden_app", "sql_ci", "sql_release", "foliomcp_ci"]

[[packages]]
name = "create-hayate"
version = "0.13.2"
role = "Composable applications with drift-checked first-party TypeScript clients"
version = "0.14.0"
role = "Composable applications with deployment-identifiable Workers and drift-checked first-party TypeScript clients"
golden = true
evidence = ["golden_app", "scaffold_ci", "scaffold_matrix", "scaffold_release"]

Expand Down
26 changes: 13 additions & 13 deletions docs/COMPATIBILITY.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,22 +8,22 @@ passing CI evidence. Do not edit it manually. The evidence snapshot is dated

| Package | Version | Role | Production golden app | Evidence |
|---|---:|---|---|---|
| [`hayate`](https://github.com/hayatepy/hayate) | `0.15.3` | Core framework and native ASGI, Workers, and Lambda adapters | yes | [golden-app release lock main CI](https://github.com/hayatepy/golden-app/actions/runs/30507749113), [Hayate 0.15.2 downstream full compatibility CI (runtime-equivalent to metadata-only 0.15.3)](https://github.com/hayatepy/hayate/actions/runs/30501023744), [Hayate 0.15.3 main CI](https://github.com/hayatepy/hayate/actions/runs/30506644119), [Hayate 0.15.3 release provenance](https://github.com/hayatepy/hayate/actions/runs/30506830778) |
| [`hayate`](https://github.com/hayatepy/hayate) | `0.15.3` | Core framework and native ASGI, Workers, and Lambda adapters | yes | [golden-app create-hayate 0.14.0 deployment metadata main CI](https://github.com/hayatepy/golden-app/actions/runs/30511141307), [Hayate 0.15.2 downstream full compatibility CI (runtime-equivalent to metadata-only 0.15.3)](https://github.com/hayatepy/hayate/actions/runs/30501023744), [Hayate 0.15.3 main CI](https://github.com/hayatepy/hayate/actions/runs/30506644119), [Hayate 0.15.3 release provenance](https://github.com/hayatepy/hayate/actions/runs/30506830778) |
| [`hayate-auth`](https://github.com/hayatepy/hayate-auth) | `0.10.5` | Sessions, API keys, OAuth clients, and authorization server | downstream gate | [hayate-auth 0.10.5 main CI](https://github.com/hayatepy/hayate-auth/actions/runs/30506737850), [hayate-auth 0.10.5 security profiles](https://github.com/hayatepy/hayate-auth/actions/runs/30506737869), [hayate-auth 0.10.5 release provenance](https://github.com/hayatepy/hayate-auth/actions/runs/30506830212) |
| [`hayate-fetch`](https://github.com/hayatepy/hayate-fetch) | `0.1.4` | Portable WHATWG-style outbound fetch | downstream gate | [hayate-fetch 0.1.4 main CI](https://github.com/hayatepy/hayate-fetch/actions/runs/30506644434), [hayate-fetch 0.1.4 release provenance](https://github.com/hayatepy/hayate-fetch/actions/runs/30506781911), [Hayate 0.15.2 downstream full compatibility CI (runtime-equivalent to metadata-only 0.15.3)](https://github.com/hayatepy/hayate/actions/runs/30501023744) |
| [`hayate-mcp`](https://github.com/hayatepy/hayate-mcp) | `0.12.1` | MCP transport, tools, context, and OAuth resource server | yes | [golden-app release lock main CI](https://github.com/hayatepy/golden-app/actions/runs/30507749113), [hayate-mcp 0.12.1 main CI and MCP 2026-07-28 conformance](https://github.com/hayatepy/hayate-mcp/actions/runs/30504249052), [hayate-mcp 0.12.1 release provenance](https://github.com/hayatepy/hayate-mcp/actions/runs/30504320516), FolioMCP production Workerd CI (private downstream evidence) at `a4d110efc223` |
| [`hayate-openapi`](https://github.com/hayatepy/hayate-openapi) | `0.8.2` | OpenAPI 3.1, Scalar, and generated zero-runtime TypeScript clients | yes | [golden-app release lock main CI](https://github.com/hayatepy/golden-app/actions/runs/30507749113), [hayate-openapi 0.8.2 main CI and TypeScript interoperability](https://github.com/hayatepy/hayate-openapi/actions/runs/30506643960), [hayate-openapi 0.8.2 release provenance](https://github.com/hayatepy/hayate-openapi/actions/runs/30506784156), FolioMCP production Workerd CI (private downstream evidence) at `a4d110efc223` |
| [`hayate-sql`](https://github.com/hayatepy/hayate-sql) | `0.1.2` | Migration-checked SQL contracts and typed query facades | yes | [golden-app release lock main CI](https://github.com/hayatepy/golden-app/actions/runs/30507749113), [hayate-sql 0.1.2 main CI](https://github.com/hayatepy/hayate-sql/actions/runs/30506643955), [hayate-sql 0.1.2 release provenance](https://github.com/hayatepy/hayate-sql/actions/runs/30506782424), FolioMCP production Workerd CI (private downstream evidence) at `a4d110efc223` |
| [`create-hayate`](https://github.com/hayatepy/create-hayate) | `0.13.2` | Composable applications with drift-checked first-party TypeScript clients | yes | [golden-app release lock main CI](https://github.com/hayatepy/golden-app/actions/runs/30507749113), [create-hayate 0.13.2 main CI and feature matrix](https://github.com/hayatepy/create-hayate/actions/runs/30506646209), [create-hayate 0.13.2 frontend smoke matrix (10/10)](https://github.com/hayatepy/create-hayate/actions/runs/30502309672), [create-hayate 0.13.2 release provenance](https://github.com/hayatepy/create-hayate/actions/runs/30502570222) |
| [`hayate-mcp`](https://github.com/hayatepy/hayate-mcp) | `0.12.1` | MCP transport, tools, context, and OAuth resource server | yes | [golden-app create-hayate 0.14.0 deployment metadata main CI](https://github.com/hayatepy/golden-app/actions/runs/30511141307), [hayate-mcp 0.12.1 main CI and MCP 2026-07-28 conformance](https://github.com/hayatepy/hayate-mcp/actions/runs/30504249052), [hayate-mcp 0.12.1 release provenance](https://github.com/hayatepy/hayate-mcp/actions/runs/30504320516), FolioMCP production Workerd CI (private downstream evidence) at `a4d110efc223` |
| [`hayate-openapi`](https://github.com/hayatepy/hayate-openapi) | `0.8.2` | OpenAPI 3.1, Scalar, and generated zero-runtime TypeScript clients | yes | [golden-app create-hayate 0.14.0 deployment metadata main CI](https://github.com/hayatepy/golden-app/actions/runs/30511141307), [hayate-openapi 0.8.2 main CI and TypeScript interoperability](https://github.com/hayatepy/hayate-openapi/actions/runs/30506643960), [hayate-openapi 0.8.2 release provenance](https://github.com/hayatepy/hayate-openapi/actions/runs/30506784156), FolioMCP production Workerd CI (private downstream evidence) at `a4d110efc223` |
| [`hayate-sql`](https://github.com/hayatepy/hayate-sql) | `0.1.2` | Migration-checked SQL contracts and typed query facades | yes | [golden-app create-hayate 0.14.0 deployment metadata main CI](https://github.com/hayatepy/golden-app/actions/runs/30511141307), [hayate-sql 0.1.2 main CI](https://github.com/hayatepy/hayate-sql/actions/runs/30506643955), [hayate-sql 0.1.2 release provenance](https://github.com/hayatepy/hayate-sql/actions/runs/30506782424), FolioMCP production Workerd CI (private downstream evidence) at `a4d110efc223` |
| [`create-hayate`](https://github.com/hayatepy/create-hayate) | `0.14.0` | Composable applications with deployment-identifiable Workers and drift-checked first-party TypeScript clients | yes | [golden-app create-hayate 0.14.0 deployment metadata main CI](https://github.com/hayatepy/golden-app/actions/runs/30511141307), [create-hayate 0.14.0 main CI and feature matrix](https://github.com/hayatepy/create-hayate/actions/runs/30510345493), [create-hayate 0.14.0 full frontend matrix (112/112)](https://github.com/hayatepy/create-hayate/actions/runs/30511183502), [create-hayate 0.14.0 release provenance](https://github.com/hayatepy/create-hayate/actions/runs/30510444651) |

## Runtime contracts

| Runtime | Executed or supported contract | Status | Evidence |
|---|---|---|---|
| Direct | Pure application requests with local SQLite | Golden path | [golden-app release lock main CI](https://github.com/hayatepy/golden-app/actions/runs/30507749113) |
| ASGI | Real Uvicorn process with SQLite | Golden path | [golden-app release lock main CI](https://github.com/hayatepy/golden-app/actions/runs/30507749113) |
| Cloudflare Workers class | Real workerd, D1, RPC-capable WorkerEntrypoint, and class handlers | Golden default | [golden-app release lock main CI](https://github.com/hayatepy/golden-app/actions/runs/30507749113), [Hayate 0.15.2 downstream full compatibility CI (runtime-equivalent to metadata-only 0.15.3)](https://github.com/hayatepy/hayate/actions/runs/30501023744), FolioMCP production Workerd CI (private downstream evidence) at `a4d110efc223` |
| Cloudflare Workers global | Global fetch export without RPC or scheduled class handlers | HTTP-only compatibility mode | [golden-app release lock main CI](https://github.com/hayatepy/golden-app/actions/runs/30507749113) |
| Direct | Pure application requests with local SQLite | Golden path | [golden-app create-hayate 0.14.0 deployment metadata main CI](https://github.com/hayatepy/golden-app/actions/runs/30511141307) |
| ASGI | Real Uvicorn process with SQLite | Golden path | [golden-app create-hayate 0.14.0 deployment metadata main CI](https://github.com/hayatepy/golden-app/actions/runs/30511141307) |
| Cloudflare Workers class | Real workerd, D1, RPC-capable WorkerEntrypoint, and class handlers | Golden default | [golden-app create-hayate 0.14.0 deployment metadata main CI](https://github.com/hayatepy/golden-app/actions/runs/30511141307), [Hayate 0.15.2 downstream full compatibility CI (runtime-equivalent to metadata-only 0.15.3)](https://github.com/hayatepy/hayate/actions/runs/30501023744), FolioMCP production Workerd CI (private downstream evidence) at `a4d110efc223` |
| Cloudflare Workers global | Global fetch export without RPC or scheduled class handlers | HTTP-only compatibility mode | [golden-app create-hayate 0.14.0 deployment metadata main CI](https://github.com/hayatepy/golden-app/actions/runs/30511141307) |
| AWS Lambda | API Gateway v2 and Function URL buffering plus native response streaming | Core native adapters; outside the golden production flow | [Hayate 0.15.3 main CI](https://github.com/hayatepy/hayate/actions/runs/30506644119) |

ASGI is a deployment adapter, not a Cloudflare requirement. The Workers class
Expand Down Expand Up @@ -53,7 +53,7 @@ Golden lock SHA-256: `4502453286edffcee72b1025f7e2f1c81c596cd4bf6734b9c8c52cd462

## Evidence sources

- [golden-app release lock main CI](https://github.com/hayatepy/golden-app/actions/runs/30507749113) at `381c071f108e29b16eae6b19b7f870a4fc3f18a9`
- [golden-app create-hayate 0.14.0 deployment metadata main CI](https://github.com/hayatepy/golden-app/actions/runs/30511141307) at `f0e334554f4b98e4be941dcb84feaaf6b47a9c89`
- [hayate-auth 0.10.5 main CI](https://github.com/hayatepy/hayate-auth/actions/runs/30506737850) at `4189e735844a06377e9aa7eea2a731d09e500449`
- [hayate-auth 0.10.5 security profiles](https://github.com/hayatepy/hayate-auth/actions/runs/30506737869) at `4189e735844a06377e9aa7eea2a731d09e500449`
- [hayate-auth 0.10.5 release provenance](https://github.com/hayatepy/hayate-auth/actions/runs/30506830212) at `4189e735844a06377e9aa7eea2a731d09e500449`
Expand All @@ -69,8 +69,8 @@ Golden lock SHA-256: `4502453286edffcee72b1025f7e2f1c81c596cd4bf6734b9c8c52cd462
- [Hayate 0.15.2 downstream full compatibility CI (runtime-equivalent to metadata-only 0.15.3)](https://github.com/hayatepy/hayate/actions/runs/30501023744) at `64dfb96f2397685c9fe017382855749f445d3697`
- [Hayate 0.15.3 main CI](https://github.com/hayatepy/hayate/actions/runs/30506644119) at `a1821a27a83a2406c491338a397b489856db15de`
- [Hayate 0.15.3 release provenance](https://github.com/hayatepy/hayate/actions/runs/30506830778) at `a1821a27a83a2406c491338a397b489856db15de`
- [create-hayate 0.13.2 main CI and feature matrix](https://github.com/hayatepy/create-hayate/actions/runs/30506646209) at `884b2b82dd9c64026d00deecd6afac3200a9baa5`
- [create-hayate 0.13.2 frontend smoke matrix (10/10)](https://github.com/hayatepy/create-hayate/actions/runs/30502309672) at `2e3d091b903d7a649ab5f03f4fbf058f4e27d0fa`; aggregate evidence SHA-256 `f207dcd979c695508c4bf672432848e5469ebf4ab1b58b0f2c4fecb8e004af05`
- [create-hayate 0.13.2 release provenance](https://github.com/hayatepy/create-hayate/actions/runs/30502570222) at `8bcca24bbd43854c05a6467d26b675c20a89b63e`
- [create-hayate 0.14.0 main CI and feature matrix](https://github.com/hayatepy/create-hayate/actions/runs/30510345493) at `261af98f18b1f97cbb94f7bf19a99ab34e92be4f`
- [create-hayate 0.14.0 full frontend matrix (112/112)](https://github.com/hayatepy/create-hayate/actions/runs/30511183502) at `261af98f18b1f97cbb94f7bf19a99ab34e92be4f`; aggregate evidence SHA-256 `d980477da29e494182080adcd79b864ab533a1dcfbc8035b401f75f7dfa97e43`
- [create-hayate 0.14.0 release provenance](https://github.com/hayatepy/create-hayate/actions/runs/30510444651) at `261af98f18b1f97cbb94f7bf19a99ab34e92be4f`

Machine-readable data: [`compatibility.json`](../compatibility.json).
5 changes: 4 additions & 1 deletion docs/START.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ Rendered guide: <https://hayatepy.dev/get-started/first-app/>
Install [uv](https://docs.astral.sh/uv/), then run:

```sh
uvx --refresh --from create-hayate==0.13.2 create-hayate my-app --template workers --preset production
uvx --refresh --from create-hayate==0.14.0 create-hayate my-app --template workers --preset production
cd my-app
uv sync
test -f uv.lock
Expand All @@ -32,6 +32,9 @@ local-only, ignored development identity configuration.
storage.
- Cloudflare workerd supplies the Workers adapter and a D1 binding. ASGI is not
required on Cloudflare.
- Generated Workers expose bounded `X-App-Version` and platform-issued
`X-Worker-Version` response headers so rollouts and incidents can be tied to
an exact semantic application release and Worker deployment.
- HTTP and MCP receive the same request identity and call the same checked
storage layer.
- The default Workers export is the feature-complete `WorkerEntrypoint` class,
Expand Down
4 changes: 2 additions & 2 deletions evidence/golden-app-compatibility.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"generated_by": "create-hayate 0.13.2",
"generated_by": "create-hayate 0.14.0",
"lock_sha256": "4502453286edffcee72b1025f7e2f1c81c596cd4bf6734b9c8c52cd4622b6b61",
"mcp_revision": "2026-07-28",
"node": "24",
Expand All @@ -9,7 +9,7 @@
"package": "create-hayate",
"role": "Scaffold source",
"source": "golden-app.toml",
"version": "0.13.2"
"version": "0.14.0"
},
{
"commit": null,
Expand Down
4 changes: 2 additions & 2 deletions tests/test_public_links.py
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,8 @@ def test_llms_routes_human_documentation_through_hayatepy_dev(self) -> None:
def test_start_uses_the_current_scaffold_release(self) -> None:
text = (ROOT / "docs" / "START.md").read_text(encoding="utf-8")

self.assertIn("create-hayate==0.13.2", text)
self.assertNotIn("create-hayate==0.13.1", text)
self.assertIn("create-hayate==0.14.0", text)
self.assertNotIn("create-hayate==0.13.2", text)

def test_design_partner_form_uses_the_public_program_page(self) -> None:
text = (
Expand Down