# Repository Inspection Evidence — verified facts > Working note. Every claim below was verified by direct inspection on 2026-07-29. > Authoring agents MUST use these facts and cite these file paths. Do not re-derive > or contradict them. Do not invent files, frameworks, or config that is not listed. ## A. What the repository actually is A **static, browser-only frontend prototype**. There is no backend of any kind. Complete file inventory of the **prototype as inspected on 2026-07-29** (excluding `.git/`, `.backup-prebrand/`). Files added afterwards by this design package are listed separately below, so the prototype's own line counts stay comparable: ``` index.html 287 lines css/styles.css 1269 lines (design system, brand-tokenised) js/ (22 files, ~4,780 lines total — `wc -l js/*.js` = 4,779) data.js 512 charts.js 347 candidates.js 441 inbox.js 332 app.js 275 jobs.js 252 aiassistant.js 218 interviews.js 209 misc.js 207 import.js 176 jobboard.js 172 pipeline.js 166 dashboard.js 170 ui.js 252 offers.js 139 assessments.js 126 recruiterhub.js 121 rbac.js 117 analytics.js 114 reports.js 109 settings.js 193 tasks.js 131 devserver.py 36 lines (no-cache static server, added for preview only) docs/TalentFlow-ATS-Business-Requirements-v1.0.docx .gitignore 42 lines .claude/launch.json .audit.js (dev-only QA helper, gitignored) ``` Added after inspection by this design package, and **not** part of the prototype or of any line count quoted anywhere in these documents: ``` docs/architecture/ this package tools/check_evidence_citations.py documentation gate: verifies every `path:line` citation in docs/architecture against the source ``` ## B. ABSENT — verified by `find` / direct check None of the following exist anywhere in the repository: - `package.json`, any lockfile, `node_modules/` - `requirements.txt`, `pyproject.toml`, `Pipfile` - `composer.json`, `go.mod`, `Gemfile`, `pom.xml`, `build.gradle` - `Dockerfile`, `docker-compose.yml`, `Makefile` - `.env`, `.env.example` (none present; `.gitignore` anticipates them) - Any migration directory or migration tool - Any ORM, query builder, or database driver - Any test file, test runner, or CI configuration (`.github/` absent) - Any build tooling (`tsconfig.json`, `vite.config.js`, `webpack.config.js`) - Any API route, controller, service, or server-side code - **Any meeting transcript or recruitment document** (searched repo and `~/Documents` to depth 2 — only the BRD `.docx` this project produced) **Consequence:** there is no backend stack to preserve. Operating Rule 9 ("do not replace the existing stack") therefore constrains only the frontend and design system, not the backend, which is a greenfield choice. ## C. Frontend architecture — verified | Fact | Evidence | |---|---| | Zero network calls. `grep` for `fetch(`, `XMLHttpRequest`, `axios`, `$.ajax`, `WebSocket`, `EventSource` across `js/` and `index.html` returns **nothing**. The UI is fully self-contained. | repo-wide grep | | All data is generated in-browser at load by a seeded LCG PRNG (`seed = 88123`), so the dataset is stable across reloads but exists only in memory. Nothing persists. | `js/data.js:8-10` | | 100 candidates, plus jobs/interviews/assessments/offers/inbox generated at load. | `js/data.js:110-131` | | Hardcoded "today" — `new Date('2026-07-09')` used as the current date in multiple places. | `js/data.js:237`, `js/candidates.js:18`, `js/jobboard.js:167` | | `localStorage` used **only** for the theme preference. No session or app state. | `js/app.js:64,193,198` | | Client-side hash router over `location.hash`; views are functions returning HTML strings plus an `onMount` hook. 23 routes. | `js/app.js:20-57` (`Router.go`, `Router.render`), `ROUTES` map `js/app.js:7-16` | | Global namespaces on `window`: `DB`, `UI`, `Charts`, `App`, `Router`, `Views`, plus per-module globals. No modules, no bundler, 22 `