Skip to content

feat(spec): remove first batch of dead metadata props (#2377, A2) - #2402

Merged
os-zhuang merged 1 commit into
mainfrom
v11-a2-trivial
Jun 27, 2026
Merged

feat(spec): remove first batch of dead metadata props (#2377, A2)#2402
os-zhuang merged 1 commit into
mainfrom
v11-a2-trivial

Conversation

@os-zhuang

Copy link
Copy Markdown
Contributor

First, low-risk slice of #2377 (ADR-0049 enforce-or-remove). Only the cleanly-verifiable, unique-named dead props with near-zero test footprint.

Removed (verified 0 set / 0 read across framework + objectui + cloud + hotcrm + templates)

  • field: caseSensitive, maxRating
  • object: softDelete (+ SoftDeleteConfigSchema), partitioning (+ PartitioningConfigSchema), defaultDetailForm
  • dataset: measures.certified

Liveness ledgers (field/object/dataset) updated; api-surface.json regenerated (drops SoftDeleteConfig/PartitioningConfig types only); dataset.test.ts default assertion fixed.

Deliberately NOT removed (deferred in #2377)

The overloaded-name candidates (field.index/columnName/dependencies, object.tags/active/abstract/isSystem/search/versioning/enable.*, agent.tenantId, action.timeout) — their names are too overloaded across the test suite (dependencies 18 files, tags 26, tenantId 21, …) to reliably separate spec-prop usage from noise. They're unenforced-but-harmless; see the issue for the safe/risky split.

Verification

Full spec suite 6595 passed; check:api-surface ✓; spec-property-liveness gate ✓; fixed-group check ✓. Folded into the 11 line (minor → 11.1.0).

🤖 Generated with Claude Code

@vercel

vercelBot commented Jun 27, 2026

Copy link
Copy Markdown

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

ProjectDeploymentActionsUpdated (UTC)
specReadyReadyPreview, CommentJun 27, 2026 6:42pm

Request Review

@github-actions

Copy link
Copy Markdown
Contributor

📓 Docs Drift Check

This PR changes 1 package(s): @objectstack/spec.

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

  • content/docs/concepts/architecture.mdx(via @objectstack/spec)
  • content/docs/concepts/cloud-artifact-api.mdx(via packages/spec)
  • content/docs/concepts/cluster-semantics.mdx(via @objectstack/spec)
  • content/docs/concepts/design-principles.mdx(via packages/spec)
  • content/docs/concepts/implementation-status.mdx(via @objectstack/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/concepts/packages.mdx(via @objectstack/spec)
  • content/docs/concepts/setup-app.mdx(via @objectstack/spec)
  • content/docs/concepts/skills.mdx(via @objectstack/spec)
  • content/docs/concepts/webhook-delivery.mdx(via @objectstack/spec)
  • content/docs/getting-started/architecture.mdx(via @objectstack/spec)
  • content/docs/getting-started/cli.mdx(via @objectstack/spec)
  • content/docs/getting-started/core-concepts.mdx(via @objectstack/spec)
  • content/docs/getting-started/examples.mdx(via @objectstack/spec)
  • content/docs/getting-started/quick-start.mdx(via @objectstack/spec)
  • content/docs/guides/adding-a-metadata-type.mdx(via @objectstack/spec)
  • content/docs/guides/ai-capabilities.mdx(via @objectstack/spec)
  • content/docs/guides/airtable-dashboard-analysis.mdx(via @objectstack/spec)
  • content/docs/guides/analytics-datasets.mdx(via @objectstack/spec)
  • content/docs/guides/api-reference.mdx(via @objectstack/spec)
  • content/docs/guides/business-logic.mdx(via @objectstack/spec)
  • content/docs/guides/cheatsheets/backward-compatibility.mdx(via @objectstack/spec)
  • content/docs/guides/cheatsheets/error-catalog.mdx(via @objectstack/spec)
  • content/docs/guides/cheatsheets/field-type-gallery.mdx(via @objectstack/spec)
  • content/docs/guides/cheatsheets/field-validation-rules.mdx(via @objectstack/spec)
  • content/docs/guides/cheatsheets/permissions-matrix.mdx(via @objectstack/spec)
  • content/docs/guides/cheatsheets/protocol-diagram.mdx(via packages/spec)
  • content/docs/guides/cheatsheets/query-cheat-sheet.mdx(via @objectstack/spec)
  • content/docs/guides/cheatsheets/quick-reference.mdx(via @objectstack/spec)
  • content/docs/guides/client-sdk.mdx(via @objectstack/spec)
  • content/docs/guides/common-patterns.mdx(via @objectstack/spec)
  • content/docs/guides/contracts/auth-service.mdx(via packages/spec)
  • content/docs/guides/contracts/cache-service.mdx(via packages/spec)
  • content/docs/guides/contracts/data-engine.mdx(via @objectstack/spec)
  • content/docs/guides/contracts/index.mdx(via @objectstack/spec)
  • content/docs/guides/contracts/metadata-service.mdx(via packages/spec)
  • content/docs/guides/contracts/storage-service.mdx(via packages/spec)
  • content/docs/guides/data-modeling.mdx(via @objectstack/spec)
  • content/docs/guides/driver-configuration.mdx(via @objectstack/spec)
  • content/docs/guides/error-handling-client.mdx(via @objectstack/spec)
  • content/docs/guides/error-handling-server.mdx(via @objectstack/spec)
  • content/docs/guides/external-datasources.mdx(via @objectstack/spec)
  • content/docs/guides/formula.mdx(via @objectstack/spec)
  • content/docs/guides/hook-bodies.mdx(via packages/spec)
  • content/docs/guides/kernel-services.mdx(via @objectstack/spec)
  • content/docs/guides/metadata/dashboard.mdx(via @objectstack/spec)
  • content/docs/guides/metadata/field.mdx(via @objectstack/spec)
  • content/docs/guides/metadata/flow.mdx(via @objectstack/spec)
  • content/docs/guides/metadata/index.mdx(via @objectstack/spec)
  • content/docs/guides/metadata/object.mdx(via @objectstack/spec)
  • content/docs/guides/metadata/validation.mdx(via @objectstack/spec)
  • content/docs/guides/metadata/workflow.mdx(via @objectstack/spec)
  • content/docs/guides/packages.mdx(via @objectstack/spec)
  • content/docs/guides/plugin-development.mdx(via @objectstack/spec)
  • content/docs/guides/plugins.mdx(via @objectstack/spec)
  • content/docs/guides/project-scoping.mdx(via @objectstack/spec)
  • content/docs/guides/public-forms.mdx(via @objectstack/spec)
  • content/docs/guides/runtime-services/email-service.mdx(via packages/spec)
  • content/docs/guides/runtime-services/index.mdx(via packages/spec)
  • content/docs/guides/runtime-services/queue-service.mdx(via packages/spec)
  • content/docs/guides/runtime-services/sharing-service.mdx(via packages/spec)
  • content/docs/guides/runtime-services/storage-service.mdx(via packages/spec)
  • content/docs/guides/security.mdx(via @objectstack/spec)
  • content/docs/guides/seed-data.mdx(via @objectstack/spec)
  • content/docs/guides/skills.mdx(via @objectstack/spec)
  • content/docs/guides/standards.mdx(via @objectstack/spec)
  • content/docs/guides/troubleshooting.mdx(via @objectstack/spec)
  • content/docs/guides/validating-metadata.mdx(via @objectstack/spec)
  • content/docs/protocol/knowledge.mdx(via @objectstack/spec)
  • content/docs/protocol/objectos/config-resolution.mdx(via @objectstack/spec)
  • content/docs/protocol/objectos/i18n-standard.mdx(via @objectstack/spec)
  • content/docs/protocol/objectos/lifecycle.mdx(via @objectstack/spec)
  • content/docs/protocol/objectos/plugin-spec.mdx(via @objectstack/spec)
  • content/docs/protocol/objectos/runtime-capabilities.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 packages/spec)
  • content/docs/protocol/objectui/record-alert.mdx(via @objectstack/spec)
  • content/docs/protocol/objectui/widget-contract.mdx(via @objectstack/spec)
  • content/docs/releases/index.mdx(via @objectstack/spec)
  • content/docs/releases/v9.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.

Cleanly-verifiable, unique-named dead props with zero footprint outside spec:
- field: caseSensitive, maxRating
- object: partitioning (+PartitioningConfigSchema), defaultDetailForm
Liveness ledgers (field/object) updated; api-surface regenerated (drops
PartitioningConfig type only). softDelete + measures.certified deferred (set in
non-spec test fixtures); overloaded-name candidates deferred (see #2377).
Verified: full spec suite green; check:api-surface ✓; liveness gate ✓;
no non-spec usage of the four removed props.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@os-zhuang
os-zhuang merged commit 51bec81 into mainJun 27, 2026
17 checks passed
@os-zhuang
os-zhuang deleted the v11-a2-trivial branch June 27, 2026 18:50
os-zhuang added a commit that referenced this pull request Jul 3, 2026
…ailForm JSDoc (ADR-0085 remnants) (#2530)
Follow-up to the ADR-0085 hand-written docs sweep (#2529) — these two remnants
live in code and regenerate into docs:
- RecordDetailsProps layout/fields descriptions taught the deprecated
compactLayout name; now teach the canonical highlightFields (compactLayout
remains a supported alias). Regenerated react-blocks contract + reference md.
- Removed an orphaned JSDoc block for defaultDetailForm in object.zod.ts — the
prop was never implemented and was removed from the spec in #2402.
Doc-text only; no schema shape or behavior change.
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
@github-actionsgithub-actionsBot mentioned this pull request Jul 3, 2026
os-zhuang added a commit that referenced this pull request Jul 13, 2026
feat(plugin-detail,app-shell): Edit as primary CTA; enter inline edit by double-clicking a field (#2401) (#2402)
objectui@839536b1f4c0c0c1853cbc89f832fe7a431b2a9c
os-zhuang pushed a commit that referenced this pull request Jul 18, 2026
…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 added a commit that referenced this pull request Jul 18, 2026
#3176)
* feat(spec)!: remove dead author-facing metadata properties (#2377)
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
* docs(spec): regenerate reference docs after dead-prop removal (#2377)
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
* chore: version dead-prop removal as minor per launch-window policy (#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
---------
Co-authored-by: Claude <noreply@anthropic.com>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentationImprovements or additions to documentationprotocol:dataprotocol:uisize/steststooling

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@os-zhuang