Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
42 changes: 42 additions & 0 deletions .changeset/dev-plugin-protocol-family-removed.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
---
"@objectstack/spec": major
---

refactor(spec)!: remove the Dev Mode Plugin Protocol family — a declared dev protocol nothing implemented, whose stub vocabulary described the design ADR-0115 retired (#4149)

`DevPluginConfigSchema`, `DevServiceOverrideSchema`, `DevFixtureConfigSchema`,
`DevToolsConfigSchema` and `DevPluginPreset` (`@objectstack/spec/kernel`,
dev-plugin.zod) are removed outright. The family declared a full dev-mode
configuration protocol — presets (minimal/standard/full), fixture loading, a
dev-tools dashboard on port 4400, per-service `mock`/`memory`/`stub`/
`passthrough` strategies, simulated latency — and none of it ever existed:

- **Zero consumers.** `@objectstack/plugin-dev` reads its own
`DevPluginOptions` interface and never imported these schemas; no other
package did either. The only references were the generated artifacts and the
family's own shape test.
- **No load path parsed it.** `stack.devPlugins` takes
`ManifestSchema | string` (plugin manifests/names), not this config — so no
authored source can carry these keys, which is why there is deliberately NO
`retiredKey()` tombstone and NO ADR-0087 conversion: a prescription nobody
can receive is noise, and there is no source for `os migrate meta` to
rewrite (the `plugin-runtime.zod.ts` DynamicLoadingConfig precedent, #3950).
- **Its vocabulary contradicted the platform.** `strategy: 'stub'` taught the
fill-the-slot-with-a-fake design that ADR-0115 retired; keeping the schema
meant the spec recommending what the runtime forbids.

FROM → TO: if you imported any of the five types from
`@objectstack/spec/kernel`, delete the import — there is nothing to migrate to,
because nothing ever consumed the values. To configure local development, use
`DevPluginOptions` from `@objectstack/plugin-dev` (port, seedAdminUser,
authSecret, per-part `services` toggles, extraPlugins, stack).

The retirement kit: baselines dropped deliberately (`json-schema.manifest.json`
minus the five `kernel/Dev*` entries; `authorable-surface.json` minus the 22
`kernel/Dev*` lines — nothing can author them, so no `[RETIRED]` markers);
`api-surface.json` regenerated (the five exports leave the public surface);
generated reference doc removed by `gen:docs`; v17 release notes' dead-clusters
table extended. No liveness-ledger entries existed (the ledger tracks metadata
types; this was never one).

No runtime behaviour changes — that impossibility is the reason for the removal.
130 changes: 0 additions & 130 deletions content/docs/references/kernel/dev-plugin.mdx

This file was deleted.

1 change: 0 additions & 1 deletion content/docs/references/kernel/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@ This section contains all protocol schemas for the kernel layer of ObjectStack.
<Card href="/docs/references/kernel/cluster" title="Cluster" description="Source: packages/spec/src/kernel/cluster.zod.ts" />
<Card href="/docs/references/kernel/context" title="Context" description="Source: packages/spec/src/kernel/context.zod.ts" />
<Card href="/docs/references/kernel/dependency-resolution" title="Dependency Resolution" description="Source: packages/spec/src/kernel/dependency-resolution.zod.ts" />
<Card href="/docs/references/kernel/dev-plugin" title="Dev Plugin" description="Source: packages/spec/src/kernel/dev-plugin.zod.ts" />
<Card href="/docs/references/kernel/execution-context" title="Execution Context" description="Source: packages/spec/src/kernel/execution-context.zod.ts" />
<Card href="/docs/references/kernel/manifest" title="Manifest" description="Source: packages/spec/src/kernel/manifest.zod.ts" />
<Card href="/docs/references/kernel/metadata-customization" title="Metadata Customization" description="Source: packages/spec/src/kernel/metadata-customization.zod.ts" />
Expand Down
1 change: 0 additions & 1 deletion content/docs/references/kernel/meta.json
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@
"cli-extension",
"cluster",
"context",
"dev-plugin",
"execution-context",
"metadata-customization",
"metadata-loader",
Expand Down
1 change: 1 addition & 0 deletions content/docs/releases/v17.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -806,6 +806,7 @@ import or the authored key.
| `AuditConfig` cluster (`@objectstack/spec/system`) | dead since #1878 |
| Capabilities-descriptor cluster (`ObjectQL`/`ObjectUI`/`Kernel`/`ObjectStack`/`ObjectOS CapabilitiesSchema`) | static snapshots superseded by runtime discovery |
| `FeatureFlagSchema` (`kernel` feature.zod) | orphaned module |
| `DevPluginConfigSchema` cluster (`kernel` dev-plugin.zod — `DevServiceOverride` / `DevFixtureConfig` / `DevToolsConfig` / `DevPluginPreset`) | a declared dev-mode protocol (presets, fixtures, dev-tools dashboard, per-service mock/stub strategies, simulated latency) nothing implemented and no load path parsed — `@objectstack/plugin-dev` reads its own `DevPluginOptions`, and the `strategy: 'stub'` vocabulary described the dev-stub design ADR-0115 retired (#4149) |
| `SkillSchema.permissions` | never gated anything (#3686) |
| `tool.requiresConfirmation` | a safety flag nothing enforced (#3715) |
| `object.enable.trash` / `enable.mru` | ADR-0049 enforce-or-remove close-out (#2377) |
Expand Down
10 changes: 0 additions & 10 deletions packages/spec/api-surface.json
Original file line number Diff line number Diff line change
Expand Up @@ -1405,16 +1405,6 @@
"DependencyStatusEnum (const)",
"DeprecationNotice (type)",
"DeprecationNoticeSchema (const)",
"DevFixtureConfig (type)",
"DevFixtureConfigSchema (const)",
"DevPluginConfig (type)",
"DevPluginConfigInput (type)",
"DevPluginConfigSchema (const)",
"DevPluginPreset (type)",
"DevServiceOverride (type)",
"DevServiceOverrideSchema (const)",
"DevToolsConfig (type)",
"DevToolsConfigSchema (const)",
"DisablePackageRequest (type)",
"DisablePackageRequestSchema (const)",
"DisablePackageResponse (type)",
Expand Down
24 changes: 1 addition & 23 deletions packages/spec/authorable-surface.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"description": "Ratchet of every AUTHORABLE key in the spec what a metadata author may write, which for this platform IS the third-party API. Auto-updated on additions (commit the change). A key that disappears without a tombstone fails gen:schema, because these schemas are not .strict() and Zod would silently strip it. \"[RETIRED]\" marks a tombstoned key that still rejects with an upgrade prescription. See #3855, ADR-0059 §5.",
"description": "Ratchet of every AUTHORABLE key in the spec \u2014 what a metadata author may write, which for this platform IS the third-party API. Auto-updated on additions (commit the change). A key that disappears without a tombstone fails gen:schema, because these schemas are not .strict() and Zod would silently strip it. \"[RETIRED]\" marks a tombstoned key that still rejects with an upgrade prescription. See #3855, ADR-0059 \u00a75.",
"keys": [
"ai/AIModelConfig:maxTokens",
"ai/AIModelConfig:model",
Expand Down Expand Up @@ -4598,28 +4598,6 @@
"kernel/DeprecationNotice:migrationPath",
"kernel/DeprecationNotice:reason",
"kernel/DeprecationNotice:removeIn",
"kernel/DevFixtureConfig:enabled",
"kernel/DevFixtureConfig:envFilter",
"kernel/DevFixtureConfig:paths",
"kernel/DevFixtureConfig:resetBeforeLoad",
"kernel/DevPluginConfig:fixtures",
"kernel/DevPluginConfig:open",
"kernel/DevPluginConfig:port",
"kernel/DevPluginConfig:preset",
"kernel/DevPluginConfig:seedAdminUser",
"kernel/DevPluginConfig:services",
"kernel/DevPluginConfig:simulatedLatency",
"kernel/DevPluginConfig:tools",
"kernel/DevServiceOverride:config",
"kernel/DevServiceOverride:enabled",
"kernel/DevServiceOverride:service",
"kernel/DevServiceOverride:strategy",
"kernel/DevToolsConfig:apiDocs",
"kernel/DevToolsConfig:dbExplorer",
"kernel/DevToolsConfig:hotReload",
"kernel/DevToolsConfig:mailCatcher",
"kernel/DevToolsConfig:requestInspector",
"kernel/DevToolsConfig:verboseLogging",
"kernel/DisablePackageRequest:id",
"kernel/DisablePackageResponse:message",
"kernel/DisablePackageResponse:package",
Expand Down
7 changes: 1 addition & 6 deletions packages/spec/json-schema.manifest.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"description": "Ratchet manifest of every JSON Schema emitted by scripts/build-schemas.ts. Auto-appended when new schemas are added (commit the change). A listed schema that a build no longer emits fails gen:schema remove a key ONLY for a deliberate retirement. See #2978.",
"description": "Ratchet manifest of every JSON Schema emitted by scripts/build-schemas.ts. Auto-appended when new schemas are added (commit the change). A listed schema that a build no longer emits fails gen:schema \u2014 remove a key ONLY for a deliberate retirement. See #2978.",
"schemas": [
"ai/AIModelConfig",
"ai/AIUsageRecord",
Expand Down Expand Up @@ -957,11 +957,6 @@
"kernel/DependencyResolutionResult",
"kernel/DependencyStatusEnum",
"kernel/DeprecationNotice",
"kernel/DevFixtureConfig",
"kernel/DevPluginConfig",
"kernel/DevPluginPreset",
"kernel/DevServiceOverride",
"kernel/DevToolsConfig",
"kernel/DisablePackageRequest",
"kernel/DisablePackageResponse",
"kernel/DistributedStateConfig",
Expand Down
Loading
Loading