Skip to content

feat(#859): register four High Court manual-upload flat-file cause lists - #862

Merged
junaidiqbalmoj merged 4 commits into
masterfrom
feat/859-high-court-manual-upload-lists
Jul 23, 2026
Merged

feat(#859): register four High Court manual-upload flat-file cause lists#862
junaidiqbalmoj merged 4 commits into
masterfrom
feat/859-high-court-manual-upload-lists

Conversation

@junaidiqbalmoj

@junaidiqbalmoj junaidiqbalmoj commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

Summary

Registers four High Court manual-upload flat-file (non-strategic) cause list types in the list-type catalogue (libs/list-types/common/src/list-type-data.ts). These are flat-file lists (PDF/CSV/DOC/HTML uploaded via the admin manual-upload journey) — they have no JSON schema, no Excel conversion, no bespoke renderer/PDF generator.

Closes #859.

List type (enum) url path Jurisdiction
BUSINESS_AND_PROPERTY_DAILY_CAUSE_LIST business-and-property-daily-list High Court
CIRCUIT_COMMERCIAL_COURT_DAILY_CAUSE_LIST circuit-commercial-court-daily-list High Court
HIGH_COURT_CIVIL_DAILY_CAUSE_LIST high-court-civil-daily-list High Court
HIGH_COURT_FAMILY_DAILY_CAUSE_LIST high-court-family-daily-list High Court (Family Division)

Each entry includes English/Welsh friendly names, url path, provenance, sensitivity, and sub-jurisdiction IDs.

Changes

  • libs/list-types/common/src/list-type-data.ts — four new catalogue entries
  • libs/list-types/common/src/list-type-data.test.ts — unit tests for the additions
  • docs/tickets/859/* — ticket planning docs

Note for reviewers

The committed entries use isNonStrategic: false and defaultSensitivity: "Public", whereas the ticket text describes isNonStrategic: true with empty sensitivity. Please confirm which is correct against CaTH ORG / #846 before merge (the ticket's TODO also flags confirming provenance/sensitivity/sub-jurisdiction values).

Testing

  • Unit tests added for the catalogue additions
  • yarn test across the workspace

🤖 Generated with Claude Code

Summary by CodeRabbit

  • New Features

    • Added catalogue entries for four High Court daily cause list types: Business & Property, Circuit Commercial Court, High Court Civil, and High Court Family.
    • Added English and Welsh names, URL paths, jurisdiction details, and manual-upload flat-file configuration.
  • Tests

    • Added validation covering catalogue entries, naming, URLs, jurisdictions, provenance, and uniqueness.

Add catalogue entries for Business & Property, Circuit Commercial Court,
High Court Civil and High Court Family daily cause lists in
list-type-data.ts, with co-located unit tests.

These are flat-file lists (no JSON schema/validator/renderer/PDF
generator). Set isNonStrategic: false so they appear in /manual-upload
which accepts PDF/CSV/DOC flat files.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Warning

Review limit reached

@junaidiqbalmoj, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 39 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 33b49d13-231c-4ef3-804d-614f0ab710c3

📥 Commits

Reviewing files that changed from the base of the PR and between 71e3bc5 and be150e0.

📒 Files selected for processing (2)
  • apps/postgres/prisma/scripts/001_insert_missing_list_types.sql
  • apps/postgres/prisma/scripts/003_upsert_sub_jurisdictions_and_list_type_links.sql
📝 Walkthrough

Walkthrough

Adds four High Court manual-upload flat-file daily cause list catalogue entries, with English and Welsh metadata, jurisdiction mappings, provenance, and URL paths. Adds unit tests for field values and uniqueness, alongside ticket planning, task, and review documentation.

Changes

High Court cause list registration

Layer / File(s) Summary
Catalogue contract and flat-file scope
docs/tickets/859/ticket.md, docs/tickets/859/plan.md
Documents the four list types, flat-file handling model, required metadata, acceptance criteria, verification steps, and unresolved confirmations.
List type registration and validation
libs/list-types/common/src/list-type-data.ts, libs/list-types/common/src/list-type-data.test.ts
Registers four list types with catalogue metadata and tests their names, URLs, provenance, sensitivity flags, friendly names, jurisdiction IDs, and uniqueness.
Review and delivery records
docs/tickets/859/tasks.md, docs/tickets/859/review.md
Records implementation tasks, test coverage, acceptance-criteria status, review findings, deferred manual QA, and outstanding CaTH ORG reconciliation.

Possibly related PRs

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Linked Issues check ⚠️ Warning The PR deviates from #859 on key acceptance criteria: isNonStrategic and default sensitivity do not match the issue. Set isNonStrategic: true, confirm the required default sensitivity and enum names against CaTH ORG, then rerun the relevant tests.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly matches the main change: registering four High Court manual-upload flat-file cause lists.
Out of Scope Changes check ✅ Passed The changes stay within the ticket: catalogue entries, tests, and supporting docs for #859; no unrelated code was introduced.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/859-high-court-manual-upload-lists

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (2)
libs/list-types/common/src/list-type-data.test.ts (2)

36-37: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low value

Use describe.each for data-driven tests.

Consider using describe.each from Vitest instead of a for...of loop. This integrates natively with the test runner for better reporting and avoids wrapping describe blocks in iterative loops.

♻️ Proposed refactor
-  for (const expected of NEW_LIST_TYPES) {
-    describe(expected.name, () => {
+  describe.each(NEW_LIST_TYPES)("$name", (expected) => {

(Note: Ensure you also remove the corresponding closing brace for the for loop at the end of the block)


56-63: 🎯 Functional Correctness | 🔵 Trivial | ⚡ Quick win

Add test coverage for defaultSensitivity.

As noted in the review documentation, defaultSensitivity is the only catalogue field on the new entries without test coverage. Consider asserting its literal value to ensure complete coverage.

✅ Proposed fix
       it("should have provenance CFT_IDAM", () => {
         // Arrange
         // Act
         const entry = listTypeData.find((item) => item.name === expected.name);
 
         // Assert
         expect(entry?.provenance).toBe("CFT_IDAM");
       });
+
+      it("should have defaultSensitivity Public", () => {
+        // Arrange
+        // Act
+        const entry = listTypeData.find((item) => item.name === expected.name);
+
+        // Assert
+        expect(entry?.defaultSensitivity).toBe("Public");
+      });

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: f813a3fe-cb43-485b-9a2a-117f4cb6c29d

📥 Commits

Reviewing files that changed from the base of the PR and between ca5c5ad and 71e3bc5.

📒 Files selected for processing (6)
  • docs/tickets/859/plan.md
  • docs/tickets/859/review.md
  • docs/tickets/859/tasks.md
  • docs/tickets/859/ticket.md
  • libs/list-types/common/src/list-type-data.test.ts
  • libs/list-types/common/src/list-type-data.ts

@github-actions

github-actions Bot commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

🎭 Playwright E2E Test Results

84 tests   52 ✅  6m 13s ⏱️
33 suites  32 💤
 1 files     0 ❌

Results for commit be150e0.

♻️ This comment has been updated with latest results.

Mirror the list-type-data.ts catalogue entries in the production seed
scripts (TS seeding is skipped when ENVIRONMENT is prod).

- 001_insert_missing_list_types.sql: four list_types rows
- 003_upsert_sub_jurisdictions_and_list_type_links.sql: High Court (10)
  and Family Division (11) links

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown
Contributor

Preview Deployment Successful 🚀

Your preview environment is ready:

The environment will be automatically cleaned up when this PR is closed.

@sonarqubecloud

Copy link
Copy Markdown

@github-actions

Copy link
Copy Markdown
Contributor

Preview Deployment Successful 🚀

Your preview environment is ready:

The environment will be automatically cleaned up when this PR is closed.

@junaidiqbalmoj
junaidiqbalmoj merged commit c74ad16 into master Jul 23, 2026
26 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Style Guide: Implement High Court manual-upload daily cause lists (Business & Property, Circuit Commercial, HC Civil, HC Family)

1 participant