Repository navigation
fix(app-shell): the fallback email-template form stops offering the retired category and isSystem keys - #12193
Merged
objectstack-fleet[bot] merged 1 commit intoOct 12, 2026
Conversation
…etired category and isSystem keys The metadata admin's fallback schemas offered `email_template.category`, `email_template.isSystem` and the spec-17 tombstone `skill.triggerPhrases`. The spec retires the first two (ADR-0049 enforce-or-remove, the objectui half of objectstack-ai/objectstack issue 22876) and already refuses the third, so a form built from the fallback could write a key the server refuses. A current server serves its own schema for both types, which the edit page reads first, so the visible form is unchanged there. The file header said the fallback was used for every type; it now says when it is used. Claude-Session: https://claude.ai/code/session_019G5ZnRrTMiwcHG6iZM19zf Co-authored-by: Claude <noreply@anthropic.com>
Contributor
✅ Console Performance Budget
The eager closure is every chunk the entry reaches through static imports — what the browser fetches and parses before the app renders. The entry chunk on its own is a small fraction of it. 📦 Bundle Size Report
Size Limits
|
This was referenced Oct 12, 2026
objectstack-fleet
Bot
deleted the
claude/issue-22876-email-template-fallback-keys
branch
October 12, 2026 08:20
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Part of objectstack-ai/objectstack#22876
The objectui half of the
email_template.category/email_template.isSystemretirement (ADR-0049 enforce-or-remove). This PR leaves that card open: the spec half is the objectstack PR on branchclaude/issue-22876-dead-key-retirement-batch, which lands after this one and after a.objectui-shabump past this merge.What changed
One file,
packages/app-shell/src/views/metadata-admin/default-schemas.ts, plus apatchchangeset for@object-ui/app-shell:email_templateentry: thecategoryenum input and theisSystemcheckbox are removed.@objectstack/specretires both keys withretiredKey()tombstones, so a form that still offered them could write a key the server refuses. A comment in place says why.skillentry'striggerPhrasesinput is removed. The spec retired that key in 17 and its parse already refuses it.schemafor each type on/meta/types(with a hand-crafted fallback for a type that does not derive), andResourceEditPagereadsentry.schemafirst anddefaultSchemasecond. The header now says the fallback is read only when the server serves no schema for the type, and that an entry must not offer a retired key.Nothing is added to or removed from the package entry.
Why this is hygiene, not a save fix (measured)
email-template.form.ts, not this file. Booted on the objectstack branch (showcase,--fresh):GET /api/v1/meta/typesserves theemail_templateschema withoutcategoryorisSystem, and its form fields arename,label,locale,description,subject,bodyHtml,bodyText,variables,fromOverride,replyTo,active.categoryhas a default.Evidence (head
5f409db9)pnpm exec vitest run --maxWorkers=2 packages/app-shell/src/views/metadata-admin/from the repo root: 476 files passed, 5401 tests passed, 1 skipped, exit 0. Scope: every importer ofdefault-schemas.tslives inmetadata-admin/(index.ts,register-builtins.tsand three tests). Run under the shared verify lock on a shared box.pnpm exec turbo run type-check --concurrency=2 --filter=@object-ui/app-shell: 30 of 30 tasks passed, includingapp-shell:type-check(tsc --noEmit && tsc -p tsconfig.test.json), exit 0.node scripts/check-changeset-presence.mjs: exit 0. It found 1 changed source file of 1 released package, declared by 1 changeset.node scripts/check-changeset-no-major.mjs: exit 0.node scripts/check-new-cross-file-line-citations.mjs: 0 new citations, exit 0.pnpm exec eslinton the changed file: exit 0.Landing order (triage ruling on the card, kept)
.objectui-shabump card in objectstack, to a commit at or past this merge. It queues behind feat(spec,metadata-protocol)!: rename the type registry's allowOrgOverride to allowEnvironmentOverlay, on the registry and on GET /meta/types objectstack#22874, which holds that path today.Generated by Claude Code