Skip to content

chore(spec): prune 7 dead field governance/compliance props (dead-surface plan)#1946

Merged
os-zhuang merged 1 commit into
mainfrom
chore/prune-field-governance-flags
Jun 16, 2026
Merged

chore(spec): prune 7 dead field governance/compliance props (dead-surface plan)#1946
os-zhuang merged 1 commit into
mainfrom
chore/prune-field-governance-flags

Conversation

@os-zhuang

Copy link
Copy Markdown
Contributor

Second batch of the dead-surface disposition plan. Removes 7 FieldSchema props that implied data-protection/governance behavior but had zero runtime consumer — false promises (encryption/masking imply at-rest protection that never happened; the real channel is type: 'secret'):

encryptionConfig · maskingRule · auditTrail · cached · dataQuality · writeRequiresMasterRead · trackFeedHistory

Cleanup: schema + now-unused EncryptionConfigSchema/MaskingRuleSchema imports + field.form.ts (5 form fields) + field.test.ts + ledger; references regenerated. Kept caseSensitive + dependencies (potentially functional — conservative). Field types unchanged.

Verification

  • Liveness gate green (field 34 live / 17 dead). Full @objectstack/spec suite green (242 files, 6562 tests). Grep-confirmed no object def / seed constructs them.
  • Ran the real objectstack dev showcase (37 plugins, 75 objects): boots clean, Console 200, showcase_field_zoo parses + serves (its code field no longer carries auditTrail), no field errors in the server log.

Follows #1945 (field display configs). Remaining field prunes (redundant flags searchable/index/externalId/columnName — heavier test coupling; master-detail overrides) and object-level prunes proceed as further per-cluster verified PRs.

🤖 Generated with Claude Code

…face plan)

Removes FieldSchema props that implied data-protection/governance behavior but had
zero runtime consumer — false promises (encryption/masking imply at-rest protection
that never happened; the real channel is type:'secret'):

  encryptionConfig · maskingRule · auditTrail · cached · dataQuality ·
  writeRequiresMasterRead · trackFeedHistory

Cleanup: field.zod.ts schema + the now-unused EncryptionConfigSchema/MaskingRuleSchema
imports + field.form.ts (5 form fields) + field.test.ts (writeRequiresMasterRead) +
field.json ledger; reference docs regenerated. Kept caseSensitive + dependencies
(potentially functional — conservative). Field *types* unchanged.

Verified: liveness gate green (field 34 live/17 dead); full @objectstack/spec suite
green (242 files, 6562 tests); grep-confirmed no object def/seed constructs them; ran
the real `objectstack dev` showcase (37 plugins, 75 objects) — boots clean, Console
200, showcase_field_zoo parses+serves (code field no longer carries auditTrail), no
field errors in the server log.

Second batch of the dead-surface disposition plan (per-cluster verified PRs).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@vercel

vercel Bot commented Jun 16, 2026

Copy link
Copy Markdown

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

Project Deployment Actions Updated (UTC)
spec Building Building Preview, Comment Jun 16, 2026 6:33am

Request Review

@github-actions github-actions Bot added documentation Improvements or additions to documentation protocol:data tests tooling size/s labels Jun 16, 2026
@github-actions

Copy link
Copy Markdown
Contributor

📓 Docs Drift Check

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

89 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/deployment-vercel.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/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/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.

@os-zhuang
os-zhuang merged commit 1b1f490 into main Jun 16, 2026
13 of 14 checks passed
@os-zhuang
os-zhuang deleted the chore/prune-field-governance-flags branch June 16, 2026 06:34
os-zhuang added a commit that referenced this pull request Jun 16, 2026
…tui-live (#1947)

The liveness ledgers were seeded from the 2026-06 audits, whose RENDERER-side
("dead in both layers") verdicts turn out to be unreliable — the audit did not
re-check the objectui repo (../objectui). Verifying directly against objectui
shows 9 field props the ledger called `dead` are actually LIVE in the renderer:

- externalId   → apps/console/.../metadataConverters.ts:125 (reads field.externalId)
- currencyConfig → packages/fields/src/index.tsx:469 (reads currencyConfig.defaultCurrency)
- searchable   → packages/plugin-dashboard/.../WidgetConfigPanel.tsx
- inlineTitle / inlineColumns / inlineAmountField → app-shell MetadataProvider +
  plugin-form/deriveMasterDetail.ts
- relatedList / relatedListTitle / relatedListColumns → app-shell RecordDetailView +
  utils/deriveRelatedLists.ts

Pruning these (as the dead-surface plan proposed) would have broken detail-page /
master-detail rendering. Reclassified dead→live with objectui evidence; gate green
(field 43 live / 8 dead).

IMPORTANT: liveness verification must include ../objectui, not just the framework
runtime. The already-merged prune batches (#1945 display configs, #1946 governance)
were re-verified against objectui and confirmed renderer-dead — safe. Further
pruning is paused until the other ledgers + the disposition plan are re-verified
against objectui.

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
os-zhuang added a commit that referenced this pull request Jun 24, 2026
)

Every runtime-authored metadata item must live in a writable package (base);
no orphans. Code/installed packages are read-only; the package is the
delete/export/duplicate unit. Unifies the contract across the kernel
(saveMetaItem), Studio UI, and ../cloud service-ai-studio AI authoring.
Retires the #2252 (coerce-to-null) and #1946 (Local scope) stopgaps.

Drafted from a business-user Studio dogfood pass. Status: Proposed.

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
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 protocol:data size/s tests tooling

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant