Skip to content

feat(spec)!: remove dead author-facing metadata properties (#2377, A2) - #3176

Merged
os-zhuang merged 3 commits into
mainfrom
claude/remove-dead-author-metadata-psrgkg
Jul 18, 2026
Merged

os-zhuang merged 3 commits into
mainfrom
claude/remove-dead-author-metadata-psrgkg

Conversation

@os-zhuang

@os-zhuang os-zhuang commented Jul 18, 2026 •

Copy link
Copy Markdown
Contributor

Re-evaluation + next slice of #2377 (ADR-0049 enforce-or-remove). Follow-up to the merged #2402. Removes spec properties that parse but have no runtime consumer — a false affordance, especially for AI-authored metadata. Each was verified dead against packages/spec/liveness/*.json and a repo-wide reader grep.

Removed (each dead, no reader anywhere)

  • field (field.zod.ts): vectorConfig (+VectorConfigSchema+types), fileAttachmentConfig (+FileAttachmentConfigSchema+types), dependencies. Vector fields keep the live flat dimensions; file/image fields keep the live flat multiple/accept/maxSize.
  • object (object.zod.ts): versioning (+VersioningConfigSchema), softDelete (+SoftDeleteConfigSchema), search (+SearchConfigSchema), recordName, keyPrefix — each is now a rejecting tombstone in UNKNOWN_KEY_GUIDANCE carrying the upgrade prescription (matching the defaultDetailForm/compactLayout precedent).
  • action (action.zod.ts): timeout (server uses body.timeoutMs; no action-level timeout is enforced).
  • agent (agent.zod.ts): planning.strategy, planning.allowReplan (runtime reads only planning.maxIterations).
  • dataset (dataset.zod.ts): measures.certified (declared-but-unenforced governance flag; never compiled into the Cube).

Bookkeeping

  • Liveness ledgers (field/object/action/agent/dataset) + the ledger README count table updated.
  • api-surface.json regenerated (drops exactly the removed public exports); removed sub-schema keys dropped from json-schema.manifest.json.
  • Generated reference docs (content/docs/references/) regenerated via gen:schema && gen:docs.
  • Spec tests updated (removed vector/file/recordName blocks; trimmed agent planning tests; added an object tombstone-rejection test). Fixtures migrated in service-analytics (×4), rest, lint, cli.

Deliberately NOT removed (dead, but entangled — scoped follow-up)

These are dead but surfaced in the Studio metadata-authoring forms (*.form.ts), so removing them cascades into i18n-bundle regeneration:

  • field index / columnName / referenceFilters
  • object tags / active / isSystem / abstract / enable.searchable / enable.trash / enable.mru
  • agent tenantId

Plus action.type:'form' (has a dedicated build-time lint lint-view-refs.ts + a first-party showcase action → needs a UX decision) and field.columnName (also has an ADR-0062 D7 lint). All stay dead + authorWarn in the ledgers.

Migration

  • field/agent/dataset/action props: authoring them is now silently stripped (they never did anything) — remove them. Vector → flat dimensions; file/image → flat multiple/accept/maxSize.
  • object props: ObjectSchema.create() now throws a located error naming the replacement — versioning/softDelete → hard deletes + Field.trackHistory / lifecycle; search → searchableFields; recordName → an autonumber Field designated as nameField; keyPrefix → remove.

Versioning

Breaking spec-surface change, but versioned as a minor changeset per the launch-window policy — the whole publishable set is in the Changesets fixed group, so a major would promote the entire monorepo. Breaking cleanups ride the minor line (precedent: #2402 → 11.1.0).

Verification

  • Spec suite 6875 passed (256 files); check:api-surface ✓; check:docs ✓ (256 generated files in sync); spec-liveness gate ✓ (all governed props classified).
  • DTS typecheck of @objectstack/spec clean.
  • Migrated fixtures green: service-analytics (dataset-compiler/executor/query/rls, 51), rest analytics-routes (6), lint validate-widget-bindings (33), cli lint-liveness-properties (16).

Also in this task

Re-evaluated #2378 (IDataEngine) — no code work remains: the scope-corrected removal of the deprecated DriverInterface alias already landed in #2384 (IDataEngine is the live engine contract, not deprecated). Closed #2378 with that note.

🤖 Generated with Claude Code

Removes spec properties that parsed but had no runtime consumer (ADR-0049
enforce-or-remove) — a false affordance, especially for AI-authored metadata.
Follow-up slice to #2402. Verified dead against packages/spec/liveness/*.json
and a repo-wide reader grep.

Removed:
- field: vectorConfig (+VectorConfigSchema+types), fileAttachmentConfig
  (+FileAttachmentConfigSchema+types), dependencies
- object: versioning, softDelete, search, recordName, keyPrefix (+ their
  sub-schemas/types) — each now a rejecting tombstone in UNKNOWN_KEY_GUIDANCE
- action: timeout
- agent: planning.strategy, planning.allowReplan (keep planning.maxIterations)
- dataset: measures.certified

Ledgers, ledger README table, api-surface.json, and json-schema.manifest.json
updated; spec tests/fixtures migrated (analytics/rest/lint/cli). Deferred the
authoring-form-surfaced dead props (field.index/columnName/referenceFilters;
object.tags/active/isSystem/abstract/enable.searchable/trash/mru; agent.tenantId)
and action.type:'form' — they cascade into i18n/lint/UX and stay authorWarn'd.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011XchBKhKdjbhQZymt9Gn9B
@vercel

vercel Bot commented Jul 18, 2026 •

Copy link
Copy Markdown

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

Project Deployment Actions Updated (UTC)
spec Canceled Canceled Jul 18, 2026 6:38am

Request Review

@github-actions github-actions Bot added documentation Improvements or additions to documentation protocol:data tests tooling size/xl labels Jul 18, 2026
@github-actions

Copy link
Copy Markdown
Contributor

📓 Docs Drift Check

This PR changes 5 package(s): @objectstack/cli, @objectstack/lint, @objectstack/rest, packages/services, @objectstack/spec.

110 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 packages/cli, @objectstack/spec)
  • content/docs/ai/skills.mdx (via @objectstack/spec)
  • content/docs/api/client-sdk.mdx (via @objectstack/cli, @objectstack/spec)
  • content/docs/api/data-flow.mdx (via @objectstack/cli)
  • content/docs/api/environment-routing.mdx (via @objectstack/cli, @objectstack/spec)
  • content/docs/api/error-catalog.mdx (via @objectstack/cli, @objectstack/rest, @objectstack/spec)
  • content/docs/api/error-handling-client.mdx (via @objectstack/spec)
  • content/docs/api/error-handling-server.mdx (via @objectstack/rest, @objectstack/spec)
  • content/docs/api/index.mdx (via @objectstack/rest, @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/cli, packages/spec)
  • content/docs/automation/hooks.mdx (via @objectstack/spec)
  • content/docs/automation/index.mdx (via @objectstack/spec)
  • content/docs/automation/webhooks.mdx (via packages/services, @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/backup-restore.mdx (via @objectstack/cli)
  • content/docs/deployment/self-hosting.mdx (via @objectstack/cli)
  • content/docs/deployment/troubleshooting.mdx (via @objectstack/spec)
  • content/docs/getting-started/build-with-claude-code.mdx (via @objectstack/spec)
  • content/docs/getting-started/cli.mdx (via @objectstack/cli, @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/validating-metadata.mdx (via @objectstack/spec)
  • content/docs/getting-started/your-first-project.mdx (via @objectstack/cli, @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/audit-service.mdx (via packages/services)
  • content/docs/kernel/runtime-services/data-service.mdx (via packages/cli)
  • content/docs/kernel/runtime-services/email-service.mdx (via packages/spec)
  • content/docs/kernel/runtime-services/index.mdx (via packages/cli, packages/services, packages/spec)
  • content/docs/kernel/runtime-services/queue-service.mdx (via packages/spec)
  • content/docs/kernel/runtime-services/settings-service.mdx (via packages/services)
  • 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/authentication.mdx (via @objectstack/cli)
  • content/docs/permissions/authorization.mdx (via @objectstack/lint, @objectstack/spec)
  • 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/rest, @objectstack/spec)
  • content/docs/plugins/packages.mdx (via @objectstack/cli, @objectstack/rest, packages/services, @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 packages/services, @objectstack/spec)
  • content/docs/protocol/kernel/lifecycle.mdx (via @objectstack/spec)
  • content/docs/protocol/kernel/plugin-spec.mdx (via @objectstack/cli, @objectstack/spec)
  • content/docs/protocol/kernel/realtime-protocol.mdx (via @objectstack/cli)
  • 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 packages/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/cli, @objectstack/rest, @objectstack/spec)
  • content/docs/releases/index.mdx (via @objectstack/spec)
  • content/docs/releases/v12.mdx (via @objectstack/rest, @objectstack/spec)
  • content/docs/releases/v13.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.

claude added 2 commits July 18, 2026 06:26
Regenerated content/docs/references/ from the updated spec schema
(pnpm gen:schema && gen:docs) — field/object/action/agent/dataset
reference pages drop the removed properties; data/search-engine.mdx
and api/object.mdx removed as spec no longer defines them.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011XchBKhKdjbhQZymt9Gn9B
…2377)

The whole publishable set is in the Changesets fixed group, so a `major`
would promote the entire monorepo. Breaking spec cleanups ride the minor
line during the launch window (precedent: #2402 → 11.1.0).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011XchBKhKdjbhQZymt9Gn9B
@os-zhuang
os-zhuang marked this pull request as ready for review July 18, 2026 07:22
@os-zhuang
os-zhuang merged commit b659111 into main Jul 18, 2026
17 checks passed
@os-zhuang
os-zhuang deleted the claude/remove-dead-author-metadata-psrgkg branch July 18, 2026 07:22

This branch was successfully deployed

1 active deployment
Preview — 6aebd0d3 Deployed Jul 18, 2026 by vercel[bot]
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/xl tests tooling

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[11.0][A3] Remove deprecated IDataEngine interface (use IDataDriver)

2 participants