TASK22269: normalize document hash-suffix route composition

This commit is contained in:
2026-03-25 14:13:53 +00:00
parent 4e964ad1ad
commit 1b7e6009aa
5 changed files with 55 additions and 7 deletions
+34
View File
@@ -2871,3 +2871,37 @@ Validation:
Follow-ups:
- Remaining special-case signed pattern is now primarily the signed-suffix append composition in `sendCaseCompleteMessage` (already using shared `buildSignedUrl`), with broader module migrations to be planned in future bounded slices.
---
### CL-080: TASK22269 Slice B1.5 — document hash-suffix route normalization helper
date: 2026-03-25
author: Cline
scope: `actions/clients/fileRouteBuilder.js`, `actions/services/documentDirectService.js`, `tests/{serviceHarness,phase22/client-utils-behaviour}.cjs`
type: change
rationale: Continue grouped follow-on candidates by normalizing repeated deterministic hash-suffix route assembly in document service behind one shared route-builder helper.
impact: Reduces repeated `appendQuerySuffix(route, hashAPIPath(route))` composition drift risk while preserving route/query/hash behavior.
status: completed
Summary:
- Added `appendHashSuffix(route, hashBuilder)` to `fileRouteBuilder`.
- Migrated document service deterministic hash-suffix paths to new helper:
- `getAwaitingSubmissionFromBlob`
- `getRepsFromBlob`
- `getFilesFromBlob`
- `getProgressFromBlob`
- `createContainerProxy`
- Updated shared VM harness defaults (`tests/serviceHarness.cjs`) to inject `appendHashSuffix`.
- Expanded phase22 utility test to cover new helper behavior (`tests/phase22/client-utils-behaviour.test.cjs`).
Validation:
- `npm run lint` -> pass with warnings only (pre-existing `react-hooks/exhaustive-deps`; no new lint errors)
- `node tests/phase22/index.test.cjs` -> pass
- `node tests/phase7/service-behaviour.test.cjs` -> pass (13/13)
Follow-ups:
- Remaining non-service candidate for this stream is `actions/azurestorage.js` direct `hashAPIPath` metadata assembly (separate bounded slice if desired).