Skip to content

chore(spec): regenerate stale ADR-0087 artifacts (spec-changes.json + upgrade guide) - #3330

Merged
os-zhuang merged 2 commits into
mainfrom
claude/regen-spec-changes-manifest
Jul 20, 2026
Merged

chore(spec): regenerate stale ADR-0087 artifacts (spec-changes.json + upgrade guide)#3330
os-zhuang merged 2 commits into
mainfrom
claude/regen-spec-changes-manifest

Conversation

@os-zhuang

@os-zhuangos-zhuang commented Jul 20, 2026

Copy link
Copy Markdown
Contributor

Two generated ADR-0087 artifacts went stale on main — never regenerated when the protocol moved to major 16 (the dashboard-widget .strict() migration, dashboard-widget-strict-unknown-keys, changeset dashboard-widget-strict-3251). Both are enforced by the Check Generated Artifacts CI job, so it fails on every open PR — a main-health issue surfaced while validating the ADR-0102 sandbox work (#3275 / #3328).

Stale artifacts (both pure projections of the ADR-0087 registries)

  1. packages/spec/spec-changes.json — the machine-readable change manifest (ADR-0087 D4) · check:spec-changes
  2. docs/protocol-upgrade-guide.md — the human upgrade guide · check:upgrade-guide (the job fails fast on Add metamodel interfaces for ObjectQL/ObjectUI contract #1, so this only surfaced once Add metamodel interfaces for ObjectQL/ObjectUI contract #1 was fixed)

Fix

Regenerated both with the committed generators — pure re-projection of already-merged registries, no source or behaviour change:

  • pnpm --filter @objectstack/spec gen:spec-changesprotocolVersion 15.0.0 → 16.0.0; aggregate to 15 → 16; new 15→16 migrated record
  • pnpm --filter @objectstack/spec gen:upgrade-guide → current protocol 15.0.0 → 16.0.0; new "Protocol 15 → 16" section

All three checks in the job (check:skill-docs, check:spec-changes, check:upgrade-guide) pass locally.

Notes

  • No new changeset: the underlying migration already shipped its own (dashboard-widget-strict-3251); this is a generated-artifact re-sync only.
  • allow-major bypasses the unrelated pre-existing @objectstack/console: major changeset already on main.

🤖 Generated with Claude Code

https://claude.ai/code/session_011iJLjqToxNv1aYP3syQtRp

`spec-changes.json` is a generated artifact (ADR-0087 D4) — a pure projection
of the D2 conversion table + D3 migration chain, enforced in CI by
`check:spec-changes` (the "Check Generated Artifacts" gate).
The committed manifest went stale on `main`: the dashboard-widget `.strict()`
migration (`dashboard-widget-strict-unknown-keys`, changeset
`dashboard-widget-strict-3251`) landed and moved the protocol major to 16, but
the manifest was never regenerated. As a result `check:spec-changes` fails on
every open PR, not just this one.
Regenerated with `pnpm --filter @objectstack/spec gen:spec-changes`. Pure
re-projection of already-merged registries — no source or behaviour change:
- protocolVersion 15.0.0 → 16.0.0
- aggregate to: 15 → 16
- new 15→16 migrated record: dashboard-widget-strict-unknown-keys
No new changeset: the underlying migration already shipped its own
(`dashboard-widget-strict-3251`); this is a generated-artifact re-sync only.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011iJLjqToxNv1aYP3syQtRp
@vercel

vercelBot commented Jul 20, 2026

Copy link
Copy Markdown

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

ProjectDeploymentActionsUpdated (UTC)
specReadyReadyPreview, CommentJul 20, 2026 2:17am

Request Review

@github-actions

Copy link
Copy Markdown
Contributor

📓 Docs Drift Check

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

104 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/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/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/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 @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/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.

…try updates
Second generated artifact stale from the same ADR-0087 registry change as the
`spec-changes.json` re-sync in this PR. The "Check Generated Artifacts" job runs
`check:spec-changes` then `check:upgrade-guide`; with the manifest fixed, the
upgrade guide surfaced as the next stale projection (the job had been failing
fast on the manifest before).
Regenerated with `pnpm --filter @objectstack/spec gen:upgrade-guide`. Pure
re-projection of already-merged registries — no source change:
- Current protocol 15.0.0 → 16.0.0
- new "Protocol 15 → 16" section: dashboard-widget-strict-unknown-keys
`check:skill-docs`, `check:spec-changes`, and `check:upgrade-guide` all pass
locally.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011iJLjqToxNv1aYP3syQtRp
@github-actionsgithub-actionsBot added the documentation Improvements or additions to documentation label Jul 20, 2026
@os-zhuangos-zhuang changed the title chore(spec): regenerate stale spec-changes.json (protocol 15→16 registry re-sync)chore(spec): regenerate stale ADR-0087 artifacts (spec-changes.json + upgrade guide)Jul 20, 2026
@os-zhuang
os-zhuang marked this pull request as ready for review July 20, 2026 02:33
@os-zhuang
os-zhuang merged commit 6723330 into mainJul 20, 2026
17 checks passed
@os-zhuang
os-zhuang deleted the claude/regen-spec-changes-manifest branch July 20, 2026 02:33
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

allow-majordocumentationImprovements or additions to documentationsize/s

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@os-zhuang@claude