Skip to content

feat(spec)!: remove the orphaned FeatureFlagSchema module (kernel/feature.zod) - #3630

Merged
os-zhuang merged 2 commits into
mainfrom
chore/prune-orphan-featureflag
Jul 27, 2026
Merged

feat(spec)!: remove the orphaned FeatureFlagSchema module (kernel/feature.zod)#3630
os-zhuang merged 2 commits into
mainfrom
chore/prune-orphan-featureflag

Conversation

@os-zhuang

Copy link
Copy Markdown
Contributor

Follow-through of the capabilities-descriptor prune (#3605), which left kernel/feature.zod.ts a confirmed orphan. Umbrella #1878 family.

Why

FeatureStrategy / FeatureFlagSchema / the FeatureFlag factory had zero runtime consumers, and their only protocol home — the static ObjectStackCapabilities.system.features descriptor — was itself removed as dead in #3605 (no endpoint ever served it). The module was a compile-checkable shape with nowhere to go: not authorable (defineStack has no features key; strict parsing strips it), not registered, not read by any engine. The platform skill even documented it as living only on the removed descriptor.

The live surfaces (runtime configuration, not authored metadata):

  • feature_flags settings manifest (@objectstack/service-settings, ADR-0007) — org-tunable ai_enabled/beta_*, env-overridable via OS_FEATURE_FLAGS_*
  • PUBLIC_AUTH_FEATURES registry + requiresFeature sugar (unchanged, live)
  • GET /api/v1/discovery for runtime capability discovery

Changes

  • Delete feature.zod.ts + feature.test.ts; kernel index export dropped with a removal note (house pattern); manifest keys kernel/FeatureFlag + kernel/FeatureStrategy dropped; PROTOCOL_MAP.md row dropped; SKILL_MAP entry dropped and skill references regenerated.
  • Docs: references/kernel/feature.mdx removed by regeneration; 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 per launch-window policy) carries the removed-shape → settings-manifest migration table.
  • No cross-repo work: objectui/cloud import none of these symbols (verified incl. markdown/os:check blocks this time).

Verification

6663 spec tests green · tsc --noEmit clean · check:docs / check:api-surface / check:skill-refs / check:skill-docs / check:react-blocks / check:skill-examples all in sync · downstream-contract typecheck clean.

Refs #1878, #3605.

🤖 Generated with Claude Code

…ture.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>
@vercel

vercel Bot commented Jul 27, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated (UTC)
objectstack Ignored Ignored Jul 27, 2026 11:24am

Request Review

@github-actions github-actions Bot added documentation Improvements or additions to documentation tests tooling size/m labels Jul 27, 2026
@github-actions

github-actions Bot commented Jul 27, 2026

Copy link
Copy Markdown
Contributor

📓 Docs Drift Check

This PR changes 2 package(s): packages/qa, @objectstack/spec.

105 hand-written doc(s) reference the affected code and may need an implementation-accuracy re-verification:

  • content/docs/ai/agents.mdx (via @objectstack/spec)
  • content/docs/ai/skills-reference.mdx (via @objectstack/spec)
  • content/docs/ai/skills.mdx (via @objectstack/spec)
  • content/docs/api/client-sdk.mdx (via @objectstack/spec)
  • content/docs/api/environment-routing.mdx (via @objectstack/spec)
  • content/docs/api/error-catalog.mdx (via @objectstack/spec)
  • content/docs/api/error-handling-client.mdx (via @objectstack/spec)
  • content/docs/api/error-handling-server.mdx (via @objectstack/spec)
  • content/docs/api/index.mdx (via @objectstack/spec)
  • content/docs/automation/approvals.mdx (via packages/spec)
  • content/docs/automation/flows.mdx (via @objectstack/spec)
  • content/docs/automation/hook-bodies.mdx (via packages/spec)
  • content/docs/automation/hooks.mdx (via @objectstack/spec)
  • content/docs/automation/index.mdx (via @objectstack/spec)
  • content/docs/automation/webhooks.mdx (via @objectstack/spec)
  • content/docs/automation/workflows.mdx (via @objectstack/spec)
  • content/docs/concepts/architecture.mdx (via @objectstack/spec)
  • content/docs/concepts/design-principles.mdx (via packages/spec)
  • content/docs/concepts/index.mdx (via @objectstack/spec)
  • content/docs/concepts/metadata-driven.mdx (via @objectstack/spec)
  • content/docs/concepts/metadata-lifecycle.mdx (via packages/spec)
  • content/docs/concepts/north-star.mdx (via packages/spec)
  • content/docs/data-modeling/analytics.mdx (via @objectstack/spec)
  • content/docs/data-modeling/drivers.mdx (via @objectstack/spec)
  • content/docs/data-modeling/external-datasources.mdx (via @objectstack/spec)
  • content/docs/data-modeling/field-types.mdx (via @objectstack/spec)
  • content/docs/data-modeling/fields.mdx (via @objectstack/spec)
  • content/docs/data-modeling/formulas.mdx (via @objectstack/spec)
  • content/docs/data-modeling/index.mdx (via @objectstack/spec)
  • content/docs/data-modeling/objects.mdx (via @objectstack/spec)
  • content/docs/data-modeling/queries.mdx (via @objectstack/spec)
  • content/docs/data-modeling/schema-design.mdx (via @objectstack/spec)
  • content/docs/data-modeling/seed-data.mdx (via @objectstack/spec)
  • content/docs/data-modeling/validation-rules.mdx (via @objectstack/spec)
  • content/docs/data-modeling/validation.mdx (via @objectstack/spec)
  • content/docs/deployment/cli.mdx (via @objectstack/spec)
  • content/docs/deployment/troubleshooting.mdx (via @objectstack/spec)
  • content/docs/deployment/validating-metadata.mdx (via @objectstack/spec)
  • content/docs/getting-started/build-with-claude-code.mdx (via @objectstack/spec)
  • content/docs/getting-started/common-patterns.mdx (via @objectstack/spec)
  • content/docs/getting-started/examples.mdx (via @objectstack/spec)
  • content/docs/getting-started/quick-reference.mdx (via @objectstack/spec)
  • content/docs/getting-started/quick-start.mdx (via @objectstack/spec)
  • content/docs/getting-started/your-first-project.mdx (via @objectstack/spec)
  • content/docs/kernel/cluster.mdx (via @objectstack/spec)
  • content/docs/kernel/contracts/auth-service.mdx (via packages/spec)
  • content/docs/kernel/contracts/cache-service.mdx (via packages/spec)
  • content/docs/kernel/contracts/data-engine.mdx (via @objectstack/spec)
  • content/docs/kernel/contracts/index.mdx (via @objectstack/spec)
  • content/docs/kernel/contracts/metadata-service.mdx (via packages/spec)
  • content/docs/kernel/contracts/storage-service.mdx (via packages/spec)
  • content/docs/kernel/index.mdx (via packages/spec)
  • content/docs/kernel/runtime-services/email-service.mdx (via packages/spec)
  • content/docs/kernel/runtime-services/index.mdx (via packages/spec)
  • content/docs/kernel/runtime-services/queue-service.mdx (via packages/spec)
  • content/docs/kernel/runtime-services/sharing-service.mdx (via packages/spec)
  • content/docs/kernel/runtime-services/sms-service.mdx (via packages/spec)
  • content/docs/kernel/runtime-services/storage-service.mdx (via packages/spec)
  • content/docs/kernel/services-checklist.mdx (via @objectstack/spec)
  • content/docs/permissions/authorization.mdx (via packages/qa, @objectstack/spec)
  • content/docs/permissions/delegated-administration.mdx (via packages/qa)
  • content/docs/permissions/permission-sets.mdx (via @objectstack/spec)
  • content/docs/permissions/permissions-matrix.mdx (via @objectstack/spec)
  • content/docs/permissions/positions.mdx (via @objectstack/spec)
  • content/docs/permissions/rls.mdx (via @objectstack/spec)
  • content/docs/permissions/sharing-rules.mdx (via @objectstack/spec)
  • content/docs/plugins/adding-a-metadata-type.mdx (via @objectstack/spec)
  • content/docs/plugins/development.mdx (via @objectstack/spec)
  • content/docs/plugins/index.mdx (via @objectstack/spec)
  • content/docs/plugins/packages.mdx (via @objectstack/spec)
  • content/docs/protocol/backward-compatibility.mdx (via @objectstack/spec)
  • content/docs/protocol/diagram.mdx (via packages/spec)
  • content/docs/protocol/kernel/config-resolution.mdx (via @objectstack/spec)
  • content/docs/protocol/kernel/i18n-standard.mdx (via @objectstack/spec)
  • content/docs/protocol/kernel/index.mdx (via @objectstack/spec)
  • content/docs/protocol/kernel/lifecycle.mdx (via @objectstack/spec)
  • content/docs/protocol/kernel/plugin-spec.mdx (via @objectstack/spec)
  • content/docs/protocol/kernel/runtime-capabilities.mdx (via @objectstack/spec)
  • content/docs/protocol/knowledge.mdx (via @objectstack/spec)
  • content/docs/protocol/objectql/index.mdx (via @objectstack/spec)
  • content/docs/protocol/objectql/query-syntax.mdx (via @objectstack/spec)
  • content/docs/protocol/objectql/schema.mdx (via @objectstack/spec)
  • content/docs/protocol/objectql/security.mdx (via packages/spec)
  • content/docs/protocol/objectql/state-machine.mdx (via @objectstack/spec)
  • content/docs/protocol/objectui/actions.mdx (via @objectstack/spec)
  • content/docs/protocol/objectui/concept.mdx (via @objectstack/spec)
  • content/docs/protocol/objectui/index.mdx (via @objectstack/spec)
  • content/docs/protocol/objectui/layout-dsl.mdx (via @objectstack/spec)
  • content/docs/protocol/objectui/record-alert.mdx (via @objectstack/spec)
  • content/docs/protocol/objectui/widget-contract.mdx (via @objectstack/spec)
  • content/docs/releases/implementation-status.mdx (via @objectstack/spec)
  • content/docs/releases/index.mdx (via @objectstack/spec)
  • content/docs/releases/v12.mdx (via @objectstack/spec)
  • content/docs/releases/v13.mdx (via @objectstack/spec)
  • content/docs/releases/v16.mdx (via @objectstack/spec)
  • content/docs/releases/v9.mdx (via @objectstack/spec)
  • content/docs/ui/actions.mdx (via @objectstack/spec)
  • content/docs/ui/create-vs-edit-form.mdx (via @objectstack/spec)
  • content/docs/ui/dashboards.mdx (via @objectstack/spec)
  • content/docs/ui/forms.mdx (via @objectstack/spec)
  • content/docs/ui/index.mdx (via @objectstack/spec)
  • content/docs/ui/public-data-collection.mdx (via @objectstack/spec)
  • content/docs/ui/setup-app.mdx (via @objectstack/spec)
  • content/docs/ui/translations.mdx (via @objectstack/spec)
  • content/docs/ui/views.mdx (via @objectstack/spec)

Advisory only. To re-verify, run the docs-accuracy-audit workflow scoped to these files:
node scripts/docs-audit/affected-docs.mjs origin/main → pass the list as args.docs.

…he ADR-0058 ledger

The expression-conformance ledger's cel-formula entry covered
kernel/feature.zod.ts:expression — the surface vanished with the orphaned
FeatureFlagSchema module, so the ADR-0060 checkLedger STALE-covers gate
correctly failed Dogfood shard 2/2. Caught by the ledger, not by symbol
grep: the entry references the file PATH, not the FeatureFlag symbol.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@os-zhuang
os-zhuang merged commit f343dc4 into main Jul 27, 2026
18 checks passed
@os-zhuang
os-zhuang deleted the chore/prune-orphan-featureflag branch July 27, 2026 11:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation size/m tests tooling

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant