Skip to content

Commit d231332

Browse files
os-zhuangclaude
andcommitted
feat(spec)!: remove the orphaned FeatureFlagSchema module (kernel/feature.zod)
Follow-through of #3605: kernel/feature.zod.ts (FeatureStrategy, FeatureFlagSchema, the FeatureFlag factory + types) had zero runtime consumers, and its only protocol home — the static ObjectStackCapabilities.system.features descriptor — was itself removed as dead in #3605. Not authorable (defineStack has no features key), not registered, not read by any engine. Live toggles are the feature_flags settings manifest (ADR-0007, OS_FEATURE_FLAGS_*) and the PUBLIC_AUTH_FEATURES registry for auth gates. - Delete feature.zod.ts + feature.test.ts; kernel/index export dropped with a removal note; manifest keys kernel/FeatureFlag + kernel/FeatureStrategy dropped; PROTOCOL_MAP row dropped; SKILL_MAP entry dropped (skill refs regenerated). - Docs: references/kernel/feature.mdx removed by regen; the hand-written quick-reference row removed; the platform skill's Feature Flags section rewritten to point at the settings surface; public-auth-features.ts "not to be confused" comment updated. - api-surface: 4 exports, pure removal. Changeset (minor) carries the removed-shape → settings-manifest migration table. Verified: 6663 spec tests green, tsc clean, check:docs/api-surface/ skill-refs/skill-docs/react-blocks/skill-examples all in sync, downstream-contract typecheck clean. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
1 parent 4e9e184 commit d231332

15 files changed

Lines changed: 53 additions & 301 deletions

File tree

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
---
2+
"@objectstack/spec": minor
3+
---
4+
5+
feat(spec)!: remove the orphaned `FeatureFlagSchema` module (`@objectstack/spec/kernel` feature.zod)
6+
7+
Follow-through of the capabilities-descriptor prune (#3605). `kernel/feature.zod.ts`
8+
(`FeatureStrategy`, `FeatureFlagSchema`, the `FeatureFlag` factory and its
9+
`FeatureFlag` / `FeatureFlagInput` types) had **zero runtime consumers**, and its
10+
only protocol home — the static `ObjectStackCapabilities.system.features`
11+
descriptor — was itself removed as dead in #3605 (no endpoint ever served it).
12+
The module was a compile-checkable shape with nowhere to go: not authorable
13+
(`defineStack` has no `features` key; strict parsing strips it), not registered,
14+
not read by any engine.
15+
16+
**Migration — flags are runtime configuration, not authored metadata:**
17+
18+
| Removed | Live replacement |
19+
| --- | --- |
20+
| `FeatureFlagSchema` / `FeatureFlag.create()` rollout documents (strategies, percentage/group conditions) | the `feature_flags` **settings manifest** (`@objectstack/service-settings`, ADR-0007) — org-tunable `ai_enabled` / `beta_*` toggles, env-overridable via `OS_FEATURE_FLAGS_*` |
21+
| deployment-level capability gating | `PUBLIC_AUTH_FEATURES` registry (`kernel/public-auth-features.ts`) + `requiresFeature` sugar on actions/params (unchanged, live) |
22+
| runtime capability discovery | `GET /api/v1/discovery` (dynamic, declared === enforced) |
23+
24+
Docs regenerated (`references/kernel/feature.mdx` removed); the platform skill's
25+
Feature Flags section and the hand-written quick-reference row now point at the
26+
settings surface; `PROTOCOL_MAP.md` row dropped.

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

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,6 @@ Plugin architecture, manifests, and kernel runtime.
7474
| **[Service Registry](/docs/references/kernel/service-registry)** | `service-registry.zod.ts` | ServiceRegistryConfig, ServiceMetadata | Service discovery |
7575
| **[Startup Orchestrator](/docs/references/kernel/startup-orchestrator)** | `startup-orchestrator.zod.ts` | StartupOptions, StartupOrchestrationResult | System startup |
7676
| **[Events](/docs/kernel/events)** | `events.zod.ts` | Event, EventBusConfig | System event bus |
77-
| **[Feature](/docs/references/kernel/feature)** | `feature.zod.ts` | FeatureFlag | Feature flags |
7877
| **[Metadata Loader](/docs/references/kernel/metadata-loader)** | `metadata-loader.zod.ts` | MetadataLoaderContract | Metadata loading |
7978
| **[Package Registry](/docs/references/kernel/package-registry)** | `package-registry.zod.ts` | InstalledPackage, InstallPackageRequest | Package resolution |
8079

content/docs/references/kernel/feature.mdx

Lines changed: 0 additions & 56 deletions
This file was deleted.

content/docs/references/kernel/index.mdx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ This section contains all protocol schemas for the kernel layer of ObjectStack.
1212
<Card href="/docs/references/kernel/dependency-resolution" title="Dependency Resolution" description="Source: packages/spec/src/kernel/dependency-resolution.zod.ts" />
1313
<Card href="/docs/references/kernel/dev-plugin" title="Dev Plugin" description="Source: packages/spec/src/kernel/dev-plugin.zod.ts" />
1414
<Card href="/docs/references/kernel/execution-context" title="Execution Context" description="Source: packages/spec/src/kernel/execution-context.zod.ts" />
15-
<Card href="/docs/references/kernel/feature" title="Feature" description="Source: packages/spec/src/kernel/feature.zod.ts" />
1615
<Card href="/docs/references/kernel/manifest" title="Manifest" description="Source: packages/spec/src/kernel/manifest.zod.ts" />
1716
<Card href="/docs/references/kernel/metadata-customization" title="Metadata Customization" description="Source: packages/spec/src/kernel/metadata-customization.zod.ts" />
1817
<Card href="/docs/references/kernel/metadata-loader" title="Metadata Loader" description="Source: packages/spec/src/kernel/metadata-loader.zod.ts" />

content/docs/references/kernel/meta.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@
2727
"context",
2828
"dev-plugin",
2929
"execution-context",
30-
"feature",
3130
"metadata-customization",
3231
"metadata-loader",
3332
"metadata-persistence",

packages/spec/PROTOCOL_MAP.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -192,7 +192,6 @@ This document serves as the **Grand Map** of the ObjectStack specification. It l
192192
| [`manifest.zod.ts`](src/kernel/manifest.zod.ts) || **Manifest**. The `package.json` equivalent for the stack. |
193193
| [`context.zod.ts`](src/kernel/context.zod.ts) | | **Execution Context**. Request-scoped context (user, transaction). |
194194
| [`events.zod.ts`](src/kernel/events.zod.ts) | | **Kernel Events**. System lifecycle events. |
195-
| [`feature.zod.ts`](src/kernel/feature.zod.ts) | | **Feature Flags**. Toggleable system features. |
196195
| [`service-registry.zod.ts`](src/kernel/service-registry.zod.ts) | | **Service Registry**. Internal dependency injection. |
197196
| [`metadata-loader.zod.ts`](src/kernel/metadata-loader.zod.ts) | | **Loader**. Logic for loading definitions from disk/DB. |
198197
| [`plugin-loading.zod.ts`](src/kernel/plugin-loading.zod.ts) || **Plugin Loading**. Loading strategies, production-safe hot reload (`environment`, `productionSafety`), full plugin sandboxing (`scope`, `ipc`), code splitting, caching, and performance monitoring. |

packages/spec/api-surface.json

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1419,10 +1419,6 @@
14191419
"ExecutionContextSchema (const)",
14201420
"ExtensionPoint (type)",
14211421
"ExtensionPointSchema (const)",
1422-
"FeatureFlag (type)",
1423-
"FeatureFlagInput (type)",
1424-
"FeatureFlagSchema (const)",
1425-
"FeatureStrategy (const)",
14261422
"FieldChange (type)",
14271423
"FieldChangeSchema (const)",
14281424
"GetPackageRequest (type)",

packages/spec/json-schema.manifest.json

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -979,8 +979,6 @@
979979
"kernel/EventWebhookConfig",
980980
"kernel/ExecutionContext",
981981
"kernel/ExtensionPoint",
982-
"kernel/FeatureFlag",
983-
"kernel/FeatureStrategy",
984982
"kernel/FieldChange",
985983
"kernel/GetPackageRequest",
986984
"kernel/GetPackageResponse",

packages/spec/scripts/build-skill-references.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,6 @@ const SKILL_MAP: Record<string, string[]> = {
113113
'kernel/plugin-lifecycle-events.zod.ts',
114114
'kernel/plugin-capability.zod.ts',
115115
'kernel/plugin-loading.zod.ts',
116-
'kernel/feature.zod.ts',
117116
'kernel/metadata-plugin.zod.ts',
118117
],
119118
'objectstack-i18n': [

packages/spec/src/kernel/feature.test.ts

Lines changed: 0 additions & 134 deletions
This file was deleted.

0 commit comments

Comments
 (0)