CI / verify (pull_request) Successful in 1m5s
CI / infrastructure-smoke (pull_request) Successful in 35s
CI / migration-smoke (pull_request) Successful in 1m52s
CI / package-release (pull_request) Successful in 35s
CI / image-build (pull_request) Successful in 31s
CI / deploy-smoke (same-origin) (pull_request) Successful in 45s
CI / deploy-smoke (split) (pull_request) Successful in 1m30s
CI / package-publication (pull_request) Successful in 44s
Every platform workspace package and every public @ekklesia/* package declares 0.2.0, and the deploy README's image build example names it. templates/module keeps its own version. 0.2.0, not 0.1.3: before 1.0 a minor version is the breaking one (docs/development/releases.md, ADR 0054), and since 0.1.2 main has broken modules, module authors, and operators: - #64 (ADR 0048): one generic image; installed modules live outside it; - #66, #72 (ADR 0049, 0050): modules install as Module Package v1, and move to the Module Database ABI; - #71: the manifest v8 cutover; v7 manifests are refused; - #79 (ADR 0053): the curated SDK drops defineModuleSchema and the legacy ModuleDatabase type; plus #67 (AGPL), #74, #77 (licensing, native targets), and the public package train (#80, #81). It is also the first package train to publish: 0.1.2 never will be. Because 0.2.0 is outside ^0.1.0, the same change moves to ^0.2.0: - the standalone fixture's @ekklesia ranges and its exact module-pack pin; - the compatibility ranges of the modules built for this release: the template, the standalone fixture, and the native proof module; - the test fixtures that model a module of the current release, or the current platform's versions; - the module-development guide's examples, and the release guide, which now names what a minor bump moves. Co-Authored-By: Claude Opus 5.5 <[email protected]>
62 lines
1.5 KiB
JSON
62 lines
1.5 KiB
JSON
{
|
|
"manifestVersion": 8,
|
|
"id": "example",
|
|
"name": "Example Module",
|
|
"description": "A minimal Ekklesia module template with backend behavior and optional primary and display UI.",
|
|
"version": "0.1.0",
|
|
"compatibility": {
|
|
"platform": "^0.2.0",
|
|
"moduleSdk": "^0.2.0"
|
|
},
|
|
"database": {
|
|
"abi": 1
|
|
},
|
|
"capabilities": [
|
|
{
|
|
"id": "example.records",
|
|
"version": "1.0.0"
|
|
}
|
|
],
|
|
"permissions": [
|
|
{
|
|
"id": "example.records.read",
|
|
"baseline": "restricted",
|
|
"description": "Read example records."
|
|
},
|
|
{
|
|
"id": "example.display.view",
|
|
"baseline": "restricted",
|
|
"description": "View the example full-screen display."
|
|
}
|
|
],
|
|
"configuration": [
|
|
{
|
|
"key": "greeting",
|
|
"type": "string",
|
|
"default": "Hello",
|
|
"maxLength": 120,
|
|
"description": "Prefix this module puts in front of a record value."
|
|
}
|
|
],
|
|
"contributions": [
|
|
{
|
|
"id": "example.summary-card",
|
|
"version": "1.0.0",
|
|
"capability": "example-host.summary-card",
|
|
"capabilityRange": "^1.0.0",
|
|
"artifact": "./dist/contributions/summary-card/index.js",
|
|
"description": "Renders this module's record summary inside a host module's own screen."
|
|
}
|
|
],
|
|
"entrypoints": {
|
|
"server": "./dist/server/index.js",
|
|
"schema": "./dist/schema/index.js",
|
|
"migrations": "./drizzle",
|
|
"ui": "./dist/ui/index.js",
|
|
"display": {
|
|
"artifact": "./dist/display/index.js",
|
|
"permission": "example.display.view"
|
|
}
|
|
}
|
|
}
|