# AS0558844 modernization

Functional modernization of `AS0558844.xlsm`, generated from the consolidated
Neo4j knowledge graph and verified against the spreadsheet structure and visual
workspaces.

## What is included

- `backend/`: FastAPI layered application with an in-memory repository.
- `frontend/`: React + TypeScript SPA.
- `docs/screen-parity.json`: machine-verifiable field-by-field mapping.
- `docs/screen-parity.md`: human-readable screen-to-workbook mapping.
- `docs/traceability-matrix.md`: graph, VBA, business-rule and API coverage.
- `docs/architecture.md`: design and evidence boundaries.
- `docs/validation.md`: repeatable validation procedure and limitations.
- `docs/validation-report.md`: results from the completed integrated run.

The source workbook is read-only evidence. The application does not mutate it.
Imports, adjustments and exports are modeled as in-memory operations and audit
records.

## Run

Terminal 1:

```bash
cd backend
uv run --extra test uvicorn app.main:app --host 127.0.0.1 --port 8000
```

Terminal 2:

```bash
cd frontend
npm install
npm run dev
```

Open <http://127.0.0.1:5173>.

## Validate

```bash
cd backend
uv run --extra test pytest

cd ../frontend
npm test
npm run build
```

## Evidence sources

- Consolidated graph: `../../out/asset_kg_graph.json`
- Workbook: `../../../Sanitised_HSBC_EUCs/AS0558844.xlsm`
- Asset 1–7 results: `../../results/`

The graph extraction reported formula dependency and range-node limits. The
application therefore claims parity only for evidence that is explicitly mapped
in `docs/screen-parity.json`; it does not claim complete cell-by-cell formula
lineage.

