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
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
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
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
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
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
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
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
d0b2fd077a
Merged PR 2315: Auth stabilistatiion and hardening
...
Related work items: #23020
2026-05-14 08:55:49 +00:00
Robert Bond
d295a507ac
Merged PR 2303: updated company name to pinswg_companyname
...
updated company name to pinswg_companyname
Related work items: #22774
2026-05-11 10:47:39 +00:00
Robert Bond
4f90c9a058
Merged PR 2302: updated text as per vickis request
...
updated text as per vickis request
Related work items: #22987
2026-05-11 09:52:19 +00:00
Robert Bond
1a2c3ede3b
Merged PR 2295: resolved lint warnings
...
resolved lint warnings
Related work items: #22873
2026-05-05 17:13:53 +00:00
Robert Bond
46a0e0b185
Merged PR 2291: reps array refactor and update and tests
...
reps array refactor and update and tests
Related work items: #22873
2026-05-05 10:16:27 +00:00
Robert Bond
d2e88b57d8
Merged PR 2288: add in company name for appellant and autofill agent details in new appeal
...
add in company name for appellant and autofill agent details in new appeal
Related work items: #22842
2026-04-30 16:25:03 +00:00
Robert Bond
b596374c3c
Merged PR 2286: allowed LPAs to make statements
...
allowed LPAs to make statements
Related work items: #22848
2026-04-30 09:15:53 +00:00
Robert Bond
9140476a2a
Merged PR 2285: tweak to live link
...
tweak to live link
Related work items: #22423
2026-04-29 17:03:50 +00:00
Robert Bond
baf5b1838d
Merged PR 2283: Data driven status pages from CRM
...
Related work items: #22805
2026-04-29 15:29:54 +00:00
Robert Bond
1fd192b870
Merged PR 2282: replaced deadlineextensiuondate
...
replaced deadlineextensiuondate
Related work items: #22783
2026-04-29 08:02:29 +00:00
Robert Bond
8b187742af
Merged PR 2281: update logic for reps arr take isAppellant from capacity selection not type o...
...
update logic for reps arr take isAppellant from capacity selection not type of involvement
Related work items: #22835
2026-04-28 16:07:35 +00:00
Robert Bond
421adafca3
Merged PR 2280: fix in place for app error
...
fix in place for app error
Related work items: #22834
2026-04-28 15:48:32 +00:00
Robert Bond
a25ab433a6
Merged PR 2279: passed in case customer email in search and update rep logic to stop non owne...
...
passed in case customer email in search and update rep logic to stop non owners rasing reps on other owners cases
Related work items: #22095
2026-04-28 12:00:12 +00:00
Robert Bond
843e6adee6
Merged PR 2278: mocked design for status tab
...
mocked design for status tab
Related work items: #22805
2026-04-28 09:36:48 +00:00
Robert Bond
b2945790b1
Merged PR 2274: case deadline and watch stream on results
...
case deadline and wat
Related work items: #22423 , #22783
2026-04-27 13:07:46 +00:00
Robert Bond
d604d4f264
Merged PR 2269: added link for streaming events
...
added link for streaming events
Related work items: #22423
2026-04-23 14:34:08 +00:00
Robert Bond
43e37dc844
Merged PR 2268: adjusted styling tto center vertically dynamically
...
adjusted styling tto center vertically dynamically
Related work items: #22659
2026-04-23 04:59:06 +00:00
Robert Bond
7a14b7e8c9
Merged PR 2267: added ai guidance overlay
...
added ai guidance overlay
Related work items: #21744
2026-04-22 13:28:05 +00:00
Robert Bond
b0004381ed
Merged PR 2266: update media tabs display and query
...
update media tabs display and query
Related work items: #22698
2026-04-22 11:38:04 +00:00
Robert Bond
20782db916
Merged PR 2264: updatd createinvolvent call
...
updatd createinvolvent call
Related work items: #22441
2026-04-22 08:15:59 +00:00
Robert Bond
f34ac3ba11
Merged PR 2263: createinvolvement updates contactinvolvement table
...
createinvolvement updates contactinvolvement table
Related work items: #22441
2026-04-21 16:16:31 +00:00
Robert Bond
5bf885933d
Merged PR 2262: shows primary lpa and then lists additional lps below on the portal summary tab
...
shows primary lpa and then lists additional lps below on the portal summary tab
Related work items: #22699
2026-04-21 08:39:37 +00:00
Robert Bond
05d83822f2
Merged PR 2261: added in text and ui redesign for rep type selection
...
added in text and ui redesign for rep type selection
Related work items: #22574
2026-04-21 04:59:01 +00:00
Robert Bond
37a81522d5
Merged PR 2260: refactor(representations): complete slice-based refactor of representations flow
...
## Representations Refactor — Behaviour-Preserving Structural Improvements
This PR delivers a full refactor of the representations flow, improving structure, readability, and maintainability while preserving all existing behaviour.
The work was completed using a controlled, slice-based approach with strict guardrails and regression validation at each step. No changes have been made to user journeys, payloads, routing, or EN/CY behaviour.
The result is a cleaner, more maintainable codebase with reduced coupling and clearer separation of concerns, ready for future enhancements without increased risk.
---
## What Was Done
The refactor was delivered incrementally across the following slices:
- **R1** — Representation entry logic extraction
- **R2** — Page loader separation (SSR/data orchestration)
- **R3** — Journey step resolution extraction
- **R4** — Flow shell decomposition
- **R5** — Representation elements normalisation
- **R6** — Data/service layer cleanup
- **R7** — Summary rendering proof slice
- **R8** — Submission/finalisation boundary isolation
- **R9** — Summary rollout (Batch 1)
Each slice:
- was isolated to a single concern
- followed strict guardrails
- was validated before merge
Full detail is available in:
`context/representations-refactor-tracker.md`
---
## Key Improvements
- Reduced coupling across the representations journey
- Separated data loading, orchestration, and rendering concerns
- Simplified complex conditional logic into testable helpers
- Standardised summary rendering using shared primitives (`SummaryCard`, `SummaryRow`)
- Isolated submission/finalisation sequencing into explicit boundaries
- Improved overall readability and maintainability
---
## Behaviour Preservation
This refactor does **not** change:
- User journeys (APP / IP / Agent / LPA)
- Route and query behaviour
- Payload contracts and API interactions
- Redux state shape and usage
- Validation rules and messaging
- EN/CY behaviour
- File upload / PDF / email sequencing
- Linked-case logic
All changes are structural only.
---
## Validation
### Automated
- `npm run lint` — passed (warnings only, no new errors)
- `npm run test:reps` — passed (7/7)
### Manual
Validated end-to-end across:
- APP
- IP
- Agent
- LPA
Including:
- representation creation
- editing/resuming representations
- submission flow
- confirmation/completion behaviour
- summary rendering across case types
- EN/CY parity
---
## Risk Management
The refactor targeted several high-risk areas:
- Case summary entry logic
- Representation submission/finalisation sequencing
- Dual-mode entry (new vs existing representation)
Risk was controlled through:
- small, incremental slices
- one branch per slice
- regression validation per slice
- strict behaviour-preservation guardrails
- controlled rollout for summary rendering changes
---
## Reviewer Guidance
Suggested areas to focus on:
- End-to-end representation journey (create → submit → complete)
- S...
2026-04-20 13:09:07 +00:00
Robert Bond
c8b08a04a6
Merged PR 2250: fixed typo
...
Related work items: #22632
2026-04-16 10:47:54 +00:00
Robert Bond
bb4c3ee054
Merged PR 2247: added health endpoint to check pre prod container startup issues
...
added health endpoint to check pre prod container startup issues
Related work items: #22624
2026-04-15 09:52:15 +00:00