4a5edeef3e
CI / Unit Tests (pull_request) Successful in 5m46s
CI / Lint (pull_request) Failing after 3m49s
CI / E2E Tests (pull_request) Has been skipped
CI / Fresh-Linux Docker Deploy (pull_request) Has been skipped
CI / Assistant Split Regression (pull_request) Failing after 35s
CI / Architecture Guardrails (pull_request) Failing after 2m14s
CI / Typecheck (pull_request) Successful in 4m22s
CI / Build (pull_request) Has been skipped
CI / Release Images (pull_request) Has been skipped
- @capakraken/* → @nexus/* across 12 packages (root + 11 workspaces),
1551 import lines migrated via codemod
- User-visible brand strings renamed (emails, page titles, PWA
manifest, mobile header, MFA backup-codes header, tooltips, signin
page, invite page, weekly digest, install prompt)
- TOTP issuer "CapaKraken" → "Nexus" (existing secrets still valid;
re-enrollment relabels them in users' authenticator apps)
- Function rename: assertCapaKrakenDbTarget → assertNexusDbTarget
- LocalStorage migration shim in apps/web/src/app/layout.tsx copies
capakraken_* → nexus_* on first load (guarded by nexus_migrated_v1
sentinel; runs once per browser, then never again)
- Service-worker cache name capakraken-v2 → nexus-v2 with one-time
caches.delete('capakraken-v2') from the same shim
- Email-domain fixtures @capakraken.{dev,app} → @nexus.{dev,app} in
seed data, e2e specs, SMTP default fallback
- Dockerfile.dev / Dockerfile.prod / all .github/workflows/*.yml
pnpm --filter @capakraken/* → @nexus/*
- README, CLAUDE.md, LEARNINGS.md, all docs/*.md, .env.example,
tooling/deploy/.env.production.example brand sweep
Phase 1 deliberately leaves untouched (handled in Phase 3 cutover):
- PostgreSQL DB name "capakraken" and POSTGRES_USER "capakraken"
- Volume names capakraken_pgdata etc.
- Compose project name "capakraken" / "capakraken-prod"
- db-target-guard default expectedDatabase
- env-var CAPAKRAKEN_EXPECTED_DB_NAME
- Container DNS names in docker-compose.ci.yml
Quality gates green: pnpm typecheck (7/7), pnpm test:unit (7/7),
pnpm lint (0 errors), check:exports/imports/architecture all pass.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
206 lines
7.9 KiB
Markdown
206 lines
7.9 KiB
Markdown
# Showcase Quality Backlog
|
|
|
|
**Date:** 2026-04-01
|
|
**Purpose:** Canonical working backlog for the current north star: turn Nexus into a clean, reviewable, deterministic reference project for disciplined AI-assisted software engineering.
|
|
|
|
## North Star
|
|
|
|
The goal is not "ship more code at any cost".
|
|
The goal is:
|
|
|
|
- small ownership surfaces
|
|
- deterministic behavior and repeatable tests
|
|
- explicit permission and runtime boundaries
|
|
- clean deploy and rollback discipline
|
|
- documentation that makes the structure explainable
|
|
- visible engineering quality that holds up under fast AI-assisted change
|
|
|
|
## Canonical Inputs
|
|
|
|
This backlog consolidates the still-relevant work from:
|
|
|
|
- [ai-excellence-due-diligence-roadmap.md](/home/hartmut/Documents/Copilot/nexus/docs/ai-excellence-due-diligence-roadmap.md)
|
|
- [architecture-hardening-backlog.md](/home/hartmut/Documents/Copilot/nexus/docs/architecture-hardening-backlog.md)
|
|
- [domain-slices-backlog.md](/home/hartmut/Documents/Copilot/nexus/docs/domain-slices-backlog.md)
|
|
- [api-router-procedure-support-backlog.md](/home/hartmut/Documents/Copilot/nexus/docs/api-router-procedure-support-backlog.md)
|
|
|
|
## Working Rules
|
|
|
|
- Every touched slice must gain regression coverage for edge, guard, or failure cases, not only happy paths.
|
|
- Prefer narrow, verifiable slices over broad refactors.
|
|
- Keep public contracts stable unless a product decision explicitly changes them.
|
|
- Avoid expanding architecture surface area while the current worktree is dirty or shared ownership is unclear.
|
|
|
|
## Current Baseline
|
|
|
|
Already materially improved:
|
|
|
|
- SSE audience scoping is under CI guardrails.
|
|
- repo script guardrails are now test-backed in CI
|
|
- critical narrow ownership surfaces now have explicit `maxLines` architecture checks
|
|
- runtime secret handling is environment-first
|
|
- assistant-tool and several router monoliths were decomposed
|
|
- image-based CI/CD and deploy flow exists
|
|
- focused test coverage around several high-risk paths has been expanded
|
|
|
|
Still open at the quality-showcase level:
|
|
|
|
- Timeline UX and live-update stability are not yet "boringly reliable".
|
|
- Some large frontend/API ownership surfaces are still too wide.
|
|
- measurable architecture and quality guardrails are not complete yet
|
|
- operational discipline still depends too much on convention and current context
|
|
|
|
## Priority Stack
|
|
|
|
### P0. Worktree Hygiene And Deterministic Test Discipline
|
|
|
|
Status: active, always-on
|
|
|
|
Done means:
|
|
|
|
- no generated or accidental artifacts stay tracked
|
|
- shared worktree changes are either validated, isolated, or explicitly left untouched
|
|
- every touched regression suite covers at least one non-happy-path case
|
|
- time- and timezone-sensitive tests are stabilized
|
|
|
|
Immediate checks:
|
|
|
|
- keep the current timeline WIP isolated until it is either validated or cleaned
|
|
- continue tightening router/read-model tests where fragile assumptions still exist
|
|
|
|
### P1. Timeline Interaction, Overlay, And SSE Stability
|
|
|
|
Status: active
|
|
Source: [domain-slices-backlog.md](/home/hartmut/Documents/Copilot/nexus/docs/domain-slices-backlog.md)
|
|
|
|
Remaining work:
|
|
|
|
- finish popover, hover, drag, and overlay stability across scroll, resize, reload, and view changes
|
|
- verify first-load, reconnect, and live-update behavior under SSE churn
|
|
- close remaining timeline test gaps with explicit edge/failure cases
|
|
- clean up the current timeline component worktree safely before broadening scope
|
|
|
|
Definition of done:
|
|
|
|
- timeline popovers and overlays behave consistently under scroll/resize/reload
|
|
- drag and selection interactions do not fight each other
|
|
- SSE reconnects do not leave the UI in a stale or empty state
|
|
|
|
### P2. Holiday/Vacation Correctness And Explainability Parity
|
|
|
|
Status: active
|
|
Source: [domain-slices-backlog.md](/home/hartmut/Documents/Copilot/nexus/docs/domain-slices-backlog.md)
|
|
|
|
Remaining work:
|
|
|
|
- close the remaining forecast/widget parity gaps for holiday-/vacation-aware derivations
|
|
- ensure UI, assistant, dashboard detail, and export views expose the same calculation basis
|
|
- keep explainability compact by default and detailed only when explicitly requested
|
|
|
|
Definition of done:
|
|
|
|
- the same holiday/vacation logic is visible and test-backed across API, assistant, widgets, and exports
|
|
|
|
### P3. Resource Read Decomposition And Smaller Ownership Surfaces
|
|
|
|
Status: next structural cleanup
|
|
Sources:
|
|
|
|
- [api-router-procedure-support-backlog.md](/home/hartmut/Documents/Copilot/nexus/docs/api-router-procedure-support-backlog.md)
|
|
- [ai-excellence-due-diligence-roadmap.md](/home/hartmut/Documents/Copilot/nexus/docs/ai-excellence-due-diligence-roadmap.md)
|
|
|
|
Remaining work:
|
|
|
|
- split `resource-read-shared.ts` into focused read helpers without changing public contracts
|
|
- continue shrinking large timeline/frontend modules into easier ownership units
|
|
- keep top-level routers/components thin and orchestration-only
|
|
|
|
Definition of done:
|
|
|
|
- the next deep read-model hotspot is decomposed
|
|
- large ownership surfaces become easier to review and test in isolation
|
|
|
|
### P4. Notification/Task/Broadcast Reliability Residuals
|
|
|
|
Status: active but below timeline/resource cleanup
|
|
Source: [domain-slices-backlog.md](/home/hartmut/Documents/Copilot/nexus/docs/domain-slices-backlog.md)
|
|
|
|
Remaining work:
|
|
|
|
- close the last persistence and fanout edge cases
|
|
- keep error translation stable and domain-shaped under missing-reference races
|
|
- continue moving complex orchestration toward narrower support helpers where useful
|
|
|
|
Definition of done:
|
|
|
|
- reminder, broadcast, and task workflows fail cleanly and predictably under missing-reference and retry scenarios
|
|
|
|
### P5. Measurable Guardrails In CI
|
|
|
|
Status: open
|
|
Source: [ai-excellence-due-diligence-roadmap.md](/home/hartmut/Documents/Copilot/nexus/docs/ai-excellence-due-diligence-roadmap.md)
|
|
|
|
Remaining work:
|
|
|
|
- add file-size or ownership-surface guardrails for critical source files
|
|
- add stronger auth/permission regression coverage around sensitive routers
|
|
- add measurable package-level quality gates beyond "tests pass"
|
|
- monitor web bundle or route size where growth risk is known
|
|
|
|
Definition of done:
|
|
|
|
- CI can fail for structural regressions, not only syntax or unit failures
|
|
|
|
### P6. Operational Standardization
|
|
|
|
Status: open
|
|
Source: [ai-excellence-due-diligence-roadmap.md](/home/hartmut/Documents/Copilot/nexus/docs/ai-excellence-due-diligence-roadmap.md)
|
|
|
|
Remaining work:
|
|
|
|
- make Redis-backed rate limiting an intentional deployed default, not a best-effort fallback
|
|
- document and rehearse one rollback path
|
|
- finish deploy/bootstrap/cleanup discipline around runtime secrets and environment-backed config
|
|
|
|
Definition of done:
|
|
|
|
- one production path, one rollback path, one runtime config source of truth
|
|
|
|
### P7. Reference-Project Artifacts
|
|
|
|
Status: open
|
|
Source: [ai-excellence-due-diligence-roadmap.md](/home/hartmut/Documents/Copilot/nexus/docs/ai-excellence-due-diligence-roadmap.md)
|
|
|
|
Remaining work:
|
|
|
|
- add an engineering doctrine for AI-assisted changes
|
|
- add explicit AI collaboration standards for file growth, tests, and docs
|
|
- curate a small set of exemplary slices that demonstrate the intended standards end to end
|
|
|
|
Suggested artifacts:
|
|
|
|
- `docs/engineering-doctrine.md`
|
|
- `docs/ai-collaboration-standards.md`
|
|
- reference-slice documentation for one API slice and one frontend slice
|
|
|
|
## Practical Order From Here
|
|
|
|
If the goal is to keep momentum without widening risk, the recommended execution order is:
|
|
|
|
1. finish or safely isolate the current Timeline worktree changes
|
|
2. continue non-happy-path coverage on touched timeline/resource reads
|
|
3. complete the remaining holiday/vacation parity gaps
|
|
4. decompose `resource-read-shared.ts`
|
|
5. return to residual notification reliability edges
|
|
6. add the next CI guardrail instead of another broad refactor
|
|
|
|
## Exit Criteria For This Backlog
|
|
|
|
This backlog is complete when:
|
|
|
|
- the main UX-critical surfaces are stable under edge conditions
|
|
- the next major oversized ownership surfaces are reduced
|
|
- quality is enforced by CI guardrails, not memory
|
|
- operations are repeatable and documented
|
|
- the repository visibly demonstrates disciplined AI-assisted engineering rather than just fast iteration
|