Skip to content

Commit 6c58343

Browse files
cemililikclaude
andcommitted
docs: close the valid CodeRabbit findings on PR 21
Two review gates could not be met: add-page-block's Validation and the Code Review Standards checklist both required axe-core tests to pass while no suite runs them. They now name the manual checks that apply today and leave automated axe to its owner. The code-review skill now says the API rejects a mismatched tenant or organization header with a 404, as ADR-0036 decides. Phase 07 placed tenant-defined custom fields on the global User, which Phase 03's ownership table moves to MembershipProfile because users carries no tenant boundary. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
1 parent 91450da commit 6c58343

4 files changed

Lines changed: 10 additions & 5 deletions

File tree

‎.claude/skills/add-page-block/SKILL.md‎

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -232,8 +232,11 @@ the page.
232232
editor.
233233
- For a tenant block: a page can be authored that uses the new block; the
234234
renderer dispatches correctly.
235-
- Accessibility (`axe-core`) and contrast checks pass — Step 7 says what runs `axe-core`
236-
and names the Phase 02d gate open on it.
235+
- Accessibility: a keyboard walkthrough of the block and a contrast check of its text
236+
and UI colours pass, per
237+
[Accessibility Standards § Testing](../../../docs/standards/16-accessibility.md#testing),
238+
recorded in the PR description. Automated `axe-core` is not a gate yet — Step 7 names
239+
its owner and G43, the Phase 02d gate open on it.
237240

238241
## Common pitfalls
239242

‎.claude/skills/code-review/SKILL.md‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -164,7 +164,8 @@ This is the lens that generic reviewers miss. Walk:
164164
- For frontend changes: route group is correct, SDK is the only API path,
165165
middleware-resolved `x-tenant-id` / `x-organization-id` honoured, no
166166
hand-rolled `fetch('/v1/...')`. The API treats an `X-Tenant-Id` or `X-Organization-Id`
167-
it receives as an assertion, never a source
167+
it receives as an assertion, never a source: it validates the header against its own
168+
resolution and answers a mismatch with `404`
168169
([ADR-0036](../../../docs/decisions/0036-tenant-resolution-trusted-inputs.md#one-header-names-a-host-and-it-is-still-not-a-source)).
169170
Whether the frontend holds a tenant or organization id at all, and what the middleware
170171
carries inward, is G25 and G36 in

‎docs/roadmap/phase-07-enrollment-learner-portal.md‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,8 @@ Built on the Studio shell, permission system, and typed SDK from
140140
- Lesson resources.
141141
- Progress summary (driven by `TenantCompletionRule`).
142142
- Profile basics (with optional tenant-defined custom fields via `TenantCustomFieldDef`
143-
on `User`).
143+
on `MembershipProfile`, per
144+
[Phase 03 § Tenant Data Ownership](phase-03-identity-admin.md#tenant-data-ownership-dsar-boundary-and-pii-classification)).
144145

145146
### Progress Tracking
146147

‎docs/standards/17-code-review.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ Before requesting reviews, run the relevant checklist on your own diff:
6565
([Security Standards § Multi-Tenant + Organization Isolation Review Checklist](11-security.md#multi-tenant--organization-isolation-review-checklist)).
6666
- [ ] New forms use React Hook Form + Zod and render errors at the field level.
6767
- [ ] New routes have `error.tsx` and `loading.tsx` where appropriate.
68-
- [ ] Accessibility: every interactive element keyboard-reachable; labels associated; color contrast checked; axe-core tests pass.
68+
- [ ] Accessibility: every interactive element keyboard-reachable; labels associated; color contrast checked; axe-core tests pass where a suite runs them — none does yet (see the note below).
6969
- [ ] Bundle size delta acceptable on public routes (< 200 KB gzipped per route).
7070

7171
> **Open in Phase 02d.** No axe-core suite exists in `frontend/` today, and

0 commit comments

Comments
 (0)