Skip to content

Commit 497ded7

Browse files
os-steveclaude
andauthored
docs(skills): make the objectstack-data ADR-0057 citations resolvable outside this repo (#11790)
`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. Claude-Session: https://claude.ai/code/session_015ahemw8RcTgqtxrj15PEZx Co-authored-by: Claude <noreply@anthropic.com>
1 parent 359e497 commit 497ded7

2 files changed

Lines changed: 6 additions & 6 deletions

File tree

skills/objectstack-data/SKILL.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ database table and exposes automatic CRUD APIs.
8181
| `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` |
8282
| `enable` || Capability flags (trackHistory, searchable, apiEnabled, etc.) |
8383
| `fieldGroups` || Ordered list of logical field groups for forms/detail pages (see [Field Groups](#field-groups-mvp)) |
84-
| `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)) |
84+
| `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)) |
8585

8686
### Object Capabilities (`enable`)
8787

@@ -970,7 +970,7 @@ export const SetupApp = defineApp({
970970
| Feature | When to Consider |
971971
|:--------|:-----------------|
972972
| `tenancy` | Multi-tenant SaaS — `{ enabled: true, tenantField: 'tenant_id' }` row-level isolation (DB-per-tenant is an environment/deployment choice, not object metadata) |
973-
| `lifecycle` | Append-only / high-write-rate objects — retention / rotation / archival contract (ADR-0057); see [rules/lifecycle.md](./rules/lifecycle.md) |
973+
| `lifecycle` | Append-only / high-write-rate objects — retention / rotation / archival contract; see [rules/lifecycle.md](./rules/lifecycle.md) |
974974
| per-field `trackHistory` | Render a field's value changes as human-readable activity-timeline entries (pair with `enable.trackHistory`, ADR-0052 §5b) |
975975

976976
> The former `softDelete` / `versioning` object keys were **removed** from the

skills/objectstack-data/rules/lifecycle.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
# Data Lifecycle & Retention
22

33
Guide for declaring how long an object's data lives and how its space is
4-
reclaimed (ADR-0057). Not to be confused with **lifecycle hooks**
5-
(`beforeInsert` / `afterUpdate` …) — those run business logic on data
6-
operations; *this* page is about retention, rotation, and archival of the
7-
rows themselves.
4+
reclaimed (ADR-0057 — system data lifecycle & retention). Not to be
5+
confused with **lifecycle hooks** (`beforeInsert` / `afterUpdate` …) —
6+
those run business logic on data operations; *this* page is about
7+
retention, rotation, and archival of the rows themselves.
88

99
## Why This Exists
1010

0 commit comments

Comments
 (0)