@aotter/mantle 0.1.4 → 0.2.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +39 -306
- package/dist/admin/consent.d.ts +17 -0
- package/dist/admin/consent.d.ts.map +1 -0
- package/dist/admin/consent.js +17 -0
- package/dist/admin/consent.js.map +1 -0
- package/dist/admin/createAdminSurface.d.ts +22 -0
- package/dist/admin/createAdminSurface.d.ts.map +1 -0
- package/dist/admin/createAdminSurface.js +589 -0
- package/dist/admin/createAdminSurface.js.map +1 -0
- package/dist/admin/developerConsole.d.ts +264 -0
- package/dist/admin/developerConsole.d.ts.map +1 -0
- package/dist/admin/developerConsole.js +136 -0
- package/dist/admin/developerConsole.js.map +1 -0
- package/dist/admin/identity.d.ts +62 -0
- package/dist/admin/identity.d.ts.map +1 -0
- package/dist/admin/identity.js +7 -0
- package/dist/admin/identity.js.map +1 -0
- package/dist/admin/index.d.ts +4 -0
- package/dist/admin/index.d.ts.map +1 -0
- package/dist/admin/index.js +4 -0
- package/dist/admin/index.js.map +1 -0
- package/dist/admin/procedureFlow.d.ts +25 -0
- package/dist/admin/procedureFlow.d.ts.map +1 -0
- package/dist/admin/procedureFlow.js +154 -0
- package/dist/admin/procedureFlow.js.map +1 -0
- package/dist/auth/ConsoleEmailSender.d.ts +15 -0
- package/dist/auth/ConsoleEmailSender.d.ts.map +1 -0
- package/dist/auth/ConsoleEmailSender.js +19 -0
- package/dist/auth/ConsoleEmailSender.js.map +1 -0
- package/dist/auth/appleClientSecret.d.ts +75 -0
- package/dist/auth/appleClientSecret.d.ts.map +1 -0
- package/dist/auth/appleClientSecret.js +116 -0
- package/dist/auth/appleClientSecret.js.map +1 -0
- package/dist/auth/buildAuth.d.ts +4565 -0
- package/dist/auth/buildAuth.d.ts.map +1 -0
- package/dist/auth/buildAuth.js +307 -0
- package/dist/auth/buildAuth.js.map +1 -0
- package/dist/auth/callerResolver.d.ts +48 -0
- package/dist/auth/callerResolver.d.ts.map +1 -0
- package/dist/auth/callerResolver.js +49 -0
- package/dist/auth/callerResolver.js.map +1 -0
- package/dist/auth/createAuthRoutes.d.ts +22 -0
- package/dist/auth/createAuthRoutes.d.ts.map +1 -0
- package/dist/auth/createAuthRoutes.js +128 -0
- package/dist/auth/createAuthRoutes.js.map +1 -0
- package/dist/auth/createMantleAuth.d.ts +3 -0
- package/dist/auth/createMantleAuth.d.ts.map +1 -0
- package/dist/auth/createMantleAuth.js +483 -0
- package/dist/auth/createMantleAuth.js.map +1 -0
- package/dist/auth/db.d.ts +17 -0
- package/dist/auth/db.d.ts.map +1 -0
- package/dist/auth/db.js +24 -0
- package/dist/auth/db.js.map +1 -0
- package/dist/auth/emailTemplates.d.ts +7 -0
- package/dist/auth/emailTemplates.d.ts.map +1 -0
- package/dist/auth/emailTemplates.js +27 -0
- package/dist/auth/emailTemplates.js.map +1 -0
- package/dist/auth/index.d.ts +9 -0
- package/dist/auth/index.d.ts.map +1 -0
- package/dist/auth/index.js +7 -0
- package/dist/auth/index.js.map +1 -0
- package/dist/auth/methods.d.ts +717 -0
- package/dist/auth/methods.d.ts.map +1 -0
- package/dist/auth/methods.js +321 -0
- package/dist/auth/methods.js.map +1 -0
- package/dist/auth/oauthTokens.d.ts +24 -0
- package/dist/auth/oauthTokens.d.ts.map +1 -0
- package/dist/auth/oauthTokens.js +146 -0
- package/dist/auth/oauthTokens.js.map +1 -0
- package/dist/auth/setupIncomplete.d.ts +16 -0
- package/dist/auth/setupIncomplete.d.ts.map +1 -0
- package/dist/auth/setupIncomplete.js +50 -0
- package/dist/auth/setupIncomplete.js.map +1 -0
- package/dist/auth/types.d.ts +440 -0
- package/dist/auth/types.d.ts.map +1 -0
- package/dist/auth/types.js +10 -0
- package/dist/auth/types.js.map +1 -0
- package/dist/bun/index.d.ts +65 -0
- package/dist/bun/index.d.ts.map +1 -0
- package/dist/bun/index.js +130 -0
- package/dist/bun/index.js.map +1 -0
- package/dist/cli/emitModule.d.ts +7 -0
- package/dist/cli/emitModule.d.ts.map +1 -0
- package/dist/cli/emitModule.js +127 -0
- package/dist/cli/emitModule.js.map +1 -0
- package/dist/cli/generate.d.ts +4 -16
- package/dist/cli/generate.d.ts.map +1 -1
- package/dist/cli/generate.js +332 -165
- package/dist/cli/generate.js.map +1 -1
- package/dist/cli/main.d.ts +1 -1
- package/dist/cli/main.d.ts.map +1 -1
- package/dist/cli/main.js +15 -71
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/preset.d.ts +18 -0
- package/dist/cli/preset.d.ts.map +1 -0
- package/dist/cli/preset.js +352 -0
- package/dist/cli/preset.js.map +1 -0
- package/dist/cloudflare/index.d.ts +21 -0
- package/dist/cloudflare/index.d.ts.map +1 -0
- package/dist/cloudflare/index.js +14 -0
- package/dist/cloudflare/index.js.map +1 -0
- package/dist/cloudflare/r2Media.d.ts +43 -0
- package/dist/cloudflare/r2Media.d.ts.map +1 -0
- package/dist/cloudflare/r2Media.js +69 -0
- package/dist/cloudflare/r2Media.js.map +1 -0
- package/dist/core/caller.d.ts +35 -0
- package/dist/core/caller.d.ts.map +1 -0
- package/dist/core/caller.js +3 -0
- package/dist/core/caller.js.map +1 -0
- package/dist/core/createMantle.d.ts +22 -0
- package/dist/core/createMantle.d.ts.map +1 -0
- package/dist/core/createMantle.js +117 -0
- package/dist/core/createMantle.js.map +1 -0
- package/dist/core/dialect.d.ts +41 -0
- package/dist/core/dialect.d.ts.map +1 -0
- package/dist/core/dialect.js +7 -0
- package/dist/core/dialect.js.map +1 -0
- package/dist/core/driver.d.ts +17 -0
- package/dist/core/driver.d.ts.map +1 -0
- package/dist/core/driver.js +2 -0
- package/dist/core/driver.js.map +1 -0
- package/dist/core/email.d.ts +17 -0
- package/dist/core/email.d.ts.map +1 -0
- package/dist/core/email.js +2 -0
- package/dist/core/email.js.map +1 -0
- package/dist/core/index.d.ts +16 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +16 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/invocation.d.ts +66 -0
- package/dist/core/invocation.d.ts.map +1 -0
- package/dist/core/invocation.js +3 -0
- package/dist/core/invocation.js.map +1 -0
- package/dist/core/runtime/auth.d.ts +9 -0
- package/dist/core/runtime/auth.d.ts.map +1 -0
- package/dist/core/runtime/auth.js +39 -0
- package/dist/core/runtime/auth.js.map +1 -0
- package/dist/core/runtime/createRuntime.d.ts +23 -0
- package/dist/core/runtime/createRuntime.d.ts.map +1 -0
- package/dist/core/runtime/createRuntime.js +214 -0
- package/dist/core/runtime/createRuntime.js.map +1 -0
- package/dist/core/runtime/verifyPlan.d.ts +34 -0
- package/dist/core/runtime/verifyPlan.d.ts.map +1 -0
- package/dist/core/runtime/verifyPlan.js +301 -0
- package/dist/core/runtime/verifyPlan.js.map +1 -0
- package/dist/core/service.d.ts +45 -0
- package/dist/core/service.d.ts.map +1 -0
- package/dist/core/service.js +2 -0
- package/dist/core/service.js.map +1 -0
- package/dist/core/site.d.ts +117 -0
- package/dist/core/site.d.ts.map +1 -0
- package/dist/core/site.js +2 -0
- package/dist/core/site.js.map +1 -0
- package/dist/core/siteConfig.d.ts +5 -0
- package/dist/core/siteConfig.d.ts.map +1 -0
- package/dist/core/siteConfig.js +24 -0
- package/dist/core/siteConfig.js.map +1 -0
- package/dist/core/sql/allowlist.d.ts +65 -0
- package/dist/core/sql/allowlist.d.ts.map +1 -0
- package/dist/core/sql/allowlist.js +705 -0
- package/dist/core/sql/allowlist.js.map +1 -0
- package/dist/core/sql/ast.d.ts +24 -0
- package/dist/core/sql/ast.d.ts.map +1 -0
- package/dist/core/sql/ast.js +32 -0
- package/dist/core/sql/ast.js.map +1 -0
- package/dist/core/sql/compile.d.ts +50 -0
- package/dist/core/sql/compile.d.ts.map +1 -0
- package/dist/core/sql/compile.js +48 -0
- package/dist/core/sql/compile.js.map +1 -0
- package/dist/core/sql/policy.d.ts +121 -0
- package/dist/core/sql/policy.d.ts.map +1 -0
- package/dist/core/sql/policy.js +379 -0
- package/dist/core/sql/policy.js.map +1 -0
- package/dist/core/sql/positions.d.ts +30 -0
- package/dist/core/sql/positions.d.ts.map +1 -0
- package/dist/core/sql/positions.js +22 -0
- package/dist/core/sql/positions.js.map +1 -0
- package/dist/core/sql/run.d.ts +76 -0
- package/dist/core/sql/run.d.ts.map +1 -0
- package/dist/core/sql/run.js +267 -0
- package/dist/core/sql/run.js.map +1 -0
- package/dist/core/store/createStore.d.ts +49 -0
- package/dist/core/store/createStore.d.ts.map +1 -0
- package/dist/core/store/createStore.js +227 -0
- package/dist/core/store/createStore.js.map +1 -0
- package/dist/core/store/cursor.d.ts +4 -0
- package/dist/core/store/cursor.d.ts.map +1 -0
- package/dist/core/store/cursor.js +22 -0
- package/dist/core/store/cursor.js.map +1 -0
- package/dist/core/store/json.d.ts +80 -0
- package/dist/core/store/json.d.ts.map +1 -0
- package/dist/core/store/json.js +342 -0
- package/dist/core/store/json.js.map +1 -0
- package/dist/core/store.d.ts +160 -0
- package/dist/core/store.d.ts.map +1 -0
- package/dist/core/store.js +2 -0
- package/dist/core/store.js.map +1 -0
- package/dist/core/wire.d.ts +20 -0
- package/dist/core/wire.d.ts.map +1 -0
- package/dist/core/wire.js +84 -0
- package/dist/core/wire.js.map +1 -0
- package/dist/core/withCaller.d.ts +16 -0
- package/dist/core/withCaller.d.ts.map +1 -0
- package/dist/core/withCaller.js +29 -0
- package/dist/core/withCaller.js.map +1 -0
- package/dist/d1/adapter.d.ts +12 -0
- package/dist/d1/adapter.d.ts.map +1 -0
- package/dist/d1/adapter.js +23 -0
- package/dist/d1/adapter.js.map +1 -0
- package/dist/d1/codec.d.ts +14 -0
- package/dist/d1/codec.d.ts.map +1 -0
- package/dist/d1/codec.js +136 -0
- package/dist/d1/codec.js.map +1 -0
- package/dist/d1/compile/index.d.ts +9 -0
- package/dist/d1/compile/index.d.ts.map +1 -0
- package/dist/d1/compile/index.js +9 -0
- package/dist/d1/compile/index.js.map +1 -0
- package/dist/d1/dialect.d.ts +4 -0
- package/dist/d1/dialect.d.ts.map +1 -0
- package/dist/d1/dialect.js +13 -0
- package/dist/d1/dialect.js.map +1 -0
- package/dist/d1/executor.d.ts +13 -0
- package/dist/d1/executor.d.ts.map +1 -0
- package/dist/d1/executor.js +91 -0
- package/dist/d1/executor.js.map +1 -0
- package/dist/d1/index.d.ts +6 -0
- package/dist/d1/index.d.ts.map +1 -0
- package/dist/d1/index.js +6 -0
- package/dist/d1/index.js.map +1 -0
- package/dist/d1/lower.d.ts +8 -0
- package/dist/d1/lower.d.ts.map +1 -0
- package/dist/d1/lower.js +167 -0
- package/dist/d1/lower.js.map +1 -0
- package/dist/d1/media.d.ts +5 -0
- package/dist/d1/media.d.ts.map +1 -0
- package/dist/d1/media.js +157 -0
- package/dist/d1/media.js.map +1 -0
- package/dist/d1/migrations.d.ts +12 -0
- package/dist/d1/migrations.d.ts.map +1 -0
- package/dist/d1/migrations.js +111 -0
- package/dist/d1/migrations.js.map +1 -0
- package/dist/d1/print.d.ts +28 -0
- package/dist/d1/print.d.ts.map +1 -0
- package/dist/d1/print.js +54 -0
- package/dist/d1/print.js.map +1 -0
- package/dist/d1/site.d.ts +17 -0
- package/dist/d1/site.d.ts.map +1 -0
- package/dist/d1/site.js +63 -0
- package/dist/d1/site.js.map +1 -0
- package/dist/d1/storage.d.ts +34 -0
- package/dist/d1/storage.d.ts.map +1 -0
- package/dist/d1/storage.js +288 -0
- package/dist/d1/storage.js.map +1 -0
- package/dist/d1/tz.d.ts +21 -0
- package/dist/d1/tz.d.ts.map +1 -0
- package/dist/d1/tz.js +54 -0
- package/dist/d1/tz.js.map +1 -0
- package/dist/d1/validator.d.ts +10 -0
- package/dist/d1/validator.d.ts.map +1 -0
- package/dist/d1/validator.js +33 -0
- package/dist/d1/validator.js.map +1 -0
- package/dist/mcp/apps.d.ts +43 -0
- package/dist/mcp/apps.d.ts.map +1 -0
- package/dist/mcp/apps.js +57 -0
- package/dist/mcp/apps.js.map +1 -0
- package/dist/mcp/catalog.d.ts +55 -0
- package/dist/mcp/catalog.d.ts.map +1 -0
- package/dist/mcp/catalog.js +81 -0
- package/dist/mcp/catalog.js.map +1 -0
- package/dist/mcp/createMcpSurface.d.ts +34 -0
- package/dist/mcp/createMcpSurface.d.ts.map +1 -0
- package/dist/mcp/createMcpSurface.js +150 -0
- package/dist/mcp/createMcpSurface.js.map +1 -0
- package/dist/mcp/index.d.ts +4 -0
- package/dist/mcp/index.d.ts.map +1 -0
- package/dist/mcp/index.js +4 -0
- package/dist/mcp/index.js.map +1 -0
- package/dist/postgres/adapter.d.ts +20 -0
- package/dist/postgres/adapter.d.ts.map +1 -0
- package/dist/postgres/adapter.js +44 -0
- package/dist/postgres/adapter.js.map +1 -0
- package/dist/postgres/codec.d.ts +13 -0
- package/dist/postgres/codec.d.ts.map +1 -0
- package/dist/postgres/codec.js +110 -0
- package/dist/postgres/codec.js.map +1 -0
- package/dist/postgres/compile/index.d.ts +9 -0
- package/dist/postgres/compile/index.d.ts.map +1 -0
- package/dist/postgres/compile/index.js +9 -0
- package/dist/postgres/compile/index.js.map +1 -0
- package/dist/postgres/driver.d.ts +92 -0
- package/dist/postgres/driver.d.ts.map +1 -0
- package/dist/postgres/driver.js +110 -0
- package/dist/postgres/driver.js.map +1 -0
- package/dist/postgres/executor.d.ts +20 -0
- package/dist/postgres/executor.d.ts.map +1 -0
- package/dist/postgres/executor.js +69 -0
- package/dist/postgres/executor.js.map +1 -0
- package/dist/postgres/index.d.ts +7 -0
- package/dist/postgres/index.d.ts.map +1 -0
- package/dist/postgres/index.js +7 -0
- package/dist/postgres/index.js.map +1 -0
- package/dist/postgres/lower.d.ts +6 -0
- package/dist/postgres/lower.d.ts.map +1 -0
- package/dist/postgres/lower.js +157 -0
- package/dist/postgres/lower.js.map +1 -0
- package/dist/postgres/print.d.ts +11 -0
- package/dist/postgres/print.d.ts.map +1 -0
- package/dist/postgres/print.js +121 -0
- package/dist/postgres/print.js.map +1 -0
- package/dist/postgres/storage.d.ts +19 -0
- package/dist/postgres/storage.d.ts.map +1 -0
- package/dist/postgres/storage.js +201 -0
- package/dist/postgres/storage.js.map +1 -0
- package/dist/postgres/textRows.d.ts +10 -0
- package/dist/postgres/textRows.d.ts.map +1 -0
- package/dist/postgres/textRows.js +44 -0
- package/dist/postgres/textRows.js.map +1 -0
- package/dist/postgres/validator.d.ts +12 -0
- package/dist/postgres/validator.d.ts.map +1 -0
- package/dist/postgres/validator.js +46 -0
- package/dist/postgres/validator.js.map +1 -0
- package/dist/spec/domain/index.d.ts +3 -0
- package/dist/spec/domain/index.d.ts.map +1 -0
- package/dist/spec/domain/index.js +3 -0
- package/dist/spec/domain/index.js.map +1 -0
- package/dist/spec/domain/model/ContentState.d.ts +8 -0
- package/dist/spec/domain/model/ContentState.d.ts.map +1 -0
- package/dist/spec/domain/model/ContentState.js +7 -0
- package/dist/spec/domain/model/ContentState.js.map +1 -0
- package/dist/spec/domain/model/Entry.d.ts +29 -0
- package/dist/spec/domain/model/Entry.d.ts.map +1 -0
- package/dist/spec/domain/model/Entry.js +16 -0
- package/dist/spec/domain/model/Entry.js.map +1 -0
- package/dist/spec/domain/model/Locale.d.ts +30 -0
- package/dist/spec/domain/model/Locale.d.ts.map +1 -0
- package/dist/spec/domain/model/Locale.js +33 -0
- package/dist/spec/domain/model/Locale.js.map +1 -0
- package/dist/spec/domain/model/ManifestGrammar.d.ts +452 -0
- package/dist/spec/domain/model/ManifestGrammar.d.ts.map +1 -0
- package/dist/spec/domain/model/ManifestGrammar.js +149 -0
- package/dist/spec/domain/model/ManifestGrammar.js.map +1 -0
- package/dist/spec/domain/model/MediaMimeAccept.d.ts +55 -0
- package/dist/spec/domain/model/MediaMimeAccept.d.ts.map +1 -0
- package/dist/spec/domain/model/MediaMimeAccept.js +90 -0
- package/dist/spec/domain/model/MediaMimeAccept.js.map +1 -0
- package/dist/spec/domain/model/RuntimePlan.d.ts +94 -0
- package/dist/spec/domain/model/RuntimePlan.d.ts.map +1 -0
- package/dist/spec/domain/model/RuntimePlan.js +4 -0
- package/dist/spec/domain/model/RuntimePlan.js.map +1 -0
- package/dist/spec/domain/model/SiteConfig.d.ts +173 -0
- package/dist/spec/domain/model/SiteConfig.d.ts.map +1 -0
- package/dist/spec/domain/model/SiteConfig.js +13 -0
- package/dist/spec/domain/model/SiteConfig.js.map +1 -0
- package/dist/spec/domain/model/SqlIr.d.ts +96 -0
- package/dist/spec/domain/model/SqlIr.d.ts.map +1 -0
- package/dist/spec/domain/model/SqlIr.js +95 -0
- package/dist/spec/domain/model/SqlIr.js.map +1 -0
- package/dist/spec/domain/model/index.d.ts +14 -0
- package/dist/spec/domain/model/index.d.ts.map +1 -0
- package/dist/spec/domain/model/index.js +14 -0
- package/dist/spec/domain/model/index.js.map +1 -0
- package/dist/spec/domain/service/CloudflareCron.d.ts +2 -0
- package/dist/spec/domain/service/CloudflareCron.d.ts.map +1 -0
- package/dist/spec/domain/service/CloudflareCron.js +63 -0
- package/dist/spec/domain/service/CloudflareCron.js.map +1 -0
- package/dist/spec/domain/service/CrossSchemaChecker.d.ts +34 -0
- package/dist/spec/domain/service/CrossSchemaChecker.d.ts.map +1 -0
- package/dist/spec/domain/service/CrossSchemaChecker.js +114 -0
- package/dist/spec/domain/service/CrossSchemaChecker.js.map +1 -0
- package/dist/spec/domain/service/EntryDataValidator.d.ts +56 -0
- package/dist/spec/domain/service/EntryDataValidator.d.ts.map +1 -0
- package/dist/spec/domain/service/EntryDataValidator.js +88 -0
- package/dist/spec/domain/service/EntryDataValidator.js.map +1 -0
- package/dist/spec/domain/service/JsonSchemaToZod.d.ts +29 -0
- package/dist/spec/domain/service/JsonSchemaToZod.d.ts.map +1 -0
- package/dist/spec/domain/service/JsonSchemaToZod.js +156 -0
- package/dist/spec/domain/service/JsonSchemaToZod.js.map +1 -0
- package/dist/spec/domain/service/LifecycleStateMachine.d.ts +75 -0
- package/dist/spec/domain/service/LifecycleStateMachine.d.ts.map +1 -0
- package/dist/spec/domain/service/LifecycleStateMachine.js +76 -0
- package/dist/spec/domain/service/LifecycleStateMachine.js.map +1 -0
- package/dist/spec/domain/service/LocaleCanonicalizer.d.ts +29 -0
- package/dist/spec/domain/service/LocaleCanonicalizer.d.ts.map +1 -0
- package/dist/spec/domain/service/LocaleCanonicalizer.js +96 -0
- package/dist/spec/domain/service/LocaleCanonicalizer.js.map +1 -0
- package/dist/spec/domain/service/ManifestFieldChecks.d.ts +60 -0
- package/dist/spec/domain/service/ManifestFieldChecks.d.ts.map +1 -0
- package/dist/spec/domain/service/ManifestFieldChecks.js +116 -0
- package/dist/spec/domain/service/ManifestFieldChecks.js.map +1 -0
- package/dist/spec/domain/service/ManifestGraphValidator.d.ts +15 -0
- package/dist/spec/domain/service/ManifestGraphValidator.d.ts.map +1 -0
- package/dist/spec/domain/service/ManifestGraphValidator.js +225 -0
- package/dist/spec/domain/service/ManifestGraphValidator.js.map +1 -0
- package/dist/spec/domain/service/ManifestLinker.d.ts +45 -0
- package/dist/spec/domain/service/ManifestLinker.d.ts.map +1 -0
- package/dist/spec/domain/service/ManifestLinker.js +92 -0
- package/dist/spec/domain/service/ManifestLinker.js.map +1 -0
- package/dist/spec/domain/service/ManifestLocaleTrimmer.d.ts +16 -0
- package/dist/spec/domain/service/ManifestLocaleTrimmer.d.ts.map +1 -0
- package/dist/spec/domain/service/ManifestLocaleTrimmer.js +76 -0
- package/dist/spec/domain/service/ManifestLocaleTrimmer.js.map +1 -0
- package/dist/spec/domain/service/ManifestParser.d.ts +49 -0
- package/dist/spec/domain/service/ManifestParser.d.ts.map +1 -0
- package/dist/spec/domain/service/ManifestParser.js +203 -0
- package/dist/spec/domain/service/ManifestParser.js.map +1 -0
- package/dist/spec/domain/service/ManifestPartition.d.ts +9 -0
- package/dist/spec/domain/service/ManifestPartition.d.ts.map +1 -0
- package/dist/spec/domain/service/ManifestPartition.js +19 -0
- package/dist/spec/domain/service/ManifestPartition.js.map +1 -0
- package/dist/spec/domain/service/ManifestPathDiagnoser.d.ts +33 -0
- package/dist/spec/domain/service/ManifestPathDiagnoser.d.ts.map +1 -0
- package/dist/spec/domain/service/ManifestPathDiagnoser.js +43 -0
- package/dist/spec/domain/service/ManifestPathDiagnoser.js.map +1 -0
- package/dist/spec/domain/service/ManifestSourceSpans.d.ts +10 -0
- package/dist/spec/domain/service/ManifestSourceSpans.d.ts.map +1 -0
- package/dist/spec/domain/service/ManifestSourceSpans.js +76 -0
- package/dist/spec/domain/service/ManifestSourceSpans.js.map +1 -0
- package/dist/spec/domain/service/McpToolNaming.d.ts +25 -0
- package/dist/spec/domain/service/McpToolNaming.d.ts.map +1 -0
- package/dist/spec/domain/service/McpToolNaming.js +50 -0
- package/dist/spec/domain/service/McpToolNaming.js.map +1 -0
- package/dist/spec/domain/service/PlanFingerprint.d.ts +4 -0
- package/dist/spec/domain/service/PlanFingerprint.d.ts.map +1 -0
- package/dist/spec/domain/service/PlanFingerprint.js +14 -0
- package/dist/spec/domain/service/PlanFingerprint.js.map +1 -0
- package/dist/spec/domain/service/ProcedureViewSpecChecks.d.ts +4 -0
- package/dist/spec/domain/service/ProcedureViewSpecChecks.d.ts.map +1 -0
- package/dist/spec/domain/service/ProcedureViewSpecChecks.js +211 -0
- package/dist/spec/domain/service/ProcedureViewSpecChecks.js.map +1 -0
- package/dist/spec/domain/service/SchemaAdminUiChecker.d.ts +42 -0
- package/dist/spec/domain/service/SchemaAdminUiChecker.d.ts.map +1 -0
- package/dist/spec/domain/service/SchemaAdminUiChecker.js +289 -0
- package/dist/spec/domain/service/SchemaAdminUiChecker.js.map +1 -0
- package/dist/spec/domain/service/SchemaIndexChecker.d.ts +33 -0
- package/dist/spec/domain/service/SchemaIndexChecker.d.ts.map +1 -0
- package/dist/spec/domain/service/SchemaIndexChecker.js +256 -0
- package/dist/spec/domain/service/SchemaIndexChecker.js.map +1 -0
- package/dist/spec/domain/service/SchemaSearchChecker.d.ts +11 -0
- package/dist/spec/domain/service/SchemaSearchChecker.d.ts.map +1 -0
- package/dist/spec/domain/service/SchemaSearchChecker.js +78 -0
- package/dist/spec/domain/service/SchemaSearchChecker.js.map +1 -0
- package/dist/spec/domain/service/SchemaSpecChecks.d.ts +31 -0
- package/dist/spec/domain/service/SchemaSpecChecks.d.ts.map +1 -0
- package/dist/spec/domain/service/SchemaSpecChecks.js +445 -0
- package/dist/spec/domain/service/SchemaSpecChecks.js.map +1 -0
- package/dist/spec/domain/service/SiteDefaultsValidator.d.ts +39 -0
- package/dist/spec/domain/service/SiteDefaultsValidator.d.ts.map +1 -0
- package/dist/spec/domain/service/SiteDefaultsValidator.js +194 -0
- package/dist/spec/domain/service/SiteDefaultsValidator.js.map +1 -0
- package/dist/spec/domain/service/SqlClassify.d.ts +19 -0
- package/dist/spec/domain/service/SqlClassify.d.ts.map +1 -0
- package/dist/spec/domain/service/SqlClassify.js +42 -0
- package/dist/spec/domain/service/SqlClassify.js.map +1 -0
- package/dist/spec/domain/service/SqlRefusal.d.ts +16 -0
- package/dist/spec/domain/service/SqlRefusal.d.ts.map +1 -0
- package/dist/spec/domain/service/SqlRefusal.js +20 -0
- package/dist/spec/domain/service/SqlRefusal.js.map +1 -0
- package/dist/spec/domain/service/SqlTypes.d.ts +40 -0
- package/dist/spec/domain/service/SqlTypes.d.ts.map +1 -0
- package/dist/spec/domain/service/SqlTypes.js +110 -0
- package/dist/spec/domain/service/SqlTypes.js.map +1 -0
- package/dist/spec/domain/service/StaffRoleHierarchy.d.ts +3 -0
- package/dist/spec/domain/service/StaffRoleHierarchy.d.ts.map +1 -0
- package/dist/spec/domain/service/StaffRoleHierarchy.js +19 -0
- package/dist/spec/domain/service/StaffRoleHierarchy.js.map +1 -0
- package/dist/spec/domain/service/TriggerGraphChecks.d.ts +16 -0
- package/dist/spec/domain/service/TriggerGraphChecks.d.ts.map +1 -0
- package/dist/spec/domain/service/TriggerGraphChecks.js +337 -0
- package/dist/spec/domain/service/TriggerGraphChecks.js.map +1 -0
- package/dist/spec/domain/service/TriggerSpecChecks.d.ts +4 -0
- package/dist/spec/domain/service/TriggerSpecChecks.d.ts.map +1 -0
- package/dist/spec/domain/service/TriggerSpecChecks.js +89 -0
- package/dist/spec/domain/service/TriggerSpecChecks.js.map +1 -0
- package/dist/spec/domain/service/ValidatedAdminUiProjection.d.ts +11 -0
- package/dist/spec/domain/service/ValidatedAdminUiProjection.d.ts.map +1 -0
- package/dist/spec/domain/service/ValidatedAdminUiProjection.js +26 -0
- package/dist/spec/domain/service/ValidatedAdminUiProjection.js.map +1 -0
- package/dist/spec/domain/service/ViewAdminUiChecker.d.ts +14 -0
- package/dist/spec/domain/service/ViewAdminUiChecker.d.ts.map +1 -0
- package/dist/spec/domain/service/ViewAdminUiChecker.js +53 -0
- package/dist/spec/domain/service/ViewAdminUiChecker.js.map +1 -0
- package/dist/spec/domain/service/index.d.ts +24 -0
- package/dist/spec/domain/service/index.d.ts.map +1 -0
- package/dist/spec/domain/service/index.js +24 -0
- package/dist/spec/domain/service/index.js.map +1 -0
- package/dist/spec/index.d.ts +10 -0
- package/dist/spec/index.d.ts.map +1 -0
- package/dist/spec/index.js +12 -0
- package/dist/spec/index.js.map +1 -0
- package/dist/spec/infrastructure/cli/parseArgsError.d.ts +16 -0
- package/dist/spec/infrastructure/cli/parseArgsError.d.ts.map +1 -0
- package/dist/spec/infrastructure/cli/parseArgsError.js +34 -0
- package/dist/spec/infrastructure/cli/parseArgsError.js.map +1 -0
- package/dist/spec/infrastructure/index.d.ts +2 -0
- package/dist/spec/infrastructure/index.d.ts.map +1 -0
- package/dist/spec/infrastructure/index.js +2 -0
- package/dist/spec/infrastructure/index.js.map +1 -0
- package/dist/spec/infrastructure/sql/PgQueryParser.d.ts +18 -0
- package/dist/spec/infrastructure/sql/PgQueryParser.d.ts.map +1 -0
- package/dist/spec/infrastructure/sql/PgQueryParser.js +17 -0
- package/dist/spec/infrastructure/sql/PgQueryParser.js.map +1 -0
- package/dist/spec/infrastructure/sql/compilePlan.d.ts +37 -0
- package/dist/spec/infrastructure/sql/compilePlan.d.ts.map +1 -0
- package/dist/spec/infrastructure/sql/compilePlan.js +282 -0
- package/dist/spec/infrastructure/sql/compilePlan.js.map +1 -0
- package/dist/spec/infrastructure/sql/compileSql.d.ts +35 -0
- package/dist/spec/infrastructure/sql/compileSql.d.ts.map +1 -0
- package/dist/spec/infrastructure/sql/compileSql.js +92 -0
- package/dist/spec/infrastructure/sql/compileSql.js.map +1 -0
- package/dist/spec/infrastructure/sql/frontEnd.d.ts +8 -0
- package/dist/spec/infrastructure/sql/frontEnd.d.ts.map +1 -0
- package/dist/spec/infrastructure/sql/frontEnd.js +100 -0
- package/dist/spec/infrastructure/sql/frontEnd.js.map +1 -0
- package/dist/spec/infrastructure/sql/index.d.ts +4 -0
- package/dist/spec/infrastructure/sql/index.d.ts.map +1 -0
- package/dist/spec/infrastructure/sql/index.js +4 -0
- package/dist/spec/infrastructure/sql/index.js.map +1 -0
- package/dist/spec/kernel/diagnostic.d.ts +137 -0
- package/dist/spec/kernel/diagnostic.d.ts.map +1 -0
- package/dist/spec/kernel/diagnostic.js +296 -0
- package/dist/spec/kernel/diagnostic.js.map +1 -0
- package/dist/spec/kernel/index.d.ts +8 -0
- package/dist/spec/kernel/index.d.ts.map +1 -0
- package/dist/spec/kernel/index.js +8 -0
- package/dist/spec/kernel/index.js.map +1 -0
- package/dist/spec/usecase/EmitTypes.d.ts +22 -0
- package/dist/spec/usecase/EmitTypes.d.ts.map +1 -0
- package/dist/spec/usecase/EmitTypes.js +182 -0
- package/dist/spec/usecase/EmitTypes.js.map +1 -0
- package/dist/spec/usecase/ValidateManifestsUseCase.d.ts +8 -0
- package/dist/spec/usecase/ValidateManifestsUseCase.d.ts.map +1 -0
- package/dist/spec/usecase/ValidateManifestsUseCase.js +101 -0
- package/dist/spec/usecase/ValidateManifestsUseCase.js.map +1 -0
- package/dist/spec/usecase/dto/ValidateManifestsRequest.d.ts +27 -0
- package/dist/spec/usecase/dto/ValidateManifestsRequest.d.ts.map +1 -0
- package/dist/spec/usecase/dto/ValidateManifestsRequest.js +2 -0
- package/dist/spec/usecase/dto/ValidateManifestsRequest.js.map +1 -0
- package/dist/spec/usecase/dto/ValidateManifestsResponse.d.ts +14 -0
- package/dist/spec/usecase/dto/ValidateManifestsResponse.d.ts.map +1 -0
- package/dist/spec/usecase/dto/ValidateManifestsResponse.js +2 -0
- package/dist/spec/usecase/dto/ValidateManifestsResponse.js.map +1 -0
- package/dist/spec/usecase/dto/index.d.ts +3 -0
- package/dist/spec/usecase/dto/index.d.ts.map +1 -0
- package/dist/spec/usecase/dto/index.js +3 -0
- package/dist/spec/usecase/dto/index.js.map +1 -0
- package/dist/spec/usecase/index.d.ts +10 -0
- package/dist/spec/usecase/index.d.ts.map +1 -0
- package/dist/spec/usecase/index.js +10 -0
- package/dist/spec/usecase/index.js.map +1 -0
- package/dist/testing/cases/before-hook.d.ts +4 -0
- package/dist/testing/cases/before-hook.d.ts.map +1 -0
- package/dist/testing/cases/before-hook.js +71 -0
- package/dist/testing/cases/before-hook.js.map +1 -0
- package/dist/testing/cases/corpus.d.ts +12 -0
- package/dist/testing/cases/corpus.d.ts.map +1 -0
- package/dist/testing/cases/corpus.js +91 -0
- package/dist/testing/cases/corpus.js.map +1 -0
- package/dist/testing/cases/policy.d.ts +74 -0
- package/dist/testing/cases/policy.d.ts.map +1 -0
- package/dist/testing/cases/policy.js +142 -0
- package/dist/testing/cases/policy.js.map +1 -0
- package/dist/testing/cases/printer.d.ts +4 -0
- package/dist/testing/cases/printer.d.ts.map +1 -0
- package/dist/testing/cases/printer.js +32 -0
- package/dist/testing/cases/printer.js.map +1 -0
- package/dist/testing/cases/report-view.d.ts +5 -0
- package/dist/testing/cases/report-view.d.ts.map +1 -0
- package/dist/testing/cases/report-view.js +33 -0
- package/dist/testing/cases/report-view.js.map +1 -0
- package/dist/testing/cases/requisition.d.ts +4 -0
- package/dist/testing/cases/requisition.d.ts.map +1 -0
- package/dist/testing/cases/requisition.js +38 -0
- package/dist/testing/cases/requisition.js.map +1 -0
- package/dist/testing/cases/search-places.d.ts +4 -0
- package/dist/testing/cases/search-places.d.ts.map +1 -0
- package/dist/testing/cases/search-places.js +60 -0
- package/dist/testing/cases/search-places.js.map +1 -0
- package/dist/testing/cases/stock.d.ts +4 -0
- package/dist/testing/cases/stock.d.ts.map +1 -0
- package/dist/testing/cases/stock.js +35 -0
- package/dist/testing/cases/stock.js.map +1 -0
- package/dist/testing/cases/store.d.ts +4 -0
- package/dist/testing/cases/store.d.ts.map +1 -0
- package/dist/testing/cases/store.js +100 -0
- package/dist/testing/cases/store.js.map +1 -0
- package/dist/testing/harness.d.ts +94 -0
- package/dist/testing/harness.d.ts.map +1 -0
- package/dist/testing/harness.js +168 -0
- package/dist/testing/harness.js.map +1 -0
- package/dist/testing/index.d.ts +37 -0
- package/dist/testing/index.d.ts.map +1 -0
- package/dist/testing/index.js +43 -0
- package/dist/testing/index.js.map +1 -0
- package/dist/testing/report.d.ts +15 -0
- package/dist/testing/report.d.ts.map +1 -0
- package/dist/testing/report.js +22 -0
- package/dist/testing/report.js.map +1 -0
- package/dist/web/createRestSurface.d.ts +7 -0
- package/dist/web/createRestSurface.d.ts.map +1 -0
- package/dist/web/createRestSurface.js +39 -0
- package/dist/web/createRestSurface.js.map +1 -0
- package/dist/web/index.d.ts +2 -0
- package/dist/web/index.d.ts.map +1 -0
- package/dist/web/index.js +2 -0
- package/dist/web/index.js.map +1 -0
- package/docs/adr/0008-structured-diagnostic-shape.md +2 -2
- package/docs/adr/0011-adapter-port-spec.md +2 -2
- package/docs/adr/0014-auth-better-auth-and-multi-tenant-mcp.md +21 -2
- package/docs/adr/0019-sealed-manifest-runtime-pipeline.md +5 -1
- package/docs/adr/0021-retire-starter-scaffolding.md +1 -1
- package/docs/adr/0022-caller-observed-version-occ.md +1 -1
- package/docs/adr/0024-manifest-native-schema-tables.md +2 -2
- package/docs/adr/0026-progressive-generate.md +36 -0
- package/docs/adr/0027-scheduled-procedure-triggers.md +31 -0
- package/docs/adr/0028-schema-ttl-expiry.md +33 -0
- package/docs/adr/0029-mcp-apps-interaction-contracts.md +324 -0
- package/docs/adr/0030-store.md +40 -0
- package/docs/adr/0031-host-cloud-core-contract.md +25 -0
- package/docs/adr/0032-store-centric-core-and-service-contract.md +361 -0
- package/docs/adr/0033-storage-converges-to-the-plan.md +92 -0
- package/docs/adr/0034-store-is-authored-as-sql.md +192 -0
- package/docs/adr/0035-sql-dialects.md +154 -0
- package/docs/adr/0036-host-and-dialect.md +65 -0
- package/docs/adr/0037-postgresql-is-the-reference-dialect.md +124 -0
- package/docs/adr/0038-bun-native-host.md +63 -0
- package/docs/adr/README.md +26 -8
- package/docs/adr/adr-lite-861-admin-webmcp.md +6 -0
- package/docs/adr/adr-lite-909-admin-ui-kit.md +1 -1
- package/docs/examples/README.md +16 -18
- package/docs/examples/commerce-inventory.md +481 -0
- package/docs/examples/commerce.md +254 -0
- package/docs/examples/guarded-api.md +238 -0
- package/docs/examples/intake-hooks.md +237 -0
- package/docs/examples/intake.md +127 -0
- package/docs/examples/legal-documents.md +218 -0
- package/docs/examples/procurement.md +215 -0
- package/docs/examples/publication.md +211 -0
- package/docs/examples/reference-service/.dev.vars.example +4 -0
- package/docs/examples/reference-service/.mantle/generated/mantle.ts +174 -0
- package/docs/examples/reference-service/.mantle/generated/plan.json +1936 -0
- package/docs/examples/reference-service/README.md +33 -0
- package/docs/examples/reference-service/manifests/catalog.yaml +103 -0
- package/docs/examples/reference-service/manifests/orders.yaml +120 -0
- package/docs/examples/reference-service/mantle.config.json +1 -0
- package/docs/examples/reference-service/package.json +27 -0
- package/docs/examples/reference-service/smoke.mjs +156 -0
- package/docs/examples/reference-service/src/handlers.ts +36 -0
- package/docs/examples/reference-service/src/index.ts +33 -0
- package/docs/examples/reference-service/src/service.ts +78 -0
- package/docs/examples/{host-minimal-worker → reference-service}/tsconfig.json +7 -2
- package/docs/examples/reference-service/wrangler.jsonc +26 -0
- package/docs/examples/reservation.md +142 -0
- package/docs/handbook/cloudflare/authentication.md +96 -299
- package/docs/handbook/cloudflare/chatgpt-sites.md +104 -15
- package/docs/handbook/cloudflare/deploy-and-operate.md +77 -71
- package/docs/handbook/cloudflare/media-r2.md +64 -187
- package/docs/handbook/cloudflare/service-entry.md +138 -0
- package/docs/handbook/concepts/authorization.md +104 -94
- package/docs/handbook/concepts/four-atoms.md +68 -144
- package/docs/handbook/concepts/lifecycle-and-locales.md +62 -114
- package/docs/handbook/concepts/mcp-and-agents.md +112 -117
- package/docs/handbook/concepts/procedures-and-triggers.md +126 -181
- package/docs/handbook/concepts/runtime-and-adapters.md +177 -156
- package/docs/handbook/concepts/views.md +97 -173
- package/docs/handbook/examples/hub.md +17 -6
- package/docs/handbook/guides/admin-ui.md +101 -96
- package/docs/handbook/guides/agent-setup.md +56 -71
- package/docs/handbook/guides/typed-queries.md +105 -111
- package/docs/handbook/navigation.json +8 -32
- package/docs/handbook/reference/authorization.md +52 -271
- package/docs/handbook/reference/diagnostics.md +69 -173
- package/docs/handbook/reference/features.md +48 -50
- package/docs/handbook/reference/manifest.md +56 -116
- package/docs/handbook/reference/procedure.md +92 -229
- package/docs/handbook/reference/schema.md +156 -215
- package/docs/handbook/reference/site-config.md +58 -211
- package/docs/handbook/reference/surface.md +69 -181
- package/docs/handbook/reference/trigger.md +73 -162
- package/docs/handbook/reference/view.md +140 -241
- package/docs/handbook/releases/index.md +58 -22
- package/docs/handbook/start/overview.md +59 -48
- package/docs/handbook/start/project-and-cli.md +127 -116
- package/docs/handbook/start/quickstart-worker.md +102 -151
- package/docs/skills/develop/SKILL.md +114 -232
- package/docs/skills/develop/mcp-app.md +79 -0
- package/docs/skills/integrate/SKILL.md +96 -0
- package/docs/skills/media-gc/SKILL.md +21 -10
- package/docs/skills/provision/SKILL.md +68 -162
- package/docs/skills/update/SKILL.md +33 -34
- package/docs/upgrade-0.1-to-0.2.md +211 -0
- package/package.json +87 -105
- package/dist/admin-ui.d.ts +0 -2
- package/dist/admin-ui.d.ts.map +0 -1
- package/dist/admin-ui.js +0 -2
- package/dist/admin-ui.js.map +0 -1
- package/dist/admin.d.ts +0 -2
- package/dist/admin.d.ts.map +0 -1
- package/dist/admin.js +0 -2
- package/dist/admin.js.map +0 -1
- package/dist/auth.d.ts +0 -2
- package/dist/auth.d.ts.map +0 -1
- package/dist/auth.js +0 -2
- package/dist/auth.js.map +0 -1
- package/dist/bun.d.ts +0 -2
- package/dist/bun.d.ts.map +0 -1
- package/dist/bun.js +0 -2
- package/dist/bun.js.map +0 -1
- package/dist/cli/harness.d.ts +0 -3
- package/dist/cli/harness.d.ts.map +0 -1
- package/dist/cli/harness.js +0 -214
- package/dist/cli/harness.js.map +0 -1
- package/dist/cli/skills.d.ts +0 -3
- package/dist/cli/skills.d.ts.map +0 -1
- package/dist/cli/skills.js +0 -128
- package/dist/cli/skills.js.map +0 -1
- package/dist/cloudflare.d.ts +0 -2
- package/dist/cloudflare.d.ts.map +0 -1
- package/dist/cloudflare.js +0 -2
- package/dist/cloudflare.js.map +0 -1
- package/dist/codegen/emitMantleModule.d.ts +0 -22
- package/dist/codegen/emitMantleModule.d.ts.map +0 -1
- package/dist/codegen/emitMantleModule.js +0 -291
- package/dist/codegen/emitMantleModule.js.map +0 -1
- package/dist/codegen.d.ts +0 -2
- package/dist/codegen.d.ts.map +0 -1
- package/dist/codegen.js +0 -2
- package/dist/codegen.js.map +0 -1
- package/dist/runtime-testing.d.ts +0 -2
- package/dist/runtime-testing.d.ts.map +0 -1
- package/dist/runtime-testing.js +0 -2
- package/dist/runtime-testing.js.map +0 -1
- package/dist/runtime.d.ts +0 -2
- package/dist/runtime.d.ts.map +0 -1
- package/dist/runtime.js +0 -2
- package/dist/runtime.js.map +0 -1
- package/dist/spec.d.ts +0 -2
- package/dist/spec.d.ts.map +0 -1
- package/dist/spec.js +0 -2
- package/dist/spec.js.map +0 -1
- package/dist/vercel-libsql.d.ts +0 -2
- package/dist/vercel-libsql.d.ts.map +0 -1
- package/dist/vercel-libsql.js +0 -2
- package/dist/vercel-libsql.js.map +0 -1
- package/dist/vercel.d.ts +0 -2
- package/dist/vercel.d.ts.map +0 -1
- package/dist/vercel.js +0 -2
- package/dist/vercel.js.map +0 -1
- package/dist/web.d.ts +0 -2
- package/dist/web.d.ts.map +0 -1
- package/dist/web.js +0 -2
- package/dist/web.js.map +0 -1
- package/docs/adapter-guide.md +0 -222
- package/docs/agent-prompts.md +0 -102
- package/docs/api-mcp-authorization.md +0 -5
- package/docs/assets/mantle-admin-developer.png +0 -0
- package/docs/assets/mantle-admin-operations.png +0 -0
- package/docs/assets/mantle-hero.jpg +0 -0
- package/docs/auth-hosting-model.md +0 -166
- package/docs/cloudflare-low-level-composition.md +0 -5
- package/docs/consumer-onboarding-audit.md +0 -65
- package/docs/deferred-lifecycle-queues.md +0 -5
- package/docs/design-atoms.md +0 -16
- package/docs/design-references/editorial-blog-2026-05-05.md +0 -218
- package/docs/direct-authoring.md +0 -5
- package/docs/examples/builtin-commerce.md +0 -269
- package/docs/examples/builtin-intake.md +0 -143
- package/docs/examples/builtin-legal-documents.md +0 -189
- package/docs/examples/builtin-procurement.md +0 -241
- package/docs/examples/builtin-publication.md +0 -241
- package/docs/examples/builtin-reservation.md +0 -149
- package/docs/examples/cf-primitives-commerce-inventory.md +0 -809
- package/docs/examples/cf-primitives-guarded-api.md +0 -429
- package/docs/examples/cf-primitives-intake-hooks.md +0 -319
- package/docs/examples/host-chatgpt-sites/.openai/hosting.json +0 -1
- package/docs/examples/host-chatgpt-sites/README.md +0 -70
- package/docs/examples/host-chatgpt-sites/drizzle/0000_sites_users.sql +0 -8
- package/docs/examples/host-chatgpt-sites/drizzle/0001_mantle.sql +0 -294
- package/docs/examples/host-chatgpt-sites/drizzle/0002_article_cover.sql +0 -5
- package/docs/examples/host-chatgpt-sites/drizzle/0003_store_instance_id.sql +0 -1
- package/docs/examples/host-chatgpt-sites/drizzle/meta/_journal.json +0 -1
- package/docs/examples/host-chatgpt-sites/manifests/site.yaml +0 -27
- package/docs/examples/host-chatgpt-sites/package.json +0 -1
- package/docs/examples/host-chatgpt-sites/public/site.css +0 -1
- package/docs/examples/host-chatgpt-sites/scripts/build.mjs +0 -13
- package/docs/examples/host-chatgpt-sites/scripts/check.mjs +0 -101
- package/docs/examples/host-chatgpt-sites/scripts/migration.mjs +0 -9
- package/docs/examples/host-chatgpt-sites/src/chatgpt-auth.ts +0 -63
- package/docs/examples/host-chatgpt-sites/src/index.ts +0 -46
- package/docs/examples/host-chatgpt-sites/src/mcp.ts +0 -49
- package/docs/examples/host-chatgpt-sites/src/media.ts +0 -109
- package/docs/examples/host-chatgpt-sites/src/r2-lab.ts +0 -38
- package/docs/examples/host-chatgpt-sites/src/storage-fingerprint.json +0 -1
- package/docs/examples/host-chatgpt-sites/src/web.ts +0 -35
- package/docs/examples/host-chatgpt-sites/tsconfig.json +0 -1
- package/docs/examples/host-chatgpt-sites/wrangler.jsonc +0 -10
- package/docs/examples/host-local-admin-otp/.dev.vars.example +0 -3
- package/docs/examples/host-local-admin-otp/README.md +0 -80
- package/docs/examples/host-local-admin-otp/ensure-dev-vars.mjs +0 -5
- package/docs/examples/host-local-admin-otp/manifests/site.yaml +0 -25
- package/docs/examples/host-local-admin-otp/package.json +0 -29
- package/docs/examples/host-local-admin-otp/public/.gitkeep +0 -1
- package/docs/examples/host-local-admin-otp/smoke.mjs +0 -141
- package/docs/examples/host-local-admin-otp/src/index.ts +0 -54
- package/docs/examples/host-local-admin-otp/tsconfig.json +0 -17
- package/docs/examples/host-local-admin-otp/wrangler.jsonc +0 -23
- package/docs/examples/host-minimal-worker/README.md +0 -41
- package/docs/examples/host-minimal-worker/manifests/site.yaml +0 -25
- package/docs/examples/host-minimal-worker/package.json +0 -26
- package/docs/examples/host-minimal-worker/smoke.mjs +0 -23
- package/docs/examples/host-minimal-worker/src/index.ts +0 -4
- package/docs/examples/host-minimal-worker/wrangler.jsonc +0 -22
- package/docs/handbook/chatgpt-sites/equipment-checkout.md +0 -231
- package/docs/handbook/chatgpt-sites/host-reference.md +0 -113
- package/docs/handbook/chatgpt-sites/index.md +0 -123
- package/docs/handbook/cloudflare/bindings.md +0 -298
- package/docs/handbook/cloudflare/conventional-worker.md +0 -162
- package/docs/handbook/cloudflare/deferred-hooks-queues.md +0 -170
- package/docs/handbook/cloudflare/low-level-composition.md +0 -169
- package/docs/handbook/cloudflare/public-web.md +0 -144
- package/docs/handbook/cloudflare/site-chrome.md +0 -75
- package/docs/handbook/examples/commerce-transaction.md +0 -11
- package/docs/handbook/examples/commerce.md +0 -11
- package/docs/handbook/examples/guarded-api.md +0 -10
- package/docs/handbook/examples/intake-form.md +0 -12
- package/docs/handbook/examples/intake-hooks.md +0 -11
- package/docs/handbook/examples/legal-documents.md +0 -10
- package/docs/handbook/examples/procurement-approvals.md +0 -10
- package/docs/handbook/examples/publication.md +0 -10
- package/docs/handbook/examples/reservation.md +0 -10
- package/docs/handbook/start/quickstart-admin.md +0 -50
- package/docs/labels.md +0 -71
- package/docs/media-uploads.md +0 -5
- package/docs/migration-0.1.2.md +0 -13
- package/docs/performance-harness.md +0 -228
- package/docs/release-process.md +0 -244
- package/docs/schema-indexes.md +0 -5
- package/docs/sealed-pipeline-ownership.md +0 -101
- package/docs/skills/plugin/SKILL.md +0 -132
- package/docs/skills/theme/SKILL.md +0 -77
- package/docs/spec-only-host-adoption.md +0 -157
- package/docs/transaction-patterns.md +0 -5
- package/skills/README.md +0 -125
- package/skills/develop/SKILL.md +0 -250
- package/skills/install/SKILL.md +0 -149
- package/skills/media-gc/SKILL.md +0 -85
- package/skills/plugin/SKILL.md +0 -132
- package/skills/provision/SKILL.md +0 -194
- package/skills/theme/SKILL.md +0 -77
- package/skills/update/SKILL.md +0 -51
package/docs/migration-0.1.2.md
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
# Upgrading to 0.1.2
|
|
2
|
-
|
|
3
|
-
0.1.2 is the first stable release and the first public one. There is no earlier
|
|
4
|
-
stable to upgrade from and no migration to perform.
|
|
5
|
-
|
|
6
|
-
What it contains, what it requires and what it does not yet cover is in
|
|
7
|
-
[Releases](handbook/releases/index.md).
|
|
8
|
-
|
|
9
|
-
Every version before 0.1.2 was an internal prerelease. If you are holding a
|
|
10
|
-
database created by one of those, `LEGACY_STORAGE_RESET_REQUIRED` means it
|
|
11
|
-
predates native Schema tables: rebuild it rather than migrating it. Move any
|
|
12
|
-
data you need out of Mantle by hand first — there is no product migration for
|
|
13
|
-
that unreleased storage format.
|
|
@@ -1,228 +0,0 @@
|
|
|
1
|
-
# Data access, cache policy, and performance harness
|
|
2
|
-
|
|
3
|
-
Mantle site code declares intent; Core owns the shared storage layout and the
|
|
4
|
-
Cloudflare adapter owns provider bindings. A site-building agent should not
|
|
5
|
-
need Mantle table names, generated-column names, KV prefixes, or D1 APIs to
|
|
6
|
-
make a normal content/API/page change.
|
|
7
|
-
|
|
8
|
-
## Ownership
|
|
9
|
-
|
|
10
|
-
| Read or state | Owner | Notes |
|
|
11
|
-
|---|---|---|
|
|
12
|
-
| Entry get/list and public slug/data-field/published reads | `DatabaseEntryRepository` through `EntryRepository` / `EntryReader` | Schema-aware field resolution is shared here. |
|
|
13
|
-
| Manifest View execution | `ExecuteViewUseCase` + prepared `ViewQueryExecutor` | Core owns authorization and request validation; selected storage lowers queries once and resolves declared Schema indexes. |
|
|
14
|
-
| Editable settings and code-owned locale/media policy | `DatabaseSiteConfigRepository` | Editable values and dynamic media tool policy are read fresh; boot-seeded locale policy may be memoized within the runtime instance. |
|
|
15
|
-
| Pending media uploads | `DatabasePendingUploadRepository` | Canonical, read-after-write D1 state; never publish-cache state. |
|
|
16
|
-
| Rendered HTML, Markdown, and `llms.txt` | Request-time render use cases plus the Cloudflare public-route cache policy | D1 is canonical; version-local Workers Cache stores anonymous HTTP responses. |
|
|
17
|
-
| D1 transport and optional query metrics | Cloudflare bindings | Bindings stay thin. Query/cache policy does not belong in a generic provider `BaseRepository`. |
|
|
18
|
-
|
|
19
|
-
The runtime exposes no raw database handle. Application and adapter code uses
|
|
20
|
-
the sealed plan, runtime use cases, `entries`, and `siteConfig`. An application may own
|
|
21
|
-
additional tables behind its own repository at the composition root, but it
|
|
22
|
-
must not query Mantle-owned tables outside the selected storage adapter.
|
|
23
|
-
|
|
24
|
-
## Cache contract
|
|
25
|
-
|
|
26
|
-
- D1 is canonical for entries, site settings, media metadata, and pending
|
|
27
|
-
uploads. Core stores no rendered artifact copies.
|
|
28
|
-
- Public routes render canonical state and return
|
|
29
|
-
`Cache-Control: public, max-age=0, s-maxage=300`.
|
|
30
|
-
- Cloudflare Workers Cache checks eligible anonymous responses before invoking
|
|
31
|
-
the Worker. Cache keys are version-local, so a deploy starts with no stale
|
|
32
|
-
response from the previous Worker version.
|
|
33
|
-
- Successful publishing-content and site-setting writes purge the shared
|
|
34
|
-
deployment-scoped public Cache-Tag through Cloudflare's native cache API. Operational
|
|
35
|
-
records and immutable assets stay outside that invalidation boundary.
|
|
36
|
-
- Do not cache every repository read. Cross-isolate correctness for editable
|
|
37
|
-
data wins unless a read has a measured hot-path contract and explicit
|
|
38
|
-
invalidation.
|
|
39
|
-
|
|
40
|
-
## Index coverage
|
|
41
|
-
|
|
42
|
-
The Node harness uses the real canonical migrations, generated Schema DDL,
|
|
43
|
-
real View compiler, deterministic skewed rows, and SQLite
|
|
44
|
-
`EXPLAIN QUERY PLAN`:
|
|
45
|
-
|
|
46
|
-
```bash
|
|
47
|
-
pnpm exec mantle-harness indexes --manifests ./manifests --format text
|
|
48
|
-
pnpm exec mantle-harness indexes --require-public --format json
|
|
49
|
-
pnpm exec mantle-harness indexes --require account-members --format json
|
|
50
|
-
```
|
|
51
|
-
|
|
52
|
-
Without `--require-public` or `--require`, findings are advisory. A required
|
|
53
|
-
path fails on a required Schema-table scan, a temporary ORDER BY B-tree, or a
|
|
54
|
-
data-field predicate/order that does not use a declared Schema index.
|
|
55
|
-
Projection alone does not require an index. `mantle validate` remains a pure
|
|
56
|
-
correctness check; no performance grammar or manifest atom was added.
|
|
57
|
-
|
|
58
|
-
The fixture follows each Schema lifecycle: operational rows are immediately
|
|
59
|
-
published, while publishing Schemas contain both draft and published rows. The
|
|
60
|
-
harness deliberately does not run `ANALYZE` or `PRAGMA optimize`, so it cannot
|
|
61
|
-
turn an unprepared production plan into a local pass. This is a conservative
|
|
62
|
-
SQLite preflight, not proof of D1 rows-read, Worker CPU, or IndexedDB behavior;
|
|
63
|
-
measure those on the target backend before making a performance claim.
|
|
64
|
-
|
|
65
|
-
Use the machine report in CI. It includes the compiled SQL and parameters,
|
|
66
|
-
query-plan details, named indexes, scan/sort flags, result count, SQLite
|
|
67
|
-
version, fixture row count, and required-failure summary.
|
|
68
|
-
|
|
69
|
-
## Worker/API/page sampling
|
|
70
|
-
|
|
71
|
-
Sample any running environment with the public HTTP helper:
|
|
72
|
-
|
|
73
|
-
```bash
|
|
74
|
-
pnpm exec mantle-harness http \
|
|
75
|
-
--base-url http://127.0.0.1:8787 \
|
|
76
|
-
--route recent=/api/views/recent-posts \
|
|
77
|
-
--route page=/en/posts/hello \
|
|
78
|
-
--rounds 20 --warmup 2 --format json
|
|
79
|
-
```
|
|
80
|
-
|
|
81
|
-
Timing always reports p50/p95/max. A test-only Worker wrapper may also return
|
|
82
|
-
`x-mantle-query-count` and `x-mantle-rows-read`; those become distributions in
|
|
83
|
-
the same report. Do not expose these diagnostic headers in production.
|
|
84
|
-
|
|
85
|
-
The path-scoped Cloudflare benchmark workflow runs `pnpm bench:wrangler`
|
|
86
|
-
against real Wrangler-local D1, Worker HTTP routing, View execution, and origin
|
|
87
|
-
page rendering. It compares 100 and 10,000 row fixtures and gates row-read
|
|
88
|
-
scaling plus endpoint query budgets, not absolute milliseconds. It is separate
|
|
89
|
-
from the required repository checks so an unrelated dependency or docs PR does
|
|
90
|
-
not fail on the platform harness. Wrangler-local does not emulate the new
|
|
91
|
-
entrypoint Workers Cache, so cache hits are a deployment-level smoke check
|
|
92
|
-
rather than a fabricated local metric.
|
|
93
|
-
|
|
94
|
-
## Seven findings: measured disposition
|
|
95
|
-
|
|
96
|
-
Measured on the deterministic 2026-08-01 Wrangler-local fixture; timings are
|
|
97
|
-
diagnostic, while query/row counts are the stable assertions.
|
|
98
|
-
|
|
99
|
-
| Finding | Disposition |
|
|
100
|
-
|---|---|
|
|
101
|
-
| Public cache hits read D1 first | Removed from Worker code. Cloudflare's entrypoint Workers Cache runs before the Worker; Core has no inner render cache. |
|
|
102
|
-
| Slug/locale reads bypass Schema indexes | Fixed by the shared schema-aware entry-read boundary over native columns. A 10,000-row page MISS measured 2 queries / 5 rows read. |
|
|
103
|
-
| OFFSET pagination | Retained only where the View/Admin contract explicitly uses it, with a 500-row response cap. Public content lists and discovery now use forward keyset pages; they are not covered by the old 500-row claim. |
|
|
104
|
-
| Admin substring search scans | Accepted only for the authenticated Admin collection browser, with a 500-row response cap. Large/search-heavy sites should add a purpose-shaped indexed View or dedicated search service; do not expose this scan publicly. |
|
|
105
|
-
| Published list/sitemap/llms paths lack system indexes | Fixed with measured partial indexes for published global, locale, collection, and collection+locale ordering. The 100-row and 10,000-row API runs both measured 1 query / 20 rows read. |
|
|
106
|
-
| Page MISS waits for cache write-back | Removed. Origin rendering returns directly; Workers Cache owns response storage outside the Worker. |
|
|
107
|
-
| Benchmark stops at fake in-process dispatch | Fixed by the Node planner and Wrangler-local Worker/API/page layers. The old dispatch microbenchmark remains a narrow CPU signal only. |
|
|
108
|
-
|
|
109
|
-
The retained OFFSET and substring-search trade-offs are visible exceptions,
|
|
110
|
-
not patterns for new public APIs. Re-measure before widening either scope.
|
|
111
|
-
|
|
112
|
-
See also [Schema indexes](./schema-indexes.md) and the official Cloudflare
|
|
113
|
-
[D1 index guidance](https://developers.cloudflare.com/d1/best-practices/use-indexes/).
|
|
114
|
-
|
|
115
|
-
### Prepared database, new Worker state
|
|
116
|
-
|
|
117
|
-
The Wrangler fixture resets its in-isolate runtime after seeding while retaining
|
|
118
|
-
D1. The first public page has a four-statement budget (fingerprint, lazy locale,
|
|
119
|
-
site settings, entry); subsequent origin pages have a two-statement budget.
|
|
120
|
-
This is a new application state in the same workerd isolate, not a measurement
|
|
121
|
-
of module startup CPU or an entrypoint cache HIT. Locale caching is enabled by
|
|
122
|
-
a successful preparation fingerprint; editable settings and media policy still
|
|
123
|
-
read the canonical database on every call.
|
|
124
|
-
|
|
125
|
-
### HTTP Trigger routing
|
|
126
|
-
|
|
127
|
-
The portable request handler indexes Trigger paths by method and segments once.
|
|
128
|
-
Literal and wildcard branches retain sealed-plan order, including encoded literal
|
|
129
|
-
collisions that an outer router may select differently. Each request decodes its
|
|
130
|
-
segments once and invokes the original Trigger identity through the same runtime.
|
|
131
|
-
The 1/10/100/1,000-route regression uses four segment lookups at every size;
|
|
132
|
-
overlapping wildcard shapes can visit multiple branches, pruned by route rank.
|
|
133
|
-
The HTTP microbench and workerd harness include the same route-count axis.
|
|
134
|
-
Workerd wall times include I/O and are not CPU measurements or a fixed-ms CI gate.
|
|
135
|
-
|
|
136
|
-
### Public content pages and discovery (#809)
|
|
137
|
-
|
|
138
|
-
| Surface | Canonical read / continuation |
|
|
139
|
-
|---|---|
|
|
140
|
-
| Collection HTML and collection Markdown | 50 entries by default, forward `cursor`; visible Next link plus HTTP `Link: rel="next"`. |
|
|
141
|
-
| Locale and root llms.txt | One canonical page, default 50 entries; root expands that page across configured locales in memory. Shared entries are not reread once per locale. Follow the body/HTTP continuation link. |
|
|
142
|
-
| Sitemap part | Up to 2,000 entries, with only declared path fields (built-in resolver: `slug`). A small site returns a urlset directly; a larger site returns a sitemap index linking every part. |
|
|
143
|
-
| Sitemap index | Walks metadata pages to derive exact part cursors; O(N) metadata work on an index MISS, with one page resident at a time. It is not a constant-work list endpoint. |
|
|
144
|
-
|
|
145
|
-
`EntryReader.readPublishedPage` caps returned data JSON at 1 MiB and 2,000 rows.
|
|
146
|
-
One oversized entry is returned alone to make progress. SQLite applies the byte
|
|
147
|
-
budget before transferring/parsing JSON in the Worker; one extra candidate
|
|
148
|
-
identifies continuation. A localized + shared page merges two indexed ranges
|
|
149
|
-
inside the same statement. The original `readPublished` remains an explicit
|
|
150
|
-
unbounded read unless its caller supplies a limit.
|
|
151
|
-
|
|
152
|
-
Translation lists resolve at most one newest published parent per join value,
|
|
153
|
-
then resolve media once for the bounded list. Parent payloads and media metadata
|
|
154
|
-
are additional input; the 1 MiB budget describes the canonical child page, not
|
|
155
|
-
arbitrary template output or total Worker heap. Custom renderers own their output
|
|
156
|
-
size. IndexedDB keeps identical page semantics but currently scans its local
|
|
157
|
-
collection; this is not a claim of bounded IndexedDB storage I/O.
|
|
158
|
-
|
|
159
|
-
The real SQLite fixture matrix covers 100/10,000/50,000 published rows, 64 B/4 KiB
|
|
160
|
-
bodies, and 1/3/10 locales. At limit 20, every case transfers 21 candidate rows;
|
|
161
|
-
4 KiB body data occupies 87,003–87,129 bytes, independent of collection size.
|
|
162
|
-
Complete llms traversal uses 2/200/1,000 statements at the default 50-row page
|
|
163
|
-
size, independent of locale count. Sitemap and llms URL sets match, including
|
|
164
|
-
275,000 URLs for 50,000 mixed localized/shared rows across 10 locales.
|
|
165
|
-
|
|
166
|
-
Run `pnpm --filter @aotter/mantle-cloudflare exec vitest run
|
|
167
|
-
test/public-content-scaling.test.ts` to emit JSON transfer sizes and traversal
|
|
168
|
-
CPU/wall/RSS diagnostics. These are Node + SQLite + assertions, including the
|
|
169
|
-
fixture database and URL-validation set; RSS is a process high-water mark, not
|
|
170
|
-
per-request Worker peak memory. Worker CPU, true cache HIT/MISS and placement
|
|
171
|
-
measurements belong to the matched native/full-stack harness (#812).
|
|
172
|
-
|
|
173
|
-
The workerd smoke also measures public list, llms and sitemap. The first two
|
|
174
|
-
use two warm statements (settings + page) and bounded D1 work. Sitemap index
|
|
175
|
-
queries and rows-read scale with the number of metadata parts; this explicit
|
|
176
|
-
cost preserves complete discovery instead of silently dropping URLs.
|
|
177
|
-
|
|
178
|
-
### Request diagnostics (version 1, test/performance only)
|
|
179
|
-
|
|
180
|
-
Import `runWithRequestDiagnostics`, `instrumentD1`, `instrumentKv` and
|
|
181
|
-
`instrumentR2` from `@aotter/mantle-cloudflare/testing`. Wrap native bindings once
|
|
182
|
-
before handing the same D1 object to Auth and Runtime. Open the request context
|
|
183
|
-
outside the complete facade fetch, and pass binding-presence flags matching the
|
|
184
|
-
instrumented fixture. The observer receives one response-time record; it never
|
|
185
|
-
receives request headers, tokens, proofs, user IDs, SQL, parameters, tool arguments,
|
|
186
|
-
object keys or response content. Sync/async observer failure cannot change the
|
|
187
|
-
original response or exception. The library emits no diagnostic headers or logs.
|
|
188
|
-
|
|
189
|
-
Records distinguish HTTP outcome from JSON-RPC result/error/tool-error. They
|
|
190
|
-
include actual in-isolate arrivals, inclusive OAuth/DPoP, role, runtime, catalog,
|
|
191
|
-
dispatcher construction and dispatch wall spans. Unreached phases are null.
|
|
192
|
-
Shared KV loads charge native I/O once to the initiating request; waiters record
|
|
193
|
-
wait duration and the same hit/miss/repair/error source. Boot publication has a
|
|
194
|
-
separate counter. The original rejected shared load remains retryable.
|
|
195
|
-
|
|
196
|
-
D1 statements and binding calls are separate: a batch is one call and N attempted
|
|
197
|
-
statements. Failed attempts count. `exec` uses the provider's count; unavailable
|
|
198
|
-
counts stay in `unknownStatementCalls`, never a semicolon parser. `first(column)`
|
|
199
|
-
and `raw` preserve native behavior and do not silently execute `all` to manufacture
|
|
200
|
-
metadata. Their absent metadata is null. Rows/duration are sums of available
|
|
201
|
-
metadata, and `metadataStatements` identifies coverage; incomplete coverage is
|
|
202
|
-
not a full-workload total. Serialized binding results are measured bytes, not a
|
|
203
|
-
claim about bytes on the provider's wire. Existing D1DatabaseDriver observers can
|
|
204
|
-
request metadata for first-row reads when a fixture explicitly chooses that mode.
|
|
205
|
-
|
|
206
|
-
KV bytes identify UTF-8, buffer or reserialized JSON sources. R2 payload bytes
|
|
207
|
-
remain unknown for an unconsumed/partly consumed GET. A successful PUT of that exact
|
|
208
|
-
native GET stream confirms the transferred body size on both operations. Streams
|
|
209
|
-
are never wrapped or buffered for diagnostics, preserving R2's native known-length
|
|
210
|
-
contract. `byteSamples` distinguishes known payload samples from the operation
|
|
211
|
-
count. Metadata/list response serialization is labeled separately from object
|
|
212
|
-
payload. R2 coverage is head/get/put/delete/list, not multipart-upload instrumentation.
|
|
213
|
-
|
|
214
|
-
Snapshots freeze at response creation; outstanding/deferred operations remain
|
|
215
|
-
visible through `inFlight` and metadata coverage and cannot rewrite a published
|
|
216
|
-
record. `totalMs` excludes the subsequent test-only JSON-RPC response inspection,
|
|
217
|
-
delivery and deferred work. CPU, TTFB, full-body duration and heap must be measured
|
|
218
|
-
separately. Worker wall clocks advance on I/O and are not a CPU timer; use the
|
|
219
|
-
[official CPU profiler](https://developers.cloudflare.com/workers/observability/dev-tools/cpu-usage/).
|
|
220
|
-
Measure diagnostics off/on overhead with the same workload before interpreting
|
|
221
|
-
small latency differences.
|
|
222
|
-
|
|
223
|
-
### Matched native facade controls (#812)
|
|
224
|
-
|
|
225
|
-
`pnpm bench:wrangler` now also runs the native parity smoke. The full
|
|
226
|
-
`pnpm bench:parity` matrix adds real Auth/MCP, cold workerd processes, R2,
|
|
227
|
-
TTFB/full-body timing and CPU/heap evidence. See
|
|
228
|
-
[the controls, gates and reproducible commands](./adr/adr-lite-812-native-parity.md).
|
package/docs/release-process.md
DELETED
|
@@ -1,244 +0,0 @@
|
|
|
1
|
-
# Release process
|
|
2
|
-
|
|
3
|
-
How a version reaches npm. What each shipped stable contains is
|
|
4
|
-
[Releases](handbook/releases/index.md); this document is the procedure only.
|
|
5
|
-
A release has no Starter/Landing checkout, tag, dispatch, credential or
|
|
6
|
-
deployment dependency.
|
|
7
|
-
|
|
8
|
-
## Authority and state transitions
|
|
9
|
-
|
|
10
|
-
`.github/workflows/release.yml` is the only release controller. Humans merge
|
|
11
|
-
a reviewed same-repository release PR, then explicitly dispatch that merge.
|
|
12
|
-
No task implicitly authorizes publication; no manual package/tag writer exists.
|
|
13
|
-
|
|
14
|
-
| State | Sole next writer | Retry / invariant |
|
|
15
|
-
|---|---|---|
|
|
16
|
-
| Reviewed source; unused version | Core source/packed-consumer gates, then immutable Core tag | Exact canonical merged PR SHA and version required |
|
|
17
|
-
| Tag exists; registry candidates partial | Existing npm/GPR publication steps | Verify existing artifact identity; publish missing versions only |
|
|
18
|
-
| Tag exists and all eleven npmjs packages already exist | Metadata verify, then channel promote and the GitHub release | Skip pack and immutable tarball compare. The controller tip must not rebuild published artifact identity. npm integrity metadata still has to be `sha512`. The public-registry Worker gate stays skipped |
|
|
19
|
-
| Tag exists on an ancestor of the dispatched tip; tip package versions still match | Resolve binds release identity to the tag SHA; later steps stay the existing writers | Controller-only recovery. Do not retag. The canonical merged-PR check uses the tag SHA. Fail when the tip version differs or the tag commit is not an ancestor |
|
|
20
|
-
| Registry candidates verified | Public-registry reference consumer gate | No mutation; failure leaves public channels and `mantle-release` unchanged |
|
|
21
|
-
| Consumer passes | That registry's promote step: monotonic channel add for every package | Same version is a no-op; older runs cannot move a channel backward. Public channels are only `alpha`, `beta`, `rc`, and `latest`. `mantle-release` is never removed |
|
|
22
|
-
| Channels promoted or preserved | GitHub release step | Existing release identity or fail. Leftover `mantle-release` pointing at the last published candidate is expected |
|
|
23
|
-
|
|
24
|
-
The public-registry gate uses a disposable copy of the directly authored
|
|
25
|
-
`docs/examples/host-minimal-worker` reference, installs the exact candidate, then
|
|
26
|
-
checks generation, skill projection, TypeScript and real Worker HTTP behavior.
|
|
27
|
-
The same reference is gated against exact tarballs before Core tagging. It is
|
|
28
|
-
a test/example, not a scaffold product or another repository release.
|
|
29
|
-
|
|
30
|
-
## Changing release automation
|
|
31
|
-
|
|
32
|
-
Before editing a release workflow, put a finite state table plus its
|
|
33
|
-
invariants and non-goals in a Draft PR. Name the single mutation boundary for
|
|
34
|
-
each external resource; recovery must return through that boundary rather than
|
|
35
|
-
introduce a second writer.
|
|
36
|
-
|
|
37
|
-
Freeze one commit SHA for review. Every finding must name the affected state
|
|
38
|
-
row, a concrete event interleaving, and the wrong mutation it permits. A clean
|
|
39
|
-
verdict expires when that SHA changes. After two patch rounds, a new
|
|
40
|
-
foundational blocker returns to the state table and the user for a scope
|
|
41
|
-
decision instead of starting another local redesign loop.
|
|
42
|
-
|
|
43
|
-
Invariants: immutable versions/tags retain their identity; registry integrity
|
|
44
|
-
and the published-consumer gate precede public channel promotion; retries
|
|
45
|
-
cannot move channels backward. No downstream mutation, unpublish, dist-tag
|
|
46
|
-
removal, or rollback is introduced. The runnable release-order check guards
|
|
47
|
-
these transitions.
|
|
48
|
-
|
|
49
|
-
Mutation boundaries during a release: `Publish to npmjs` and `Mirror to
|
|
50
|
-
GitHub Packages` attach the internal candidate dist-tag `mantle-release`
|
|
51
|
-
while publishing a version. `Promote npmjs channel tags` is the only
|
|
52
|
-
release step that moves npmjs public channels. `Promote GitHub Packages
|
|
53
|
-
channel tags` is the only release step that moves GitHub Packages public
|
|
54
|
-
channels. Neither step removes `mantle-release`. Recovery of a partial
|
|
55
|
-
release reruns that same controller and version.
|
|
56
|
-
|
|
57
|
-
`mantle-release` is not a public channel. It stays forever as an internal
|
|
58
|
-
candidate tag pointing at the last published candidate. Official channels
|
|
59
|
-
are only `alpha`, `beta`, `rc`, and `latest`. Consumers must not install
|
|
60
|
-
`mantle-release`. Deleting it after promotion is not part of the release:
|
|
61
|
-
dist-tag DELETE only added failure and re-run state, and Actions
|
|
62
|
-
`NPM_TOKEN` 403s on that DELETE.
|
|
63
|
-
|
|
64
|
-
## Branches and channels
|
|
65
|
-
|
|
66
|
-
| Version | Source branch | npm dist-tag | GitHub release |
|
|
67
|
-
|---|---|---|---|
|
|
68
|
-
| `X.Y.Z-alpha.N` | `develop` | `alpha` | prerelease |
|
|
69
|
-
| `X.Y.Z-beta.N` | `main` | `beta` | prerelease |
|
|
70
|
-
| `X.Y.Z-rc.N` | `main` | `rc` | prerelease |
|
|
71
|
-
| `X.Y.Z` | `main` | `latest` | release |
|
|
72
|
-
|
|
73
|
-
- The controller derives the source branch from the version: `-alpha` means
|
|
74
|
-
`develop`, anything else means `main`. An untagged dispatch must be that
|
|
75
|
-
branch's tip and the merge commit of exactly one PR into that branch.
|
|
76
|
-
When the version tag already exists on an ancestor of the tip, Resolve
|
|
77
|
-
recovers from that tag SHA; see Recovery.
|
|
78
|
-
`scripts/release-tag-order.mjs` rejects any other prerelease identifier.
|
|
79
|
-
- `develop` is where every change integrates first, so it is the base for all
|
|
80
|
-
work despite `main` being the repository's default branch on GitHub. `main`
|
|
81
|
-
changes only through promotion PRs and hotfix PRs (below); it is never pushed
|
|
82
|
-
directly, rebased or force-updated. Both branches share one ruleset: PR, one
|
|
83
|
-
approval, resolved threads and a current-base `Typecheck + tests` check.
|
|
84
|
-
- Stable is the only release that moves `latest`. A prerelease channel keeps
|
|
85
|
-
its last version when a later stable publishes.
|
|
86
|
-
- Publish uses `--tag mantle-release`. `mantle-release` is an internal
|
|
87
|
-
candidate dist-tag, not a public channel. Consumers must not install it.
|
|
88
|
-
Official channels are only `alpha`, `beta`, `rc`, and `latest`.
|
|
89
|
-
Publication does not move those channels. After the public-registry
|
|
90
|
-
consumer gate, each registry's promote step moves every package's real
|
|
91
|
-
channel and leaves `mantle-release` pointing at the last published
|
|
92
|
-
candidate.
|
|
93
|
-
|
|
94
|
-
## Prepare and run
|
|
95
|
-
|
|
96
|
-
1. Fetch Core refs, prove the version and tag unused. Preview GitHub generated
|
|
97
|
-
notes since the previous tag; correct PR metadata and label release-only
|
|
98
|
-
PRs skip-release-notes. Do not duplicate release entries in CHANGELOG.md.
|
|
99
|
-
2. Align every workspace package, plugin and marketplace ref to the version.
|
|
100
|
-
The controller checks package.json files and plugin manifests only; docs
|
|
101
|
-
pins and the admin-ui registry dependency are hand-edited, so grep for the
|
|
102
|
-
old version until only lockfiles and registry-pinned examples remain:
|
|
103
|
-
|
|
104
|
-
```sh
|
|
105
|
-
OLD=<previous version> NEW=<version>
|
|
106
|
-
git grep -l "\"version\": \"$OLD\"" -- '*.json' ':!**/package-lock.json' \
|
|
107
|
-
| xargs perl -pi -e "s/\"version\": \"\Q$OLD\E\"/\"version\": \"$NEW\"/"
|
|
108
|
-
node scripts/sync-plugin-manifests.mjs
|
|
109
|
-
git grep -n "$OLD" -- ':!pnpm-lock.yaml' ':!**/package-lock.json'
|
|
110
|
-
```
|
|
111
|
-
|
|
112
|
-
Leave the consumer cold-start entry **untagged**: `npx skills add
|
|
113
|
-
aotter/mantle`, `/plugin marketplace add aotter/mantle`,
|
|
114
|
-
`codex plugin marketplace add aotter/mantle` and the plugin-manifest
|
|
115
|
-
descriptions carry no `@v…` / `--ref`. Untagged resolves to `main`, which
|
|
116
|
-
normally moves at a release but may contain a source-only hotfix; the
|
|
117
|
-
installed npm package remains the version authority
|
|
118
|
-
(#995, #998). Only "installed version" statements such as
|
|
119
|
-
`(currently \`X.Y.Z\`)` are bumped.
|
|
120
|
-
|
|
121
|
-
3. Review API compatibility and migration instructions for actual consumers.
|
|
122
|
-
Frozen legacy consumers stay on their pinned version; do not make them
|
|
123
|
-
follow new Core.
|
|
124
|
-
4. Run `pnpm check`, including exact packed Worker, optional products, Bun,
|
|
125
|
-
Vercel, skills, release invariants, types and tests. Inspect the umbrella
|
|
126
|
-
docs/skills payload: no workspace dependencies, secrets or local state.
|
|
127
|
-
5. Freeze the PR head for self review; CI must pass before merge. Merge into
|
|
128
|
-
`develop` with a merge commit for every version. For an alpha, dispatch
|
|
129
|
-
release.yml from that merge with `version` (without v). For beta, RC and
|
|
130
|
-
stable, continue with the promotion below. The controller refuses an
|
|
131
|
-
untagged source that is no longer the expected branch tip.
|
|
132
|
-
|
|
133
|
-
The eleven public packages remain in dependency order:
|
|
134
|
-
|
|
135
|
-
1. @aotter/mantle-spec
|
|
136
|
-
2. @aotter/mantle-admin-ui
|
|
137
|
-
3. @aotter/mantle-runtime
|
|
138
|
-
4. @aotter/mantle-indexeddb
|
|
139
|
-
5. @aotter/mantle-web
|
|
140
|
-
6. @aotter/mantle-admin
|
|
141
|
-
7. @aotter/mantle-auth
|
|
142
|
-
8. @aotter/mantle-bun
|
|
143
|
-
9. @aotter/mantle-vercel
|
|
144
|
-
10. @aotter/mantle-cloudflare
|
|
145
|
-
11. @aotter/mantle
|
|
146
|
-
|
|
147
|
-
## Promote to main (beta, RC, stable)
|
|
148
|
-
|
|
149
|
-
Every non-alpha release is the version PR above, one promotion PR and one
|
|
150
|
-
dispatch. The version PR still merges into `develop`, so `develop` always
|
|
151
|
-
contains what `main` publishes and promotions never conflict.
|
|
152
|
-
|
|
153
|
-
1. Stable only: the version's release-gate issue records owner acceptance.
|
|
154
|
-
Every gate item passes with linked evidence or is explicitly deferred
|
|
155
|
-
there, and no `release-gate` issue stays open against the version.
|
|
156
|
-
Beta and RC need the gate defined, not passed.
|
|
157
|
-
2. Merge the version PR into `develop` with a merge commit; note its SHA.
|
|
158
|
-
3. Pin the promotion head at that SHA so later `develop` merges cannot ride
|
|
159
|
-
along, then open the promotion PR against `main`:
|
|
160
|
-
|
|
161
|
-
```sh
|
|
162
|
-
git fetch origin
|
|
163
|
-
git push origin <develop merge SHA>:refs/heads/promote/<version>
|
|
164
|
-
gh pr create --base main --head promote/<version> \
|
|
165
|
-
--title "release: promote <version> to main" --label skip-release-notes
|
|
166
|
-
```
|
|
167
|
-
|
|
168
|
-
The body names the version PR, the pinned SHA and the gate evidence. The
|
|
169
|
-
usual review and checks apply. An organization-admin bypass merge must be
|
|
170
|
-
recorded on the PR (see CONTRIBUTING).
|
|
171
|
-
4. Merge with a merge commit, never rebase: the controller needs `main`'s tip
|
|
172
|
-
to be the PR's merge commit. `main`'s tree now equals the pinned commit.
|
|
173
|
-
5. Dispatch from `main` and watch every gate exactly as for an alpha:
|
|
174
|
-
|
|
175
|
-
```sh
|
|
176
|
-
gh workflow run release.yml --ref main -f version=<version>
|
|
177
|
-
```
|
|
178
|
-
|
|
179
|
-
6. RC to stable repeats 2–5 with the next version. `rc` keeps pointing at
|
|
180
|
-
the last RC; stable moves only `latest`.
|
|
181
|
-
|
|
182
|
-
Hotfix on `main` is for a published non-alpha version that cannot wait for
|
|
183
|
-
the next promotion. Branch from `main`, include the version bump, PR into
|
|
184
|
-
`main`, dispatch as in step 5, then immediately PR `main` back into `develop`
|
|
185
|
-
and resolve version files in favour of `develop`. Until that lands, the next
|
|
186
|
-
promotion conflicts on the version files.
|
|
187
|
-
|
|
188
|
-
GitHub generates notes from the immediately previous tag, which for a stable
|
|
189
|
-
is usually its own last RC. To cover the whole line instead, regenerate from
|
|
190
|
-
the previous stable and edit the release body after the run. The body is not
|
|
191
|
-
an immutable artifact; the tag and packages are.
|
|
192
|
-
|
|
193
|
-
```sh
|
|
194
|
-
gh api repos/aotter/mantle/releases/generate-notes \
|
|
195
|
-
-f tag_name=v<version> -f previous_tag_name=v<previous stable> --jq .body > notes.md
|
|
196
|
-
gh release edit v<version> --notes-file notes.md
|
|
197
|
-
```
|
|
198
|
-
|
|
199
|
-
Add the version's entry to [Releases](handbook/releases/index.md) in the same
|
|
200
|
-
pass, so the handbook and the GitHub release describe the same thing.
|
|
201
|
-
|
|
202
|
-
After publication, move docs/examples that were pinned to a packed checkout
|
|
203
|
-
back to registry installation with an updated lockfile, and close the gate
|
|
204
|
-
issue with the run link and completion evidence.
|
|
205
|
-
|
|
206
|
-
## Credentials and verification
|
|
207
|
-
|
|
208
|
-
Core needs NPM_TOKEN for npmjs. Its job-scoped GITHUB_TOKEN creates the Core
|
|
209
|
-
tag/release and mirrors GitHub Packages. No cross-repository fanout token is
|
|
210
|
-
needed. Before tagging, verify credentials and new-version absence on both
|
|
211
|
-
registries. Existing artifacts on retry must have matching integrity.
|
|
212
|
-
|
|
213
|
-
Completion requires the Core tag SHA, all eleven npmjs/GPR packages, exact
|
|
214
|
-
integrity, no workspace dependencies, a passing public-registry Worker gate,
|
|
215
|
-
correct channel tags, and the GitHub release. Leftover `mantle-release`
|
|
216
|
-
pointing at the last published candidate is expected. Retain run links and
|
|
217
|
-
gate evidence.
|
|
218
|
-
This does not prove stable production soak or upgrade safety; the version's
|
|
219
|
-
release-gate issue owns those acceptance requirements. An agent acceptance run
|
|
220
|
-
uses only the version-matched authoring instructions, not an SDK checkout or
|
|
221
|
-
generated site.
|
|
222
|
-
|
|
223
|
-
## Recovery
|
|
224
|
-
|
|
225
|
-
Rerun the same controller commit/version for a transient or verified partial
|
|
226
|
-
transition. Existing tags/artifacts must match; newer channels stay put. Fail
|
|
227
|
-
on identity disagreement instead of guessing. A wrong public artifact needs
|
|
228
|
-
a new version; never force-retag, overwrite or reuse a published version.
|
|
229
|
-
|
|
230
|
-
After a controller-only fix lands on the tip, re-dispatch the same version
|
|
231
|
-
from the source branch. Resolve recovers using the existing tag SHA when
|
|
232
|
-
that commit is an ancestor of the tip and package versions on the tip still
|
|
233
|
-
match. The tag owns the release SHA; the tip only carries controller fixes.
|
|
234
|
-
Tagged recovery skips the Core source check because that tree was already
|
|
235
|
-
released from the immutable tag. When `tag_exists` and all eleven npmjs
|
|
236
|
-
packages already exist at that version, that same existence check skips
|
|
237
|
-
packing, immutable tarball comparison, and the public-registry Worker gate.
|
|
238
|
-
The controller tip must not rebuild an artifact whose identity is already
|
|
239
|
-
published. Verify npm metadata still runs. The Worker gate stays skipped
|
|
240
|
-
because the first run already passed it before promotion.
|
|
241
|
-
|
|
242
|
-
Unpublish is reserved for actual secret/private-file exposure, never routine
|
|
243
|
-
fixes. Infrastructure renames require their explicit config diff and live
|
|
244
|
-
smoke; CI alone cannot prove provider identity.
|
package/docs/schema-indexes.md
DELETED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
# Schema indexes
|
|
2
|
-
|
|
3
|
-
This guide moved into the handbook: [`docs/handbook/reference/schema.md`](handbook/reference/schema.md).
|
|
4
|
-
|
|
5
|
-
The handbook ships inside the `@aotter/mantle` package under `node_modules/@aotter/mantle/docs/handbook/` and describes the installed release.
|
|
@@ -1,101 +0,0 @@
|
|
|
1
|
-
# Sealed pipeline ownership ledger
|
|
2
|
-
|
|
3
|
-
This is the migration evidence for ADR-0019 and epic #656. It records the
|
|
4
|
-
`v0.1.0-alpha.7` owners before code moves, the single target owner, and the
|
|
5
|
-
issue that must delete or delegate the old path.
|
|
6
|
-
|
|
7
|
-
## Rule ownership
|
|
8
|
-
|
|
9
|
-
| Behavior | Current owner(s) | Target owner | Migration |
|
|
10
|
-
|---|---|---|---|
|
|
11
|
-
| YAML document decode, empty documents, syntax errors, alias cap | `ManifestParser.parseOneStream` | Parse/decode in `mantle-spec` | #663 |
|
|
12
|
-
| Four-atom discrimination, envelope keys, primitive/enum shape | `ManifestParser` | Parse/normalize | #663 |
|
|
13
|
-
| Source identity and document location | Synthetic parser doc index plus `loadManifests`/`ManifestPathDiagnoser` reconstruction | `ManifestSourceSet` authored metadata | #663 |
|
|
14
|
-
| Schema atom-local shape, index/search/UI shape | Parser plus `ValidateManifestsUseCase` checkers | Parse/normalize | #663; old checks deleted in #673 |
|
|
15
|
-
| Defaults for localized/lifecycle/indexes/search/order | `IntrospectManifestsUseCase`, runtime lifecycle checks, and callers using `??` | Parse/normalize exactly once | #663, #667 |
|
|
16
|
-
| Duplicate names | `ValidateManifestsUseCase` | Link | #664 |
|
|
17
|
-
| Schema/View/Procedure/Trigger cross-references | `ValidateManifestsUseCase` and repeated boot checks | Link | #664 |
|
|
18
|
-
| Guard existence, self-reference, builtin/chain rules | Validate plus `ValidateBootUseCase` | Link | #664 |
|
|
19
|
-
| Locale/translates graph | `checkLocaleAndTranslates` in validate and boot | Link for manifest graph; Prepare for selected deployment locales | #664, #666 |
|
|
20
|
-
| Manifest-owned HTTP/MCP collisions | Validate plus boot | Link | #664 |
|
|
21
|
-
| Handler source/registry availability | Optional CLI source scan plus boot registry scan | Prepare | #666 |
|
|
22
|
-
| Optional Web/Admin/Auth path reservations | Fixed boot/Cloudflare prefix lists | Prepare selected capabilities only | #666, #669, #670 |
|
|
23
|
-
| Kind/name lookup maps | `ValidateManifestsUseCase`, `ValidateBootUseCase`, `createCmsRuntime`, adapters | Compile once into `RuntimePlan` | #665 |
|
|
24
|
-
| Authorization/guard descriptors | Raw manifests interpreted by validators, runtime use cases, and mounts | Compile plan; evaluate in Core invocation | #665, #667 |
|
|
25
|
-
| Trigger indices and Procedure descriptors | Runtime construction/use cases | Compile plan | #665 |
|
|
26
|
-
| Semantic fingerprint | Runtime boot from raw manifests | Compile plan | #665 |
|
|
27
|
-
| Declarative View resolution | `ViewSqlCompiler` during each `ExecuteViewUseCase` call | Compile logical plan once | #665 |
|
|
28
|
-
| SQLite/JSON1 View lowering and native `spec.sql` | `ViewSqlCompiler` plus `DatabaseDriver` invocation | Selected storage preparation | #666 |
|
|
29
|
-
| Canonical SQL migrations, native Schema tables/indexes, readiness | `createCmsRuntime.bootInit` and runtime infrastructure | Prepare | #666 |
|
|
30
|
-
| Entry/media/site repositories | Runtime constructs `Database*Repository` from `DatabaseDriver` | Prepared semantic storage ports; media/config move with final owner | #666, #669, #670 |
|
|
31
|
-
| Content, View, Procedure, Trigger, lifecycle invocation | Runtime use cases over raw maps/driver | `MantleRuntime` over plan + semantic ports | #667 |
|
|
32
|
-
| Target authorization/admin bypass | Runtime plus adapter entry points | One Core invocation policy; adapter resolves caller only | #667 |
|
|
33
|
-
| Generated manifest module and TypeScript names | `packages/mantle/src/cli/generate.ts` + `EmitTypesUseCase` | Pure linked/plan projection and `bindMantle` | #668 |
|
|
34
|
-
| Admin asset copy during generation | `packages/mantle/src/cli/generate.ts` | Removed; Admin install/composition owns assets | #668, #670 |
|
|
35
|
-
| HTML/templates/public paths/Markdown/SEO/preview/`llms.txt`/sitemap | Runtime render services plus Cloudflare public routes | Optional `mantle-web` | #669 |
|
|
36
|
-
| Public request mapping and cache policy | `mountPublicRoutes` | Platform adapter using selected Web projection | #669 |
|
|
37
|
-
| Admin API/application/static assets | Optional `mantle-admin`; Cloudflare only binds auth/request context/assets | Optional `mantle-admin` + existing UI artifact | #670 |
|
|
38
|
-
| View/HTTP Trigger route transport | Combined Cloudflare mounts | Platform adapters over the same Core descriptors | #669–#672 |
|
|
39
|
-
| Bun SQLite/process lifecycle | `mantle-bun`; host owns server/database | `mantle-bun`; host owns server/database | #671 |
|
|
40
|
-
| Vercel function/durable-storage lifecycle | `mantle-vercel`; host owns handler/client | `mantle-vercel`; host owns handler/client | #672 |
|
|
41
|
-
| Legacy overloads, aliases, combined mounts, duplicate tests | Current public API plus temporary migration delegates | Deleted | #673 |
|
|
42
|
-
| Contributor/agent/release guidance | `AGENTS.md`, `CLAUDE.md`, `CONTRIBUTING.md`, two release skill copies | One tool-neutral authority and one release skill | #674 |
|
|
43
|
-
|
|
44
|
-
## Deletion evidence
|
|
45
|
-
|
|
46
|
-
All baseline production callers now consume `ParsedManifestSet`,
|
|
47
|
-
`LinkedManifestSet`, or `RuntimePlan` according to their pipeline stage.
|
|
48
|
-
`scripts/check-boundaries.mjs` fails if the removed runtime facade, generated
|
|
49
|
-
site API, raw parser facade, or combined Cloudflare route owner returns.
|
|
50
|
-
Parser-focused tests may inspect parser output, but runtime and platform tests
|
|
51
|
-
must compile and prepare the same sealed plan used by production.
|
|
52
|
-
|
|
53
|
-
## Consumer manifest corpus
|
|
54
|
-
|
|
55
|
-
The Core repository does not vendor every downstream manifest. That would
|
|
56
|
-
create a second source of truth. The reusable golden fixture under
|
|
57
|
-
`packages/mantle-spec/test/fixtures/pipeline-v0.1/` covers every shipped atom,
|
|
58
|
-
auth/guard references, all Trigger surfaces, multi-document YAML, empty
|
|
59
|
-
documents, aliases, unknown keys, malformed YAML, and deterministic
|
|
60
|
-
diagnostics.
|
|
61
|
-
|
|
62
|
-
The following pins record the historical sealed-pipeline migration gates.
|
|
63
|
-
ADR-0021 supersedes the Starter/Landing release coupling: current Core CI and
|
|
64
|
-
release use `docs/examples/host-minimal-worker` from the same reviewed commit.
|
|
65
|
-
Private consumers can still run the exact-tarball checker in their own repos;
|
|
66
|
-
public Core PRs receive no cross-repository credentials:
|
|
67
|
-
|
|
68
|
-
| Historical consumer | Revision | Gate at the time | Manifest paths |
|
|
69
|
-
|---|---|---|---|
|
|
70
|
-
| `aotter/mantle-starters` | `157e8f49e1e25ae1c52c0115f0dd9e8b6017ef0e` | Core CI + release | `blank/manifests/site.yaml`; `overlays/{community,intake,presence,publication,reservation,transaction}/manifests/site.yaml`; `recipes/typed-web/manifests/site.yaml` |
|
|
71
|
-
| `aotter/mantle-landing` | `4381354dd25d5d94f4096cf3e55a4cb9eecbf3ad` | Landing CI + Core release | `manifests/site.yaml` |
|
|
72
|
-
| `aotter/mantle-platform` (Remote Mantle/control plane) | `3cc0d9ad6ee47b15f06c915c12f56fc4b9143f32` | Platform `exact-packed-core` | `manifests/platform.yaml` |
|
|
73
|
-
| Core i18n fixture | this repository | Core CI | `packages/mantle-spec/test/fixtures/i18n-parent-child/manifests/site.yaml` |
|
|
74
|
-
|
|
75
|
-
## Baseline gates
|
|
76
|
-
|
|
77
|
-
The alpha.7 baseline was captured from tag `v0.1.0-alpha.7` on 2026-08-16
|
|
78
|
-
with Node 22, pnpm 9, Wrangler local mode, and datasets of 100/10,000 rows:
|
|
79
|
-
|
|
80
|
-
| Route | p95 queries | p95 rows read | local p95 timing |
|
|
81
|
-
|---|---:|---:|---:|
|
|
82
|
-
| public View, 10k rows | 1 | 20 | 3.01 ms |
|
|
83
|
-
| public page miss, 10k rows | 2 | 5 | 3.92 ms |
|
|
84
|
-
| Admin list, 10k rows | 1 | 21–22 | 2.49–3.24 ms |
|
|
85
|
-
| Admin related detail, dense | 4 | 151 | 5.23 ms |
|
|
86
|
-
| public builtin create | 1 | 0 | 2.55 ms |
|
|
87
|
-
|
|
88
|
-
Wall-clock values are evidence, not a cross-machine budget. The normative
|
|
89
|
-
baseline is the existing `pnpm bench:wrangler` query/row gate: every gate must
|
|
90
|
-
remain true, unchanged revisions must perform no repeated preparation, and any
|
|
91
|
-
intentional budget change needs its own reviewed evidence.
|
|
92
|
-
|
|
93
|
-
Existing full-facade behavior is covered by Cloudflare authorization, Admin,
|
|
94
|
-
public-route/cache, View REST, HTTP Trigger, media, form, and facade tests.
|
|
95
|
-
Issues #669–#673 move those assertions to selected modules and exact packed
|
|
96
|
-
consumers; they do not duplicate the suite under new names.
|
|
97
|
-
|
|
98
|
-
Issue #674 leaves `CONTRIBUTING.md` plus accepted ADRs as the contributor
|
|
99
|
-
authority. `AGENTS.md`, `CLAUDE.md`, and the Claude release-skill entry are
|
|
100
|
-
small routers; `.agents/skills/mantle-release/SKILL.md` is the only maintainer
|
|
101
|
-
release procedure. Shipped `skills/*` remain separate consumer artifacts.
|