chore(work): decompose 2026-05-14-library-evaluation-policy epic
Decomposer produced 9 stories under docs/work/2026-05-14-library- evaluation-policy/, ordered to land the schema foundation first and the cross-referencing content (skill, guide, backfill) last: 01 - trace schema module + docs/library-decisions/ foundation 02 - pre-commit check script 03 - Claude PreToolUse / PostToolUse hooks 04 - evaluate-library skill 05 - human guide (docs/guides/adding-a-library.md) 06 - sandcastle reviewer prompt update 07 - generator pre-shipped traces for optional cores 08 - backfill traces for existing runtime deps 09 - CLAUDE.md Key Conventions bullet Anchored by ADR-022 + the approved PRD at docs/work/prds/2026-05-14-library-evaluation-policy.prd.md.
This commit is contained in:
@@ -0,0 +1,48 @@
|
||||
---
|
||||
id: 08-backfill-traces
|
||||
epic: 2026-05-14-library-evaluation-policy
|
||||
title: Backfill library traces for existing feature- and core-tier runtime deps
|
||||
type: technical-story
|
||||
status: todo
|
||||
feature: docs
|
||||
depends-on: [01-trace-schema-foundation]
|
||||
blocks: []
|
||||
---
|
||||
|
||||
## Goal
|
||||
|
||||
Write approved library trace files dated 2026-05-14 in `docs/library-decisions/` for every existing runtime dependency in feature- and core-tier packages, grouped by ADR provenance into four commits. No package.json is changed; these commits are pure trace-file additions.
|
||||
|
||||
## Why
|
||||
|
||||
Without backfill, every existing dep becomes a pre-commit-hook failure the first time someone touches a `package.json` — the enforcement gate would fire retroactively. Backfill establishes the baseline so the gate is additive (new deps require traces) rather than disruptive (old deps fail immediately). Grouping by ADR cluster makes the commit history readable and keeps each commit focused on a coherent rationale.
|
||||
|
||||
## Done when
|
||||
|
||||
- All runtime deps in `packages/` (feature- and core-tier) have a corresponding `docs/library-decisions/YYYY-MM-DD-<name>.md` with `decision: approved`, `date: 2026-05-14`, and the relevant `adr` citation (or `null` for un-cited deps).
|
||||
- Four commits land, one per cluster:
|
||||
- **ADR-002 cluster**: `inversify`, `reflect-metadata`.
|
||||
- **ADR-014 cluster**: `@sentry/node`, `@sentry/nextjs`, `@sentry/react`, and any other Sentry packages present.
|
||||
- **ADR-017 cluster**: `@opentelemetry/api`, `@opentelemetry/sdk-node`, and any other OTel packages present.
|
||||
- **Un-cited cluster**: `payload`, `@trpc/server`, `zod`, `superjson`, and any remaining runtime deps not covered by an ADR.
|
||||
- All trace files pass `validateTrace()` from `schema.mjs` (Story 01).
|
||||
- `pnpm lint && pnpm fallow:audit` pass after all four commits.
|
||||
|
||||
## In scope
|
||||
|
||||
- `docs/library-decisions/<date>-<name>.md` trace files — one per dep.
|
||||
- Four conventional commits: `chore(deps): backfill library traces for <cluster>`.
|
||||
|
||||
## Out of scope
|
||||
|
||||
- Deps in `apps/*` — app-tier is out of scope per the PRD.
|
||||
- devDeps in any tier — exempt from traces.
|
||||
- Changing any `package.json` — backfill is trace-only.
|
||||
- Optional core packages not yet installed in the workspace — covered by Story 07 (generator pre-shipped traces) when they are scaffolded.
|
||||
|
||||
## Tasks
|
||||
|
||||
- [ ] Inventory all runtime deps in `packages/` (run `jq '.dependencies // {} | keys' packages/*/package.json packages/core-*/package.json` or equivalent); write approved trace files for the ADR-002 cluster (`inversify`, `reflect-metadata`) in `docs/library-decisions/`; commit as `chore(deps): backfill library traces for ADR-002 cluster`.
|
||||
- [ ] Write approved trace files for the ADR-014 cluster (Sentry packages); commit as `chore(deps): backfill library traces for ADR-014 cluster`.
|
||||
- [ ] Write approved trace files for the ADR-017 cluster (OpenTelemetry packages); commit as `chore(deps): backfill library traces for ADR-017 cluster`.
|
||||
- [ ] Write approved trace files for the un-cited cluster (`payload`, `@trpc/server`, `zod`, `superjson`, and any remaining runtime deps); commit as `chore(deps): backfill library traces for un-cited cluster`; all gates pass after this final commit.
|
||||
Reference in New Issue
Block a user