TASK22028: phase 16 memory-bank updates
This commit is contained in:
@@ -500,6 +500,27 @@
|
|||||||
- Valid-hash spot-check:
|
- Valid-hash spot-check:
|
||||||
- `GET /api/file/setupcontainer?ident=c1&hash=<valid>` -> **200**.
|
- `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
|
## Likely next steps
|
||||||
|
|
||||||
1. Stabilize and simplify breadcrumb/back-link decision logic with focused regression checks.
|
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.
|
- 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.
|
- 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`
|
- `tests/phase15/service-behaviour.test.cjs`
|
||||||
2. Re-run phase6–phase15 tests and lint to confirm parity.
|
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
|
## Outstanding risks / gaps
|
||||||
|
|
||||||
- Navigation regressions across EN/CY + route query combinations.
|
- Navigation regressions across EN/CY + route query combinations.
|
||||||
|
|||||||
@@ -505,6 +505,37 @@ Status key: `[x] done`, `[ ] pending`
|
|||||||
- `tests/phase15/service-behaviour.test.cjs`
|
- `tests/phase15/service-behaviour.test.cjs`
|
||||||
- Re-run phase6–phase15 baseline tests and lint after rollback to confirm parity.
|
- 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)
|
## 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.
|
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