From eaea14b0807f1b1ac0819c4a5a25f2ea0cecc707 Mon Sep 17 00:00:00 2001 From: Claude Date: Mon, 24 Aug 2026 16:30:58 +0000 Subject: [PATCH] docs(skills): make the objectstack-data ADR-0057 citations resolvable outside this repo MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit `skills/**` ships into customer codebases that have no `docs/adr/` to grep, so a bare `ADR-0057` resolves to nothing for its actual audience — and in this repo the number is one of three claimed by two unrelated records (the shrink-only `KNOWN_NUMBER_COLLISIONS` in `check-adr-anchors.mjs`): system data lifecycle vs. ERP authorization core. Three bare citations, fixed per site rather than uniformly, because `skills/objectstack-data/SKILL.md` sits at exactly its published-skills token ceiling (13817/13817, zero headroom): - `SKILL.md:84` and `:973` — decorative provenance. Both rows already state the retention/rotation/archival contract in full and already link to the in-bundle `./rules/lifecycle.md`, which does resolve for an external reader. The bare number is dropped; the provenance survives one hop away at the destination both rows already point to. Byte-negative, as the ratchet requires. - `rules/lifecycle.md:4` — the page that carries the substance, and unpriced by the ratchet (it prices `SKILL.md` only). Slug-qualified in place, following the convention already used on a published docs page. `SKILL.md:651`'s `ADR-0057 D1` is deliberately untouched — that citation is correct and unambiguous. Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_015ahemw8RcTgqtxrj15PEZx --- skills/objectstack-data/SKILL.md | 4 ++-- skills/objectstack-data/rules/lifecycle.md | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/skills/objectstack-data/SKILL.md b/skills/objectstack-data/SKILL.md index e55bf3119e..b633edf1c6 100644 --- a/skills/objectstack-data/SKILL.md +++ b/skills/objectstack-data/SKILL.md @@ -81,7 +81,7 @@ database table and exposes automatic CRUD APIs. | `titleFormat` | — | **Retired (ADR-0079)** — a render-only template the server can't return or query. Use `nameField`; for a composite title, designate a `returnType: 'text'` formula field as `nameField` | | `enable` | — | Capability flags (trackHistory, searchable, apiEnabled, etc.) | | `fieldGroups` | — | Ordered list of logical field groups for forms/detail pages (see [Field Groups](#field-groups-mvp)) | -| `lifecycle` | `record` semantics (permanent) | Data retention/rotation/archival contract (ADR-0057). **Required for append-only, high-write-rate objects** — a `telemetry`/`transient`/`event`/`audit` class must declare a bounding policy or parsing fails (see [Data Lifecycle & Retention](./rules/lifecycle.md)) | +| `lifecycle` | `record` semantics (permanent) | Data retention/rotation/archival contract. **Required for append-only, high-write-rate objects** — a `telemetry`/`transient`/`event`/`audit` class must declare a bounding policy or parsing fails (see [Data Lifecycle & Retention](./rules/lifecycle.md)) | ### Object Capabilities (`enable`) @@ -970,7 +970,7 @@ export const SetupApp = defineApp({ | Feature | When to Consider | |:--------|:-----------------| | `tenancy` | Multi-tenant SaaS — `{ enabled: true, tenantField: 'tenant_id' }` row-level isolation (DB-per-tenant is an environment/deployment choice, not object metadata) | -| `lifecycle` | Append-only / high-write-rate objects — retention / rotation / archival contract (ADR-0057); see [rules/lifecycle.md](./rules/lifecycle.md) | +| `lifecycle` | Append-only / high-write-rate objects — retention / rotation / archival contract; see [rules/lifecycle.md](./rules/lifecycle.md) | | per-field `trackHistory` | Render a field's value changes as human-readable activity-timeline entries (pair with `enable.trackHistory`, ADR-0052 §5b) | > The former `softDelete` / `versioning` object keys were **removed** from the diff --git a/skills/objectstack-data/rules/lifecycle.md b/skills/objectstack-data/rules/lifecycle.md index 34ab013667..8bdd63b451 100644 --- a/skills/objectstack-data/rules/lifecycle.md +++ b/skills/objectstack-data/rules/lifecycle.md @@ -1,10 +1,10 @@ # Data Lifecycle & Retention Guide for declaring how long an object's data lives and how its space is -reclaimed (ADR-0057). Not to be confused with **lifecycle hooks** -(`beforeInsert` / `afterUpdate` …) — those run business logic on data -operations; *this* page is about retention, rotation, and archival of the -rows themselves. +reclaimed (ADR-0057 — system data lifecycle & retention). Not to be +confused with **lifecycle hooks** (`beforeInsert` / `afterUpdate` …) — +those run business logic on data operations; *this* page is about +retention, rotation, and archival of the rows themselves. ## Why This Exists