Files
vtuber-awards/docs/maintainability-backlog.md
T
AzuTear 441ef2b850
CI - Build & Verify / Build, Typecheck & Hygiene (push) Successful in 59s
CI - Build & Verify / Deploy to award.noveria.net (push) Failing after 53s
Update release notes and deploy workspace
2026-06-29 17:49:54 +02:00

2.1 KiB

Maintainability Backlog

This backlog tracks large-file and boundary risks that should be reduced in small, focused follow-up changes. It is intentionally separate from feature plans so stabilization work does not become a hidden refactor.

Current Priority

  1. Backend/Endpoints/AdminSiteSettingsEndpoints.cs

    • Risk: settings, content, operational toggles, OAuth/demo handling, and mapping live in one endpoint file.
    • Next split: move mapping/snapshot/change-detection helpers into a focused support file or service.
  2. frontend/src/components/admin/useAdminSeasonManager.ts

    • Risk: season forms, phase gateways, readiness facts, dashboard links, and navigation helpers are coupled in one composable.
    • Next split: extract phase-gateway/readiness builders into a pure TypeScript helper with unit-test-friendly functions.
  3. frontend/src/components/home/HomeExtrasSection.vue

    • Risk: public extras, showact/sponsor presentation, and responsive layout are harder to reason about in one component.
    • Next split: separate showact, sponsor, and footer/content blocks into focused presentational components.
  4. Backend/Endpoints/AdminSeasonDetailEndpoints.cs

    • Risk: one endpoint assembles categories, nominations, voting workspace, winners, clips, rules, and mappings.
    • Next split: move voting-workspace assembly into an admin voting service and keep the endpoint as orchestration.
  5. frontend/src/views/admin/AdminTeamView.vue

    • Risk: member table, role matrix, modals, permission explanations, and actions share one route-level view.
    • Next split: extract the permission matrix and member editor into separate components.

Audit Command

Run:

scripts/file-size-audit.sh

Default warning threshold is 500 lines. Override with:

MAX_LINES=650 scripts/file-size-audit.sh

Refactor Rules

  • Do not combine these refactors with unrelated feature work.
  • Prefer pure helper extraction before behavior changes.
  • Keep route-level Vue views thin.
  • Keep backend endpoint files focused on HTTP shape and orchestration.
  • Re-run frontend/backend builds after any extraction.