feat(F-088): completed feature
This commit is contained in:
28
work/artifacts/F-088/implementer.md
Normal file
28
work/artifacts/F-088/implementer.md
Normal file
@@ -0,0 +1,28 @@
|
||||
# F-088 — Implementer evidence
|
||||
|
||||
## Change
|
||||
|
||||
Updated `project/apps/admin/src/lib/api-client.ts` so `taxApi.update` accepts:
|
||||
|
||||
```ts
|
||||
appliesTo?: 'general' | 'reduced' | 'super-reduced'
|
||||
```
|
||||
|
||||
This matches the backend Zod enum and the existing `TaxRate.appliesTo` field used by F-085's inline editor.
|
||||
|
||||
## Validation
|
||||
|
||||
- `cd project/apps/admin && npx tsc --noEmit` → exit 0
|
||||
- `cd project/apps/admin && NEXT_PUBLIC_API_URL=http://192.168.18.93:3000 npm run build` → exit 0
|
||||
- `.next/BUILD_ID` generated: `_bLiqJ4gfyeZE2fRSXk5Q`
|
||||
- ESLint on touched client file → 0 errors, one pre-existing warning
|
||||
- Admin production process running on port 3004
|
||||
- `curl http://127.0.0.1:3004/` → HTTP 200
|
||||
- `curl http://192.168.18.93:3004/` → HTTP 200
|
||||
|
||||
## Acceptance trace
|
||||
|
||||
- `taxApi.update` accepts the validated `appliesTo` enum → PASS
|
||||
- Admin TypeScript check passes → PASS
|
||||
- Production build generates required artifacts → PASS
|
||||
- Admin remains reachable on LAN port 3004 → PASS
|
||||
16
work/artifacts/F-088/leader-close.json
Normal file
16
work/artifacts/F-088/leader-close.json
Normal file
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"feature_id": "F-088",
|
||||
"agent": "leader",
|
||||
"verdict": "APPROVED",
|
||||
"summary": "F-088 fixes the F-085 regression that prevented the admin production build. The admin now serves HTTP 200 on LAN port 3004.",
|
||||
"evidence": [
|
||||
"reviewer.json verdict=APPROVED",
|
||||
"security.json verdict=APPROVED",
|
||||
"qa.json verdict=APPROVED",
|
||||
"scripts/verify.sh exit 0",
|
||||
"apps/admin tsc exit 0",
|
||||
"apps/admin production build exit 0 with .next/BUILD_ID",
|
||||
"http://192.168.18.93:3004/ returned HTTP 200"
|
||||
],
|
||||
"timestamp": "2026-08-20T19:29:20Z"
|
||||
}
|
||||
14
work/artifacts/F-088/qa.json
Normal file
14
work/artifacts/F-088/qa.json
Normal file
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"feature_id": "F-088",
|
||||
"agent": "qa",
|
||||
"verdict": "APPROVED",
|
||||
"summary": "Admin typecheck, production build, and LAN HTTP smoke test pass after the client type correction.",
|
||||
"evidence": [
|
||||
"npx tsc --noEmit in project/apps/admin exit 0",
|
||||
"npm run build in project/apps/admin exit 0",
|
||||
"project/apps/admin/.next/BUILD_ID exists",
|
||||
"curl http://127.0.0.1:3004/ returned HTTP 200",
|
||||
"curl http://192.168.18.93:3004/ returned HTTP 200"
|
||||
],
|
||||
"timestamp": "2026-08-20T19:28:50Z"
|
||||
}
|
||||
13
work/artifacts/F-088/reviewer.json
Normal file
13
work/artifacts/F-088/reviewer.json
Normal file
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"feature_id": "F-088",
|
||||
"agent": "reviewer",
|
||||
"verdict": "APPROVED",
|
||||
"summary": "The one-line client type correction matches the existing backend enum and resolves the admin production build failure without changing runtime behavior outside the intended appliesTo field.",
|
||||
"evidence": [
|
||||
"project/apps/admin/src/lib/api-client.ts adds appliesTo: general | reduced | super-reduced to taxApi.update",
|
||||
"apps/admin npx tsc --noEmit exit 0",
|
||||
"apps/admin npm run build exit 0 and .next/BUILD_ID exists",
|
||||
"GET http://192.168.18.93:3004/ returned HTTP 200"
|
||||
],
|
||||
"timestamp": "2026-08-20T19:28:30Z"
|
||||
}
|
||||
13
work/artifacts/F-088/security.json
Normal file
13
work/artifacts/F-088/security.json
Normal file
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"feature_id": "F-088",
|
||||
"agent": "security",
|
||||
"verdict": "APPROVED",
|
||||
"summary": "Type-only change broadens the client payload type to the same three-value enum already enforced by the backend; no new input surface, dependency, auth, or secret exposure.",
|
||||
"evidence": [
|
||||
"Allowed values are exactly general, reduced, and super-reduced",
|
||||
"Backend pricing route already validates appliesTo with a Zod enum",
|
||||
"No dependencies, database schema, authentication, or authorization changes",
|
||||
"No secrets or unsafe dynamic code added"
|
||||
],
|
||||
"timestamp": "2026-08-20T19:28:40Z"
|
||||
}
|
||||
Reference in New Issue
Block a user