2.7 KiB
2.7 KiB
Architecture Hardening Backlog
Date: 2026-03-30 Purpose: Keep the remaining cleanup work for the current quality/security scope in a single prioritized list, so small hardening slices can be completed before larger redesign work.
Recently Completed
- SSE audience model narrowed to canonical
user:*,permission:*, andresource:*scopes only - CI architecture guardrail added for SSE audience scoping
- import boundaries hardened for server dispo workbooks and browser spreadsheet uploads
- AI and SMTP runtime diagnostics sanitized before they reach logs or admin-facing error messages
- transitive audit hotspots for
flattedandpicomatchpinned through rootpnpm.overrides apps/webexport paths migrated from directxlsxusage to a sharedexceljsworkbook export helperpackages/applicationworkbook reading andpackages/engineXLSX export serialization migrated fromxlsxtoexceljspnpm audit --audit-level=highno longer reports high-severity dependency findingsapps/webnow has focused Vitest coverage for browser spreadsheet parsing and skill-matrix workbook parsing- cron routes, Redis helpers, reminder scheduling, webhook dispatching, and SSE fallback paths now use structured logger calls instead of raw
console.* packages/apinow has focused Vitest coverage for reminder scheduler and webhook dispatcher logging failuresapps/webtypecheck is now decoupled from generated.next-e2eartifacts via a dedicatedtsconfig.typecheck.json- comment entity support is now centralized across shared constants, API registry policy, assistant tool metadata, and the web comment target API without pretending a second consumer exists
resourceis now onboarded as the second real comment entity, reusing the same ownership and staff-visibility rules as the resource detail route- comment mention autocomplete now uses a dedicated entity-scoped API route instead of inheriting the narrower
user.listAssignableaudience
Next Up
No queued hardening slice is currently pinned in this document. Reassess after the current batch so the next item reflects the then-real highest-risk gap instead of stale cleanup residue.
Remaining Major Themes
The small hardening slices are effectively exhausted. The remaining work is now structural rather than another quick batch:
- secrets and runtime configuration policy
- oversized router and UI decomposition
- production-grade rate limiting
- canonical image-based production delivery
- performance hotspot reduction
Working Rule
For the next batches, prefer work in this order:
- remove or isolate known-risk runtime dependencies
- add guardrails and tests around already-hardened code
- only then expand architecture surface area