docs: final project closeout - classify TODO, backend spec, status

Classified every TODO.md item into one of DONE/BACKEND/PRODUCT
DECISION/FUTURE VERSION/BUG, verified against source, not against
prior docs:

- BACKEND items (bootstrap content, builder draft/publish, 6 admin
  CRUD domains, media pipeline) confirmed already covered by
  BACKEND_INTEGRATION.md; appended a mapping appendix rather than
  duplicating raw bullets. Fixed 22 stale internal BACKEND_API.md
  cross-references left over from before that file was archived.
- PRODUCT DECISION items (dark mode, brand-color WCAG contrast,
  stars.component token gap, footer Contacts content, advanced
  analytics, payment providers) moved to new docs/PRODUCT_BACKLOG.md.
- FUTURE VERSION items (Angular 22, bundle splitting, cart-modal
  composition cleanup, hero-spacing investigation) moved to new
  docs/FUTURE_FEATURES.md.
- BUG: rewrote docs/KNOWN-ISSUES.md down to the one real, verified,
  currently-reproducible frontend bug (Ed25519 admin-auth error codes
  session-expired/invalid-signature are unreachable -
  toAuthErrorShape() never reads a body error code, only maps HTTP
  status, and no status ever produces those two codes - confirmed by
  reading auth.service.ts + auth-error.model.ts). Condensed the
  "Fixed" history instead of carrying full verbose repro text forward.
- DONE items removed outright (dead-code deletion, dashboard false
  positive, RC-02 fixes, stale "dynamic-renderer unwired"/"178 missing
  keys" claims already disproven by source).

docs/TODO.md rewritten to the exact "no blockers" template - nothing
left qualifies as a release blocker.

New docs/PROJECT_STATUS.md: honest per-area status (frontend/backend/
docs/auth/builder/storefront/admin), known limitations, and explicit
production/backend/demo readiness calls - including correcting an
initial draft's unpushed-commit count (53, not 10, per git log
origin/B2B..HEAD).

New docs/NEXT_PHASE.md: work that can only start once a real backend
exists (gateway swap-in, mock removal, dormant-auth activation, role
enforcement, integration/E2E tests, perf profiling, monitoring,
maintenance-mode UI).

docs/PROJECT_INDEX.md (the stated entry point) updated to link the new
doc set and stop pointing at the now-archived BACKEND_API.md/AUTH.md.
docs/FRONTEND-ROADMAP.md's "Known open items" replaced with pointers
to the new category-split docs instead of a duplicated mixed list.

Not swept: a handful of low-traffic docs (architecture ADRs,
FRONTEND.md, EDITOR.md, ARCHITECTURE.md, PROJECT-STRUCTURE.md,
StaticPages.md, ADMIN.md) still reference the old BACKEND_API.md/
AUTH.md filenames - noted as a known gap in PROJECT_STATUS.md rather
than touched blindly, since they're historical-context docs, not the
navigation entry point.
This commit is contained in:
sdarbinyan
2026-07-26 12:35:26 +04:00
parent 99f7bace2d
commit d03ef2db50
9 changed files with 253 additions and 456 deletions

View File

@@ -1,53 +1,7 @@
# TODO
Checklist of everything documented as open/remaining, verified against current repo state on 2026-07-26 (re-verified against source, not against prior docs).
No frontend blockers.
## Backend — doing together
Frontend Release Candidate complete.
- [ ] `bootstrap.json` real content (branding/theme/nav/seo) — default stubs.
- [ ] Builder bootstrap draft/publish/validate — no backend, editor saves nowhere real.
- [ ] Backoffice Products CRUD — mock only.
- [ ] Media upload/delete/replace pipeline — mock only.
- [ ] Backoffice Orders CRUD + status transitions — mock only.
- [ ] Backoffice Transactions — mock only.
- [ ] Backoffice Users/roles/invitations — mock only.
- [ ] Backoffice Moderation (reviews/reports) — mock only.
- [ ] Analytics traffic/funnels/heatmaps — no data source at all (FUTURE).
- [ ] Backend Ready sprint — no real API contract exists yet. In progress: see `docs/BACKEND_INTEGRATION.md` (Backend Finalization Sprint, 2026-07-26).
## UX/design decisions deferred
- [ ] Cart payment modal — still a custom overlay (`.bank-payment-modal`), not `app-dialog` (composition change, deferred).
- [ ] Brand-color contrast failures (`--border-color`, `--success/warning/error/info-color`) — fails WCAG AA, needs theme-owner sign-off.
- [ ] `stars.component.scss` hex literal (`#cdd6d5`, line 10) — no token match, needs token-extension decision.
- [ ] Footer "Contacts" link (`footer-contacts` / `nav.contacts`) — verify static-page content exists for it in bootstrap mock; not re-checked this pass.
- [ ] Theme Mode (dark/system) selector — no runtime CSS effect, real feature project needed.
- [ ] Homepage hero-to-categories dead-space gap — mock config artifact, needs real-tenant repro.
## Tooling/infra
- [ ] 2 large lazy chunks (`project-editor` 320kB, `catalog-container` 126kB) — no split found yet.
- [ ] Angular 22 upgrade — researched, not executed. Plan: ~2-3.5 days, needs barry-cache fix + Node bump first. Explicitly out of scope for current Backend Finalization Sprint.
- [ ] `git push` of local B2B commits to origin — pending go-ahead.
## Resolved since last pass (2026-07-26), verified against source
- [x] "Featured Products" hardcoded English string — gone, no longer in source.
- [x] Dashboard "Проблема"/Problem status on 0 products/categories — verified `admin-dashboard.facade.ts`: `unhealthy` only fires on real fetch error (`metrics.status === 'error'`), not on a genuine zero count. Not a bug; prior TODO entry was inaccurate.
- [x] Backoffice Monitoring raw dev text (`GET /api/products responded 200 in 84ms`, `order.created`) — fixed 2026-07-26 (RC-02 task 3): friendly wording by default, raw detail behind collapsed "Technical details".
- [x] Cart `clearCart()` native `confirm()` — fixed 2026-07-26 (RC-02 task 4): styled `app-confirm-dialog` (new shared component wrapping existing `app-dialog`).
- [x] All native `confirm()`/`alert()`/`prompt()` in production UI (12 confirms + 4 alerts across cart, media library, static-pages editor, builder) — fixed 2026-07-26 (RC-02 task 4).
- [x] `pages/category`, `pages/search`, `pages/item-detail`, `pages/info/**`, `pages/legal/**` (40+ files) — unrouted dead code, deleted 2026-07-25 (RC-02 task 6).
- [x] `dynamic-renderer/` pipeline "unwired, needs finish-or-delete" — **incorrect premise**, verified 2026-07-25: it's the live homepage rendering pipeline (`HomeComponent``WebsiteRuntimeFacade``PageRendererService`/`PageResolverService``DynamicPageLayoutComponent`). Nothing to finish or delete.
- [x] ~178 missing `adminXxx.*` translation keys — re-checked 2026-07-26: `en.ts`/`ru.ts`/`hy.ts` key counts are within ~4 of each other (near parity). Prior figure was stale or inaccurate; no large gap exists now.
- [x] getMainImage() no-photo fallback pointed at a nonexistent `/assets/images/placeholder.svg` — fixed 2026-07-26 (RC-02 task 5): asset created, `onerror` fallback added to every dynamic `<img>`.
- [x] Footer payment icons (`mir-logo.svg`, `visa-logo.svg`, `mastercard-logo.svg`) referenced in `bootstrap.json` but files didn't exist — site-wide broken image in every page footer. Fixed 2026-07-26: assets created, `onerror` fallback added.
- [x] Category/subcategory empty states used "Oops!"/"Упс!" apology wording for a normal zero-results condition — fixed 2026-07-25 (RC-02 task 2), then the pages themselves were deleted as dead code (task 6) anyway.
- [x] No `canDeactivate` guard on `admin/products/:id/edit` — fixed 2026-07-25 (`adminProductDirtyGuard`, mirrors categories).
- [x] `primeng`/`primeicons` in `package.json` despite no consumer — fixed 2026-07-25 (bumped `barry-cache`, then `npm uninstall`).
- [x] Builder static-page body editor hidden/mislabeled — fixed 2026-07-25 (RC-01 phase 6).
- [x] `HeaderConfig.showProfile` toggle — was already removed from the editor template; stale TODO entry, no action needed.
## Done this cycle (for reference, not re-tracked here)
Storefront polish, performance audit (bundle 24%), WCAG 2.1 AA accessibility audit, release-candidate walkthroughs, dead-code cleanup, documentation consolidation, RC-02 release-candidate pass (i18n, empty-state wording, dialog consistency, image placeholders, merchant-friendly Monitoring wording, legacy page deletion — see `docs/RELEASE_REPORT.md`), Backend Finalization Sprint (in progress — `docs/BACKEND_INTEGRATION.md`). Full detail: `docs/FRONTEND-ROADMAP.md`.
Waiting for backend integration.