Robert Bond
c98bbfc321
Merged PR 2424: varibale for dmw mapping version
...
varibale for dmw mapping version
Related work items: #23879
2026-06-24 14:43:08 +00:00
Robert Bond
6d0bc35612
Merged PR 2420: added welsh translations of api endpoints
...
added welsh translations of api endpoints
Related work items: #23879
2026-06-23 10:38:24 +00:00
Robert Bond
d7bb1acb10
Merged PR 2414: welsh version of contact us and heading for rep heading for IP rep type
...
welsh version of contact us and heading for rep heading for IP rep type
Related work items: #23484 , #23910
2026-06-22 12:44:36 +00:00
Robert Bond
27fceffbc9
Merged PR 2413: updated docs
...
updated docs
Related work items: #23754
2026-06-22 05:36:30 +00:00
Robert Bond
0150e243ed
Merged PR 2408: updated context for current state at 19062026
...
updated context for current state at 19062026
Related work items: #23754
2026-06-19 12:39:40 +00:00
Robert Bond
e195e09429
Merged PR 2407: Extract representation entry specialist rules to domain policy
...
Extract representation entry specialist rules to domain policy
Related work items: #23754
2026-06-19 11:21:17 +00:00
Robert Bond
be68b987a1
Merged PR 2405: Representation Entry Policy discovery and wrapper
...
Related work items: #23754
2026-06-19 08:19:56 +00:00
Robert Bond
60a2ff4594
Merged PR 2404: case stage analysis
...
Related work items: #23754
2026-06-18 16:02:40 +00:00
Robert Bond
81a6276f44
Merged PR 2401: docs: document representation participation availability model
...
docs: document representation participation availability model
Related work items: #23754
2026-06-18 10:27:53 +00:00
Robert Bond
c84ff3fff9
Merged PR 2399: Adds characterization coverage and documentation for CRM query field profile
...
Related work items: #23754
2026-06-18 08:04:36 +00:00
Robert Bond
a6941a8a06
Merged PR 2398: amends to appeal policy
...
Related work items: #23754
2026-06-18 05:17:10 +00:00
Robert Bond
475aa965b4
Merged PR 2395: helpers for dashboard domain layer
...
Related work items: #23754
2026-06-17 16:06:09 +00:00
Robert Bond
0b66a0e1d4
Merged PR 2394: adjusting reps domain logic
...
Related work items: #23754
2026-06-17 10:55:32 +00:00
Robert Bond
ca244e5de1
Merged PR 2392: updated project types for new sub grid
...
updated project types for new sub grid
Related work items: #23752
2026-06-16 17:44:04 +00:00
Robert Bond
3efaafdb72
Merged PR 2388: added updated copy for contact us
...
added updated copy for contact us
Related work items: #23482 , #23483
2026-06-16 08:25:05 +00:00
Robert Bond
1e14fbc709
Merged PR 2387: update welsh translations for new appeal pdf
...
update welsh translations for new appeal pdf
Related work items: #23562
2026-06-15 12:03:28 +00:00
Robert Bond
628b2b71fd
Merged PR 2385: update unsubscribe
...
update unsubscribe
Related work items: #23796
2026-06-11 13:04:21 +00:00
Robert Bond
3297fe4f16
Merged PR 2384: updated pdf to show correct lang prefs on appeal pdf
...
updated pdf to show correct lang prefs on appeal pdf
Related work items: #23562
2026-06-11 10:51:38 +00:00
Robert Bond
7b1faf0bac
Merged PR 2382: missing import
...
missing import
Related work items: #23780
2026-06-10 12:41:04 +00:00
Robert Bond
c6e42fc314
Merged PR 2381: ROW case stage updates
...
Related work items: #23564 , #23779 , #23780
2026-06-10 10:12:11 +00:00
Robert Bond
7e47340326
Merged PR 2377: added enlarge map view on dnsapplication list
...
added enlarge map view on dnsapplication list
Related work items: #23774
2026-06-09 10:04:32 +00:00
Robert Bond
c39e4bcc9a
Merged PR 2375: update representation policy
...
## Summary
Introduces a new `representation-policy` domain boundary and incrementally extracts low-risk representation entry policy logic while preserving existing behaviour.
This PR intentionally stops before extracting ROW and Advert entry rules because characterization uncovered behavioural differences between consumers that require a separate business decision.
## What Changed
Added:
```text
lib/domain/representation-policy/
```
Including:
- `resolveRepresentationWindow(...)`
- `isRepresentationWindowOpen(...)`
- `isRepresentationWindowClosed(...)`
- `canShowRepresentationButtonForAppealType(...)`
- `canStartHouseholderRepresentation(...)`
- `canStartCpoRepresentation(...)`
Updated consumers:
```text
components/case/summary/utils/representationEntry.js
components/search/repsonresults.js
```
## Extracted Behaviour
### Representation Window Calculation
Centralised shared representation window logic and adopted it in both consumers.
### Appeal Type Entry Gating
Centralised excluded appeal-type logic while preserving existing behaviour.
### Householder Rule
Centralised Householder (`846040004`) entry rule.
Preserved behaviour:
```text
Householder representations can only be started by LPAs.
```
### CPO Rule
Centralised CPO (`846040019`) entry rule.
Preserved behaviour using:
```text
pinswg_startdate
pinswg_statementduedate
```
No fallback date broadening introduced.
## Characterization Added
### ROW (`846040015`)
Documented:
- hearing vs non-hearing behaviour
- specialist-process field behaviour
- date gating
- appeal-type coercion behaviour
### Advert (`846040018`)
Documented:
- LPA/non-LPA behaviour
- specialist-process behaviour
- appeal-type coercion behaviour
## Important Findings
### ROW Divergence
Summary and Search consumers currently behave differently when only:
```text
pinswg_speacialistcaseprocess
```
exists.
### Advert Divergence
Summary and Search consumers currently use different specialist-process resolution paths.
### CRM Compatibility
Both fields remain in production use and must be preserved:
```text
pinswg_specialistcaseprocess
pinswg_speacialistcaseprocess
```
## Documentation
Added:
```text
lib/domain/representation-policy/README.md
```
Documenting:
- ownership
- non-goals
- CRM compatibility requirements
- ROW divergence
- Advert divergence
- future extraction constraints
## Validation
Executed during the slice series:
```bash
node tests/phase22/representation-window.test.cjs
node tests/phase22/representation-appeal-type-entry-gating.test.cjs
node tests/phase22/representation-householder-entry-rule.test.cjs
node tests/phase22/representation-cpo-entry-rule.test.cjs
node tests/phase22/representation-row-entry-rule.test.cjs
node tests/phase22/representation-advert-entry-rule.test.cjs
npm run lint
```
All passing.
## Out of Scope
No changes to:
- submission/finalisation
- uploads
- dashboards
- CRM/OData queries
- API routes
- Redux state
- translations
- blocked-message rendering
- CTA l...
2026-06-08 10:51:02 +00:00
Robert Bond
9595ad86df
Merged PR 2374: addeding domain layer extrraction
...
# Summary
This PR introduces a **Case Lifecycle Domain Boundary** to centralize lifecycle decision logic and reduce coupling within the appeals application.
The work is **behaviour-preserving** and introduces no intentional changes to business rules, CRM integrations, translations, dashboards, API routes, or user-facing functionality.
## What was added
New lifecycle boundary:
```text
lib/domain/case-lifecycle/
```
Key responsibilities extracted:
- Specialist process normalization
- Appeal type mapping
- Specialist process stage override mapping
- Stage case-type resolution
- Stage catalogue lookup
- Closed-case status recognition
- Lifecycle stage index resolution
- Lifecycle stage status assignment
## Behaviour preserved
Characterization tests were added before each extraction to preserve:
- Appeal type mapping and aliases
- Specialist process handling
- Lifecycle stage progression
- Closed-case handling
- Status assignment (`complete`, `in-progress`, `not-started`)
- Existing ROW behaviour
- Existing `statuscode` lifecycle semantics
Closed-case recognition remains unchanged for:
```text
1000
5
6
846040013
846040059
846040060
```
## Documentation
Added:
```text
lib/domain/case-lifecycle/README.md
```
Documenting:
- Boundary ownership
- Non-goals
- Lifecycle invariants
- Known architectural constraints
- Future extraction roadmap
## Testing
Added lifecycle characterization coverage for:
- Stage wrapper behaviour
- Specialist process normalization
- Appeal type mapping
- Specialist process stage mapping
- Stage case-type resolution
- Stage catalogue lookup
- Progress behaviour
- Closed-case status handling
- Stage index resolution
- Stage status assignment
## Validation
- Lifecycle characterization tests passed
- `npm run lint` passed with no errors
## Out of Scope
No changes to:
- Stage catalogue ownership
- Representation eligibility
- Dashboard calculations
- CRM/OData queries
- API routes
- Redux state
- EN/CY translations
- Event visibility logic
## Risk
**Low risk**
The refactor was delivered through small, characterization-first slices with no functional changes intended.
Related work items: #23527
2026-06-08 09:34:30 +00:00
Robert Bond
2262f3ab74
Merged PR 2369: added dns sips case close message and in welsh
...
added dns sips case close message and in welsh
Related work items: #23555
2026-06-03 14:48:58 +00:00
Robert Bond
d0cae0fff1
Merged PR 2368: case stage ROW updates and case closed variants and adv search fix
...
Related work items: #23551 , #23555 , #23559
2026-06-03 12:44:59 +00:00
Robert Bond
a9be19b901
Merged PR 2367: updated description and welsh
...
updated description and welsh
Related work items: #23551
2026-06-02 14:46:55 +00:00
Robert Bond
da07b4873e
Merged PR 2365: update welsh case stage
...
update welsh case stage
Related work items: #23359
2026-06-02 12:40:08 +00:00
Robert Bond
4ced5d0f42
Merged PR 2363: updated status and welsh
...
updated status and welsh
Related work items: #23319 , #23359
2026-06-02 08:34:51 +00:00
Robert Bond
18a05d4be8
Merged PR 2357: dashboards in admin for appeals and lpa
...
dashboards in admin for appeals and lpa
Related work items: #23527
2026-05-29 16:35:27 +00:00
Robert Bond
b71a93076b
Merged PR 2352: adjusted query to only show published
...
adjusted query to only show published
Related work items: #23447
2026-05-28 11:02:18 +00:00
Robert Bond
3f2b8807e7
Merged PR 2351: fix csp by making it server side
...
Related work items: #23447
2026-05-28 10:41:11 +00:00
Robert Bond
24cd7000f7
Merged PR 2350: added in count on case status dropdown
...
added in count on case status dropdown
Related work items: #23447
2026-05-28 09:02:30 +00:00
Robert Bond
905c82f598
Merged PR 2349: updated dropdown to show all new case stages
...
updated dropdown to show all new case stages
Related work items: #23447
2026-05-28 07:05:06 +00:00
Robert Bond
26e8464d46
Merged PR 2348: corrected welsh version of representations period
...
corrected welsh version of representations period
Related work items: #23319
2026-05-27 14:29:20 +00:00
Robert Bond
1df5573fce
Merged PR 2346: updated close status on non val
...
updated close status on non val
Related work items: #23365
2026-05-26 16:11:48 +00:00
Robert Bond
25485d73ed
Merged PR 2345: typo
...
typo
Related work items: #23365
2026-05-26 14:57:34 +00:00
Robert Bond
6d8d56d745
Merged PR 2343: update to non val
...
Related work items: #23365
2026-05-26 13:42:09 +00:00
Robert Bond
f6bbaa5c1d
Merged PR 2342: ammend case status and descriptions per bugs
...
ammend case status and descriptions per bugs
Related work items: #23319 , #23357 , #23359 , #23365 , #23394
2026-05-26 07:50:33 +00:00
Robert Bond
4f3e3f5183
Merged PR 2338: updated welsh translation
...
updated welsh translation
Related work items: #23319
2026-05-21 12:28:36 +00:00
Robert Bond
a6cc030612
Merged PR 2333: updated welsh link on events tab
...
updated welsh link on events tab
Related work items: #22423
2026-05-19 15:26:33 +00:00
Robert Bond
2e98be3b65
Merged PR 2331: updated welsh text
...
updated welsh text
Related work items: #23094
2026-05-19 05:23:14 +00:00
Robert Bond
149238dd4e
Merged PR 2330: welsh translation update and reps and site visit fix
...
welsh translation update and reps and site visit fix
Related work items: #23087 , #23088
2026-05-18 12:18:03 +00:00
Robert Bond
b6bd543527
Merged PR 2329: welsh link for events
...
welsh link for events
Related work items: #23054
2026-05-18 08:50:58 +00:00
Robert Bond
5967665138
Merged PR 2325: missing welsh translations on search results
...
missing welsh translations on search results
Related work items: #23044
2026-05-15 15:08:53 +00:00
Robert Bond
9860f47cbe
Merged PR 2324: updated status message for case started/case in progrsss
...
updated status message for case started/case in progrsss
Related work items: #23064
2026-05-15 13:14:23 +00:00
Robert Bond
5bf1393020
Merged PR 2322: removed the ? on event
...
removed the ? on event
Related work items: #23063
2026-05-15 10:33:01 +00:00
Robert Bond
5a8fd73bfd
Merged PR 2321: updated welsh status on search results and status tab descriptions
...
updated welsh status on search results and status tab descriptions
Related work items: #23044 , #23045
2026-05-14 15:03:36 +00:00
Robert Bond
c2ae6964f9
Merged PR 2318: auth stabilisation: extract shared myportal auth guard helper
...
auth stabilisation: extract shared myportal auth guard helper
ntroduces a small shared SSR helper (resolveMyPortalAuthContext) to standardize common myportal auth/session guards (session presence, session user identity, and pinsUser cookie) with preserved reason-coded diagnostics and signin redirect behavior. Migrates exactly two loaders (pages/myportal/searchresults.js, pages/myportal/addresssearchresults.js) to use the helper while keeping loader-specific UPSTREAM_FAILURE and CONTACT_LOOKUP_FAILED logic unchanged.
Related work items: #23020
2026-05-14 10:38:45 +00:00
Robert Bond
4fb62a6773
Merged PR 2317: Auth stabilisation: add reason-coded guards to MyPortal loaders
...
Adds incremental auth/session hardening across myportal loader paths (loadMyPortalAppealPage, searchresults, addresssearchresults) with explicit guard ordering and reason-coded diagnostics for missing session, missing session identity, missing cookie identity, contact/account lookup failures, and upstream dependency failures. Includes targeted Phase22 loader guard tests and keeps redirect behaviour policy unchanged.
Related work items: #23020
2026-05-14 10:27:12 +00:00
Robert Bond
d0b2fd077a
Merged PR 2315: Auth stabilistatiion and hardening
...
Related work items: #23020
2026-05-14 08:55:49 +00:00