From 654f2b2a022813fec11bc9df9bb3e1402a8053d2 Mon Sep 17 00:00:00 2001 From: Danijel Martinek Date: Tue, 12 May 2026 23:25:30 +0200 Subject: [PATCH] =?UTF-8?q?docs(work):=20close=20story=2003.a=20=E2=80=94?= =?UTF-8?q?=20structural=20ESLint=20rules?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../03-a-structural-eslint-rules/_story.md | 22 +++++++++---------- docs/work/conformance-system-v1/_epic.md | 4 +++- 2 files changed, 14 insertions(+), 12 deletions(-) diff --git a/docs/work/conformance-system-v1/03-a-structural-eslint-rules/_story.md b/docs/work/conformance-system-v1/03-a-structural-eslint-rules/_story.md index fed7233..09d3a8e 100644 --- a/docs/work/conformance-system-v1/03-a-structural-eslint-rules/_story.md +++ b/docs/work/conformance-system-v1/03-a-structural-eslint-rules/_story.md @@ -3,7 +3,7 @@ id: 03-a-structural-eslint-rules epic: conformance-system-v1 title: Structural ESLint rules (feature-must-have-manifest, usecase-must-have-test-file, required-cores-installed) type: technical-story -status: in-progress +status: done feature: core-eslint depends-on: [02-boot-assertions] blocks: [03-b-ast-aware-eslint-rules] @@ -52,13 +52,13 @@ saved past lint-on-save. literal manifests; the AST path comes in iii.b ## Tasks -- [ ] Story 03.a scaffold -- [ ] Manifest source helper (`_manifest-source.js`) -- [ ] Workspace helper (`_workspace.js`) -- [ ] `feature-must-have-manifest` rule + tests -- [ ] `usecase-must-have-test-file` rule + tests -- [ ] `required-cores-installed` rule + tests -- [ ] Plugin module + `exports` entry in `package.json` -- [ ] Wire plugin into `base.js` -- [ ] Verify `pnpm lint` passes against the monorepo -- [ ] Final verification + story closeout +- [x] Story 03.a scaffold +- [x] Manifest source helper (`_manifest-source.js`) +- [x] Workspace helper (`_workspace.js`) +- [x] `feature-must-have-manifest` rule + tests +- [x] `usecase-must-have-test-file` rule + tests +- [x] `required-cores-installed` rule + tests +- [x] Plugin module + `exports` entry in `package.json` +- [x] Wire plugin into `base.js` +- [x] Verify `pnpm lint` passes against the monorepo +- [x] Final verification + story closeout diff --git a/docs/work/conformance-system-v1/_epic.md b/docs/work/conformance-system-v1/_epic.md index befb3d7..a0957d0 100644 --- a/docs/work/conformance-system-v1/_epic.md +++ b/docs/work/conformance-system-v1/_epic.md @@ -32,7 +32,9 @@ See `docs/architecture/feature-conformance-explainer.html` and ## Stories - [x] [01 — defineFeature helper + Instrumented/Captured/Audited brands](01-define-feature-helper/_story.md) - [x] [02 — `assertFeatureConformance` + boot wiring](02-boot-assertions/_story.md) -- [ ] 03 — AST-aware ESLint rules (later plan) +- [ ] 03 — AST-aware ESLint rules (continuing — see 03.a + future 03.b) + - [x] [03.a — Structural rules](03-a-structural-eslint-rules/_story.md) + - [ ] 03.b — Manifest-aware AST rules (later plan) - [ ] 04 — CI drift gate (later plan) - [ ] 05 — Generator emits manifest + contracts + test stubs (later plan) - [ ] 06 — Documentation rewrite (later plan)