TASK22028: phase 16 memory-bank updates
This commit is contained in:
@@ -500,6 +500,27 @@
|
||||
- Valid-hash spot-check:
|
||||
- `GET /api/file/setupcontainer?ident=c1&hash=<valid>` -> **200**.
|
||||
|
||||
## Phase 16 hardening status (2026-03-13)
|
||||
|
||||
- Continued on branch:
|
||||
- `TASK22028-phase15-hardening-slice`
|
||||
- Added a consistency-only file-proxy hardening slice across:
|
||||
- `pages/api/file/getbloblistproxy.js`
|
||||
- `pages/api/file/getrepsblobproxy.js`
|
||||
- `pages/api/file/getawaitingsubmissionfromblobproxy.js`
|
||||
- Changes focused on:
|
||||
- standardized required-input guards via `hasValue`
|
||||
- removed unused imports/dead constants from touched proxy handlers
|
||||
- preserved existing response contracts and status semantics
|
||||
- Added focused test pack:
|
||||
- `tests/phase16/service-behaviour.test.cjs`
|
||||
|
||||
### Phase 16 validation evidence snapshot
|
||||
|
||||
- phase6 parity + phase6–phase15 behavioural suites: pass
|
||||
- phase16 behavioural suite: pass (4/4)
|
||||
- lint: warnings only (pre-existing)
|
||||
|
||||
## Likely next steps
|
||||
|
||||
1. Stabilize and simplify breadcrumb/back-link decision logic with focused regression checks.
|
||||
|
||||
@@ -978,3 +978,43 @@ Follow-ups:
|
||||
|
||||
- Continue small-batch consistency hardening for remaining sensitive handlers where guard patterns are still inconsistent.
|
||||
- Keep manual happy-path checks constrained to feasible local dependencies; document downstream/environment-caused failures separately.
|
||||
|
||||
---
|
||||
|
||||
### CL-027: Phase 16 hardening — file proxy required-input guard consistency slice
|
||||
|
||||
date: 2026-03-13
|
||||
author: Cline
|
||||
scope: `pages/api/file/{getbloblistproxy,getrepsblobproxy,getawaitingsubmissionfromblobproxy}.js`, `tests/phase16/service-behaviour.test.cjs`, `memory-bank/*`
|
||||
type: change
|
||||
rationale: Continue within the same branch using separate commits to apply a small consistency-only hardening slice for sensitive file proxy handlers.
|
||||
impact: More consistent required-input validation and cleaner proxy handler internals without changing response-shape/signature contracts.
|
||||
status: completed
|
||||
|
||||
Summary:
|
||||
|
||||
- Continued on `TASK22028-phase15-hardening-slice` as a separate commit.
|
||||
- Standardized required-input guards using a local `hasValue` helper in 3 file proxy handlers.
|
||||
- Removed unused imports/constants from touched files.
|
||||
- Added `tests/phase16/service-behaviour.test.cjs` with negative-path coverage and one valid-input contract check.
|
||||
|
||||
Validation:
|
||||
|
||||
- `node tests/phase6/service-parity.test.cjs` -> pass
|
||||
- `node tests/phase6/service-behaviour.test.cjs` -> pass (8/8)
|
||||
- `node tests/phase7/service-behaviour.test.cjs` -> pass (10/10)
|
||||
- `node tests/phase8/service-behaviour.test.cjs` -> pass (5/5)
|
||||
- `node tests/phase9/service-behaviour.test.cjs` -> pass (5/5)
|
||||
- `node tests/phase10/service-behaviour.test.cjs` -> pass (5/5)
|
||||
- `node tests/phase11/service-behaviour.test.cjs` -> pass (4/4)
|
||||
- `node tests/phase12/service-behaviour.test.cjs` -> pass (4/4)
|
||||
- `node tests/phase13/service-behaviour.test.cjs` -> pass (7/7)
|
||||
- `node tests/phase14/service-behaviour.test.cjs` -> pass (5/5)
|
||||
- `node tests/phase15/service-behaviour.test.cjs` -> pass (5/5)
|
||||
- `node tests/phase16/service-behaviour.test.cjs` -> pass (4/4)
|
||||
- `npm run lint` -> warnings only (pre-existing)
|
||||
- Manual checks (`localhost:3002`): missing required inputs across selected proxies -> 400
|
||||
|
||||
Follow-ups:
|
||||
|
||||
- Continue incremental endpoint/file proxy consistency slices with same contract-preserving constraints.
|
||||
|
||||
@@ -650,6 +650,59 @@
|
||||
- `tests/phase15/service-behaviour.test.cjs`
|
||||
2. Re-run phase6–phase15 tests and lint to confirm parity.
|
||||
|
||||
## Latest update (2026-03-13 — Phase 16 file-proxy consistency slice)
|
||||
|
||||
- Continued on branch:
|
||||
- `TASK22028-phase15-hardening-slice`
|
||||
- Delivered a small consistency-only hardening slice across 3 sensitive file proxy handlers:
|
||||
- `pages/api/file/getbloblistproxy.js`
|
||||
- `pages/api/file/getrepsblobproxy.js`
|
||||
- `pages/api/file/getawaitingsubmissionfromblobproxy.js`
|
||||
- Scope delivered:
|
||||
- removed unused imports/constants in touched handlers to reduce noisy/unsafe dead code
|
||||
- standardized required input checks using shared local `hasValue` pattern
|
||||
- preserved response shape/signature/status behavior contracts
|
||||
- Added focused tests:
|
||||
- `tests/phase16/service-behaviour.test.cjs`
|
||||
- negative-path checks for missing required container/casefolder inputs
|
||||
- one valid-input happy-path contract check for `getbloblistproxy` (200 + passthrough shape)
|
||||
|
||||
### Validation snapshot (Phase 16)
|
||||
|
||||
- `node tests/phase6/service-parity.test.cjs` -> **pass**
|
||||
- `node tests/phase6/service-behaviour.test.cjs` -> **pass** (8/8)
|
||||
- `node tests/phase7/service-behaviour.test.cjs` -> **pass** (10/10)
|
||||
- `node tests/phase8/service-behaviour.test.cjs` -> **pass** (5/5)
|
||||
- `node tests/phase9/service-behaviour.test.cjs` -> **pass** (5/5)
|
||||
- `node tests/phase10/service-behaviour.test.cjs` -> **pass** (5/5)
|
||||
- `node tests/phase11/service-behaviour.test.cjs` -> **pass** (4/4)
|
||||
- `node tests/phase12/service-behaviour.test.cjs` -> **pass** (4/4)
|
||||
- `node tests/phase13/service-behaviour.test.cjs` -> **pass** (7/7)
|
||||
- `node tests/phase14/service-behaviour.test.cjs` -> **pass** (5/5)
|
||||
- `node tests/phase15/service-behaviour.test.cjs` -> **pass** (5/5)
|
||||
- `node tests/phase16/service-behaviour.test.cjs` -> **pass** (4/4)
|
||||
- `npm run lint` -> **warnings only** (pre-existing `react-hooks/exhaustive-deps` warnings)
|
||||
|
||||
### Manual HTTP checks (Phase 16)
|
||||
|
||||
- Dev server on `http://localhost:3002`.
|
||||
- Negative-path checks:
|
||||
- `/api/file/getbloblistproxy?casefolderID=case-1` -> **400**
|
||||
- `/api/file/getbloblistproxy?container=c1` -> **400**
|
||||
- `/api/file/getrepsblobproxy` -> **400**
|
||||
- `/api/file/getawaitingsubmissionfromblobproxy` -> **400**
|
||||
- Feasible valid-input spot-check:
|
||||
- `/api/file/getbloblistproxy?container=c1&casefolderID=case-1` -> **400** (expected downstream/local dependency behavior; input guard passed)
|
||||
|
||||
### Rollback plan (Phase 16)
|
||||
|
||||
1. Revert commit `c196edb` or files:
|
||||
- `pages/api/file/getbloblistproxy.js`
|
||||
- `pages/api/file/getrepsblobproxy.js`
|
||||
- `pages/api/file/getawaitingsubmissionfromblobproxy.js`
|
||||
- `tests/phase16/service-behaviour.test.cjs`
|
||||
2. Re-run phase6–phase16 tests and lint.
|
||||
|
||||
## Outstanding risks / gaps
|
||||
|
||||
- Navigation regressions across EN/CY + route query combinations.
|
||||
|
||||
@@ -505,6 +505,37 @@ Status key: `[x] done`, `[ ] pending`
|
||||
- `tests/phase15/service-behaviour.test.cjs`
|
||||
- Re-run phase6–phase15 baseline tests and lint after rollback to confirm parity.
|
||||
|
||||
### Phase 16 completion snapshot (2026-03-13)
|
||||
|
||||
Status key: `[x] done`, `[ ] pending`
|
||||
|
||||
1. `[x]` Continue on current branch with separate commit for additional small slice
|
||||
- branch: `TASK22028-phase15-hardening-slice`
|
||||
2. `[x]` Apply minimal consistency hardening in 3 file proxy handlers
|
||||
- `pages/api/file/getbloblistproxy.js`
|
||||
- `pages/api/file/getrepsblobproxy.js`
|
||||
- `pages/api/file/getawaitingsubmissionfromblobproxy.js`
|
||||
3. `[x]` Standardize required-input guard pattern
|
||||
- added local `hasValue` checks for required params
|
||||
- removed unused/dead imports/constants in touched files
|
||||
4. `[x]` Add focused Phase 16 tests
|
||||
- added `tests/phase16/service-behaviour.test.cjs`
|
||||
- missing-input negative-path checks + one valid-input contract check
|
||||
5. `[x]` Execute validation bundle
|
||||
- phase6 parity + phase6–phase16 behaviour tests pass
|
||||
- lint warnings only (pre-existing)
|
||||
6. `[x]` Execute manual checks
|
||||
- missing required-input proxy calls -> 400
|
||||
|
||||
### Phase 16 rollback notes
|
||||
|
||||
- Revert commit `c196edb` (or files):
|
||||
- `pages/api/file/getbloblistproxy.js`
|
||||
- `pages/api/file/getrepsblobproxy.js`
|
||||
- `pages/api/file/getawaitingsubmissionfromblobproxy.js`
|
||||
- `tests/phase16/service-behaviour.test.cjs`
|
||||
- Re-run phase6–phase16 baseline tests and lint.
|
||||
|
||||
## Safe execution mode for migration chunks (required)
|
||||
|
||||
To reduce terminal hangs during bulk migration work, run refactor chunks in **safe stepwise mode** instead of long chained commands.
|
||||
|
||||
Reference in New Issue
Block a user