Detailed Engineering Report

Appendix A · generated 2026-07-09 from bundled project outputs
v2 · Sprint 13
Jun 27 – Jul 4, 2026

This report is based on the sprint feature artifact, bundled test coverage log, SonarQube scan notes, and SonarQube dashboard screenshot. Delivery claims below are tied to those bundled artifacts:

Feature breakdown

Source pulled into this section:

Feature artifact: Sprint 13 Release Report
Scope evidence: BE-T01-T08, SPEC-14, F005, F006, F007/F012, S13-F-003, S13-F-005, FE-T12/BE-T08

Source-derived feature rows

KeyTypeStatusSummaryComponentsEvidence
BE-T01-T08 / Platform ViewEpic / FeatureDeliveredAdd Platform planning tier between Brick and Fit (GenCat -> Brick -> Platform -> Fit).Schema, DTOs, Calculation Engine, Redux, Planning API, Planning Grid, ExportFeature artifact, API table, data model notes
SPEC-14FeatureDeliveredMake Width editable and derive Depth as Depth = Sell-In / Width; cascade / roll up values through hierarchy.Calculation Engine, Planning UI, ValidationFeature artifact
F005FeatureDeliveredNormalize sibling distribution percentages so edited groups total 100%.Planning UI, Edit Handlers, Decimal Math, Row RecalculationFeature artifact
F006FeatureDeliveredApply Navy / Red planning grid design with source-coded bands and editable-cell styling.Planning Grid, Shared UI Primitives, Cell RenderingFeature artifact
F007 / F012FeatureDeliveredSupport collapsible Historical / AI bands while keeping User Inputs visible and Level / Assortment pinned.Planning Grid, Column Configuration, View StateFeature artifact
S13-F-003FeatureDeliveredAdd per-view search with ancestor context for filtered planning rows.Planning UI, View Filtering, Breadcrumb DisplayFeature artifact
AdminFeatureDeliveredAdd engagement / finalization dashboard for downloaded-without-editing, login recency, and store-finalization metrics.Admin API, Dashboard UI, Franchisee List, Store Drill-downFeature artifact
S13-F-005FeatureDeliveredAdd user directory, role assignment, franchise-code assignment, onboarding password display, profile update, and password change.Admin User API, Auth Profile API, Profile UIFeature artifact, API table
PlanningTaskDeliveredAdd confirm-gated reset to AI recommendation baseline across store planning levels.Store Planning Service, Planning UIFeature artifact, API table
FE-T12 / BE-T08FeatureDeliveredAdd Platform sheet, Depth columns, and client-facing headers to multi-level Excel export.Export Service, Workbook Mapper, Header FormattingFeature artifact

Data model notes captured from source

platform column: som_inputs, buy_plan_recommendations, historical-season tables
unique keys: widened to 6-part composite
category: widened to VARCHAR(100)
level constraint / indexes: extended to include PLATFORM
exports table: storage key, export type, status, expiry
users columns: last_login_at, is_active

API and data changes

Endpoint list captured from the feature artifact:

MethodPathCaptured purpose
GET/planning/platform (+ /:gencat, /:gencat/:brick) newPlatform-view drill-down (summary -> brick -> platform rows)
PUT/planning/platform newSave a platform-level plan (GenCat / Brick / Platform / Fit arrays)
GET/planning/brickfit/:gencat/:brick/:platform newFit-level rows under a platform
GET/planning/brickfit/:gencat/:brickReturns platform rows for the Brick-to-Platform hierarchy
POST/stores/:store_code/planning/reset newReset a store to AI recommendations (confirm-gated, atomic)
GET/admin/dashboard/summary newEngagement & finalization KPIs
GET/admin/dashboard/franchisees (+ /:id/stores) newPaginated, searchable franchisee list + per-store drill-down
GET/admin/users/stats newUser counts by role & recent signups
POST/admin/users/:id/password-resetAdmin-initiated password reset
GET/auth/profile · PUT /auth/profile newSelf-service profile read / update
PUT/auth/passwordChange own password with current-password verification

Database delivery note from the feature artifact:

Test execution summary

Command:

npm run test:coverage

Actual summary from the supplied log:

=============================== Coverage summary ===============================
Statements   : 60.47% ( 9056/14976 )
Branches     : 51.69% ( 2824/5463 )
Functions    : 57.74% ( 1290/2234 )
Lines        : 60.72% ( 8739/14390 )
================================================================================
Test Suites: 192 passed, 192 total
Tests:       1 skipped, 3986 passed, 3987 total
Time:        147.999 s

Observed non-failing warnings/notices:

SonarQube findings

Command:

npm run sonar:scan

Raw incorporation path:

Actual scan excerpts:

Project key: levis-bp-be
SonarQube server version: 26.7.0
Scanner version: 4.3.8
Indexed files: 608
Ignored by inclusion/exclusion patterns: 381
LCOV imported: yes
Analysis URL: http://localhost:9000/dashboard?id=levis-bp-be
CE task URL: http://localhost:9000/api/ce/task?id=a12b5787-0b43-47b4-ba99-81ee26d02147
Analysis total time: 59.689 s

Dashboard values transcribed from screenshot:

MeasureValue
Quality gatePassed
Lines of code42k
Security open issues0
Reliability open issues0
Maintainability open issues235
Accepted issues0
Coverage59.2%
Duplications4.1%
Security hotspots0

Warnings from scan notes:

Reproducible customer workflow

# 1. Install dependencies
npm ci

# 2. Generate unit coverage
mkdir -p reports/client-sprint/evidence
npm run test:coverage | tee reports/client-sprint/evidence/test_coverage.log

# 3. Start or target SonarQube
npm run sonar:up
# create/export SONAR_TOKEN if the server requires auth
export SONAR_HOST_URL=http://localhost:9000
export SONAR_TOKEN=<token>

# 4. Run analysis after coverage exists
npm run sonar:scan | tee reports/client-sprint/evidence/sonar_scan.md

# 5. Optional: export API metrics when token is available
npm run sonar:export

# 6. Regenerate this report bundle
node quality/client-sprint-report.mjs

SonarQube screenshot

SonarQube dashboard screenshot