Skip to content

v1.8.2 — data-model stack-agnostic + derived from architecture; roadmap as tables#5

Merged
genkovich merged 3 commits into
mainfrom
feat/data-model-stack-agnostic
May 29, 2026
Merged

v1.8.2 — data-model stack-agnostic + derived from architecture; roadmap as tables#5
genkovich merged 3 commits into
mainfrom
feat/data-model-stack-agnostic

Conversation

@genkovich
Copy link
Copy Markdown
Owner

What

data-model was the one skill that imposed a DB philosophy — DB-as-dumb-storage (UUID v7 app-side, created_at-only / no updated_at, hard delete, no CHECK/triggers, bounded VARCHAR) — and bootstrapped .claude/rules/migrations.md to legislate it. That contradicts the plugin's stack-agnostic ethos (every other skill detects what the repo uses). This makes data-model stack-agnostic.

Change

  • Detect & follow, don't impose. data-model now reads the repo's DB + migration conventions (the live migrations/, the schema, CLAUDE.md / the architecture map) and follows them — naming, PK strategy, audit columns, delete strategy, constraint usage (CHECK/triggers/DEFAULT), string/JSON types. On a greenfield repo with no signal it confirms each choice with the user instead of defaulting to a house style.
  • No rules file. The .claude/rules/migrations.md bootstrap is gone; templates/migrations-baseline.md deleted.
  • Migration SAFETY stays (stack-agnostic, not DB philosophy): staging under docs/features/<slug>/migrations/ + promote-at-implement, a .down for every .up, an index on every FK + one per real query, expand→backfill→contract for breaking changes, no real PII in seeds.
  • The self-check drops the CHECK/TRIGGER grep and adds convention adherence; anti-patterns drop the philosophy ones and add "imposing a DB philosophy the repo didn't ask for"; the data-model.md template comments + survey's architecture-map reference reconciled.

Verification

  • python3 scripts/validate_plugin.py177 checks pass; manifests agree on 1.8.2.
  • No dangling refs to the deleted template; data-model no longer creates a rules file (only an anti-pattern forbidding it); 300 markdown links resolve.

🤖 Generated with Claude Code

genkovich and others added 3 commits May 29, 2026 21:39
…onventions, drop the rules file (v1.8.2)

data-model imposed a DB-as-dumb-storage philosophy (UUID v7 / no updated_at /
hard delete / no CHECK / bounded VARCHAR) and bootstrapped a `.claude/rules/migrations.md`
to legislate it — inconsistent with the plugin's stack-agnostic ethos. It now detects the
repo's DB + migration conventions (from the live migrations/, the schema, CLAUDE.md) and
FOLLOWS them; on greenfield it confirms each choice with the user. No rules file is written.

- "Defaults (opinionated set)" table → "Conventions: detect and follow" (philosophy topics —
  naming/PK/audit/delete/constraints/types — follow the repo; greenfield confirms). Universal
  migration SAFETY stays (staging + promote-at-implement, reversibility, FK indexes,
  expand/backfill/contract, no-PII) — that's stack-agnostic, not DB philosophy.
- Step 2 rules-bootstrap removed; the self-check drops the CHECK/TRIGGER grep and adds
  "convention adherence"; anti-patterns drop the philosophy ones and add "imposing a DB
  philosophy the repo didn't ask for".
- Deleted templates/migrations-baseline.md; reconciled the data-model.md template comments
  + survey's architecture-map reference.

validate_plugin.py: 177 checks pass; 300 markdown links resolve.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…ure, not ad-hoc repo detection

The migration tool/naming and the DB approach (PK / audit / delete / constraints) are now derived
PRIMARILY from the architecture — architecture-map.md §Migrations (what survey recorded) + the
sad.md persistence decisions (§4/§5/§8) + Accepted ADRs — and the live migrations/ + schema only
CORROBORATE (filling what the architecture left implicit, e.g. statement-per-file rules / the next
sequence value). Greenfield with no architecture signal → confirm with the user. Flag any
architecture-vs-repo divergence in the audit report. Still stack-agnostic; still no rules file.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…; Next already tabular)

docs/roadmap.md now renders Now, Later, and Shipped as tables (Next was already a RICE table), so
the whole board is a consistent table rather than mixed bullets. Columns: Now = Outcome | Feature |
Status; Later = Outcome / theme; Shipped = Date | Outcome | Feature | PR. The skill notes the board
is table-rendered, one row per item.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@genkovich
Copy link
Copy Markdown
Owner Author

Two follow-ups from review folded in (still v1.8.2):

  • c5328b0 — migrations from the architecture. data-model now derives the migration tool/naming + DB approach primarily from the architecturearchitecture-map.md §Migrations + the sad.md persistence decisions (§4/§5/§8) + Accepted ADRs — and the live migrations//schema only corroborate. Greenfield → confirm with the user; architecture-vs-repo divergence is flagged.
  • db12c24 — roadmap as a table. docs/roadmap.md renders every horizon as a table (Now / Later / Shipped; Next was already a RICE table), instead of mixed bullets. Now = Outcome · Feature · Status; Later = Outcome/theme; Shipped = Date · Outcome · Feature · PR.

validate_plugin.py: 177 checks pass; 300 links resolve.

@genkovich genkovich changed the title fix: v1.8.2 — make data-model stack-agnostic (detect & follow repo DB conventions, no rules file) v1.8.2 — data-model stack-agnostic + derived from architecture; roadmap as tables May 29, 2026
@genkovich genkovich merged commit 8d43eb8 into main May 29, 2026
1 check passed
@genkovich genkovich deleted the feat/data-model-stack-agnostic branch May 29, 2026 20:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant