Repository navigation
docs(skills): object-level composite/repeater are untyped JSON — a typed list is a child object - #25741
Merged
Conversation
…ed list is a child object Claude-Session: https://claude.ai/code/session_01T2U7eGg8aRTpJ8kKXxDiog Co-authored-by: Claude <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01T2U7eGg8aRTpJ8kKXxDiog Co-authored-by: Claude <noreply@anthropic.com>
os-zhuang
approved these changes
Oct 25, 2026
os-zhuang
marked this pull request as ready for review
October 25, 2026 05:07
os-zhuang
enabled auto-merge
October 25, 2026 05:07
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.
Refs #25681
Clause-②: no
Metadata-protocol: none
Ruling-ref: 6386744473
The governed half of ruling 6386744473 (batch #12 item 4, letter b): object-level
composite/repeaterare untyped JSON, and a typed list is a child object. The code and docs half is the companion PR onclaude/issue-25681-repeater-untyped-json. It is split off becauseskills/**is a Tier H governed surface and never rides a code PR.What changed
skills/objectstack-data/rules/field-types.md, the Embedded table. Thecompositerow said "Single embedded sub-object with declared sub-fields". An object field has no member that declares sub-fields:fields,subFieldsandcolumnsare refused on the field (true onmaintoday, measured withFieldSchema.safeParse). Both rows now say the type is untyped JSON. Therepeaterrow names the route: a child object with amaster_detailfield, andinlineEdit: 'grid'to edit it inline..changeset/25681-skills-repeater-untyped.md:@objectstack/skillspatch. Itsdistships the skill files, the same as the precedent061cc94d.Size readings
skills/objectstack-data/rules/field-types.mdskills/*/SKILL.md)Two cells rewritten, zero lines added: no expansion.
Verification (head
14a58a3a)node scripts/pm/dispatch-gates.mjs --repo objectstack-ai/objectstack --ran …→✓ 44 derived famil(ies) accounted for — 39 run, 5 NOT-MEASURED (5 DERIVED from a recorded exit 3). All 39 that ran exited 0,check-skills-token-ratchet.mjsand its--self-testamong them. The 5 NOT MEASURED are prerequisite refusals in an unbuilt worktree (check:doc-formula-expressions,check:dts-closure,check:dual-build-cjs-loads,check:lean-entry-closure,check:sourcemap-no-sources-content); CI builds and runs them.维护者速读(草稿)
objectstack-data的字段类型表有两行改了措辞:composite/repeater是无类型 JSON,对象字段不能声明子字段;要带列的列表请建子对象(master_detail,inlineEdit: 'grid'在父表单内联编辑)。另附一条@objectstack/skillspatch changeset。skills/**属 Tier H。复核通过、CI 全绿后请您批准合并。🤖 Generated with Claude Code
https://claude.ai/code/session_01T2U7eGg8aRTpJ8kKXxDiog
Generated by Claude Code