Skip to content

Commit 42a85af

Browse files
Contentrainclaude
andcommitted
docs: mark resolved deferred items and fix media route test mock
Update ROADMAP.md, CLAUDE.md to reflect completed monthly limit atomicity and GDPR audit logging fixes. Add missing reserveStorageIfAllowed mock to media route integration test. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent 5df4248 commit 42a85af

3 files changed

Lines changed: 5 additions & 7 deletions

File tree

CLAUDE.md

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -204,10 +204,6 @@ Brand SVGs (GitHub, Google logos) stay as inline SVG — they need exact brand c
204204

205205
## Deferred TODOs
206206

207-
High (deploy sonrası):
208-
- Monthly limit race condition: check+insert not atomic (forms + agent usage)
209-
- GDPR audit logging: no trail when form submissions are deleted
210-
211207
Medium:
212208
- Mobile shell: hamburger + slide-over (button exists, handler + drawer missing)
213209
- Branch health: no 80+ branch threshold, no auto-delete merged cr/* branches

ROADMAP.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Contentrain Studio — Roadmap
22

3-
> Last updated: 2026-04-03 | Current release: v0.1.0-beta.3
3+
> Last updated: 2026-04-07 | Current release: v0.1.0-beta.4
44
55
This roadmap reflects our current priorities. Items may shift based on user feedback and production learnings.
66

@@ -34,8 +34,8 @@ Focus: production readiness, monitoring, critical fixes.
3434
- [ ] **Sentry integration** — Client + server error monitoring and alerting
3535
- [x] **Open-source docs** — Self-hosting guide, contributing guide, security policy, code of conduct, Docker/deployment docs
3636
- [ ] **User testing & feedback loop** — Structured beta testing with real teams
37-
- [ ] **Monthly limit atomicity**Race condition: form submission + agent usage check+insert not atomic
38-
- [ ] **GDPR audit for deletions**No audit trail when form submissions are hard-deleted
37+
- [x] **Monthly limit atomicity**Atomic RPC functions for workspace members, CDN keys, and storage quota (migration 019)
38+
- [x] **GDPR audit for deletions**Bulk delete audit logging, 4 missing audit registry entries (CDN key, conversation key, webhook, AI key)
3939

4040
---
4141

tests/integration/media-routes.integration.test.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,8 @@ function stubMediaRouteGlobals() {
7979
requireWorkspaceRole: vi.fn().mockResolvedValue('owner'),
8080
getProjectForWorkspace: vi.fn().mockResolvedValue({ id: 'project-1' }),
8181
getWorkspaceById: vi.fn().mockResolvedValue({ plan: 'pro', media_storage_bytes: 1024 }),
82+
reserveStorageIfAllowed: vi.fn().mockResolvedValue({ allowed: true, currentBytes: 1024 }),
83+
incrementWorkspaceStorageBytes: vi.fn().mockResolvedValue(undefined),
8284
getProjectMember: vi.fn().mockResolvedValue({ id: 'pm-1', role: 'editor' }),
8385
getUserClient: vi.fn().mockReturnValue({}),
8486
getAdminClient: vi.fn().mockReturnValue({

0 commit comments

Comments
 (0)