Skip to content

Commit 557973d

Browse files
feat(spec)!: retire kernel/package-upgrade.zod.ts whole — the upgrade plan, diff, snapshot and rollback model nothing implemented (ADR-0049) (#25757)
Fixes #25608 Clause-②: no (narrowing) Metadata-protocol: narrowed Ruling-ref: 6259332195 (ruling A on #24443, item 3); triage first grade 6382810541 Retires `packages/spec/src/kernel/package-upgrade.zod.ts` whole — the package upgrade plan, metadata diff, impact level, pre-upgrade snapshot, upgrade and rollback request/response pairs and the phase vocabulary — together with the four `IPackageService` members that returned them (`planUpgrade`, `upgrade`, `rollback`, `getSnapshot`) and their three input interfaces, and the `plan` member of `PackageUpgradeResponse.data`. ADR-0049 enforce-or-remove, route 3 (whole-def removal). Nothing ever implemented, served or read any of it. The two governed sentences (ADR-0126 about `:321`, and the ADR-0138 D5 sentence ruling A `6386464761` orders) ride their own draft PR, #25716, which merges after this one. ## Ruling executed (quoted, not re-ruled) Ruling `6259332195` on #24443, letter A, maintainer 「其他同意」, item 3: "**Retired:** `packages/spec/src/kernel/package-upgrade.zod.ts` (plan, diff, conflict, snapshot, rollback; zero runtime consumers), with its ADR-0087 conversion." Triage `6382810541`: done directly in 18.x with no retirement stage. ## Premise re-measured (every zero beside a lit control) | reading | tree | retired names (29) + `planUpgrade` + the module specifier | control | | --- | --- | --- | --- | | objectstack, outside `packages/spec`, CHANGELOGs excluded | base `47af3dde42` | 0 code files: 3 generated reference pages + `references/kernel/meta.json`, `content/docs/upgrading.mdx`, one ADR-0126 sentence | the same pattern hits 17 files inside `packages/spec` | | objectui `main` | `a3c0da9` | 0 files | `@objectstack/spec`: 2123 files | | objectui at the pinned `.objectui-sha` | `2958f17e9c` | 0 files | `@objectstack/spec`: 2131 files | | hotcrm `main` | `a4b3560` | 0 files | `@objectstack/spec`: 293 files | | providers | base | nothing implements `IPackageService` | — | The card's inventory held, with two additions it did not list: `src/system/compliance-families-retirement.test.ts` used `MetadataChangeType` as its "live near-namesake" must-survive control (its only reader was the retired module itself; the control is now `BreakingChange`), and the contract lost **four** members and three input interfaces, not two — `rollback` and `getSnapshot` returned the retired `RollbackPackageResponse` / `UpgradeSnapshot` as well. ## Why no D2 conversion and no tombstone None of the ten shapes is a stack collection member or a metadata type, so there is no authored document a D2 conversion could rewrite and no carrier key a `retiredKey()` tombstone could sit on. The ruling's "ADR-0087 conversion" is therefore the ledger record, exactly as for the export-job and change-management whole-family retirements: ten `RETIRED_DEFS_BY_MAJOR[18]` entries (which the manifest-deletion gate reads), one D3 semantic entry `kernel-package-upgrade-family-retired`, and one `STEP18_RATIONALE` fragment. The `UpgradePlan.estimatedDuration` tombstone's `RETIRED_KEYS_BY_MAJOR[18]` entry and the D3 entry `kernel-package-lifecycle-durations-unit-in-key` stay as history (pinned). `PackageUpgradeResponse.data` is a non-strict object bound to no route, so its `plan` leaves without a tombstone (route 3: nothing parses it); a pin asserts a stray `plan` is stripped. ## What changed - **Removed:** `src/kernel/package-upgrade.zod.ts` and its test; the re-export in `src/kernel/index.ts` (a comment block stays in its place naming the retirement); the upgrade section of `src/contracts/package-service.ts` and its test cases; `plan` in `src/api/package-api.zod.ts`. - **Registered:** `src/migrations/entries/retired-defs/18.kernel__*.ts` ×10, `src/migrations/entries/semantic/18.kernel-package-upgrade-family-retired.ts`, a `STEP18_RATIONALE` fragment in `src/migrations/registry.ts.template`. - **Pinned:** `src/kernel/package-upgrade-family-retirement.test.ts` (listed in `vitest.repo-tests.json`; its walk radius is the one already declared for `@objectstack/spec` in `scripts/cross-package-test-inputs.mjs`): zero holders on every public entry, runtime namespaces, the four contract members absent at the type level with a lit control, `plan` absent from the shape, module gone from disk and unimported, shards clean, ledger wired with no D2 conversion, and tree-scoped absence across `packages`, `examples`, `skills`, `content`, `scripts`. - **Generated (regenerated, not hand-typed):** `json-schema.manifest/kernel.json` (−10, deleted deliberately as the manifest-deletion gate requires), `authorable-surface/kernel.json` (−48, the whole-def route; check (c) re-proved it against the git base), `authorable-defaults/kernel.json`, `api-surface/{kernel,contracts}.json`, `declaration-map/kernel.json`, `export-origins/{kernel,contracts}.json`, `dropped-refinements.baseline.json` (two entries and their header totals), the strictness-ledger counts, and `content/docs/references/**` (the `package-upgrade` page is gone). - **Count pins that follow the module:** `type-alias-convention.pin.test.ts` 790 → 786 (four isomorphic pins and the `M92` import), `scripts/file-description.test.ts` 31 → 30 level-1 openers, `llms.txt` 206 → 205 schemas / kernel 31 → 30, `quick-reference.mdx` kernel 30 → 29. - **Hand-written docs made false by the diff:** `content/docs/upgrading.mdx` described a package-upgrade lifecycle (pre-check, plan, snapshot, …) and linked the removed page; it now says what the platform serves — a re-install with `overwrite: true` and the commit rollback — and links Package Management in the Metadata API. - **Changeset:** `.changeset/25608-retire-package-upgrade.md`, `minor` (launch-window convention) with the BREAKING banner, the FROM → TO table, both declaration lines and `registered kernel-package-upgrade-family-retired`. ## Tests and gates All readings below are at head `3e7b204be7` (after merging `origin/main` `c61f75d10f` through `scripts/pm/os-regen-merge.sh`, then `pnpm install --frozen-lockfile`, a full `turbo run build` and `@objectstack/spec` `build` + `check:generated`), under `scripts/pm/os-verify-lock.sh`, exit codes captured before any pipe. | command | result | | --- | --- | | `pnpm --filter @objectstack/spec typecheck` | exit 0 | | `pnpm --filter @objectstack/spec test` | exit 1: 21787 passed, 23 failed, **all 23 in `scripts/liveness/check-liveness.test.ts`, each naming the main-red below** | | `pnpm --filter @objectstack/spec test:repo` | exit 0: 80 files, 1279 tests | | `pnpm --filter @objectstack/cli test` (unit **and** integration projects) | exit 0: 501 files, 6297 tests | | `pnpm --filter @objectstack/dogfood test` (the `(narrowing)` arm's full battery) | exit 0: 295 files, 2520 tests | | `pnpm --filter @objectstack/metadata-protocol test` (pre-merge head `80ed3baba1`) | exit 0: 263 files, 21485 tests | | plugin-audit `sys-comment-retired-fields.test.ts`, service-automation `decision-overlapping-edge-conditions.pin.test.ts` (both read the ledger; pre-merge) | exit 0 each | | `node scripts/check-platform-checklist.mjs --changed-from origin/main` | exit 0: no checklist anchor in the change set | **Derived gates.** `node scripts/pm/dispatch-gates.mjs --commands --repo objectstack-ai/objectstack` at `3e7b204be7`: 120 families. Every one run; `--ran` reconciles: "120 derived famil(ies) accounted for — 120 run, 0 NOT-MEASURED (a DERIVED zero — all 120 recorded an exit code and none of them is 3)". 118 exit 0, including `check-adr-0087-registration`, `check-changeset-no-major`, `check-empty-changeset`, `check:api-surface`, `check:authorable-surface`, `check:docs`, `check:llms-txt`, `check:quick-reference-counts`, `check:spec-parsed-alias`, `check:cross-package-test-inputs` and `check:nul-bytes`. Two are red, both the main-red below: `check:liveness` and `check:generated` (whose only stale artifact is `liveness/state-counts/`). **Main-red, not this PR's.** `check:liveness` refuses `translation/flows.screens → packages/services/service-automation/src/engine.ts`: the citation names a file that no longer names the property. Reproduced on a clean `origin/main` `c61f75d10f` worktree (exit 1, same line). The service-automation refactors that moved bodies out of `engine.ts` (#25725, #25734) moved `renderFlowTextSlot` to `packages/services/service-automation/src/node-text-rendering.ts`. The proposed patch, not carried here because it is outside this diff: in `packages/spec/liveness/translation.json`, re-point that row's `engine.ts#renderFlowTextSlot` evidence to `node-text-rendering.ts#renderFlowTextSlot`. No fix PR existed to port when this was measured. **Ablation (reverse verification of the pin).** The pin imports `src`, so there is no `dist/` leg. Through `node scripts/ablation-replace.mjs` on the committed tree, I replaced the retirement comment in `src/kernel/index.ts` with `export * from './package-upgrade.zod';` (anchor 1 → 0, blob `baf1437875cf` → `cc18be2f5671`) and restored the module from the base under an EXIT trap. Predicted red: runtime namespaces, module-on-disk / importer, and the tree-scoped walk. Predicted green: export-origin holders (they read the committed artifact), shards, registration, the contract type and the `plan` shape. **Observed exactly that: 3 red, 7 green.** The restore was blob-identical to `HEAD` (`baf1437875cf`), `git diff HEAD` was empty, and the restored module was deleted. A first attempt was a recorded no-op (its replacement kept the anchor, so the tool refused it) and is not counted. **Downstream.** objectui main `a3c0da9` / pin `2958f17e9c`, and hotcrm `a4b3560`: zero hits (table above). No objectui fix or pin bump is needed. ## Acceptance notes - `content/docs/protocol/kernel/lifecycle.mdx` § Upgrades describes `objectstack upgrade` strategies and pre-upgrade backups as design intent, flagged as such at the top of the page; it never cited the retired spec and this diff does not make it false. Not touched. - `PackageUpgradeRequestSchema` / `PackageUpgradeResponseSchema` stay published and bound to no route (recorded by the existing D3 entry `package-api-contracts-unmounted-entries-retired`); retiring them is outside this card. - The D3 entry `change-management-family-retired` (history) still says `kernel/MetadataChangeType` was "a different declaration with a live consumer" and "unaffected". That was true of that retirement; its only reader was the module retired here. Left as history. 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_01T5pRzjp4QpCwioKZ9Gt5tC --- _Generated by [Claude Code](https://claude.ai/code/session_01T5pRzjp4QpCwioKZ9Gt5tC)_ --------- Co-authored-by: Claude <noreply@anthropic.com> Co-authored-by: objectstack-fleet[bot] <332303061+objectstack-fleet[bot]@users.noreply.github.com>
1 parent 52f3f51 commit 557973d

44 files changed

Lines changed: 642 additions & 1374 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
---
2+
'@objectstack/spec': minor
3+
---
4+
5+
**BREAKING** — the package upgrade model (`kernel/package-upgrade.zod.ts`: upgrade plan, metadata diff, impact level, pre-upgrade snapshot, upgrade and rollback request/response, phase vocabulary), the four `IPackageService` upgrade members and the `plan` member of `PackageUpgradeResponse` leave the public surface (#25608).
6+
7+
A `major`-class change, recorded as `minor` under the launch-window convention. Maintainer ruling A (`6259332195`, item 3, 「其他同意」): "**Retired:** `packages/spec/src/kernel/package-upgrade.zod.ts` (plan, diff, conflict, snapshot, rollback; zero runtime consumers), with its ADR-0087 conversion." Done directly in 18.x, with no retirement stage; ADR-0049 enforce-or-remove.
8+
9+
Clause-②: no (narrowing)
10+
Metadata-protocol: narrowed
11+
Ruling-ref: 6259332195
12+
13+
**Why.** `@objectstack/spec` declared a complete package upgrade lifecycle — plan the upgrade against a metadata diff, grade its impact, take a pre-upgrade snapshot, three-way merge the customer's customizations, roll back to the snapshot — and nothing on the platform implemented any of it. No provider implements `IPackageService`, so `planUpgrade`, `upgrade`, `rollback` and `getSnapshot` had no body anywhere; no route answers `UpgradePackageRequest` or `RollbackPackageRequest`; and no package, example, app or skill in this repository, in objectui or in hotcrm read any of the names. `UpgradePackageRequest.createSnapshot: true` and `mergeStrategy: 'three-way-merge'` read as protections the platform gave an operator's customizations, and it never did.
14+
15+
### FROM → TO
16+
17+
| removed | from | what to write instead |
18+
| --- | --- | --- |
19+
| `UpgradePlanSchema`, `MetadataDiffItemSchema`, `MetadataChangeTypeSchema`, `UpgradeImpactLevelSchema` (with their types and `…Parsed` aliases) | `@objectstack/spec/kernel` | nothing — no code ever generated an upgrade plan or diffed two package versions. |
20+
| `UpgradeSnapshotSchema`, `RollbackPackageRequestSchema`, `RollbackPackageResponseSchema` (with their types and `…Parsed` aliases) | `@objectstack/spec/kernel` | nothing — no snapshot was ever taken. The package rollback the platform serves is the commit rollback, `POST /api/v1/packages/:id/rollback` with a `commitId`, answered by `RollbackToPackageCommitResponseSchema` (`@objectstack/spec/api`). |
21+
| `UpgradePackageRequestSchema`, `UpgradePackageResponseSchema`, `UpgradePhaseSchema` (with their types and `…Parsed` aliases) | `@objectstack/spec/kernel` | nothing — no upgrade ever ran. Installing a new version over an installed package is a re-install: `POST /api/v1/packages` with `overwrite: true` (the SDK's `packages.install(manifest, { overwrite: true })`). |
22+
| `IPackageService.planUpgrade`, `.upgrade`, `.rollback`, `.getSnapshot`, and their inputs `PlanUpgradeInput`, `ExecuteUpgradeInput`, `RollbackInput` | `@objectstack/spec/contracts` | delete the members from your implementation and the imports of the three inputs — the contract no longer carries them. |
23+
| `PackageUpgradeResponse.data.plan` | `@objectstack/spec/api` | nothing — it carried the retired `UpgradePlan`. `PackageUpgradeRequestSchema` and `PackageUpgradeResponseSchema` themselves stay published, bound to no route. |
24+
25+
**The one-line fix: delete every import of the names above and every read of `PackageUpgradeResponse.data.plan`.** The compiler finds them (`TS2305: Module '"@objectstack/spec/kernel"' has no exported member …`, and `TS2339` for `plan`). No behaviour is lost — nothing ever read or produced these shapes.
26+
27+
**What stays.** The package model beside it — `ManifestSchema`, `InstalledPackageSchema`, `PackageArtifactSchema`, the install, uninstall, enable/disable and dependency-resolution members of `IPackageService` — is unchanged. The `UpgradePlan.estimatedDuration` tombstone leaves with its def's source; its `RETIRED_KEYS_BY_MAJOR[18]` entry and the D3 entry `kernel-package-lifecycle-durations-unit-in-key` stay as history.
28+
29+
⚠️ Runtime behaviour is deliberately **unchanged**: nothing ever parsed a retired shape or called a retired member, so every request answers exactly as before. The removal retracts a false claim, not a capability. **No deprecation window** (startup-stage posture: retirements take effect immediately).
30+
31+
⚠️ **The out-of-repo consumer population beyond objectui and hotcrm is NOT MEASURED.** Inside this repository the names occurred only in their declarations, their own tests, generated artifacts and prose; objectui (main and the pinned `.objectui-sha`) and hotcrm name none of them; `@objectstack/spec` is published, so readers elsewhere were not measured.
32+
33+
The ADR-0087 D3 semantic entry `kernel-package-upgrade-family-retired` carries the judgement, and the ten defs are registered in `RETIRED_DEFS_BY_MAJOR[18]`: none of these shapes is a stack collection or a metadata type, so there is no source for a D2 conversion to rewrite and no carrier key for a tombstone.
34+
35+
<!-- adr-0087: registered kernel-package-upgrade-family-retired -->

‎content/docs/getting-started/quick-reference.mdx‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ Presentation layer - views, forms, dashboards, and app branding.
6161
| **[Chart](/docs/references/ui/chart)** | `chart.zod.ts` | Chart, ChartType | Chart definitions |
6262
| **[Widget Contract](/docs/protocol/objectui/widget-contract)** ↗ | `widget.zod.ts` | FieldWidgetProps | Props a custom field widget receives — the contract is documented with ObjectUI, outside `references/ui/` |
6363

64-
## Kernel Protocol (17 of 30 schemas)
64+
## Kernel Protocol (17 of 29 schemas)
6565

6666
Plugin architecture, manifests, and kernel runtime.
6767

‎content/docs/references/api/package-api.mdx‎

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -585,7 +585,7 @@ Upgrade package response
585585
| **success** | `boolean` | ✅ | Operation success status |
586586
| **error** | `{ code: Enum<'VALIDATION_ERROR' \| 'INVALID_FIELD' \| 'MISSING_REQUIRED_FIELD' \| …>; declaredCode?: string; message: string; userMessage?: string; … }` | optional | Error details if success is false |
587587
| **meta** | `{ timestamp: string; duration?: integer; requestId?: string; traceId?: string }` | optional | Response metadata |
588-
| **data** | `{ success: boolean; phase: string; plan?: object; snapshotId?: string; … }` | ✅ | |
588+
| **data** | `{ success: boolean; phase: string; snapshotId?: string; conflicts?: object[]; … }` | ✅ | |
589589

590590
### Nested Shape: `PackageUpgradeResponse.error`
591591

@@ -616,7 +616,6 @@ Upgrade package response
616616
| :--- | :--- | :--- | :--- |
617617
| **success** | `boolean` | ✅ | Whether the upgrade succeeded |
618618
| **phase** | `string` | ✅ | Current upgrade phase |
619-
| **plan** | `{ packageId: string; fromVersion: string; toVersion: string; impactLevel: Enum<'none' \| 'low' \| 'medium' \| 'high' \| 'critical'>; … }` | optional | Upgrade plan that was executed |
620619
| **snapshotId** | `string` | optional | Snapshot ID for rollback |
621620
| **conflicts** | `{ path: string; baseValue: any; incomingValue: any; customValue: any }[]` | optional | Unresolved merge conflicts |
622621
| **errorMessage** | `string` | optional | Error message if failed |

‎content/docs/references/index.mdx‎

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
title: Protocol reference — every schema by module
33
navTitle: Protocol Reference
4-
description: Every schema published by @objectstack/spec — 1549 schemas across 14 protocol modules
4+
description: Every schema published by @objectstack/spec — 1539 schemas across 14 protocol modules
55
---
66

77
{/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */}
@@ -26,15 +26,15 @@ counts are sums of the rows they head. Regenerate with
2626
| [Data Protocol](/docs/references/data) | 29 | 178 | Objects, fields, queries, filters, datasources and drivers — the ObjectQL layer. |
2727
| [Identity Protocol](/docs/references/identity) | 5 | 27 | Users and accounts, organizations, positions, SCIM provisioning. |
2828
| [Integration Protocol](/docs/references/integration) | 1 | 12 | The single connector protocol (ADR-0097) — catalog descriptors and provider-bound instances. |
29-
| [Kernel Protocol](/docs/references/kernel) | 30 | 161 | Plugin lifecycle and manifests, capabilities and security, metadata loading, service registry. |
29+
| [Kernel Protocol](/docs/references/kernel) | 29 | 151 | Plugin lifecycle and manifests, capabilities and security, metadata loading, service registry. |
3030
| [Marketplace Protocol](/docs/references/marketplace) | 4 | 30 | The package & marketplace format — package identity and versions, listing, publish, review, search, install, template manifests. |
3131
| [QA Protocol](/docs/references/qa) | 1 | 8 | Declarative test suites — scenarios, steps, actions and assertions. |
3232
| [Security Protocol](/docs/references/security) | 5 | 34 | Permission sets, row-level security, sharing rules, tenancy posture. |
3333
| [Shared Protocol](/docs/references/shared) | 10 | 31 | Primitives used across every protocol — identifiers, HTTP, expressions, error maps, enums. |
3434
| [Studio Protocol](/docs/references/studio) | 3 | 35 | Studio designer metadata — the authoring surfaces for the protocols above. |
3535
| [System Protocol](/docs/references/system) | 36 | 285 | The runtime environment — logging, jobs, cache, metrics, notifications, i18n and compliance. |
3636
| [UI Protocol](/docs/references/ui) | 16 | 169 | Apps, pages, views, dashboards, reports, actions and themes — the ObjectUI layer. |
37-
| **Total** | **198** | **1549** | 14 protocol modules |
37+
| **Total** | **197** | **1539** | 14 protocol modules |
3838

3939
---
4040

@@ -199,7 +199,7 @@ The single connector protocol (ADR-0097) — catalog descriptors and provider-bo
199199

200200
## Kernel Protocol
201201

202-
**Source:** `packages/spec/src/kernel/` · **Import:** `@objectstack/spec/kernel` · **30 pages, 161 schemas**
202+
**Source:** `packages/spec/src/kernel/` · **Import:** `@objectstack/spec/kernel` · **29 pages, 151 schemas**
203203

204204
Plugin lifecycle and manifests, capabilities and security, metadata loading, service registry.
205205

@@ -222,7 +222,6 @@ Plugin lifecycle and manifests, capabilities and security, metadata loading, ser
222222
| [`metadata-protection.zod.ts`](/docs/references/kernel/metadata-protection) | `MetadataLock`, `MetadataLockSource`, `MetadataProvenance` |
223223
| [`package-artifact.zod.ts`](/docs/references/kernel/package-artifact) | `ArtifactChecksum`, `ArtifactFileEntry`, `ArtifactSignature`, `MetadataCategoryEnum`, `PackageArtifact` |
224224
| [`package-registry.zod.ts`](/docs/references/kernel/package-registry) | `DisablePackageRequest`, `DisablePackageResponse`, `EnablePackageRequest`, `EnablePackageResponse`, `GetPackageRequest`, `GetPackageResponse`, `InstallPackageRequest`, `InstallPackageResponse`, `InstalledPackage`, `InstalledPackageSource`, `ListPackagesRequest`, `ListPackagesResponse`, `NamespaceConflictError`, `NamespaceRegistryEntry`, `PackageStatusEnum`, `UninstallPackageRequest`, `UninstallPackageResponse` |
225-
| [`package-upgrade.zod.ts`](/docs/references/kernel/package-upgrade) | `MetadataChangeType`, `MetadataDiffItem`, `RollbackPackageRequest`, `RollbackPackageResponse`, `UpgradeImpactLevel`, `UpgradePackageRequest`, `UpgradePackageResponse`, `UpgradePhase`, `UpgradePlan`, `UpgradeSnapshot` |
226225
| [`plugin.zod.ts`](/docs/references/kernel/plugin) | `Plugin` |
227226
| [`plugin-capability.zod.ts`](/docs/references/kernel/plugin-capability) | `CapabilityConformanceLevel`, `ExtensionPoint`, `PluginCapability`, `PluginCapabilityManifest`, `PluginDependency`, `PluginInterface`, `ProtocolFeature`, `ProtocolReference`, `ProtocolVersion` |
228227
| [`plugin-lifecycle-advanced.zod.ts`](/docs/references/kernel/plugin-lifecycle-advanced) | `HotReloadConfig`, `PluginHealthCheck`, `PluginHealthReport`, `PluginHealthStatus`, `PluginStateSnapshot` |

‎content/docs/references/kernel/index.mdx‎

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
title: Kernel Protocol — complete schema reference
33
navTitle: Kernel Protocol
4-
description: "The ObjectStack Kernel Protocol in 30 reference pages: every schema in @objectstack/spec with its properties, types, defaults and a TypeScript example."
4+
description: "The ObjectStack Kernel Protocol in 29 reference pages: every schema in @objectstack/spec with its properties, types, defaults and a TypeScript example."
55
---
66

77
{/* ⚠️ AUTO-GENERATED — DO NOT EDIT. Run build-docs.ts to regenerate. Hand-written docs live in the module folders under content/docs/. */}
@@ -26,7 +26,6 @@ This section contains all protocol schemas for the kernel layer of ObjectStack.
2626
<Card href="/docs/references/kernel/metadata-protection" title="Metadata Protection" description="Source: packages/spec/src/kernel/metadata-protection.zod.ts" />
2727
<Card href="/docs/references/kernel/package-artifact" title="Package Artifact" description="Source: packages/spec/src/kernel/package-artifact.zod.ts" />
2828
<Card href="/docs/references/kernel/package-registry" title="Package Registry" description="Source: packages/spec/src/kernel/package-registry.zod.ts" />
29-
<Card href="/docs/references/kernel/package-upgrade" title="Package Upgrade" description="Source: packages/spec/src/kernel/package-upgrade.zod.ts" />
3029
<Card href="/docs/references/kernel/plugin" title="Plugin" description="Source: packages/spec/src/kernel/plugin.zod.ts" />
3130
<Card href="/docs/references/kernel/plugin-capability" title="Plugin Capability" description="Source: packages/spec/src/kernel/plugin-capability.zod.ts" />
3231
<Card href="/docs/references/kernel/plugin-lifecycle-advanced" title="Plugin Lifecycle Advanced" description="Source: packages/spec/src/kernel/plugin-lifecycle-advanced.zod.ts" />

‎content/docs/references/kernel/meta.json‎

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818
"---Packages---",
1919
"package-artifact",
2020
"package-registry",
21-
"package-upgrade",
2221
"---Metadata & Runtime---",
2322
"cli-extension",
2423
"cluster",

0 commit comments

Comments
 (0)