diff --git a/skills/objectstack-data/rules/field-types.md b/skills/objectstack-data/rules/field-types.md index 80bbe19a41..dcf4c2e45d 100644 --- a/skills/objectstack-data/rules/field-types.md +++ b/skills/objectstack-data/rules/field-types.md @@ -88,7 +88,7 @@ options: [ |:-----|:------------|:-----------| | `lookup` | Reference another object (independent) | `reference`, `lookupFilters`, `multiple`, `deleteBehavior` | | `master_detail` | Parent–child with lifecycle control | `reference`, `deleteBehavior` (`cascade`/`restrict` — `set_null` is refused) | -| `tree` | Hierarchical self-reference | `reference` | +| `tree` | Hierarchical self-reference | `reference` — optional; when written, this object's own name (any other object is refused at parse) | | `user` | Person picker — a lookup specialized to `sys_user` (assignee, watchers). Stored identically to `lookup` | `multiple` (collaborators), `defaultValue: 'current_user'` | > **`multiple: true` lookup ≠ junction object.** A multi-value lookup is stored @@ -106,9 +106,6 @@ options: [ | `video` | Video files | — | | `audio` | Audio files | — | -There is no per-field attachment config (size limits, allowed types, storage) — -storage concerns live outside the field schema. - ## Embedded (JSON sub-objects) Stored as JSON on the parent row — no separate table / FK: diff --git a/skills/objectstack-data/rules/relationships.md b/skills/objectstack-data/rules/relationships.md index 6fa8663bbe..e241b2d108 100644 --- a/skills/objectstack-data/rules/relationships.md +++ b/skills/objectstack-data/rules/relationships.md @@ -8,7 +8,7 @@ Guide for modeling relationships between objects using `lookup`, `master_detail` |:-----|:----------|:---------|:--------|:---------|:---------| | `lookup` | Independent | Optional by default | Independent | Supported via `summary` | "Related to" | | `master_detail` | Coupled (cascade delete) | Forced only under `controlled_by_parent`; else lint-warned | Inherits parent | Supported via `summary` | "Owned by" | -| `tree` | Self-reference | Optional | N/A | Not available | Hierarchical | +| `tree` | Self-reference | Optional — and so is `reference`, which when written must name this object itself; any other object is refused at parse, not lint-warned | N/A | Not available | Hierarchical | ## When to Use lookup vs master_detail