Skip to content
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
89 changes: 89 additions & 0 deletions requirements/migrations/010_sync_github_2026_07_25.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
-- 010: sync github 2026-07-25
--
-- Reconciles the requirements baseline with the live state of GitHub Project #43
-- (CaTH Kanban) as of 2026-07-25. Generated by the nightly requirements-sync job.
--
-- NOTE: The GitHub App token used by this job does not have read:project permission,
-- so board column status cannot be read directly from ProjectV2. Instead, closure
-- of the GitHub issue + presence of a merged closing PR is used as a proxy for
-- Done=verified. A human reviewer should confirm the board position before merging.
--
-- Delta captured (gate = "Refined Tickets" and beyond):
-- * 3 NEW requirements (REQ-0157..REQ-0159):
-- #593, #699, #859
-- * 2 status changes:
-- REQ-0098 (#342): approved -> verified
-- REQ-0099 (#343): implemented -> verified
-- * 1 impl change (combined with status change above):
-- REQ-0099 (#343): gains impl_commit_sha and impl_paths
--
-- HUMAN REVIEW REQUIRED: Board access unavailable; verify the 3 new issues and
-- 2 status changes are actually past "Refined Tickets" on the CaTH Kanban before
-- merging.

BEGIN TRANSACTION;

-- ============================================================================
-- NEW REQUIREMENTS (3 issues, all closed with merged closing PRs)
-- ============================================================================

INSERT INTO requirement
(id, ref, title, statement, kind, status, priority, granularity,
issue_number, issue_url, impl_commit_sha, impl_paths,
created_at, updated_at, created_by, updated_by)
VALUES
(157, 'REQ-0157', 'Implement Employment Tribunal Lists style guide', 'As a user, I want to view Employment Tribunal Lists in an accessible and well-formatted style, so that I can see scheduled hearings with all relevant case details.', 'functional', 'verified', NULL, 'story', 593, 'https://github.com/hmcts/cath-service/issues/593', '735da3a9e0f81018c3f2dd20b6f8024b0ad0e53f', '["apps/postgres/package.json","apps/postgres/prisma/scripts/001_insert_missing_list_types.sql","apps/postgres/prisma/scripts/002_update_list_type_provenances.sql","apps/postgres/prisma/scripts/003_upsert_sub_jurisdictions_and_list_type_links.sql","apps/postgres/prisma/scripts/004_soft_delete_crime_daily_list.sql","apps/postgres/prisma/seed-deploy.ts","apps/postgres/prisma/seed.sql","apps/postgres/prisma/seed.test.ts","apps/postgres/prisma/seed.ts","apps/postgres/start.sh","apps/web/package.json","apps/web/src/app.ts","apps/web/src/assets/css/list-types/et-lists.scss","apps/web/src/assets/css/web.scss","apps/web/src/pages/(list-types)/et-daily-list/et-daily-list.njk","apps/web/src/pages/(list-types)/et-daily-list/index.test.ts","apps/web/src/pages/(list-types)/et-daily-list/index.ts","apps/web/src/pages/(list-types)/et-fortnightly-list/et-fortnightly-list.njk","apps/web/src/pages/(list-types)/et-fortnightly-list/index.test.ts","apps/web/src/pages/(list-types)/et-fortnightly-list/index.ts","libs/list-types/common/src/index.ts","libs/list-types/common/src/list-type-data.ts","libs/list-types/common/src/models/cause-list-types.ts","libs/list-types/common/src/pdf/pdf-styles.ts","libs/list-types/common/src/rendering/crown-utilities.ts","libs/list-types/common/src/validation/list-type-validator.ts","libs/list-types/daily-cause-list-common/src/models/types.ts","libs/list-types/daily-cause-list-common/src/rendering/renderer.test.ts","libs/list-types/daily-cause-list-common/src/rendering/renderer.ts","libs/list-types/et-daily-list/package.json","libs/list-types/et-daily-list/src/config.test.ts","libs/list-types/et-daily-list/src/config.ts","libs/list-types/et-daily-list/src/email-summary/summary-builder.test.ts","libs/list-types/et-daily-list/src/email-summary/summary-builder.ts","libs/list-types/et-daily-list/src/index.test.ts","libs/list-types/et-daily-list/src/index.ts","libs/list-types/et-daily-list/src/locales/cy.ts","libs/list-types/et-daily-list/src/locales/en.ts","libs/list-types/et-daily-list/src/models/types.ts","libs/list-types/et-daily-list/src/pdf/pdf-generator.test.ts","libs/list-types/et-daily-list/src/pdf/pdf-generator.ts","libs/list-types/et-daily-list/src/pdf/pdf-template.njk","libs/list-types/et-daily-list/src/rendering/renderer.test.ts","libs/list-types/et-daily-list/src/rendering/renderer.ts","libs/list-types/et-daily-list/src/schemas/et-daily-list.json","libs/list-types/et-daily-list/src/validation/json-validator.test.ts","libs/list-types/et-daily-list/src/validation/json-validator.ts","libs/list-types/et-daily-list/tsconfig.json","libs/list-types/et-fortnightly-list/package.json","libs/list-types/et-fortnightly-list/src/config.test.ts","libs/list-types/et-fortnightly-list/src/config.ts","libs/list-types/et-fortnightly-list/src/email-summary/summary-builder.test.ts","libs/list-types/et-fortnightly-list/src/email-summary/summary-builder.ts","libs/list-types/et-fortnightly-list/src/index.test.ts","libs/list-types/et-fortnightly-list/src/index.ts","libs/list-types/et-fortnightly-list/src/locales/cy.ts","libs/list-types/et-fortnightly-list/src/locales/en.ts","libs/list-types/et-fortnightly-list/src/models/types.ts","libs/list-types/et-fortnightly-list/src/pdf/pdf-generator.test.ts","libs/list-types/et-fortnightly-list/src/pdf/pdf-generator.ts","libs/list-types/et-fortnightly-list/src/pdf/pdf-template.njk","libs/list-types/et-fortnightly-list/src/rendering/renderer.test.ts","libs/list-types/et-fortnightly-list/src/rendering/renderer.ts","libs/list-types/et-fortnightly-list/src/schemas/et-fortnightly-press-list.json","libs/list-types/et-fortnightly-list/src/validation/json-validator.test.ts","libs/list-types/et-fortnightly-list/src/validation/json-validator.ts","libs/list-types/et-fortnightly-list/tsconfig.json","libs/list-types/et-list-common/package.json","libs/list-types/et-list-common/src/email-summary/et-summary-builder.test.ts","libs/list-types/et-list-common/src/email-summary/et-summary-builder.ts","libs/list-types/et-list-common/src/hearing-formatting.test.ts","libs/list-types/et-list-common/src/hearing-formatting.ts","libs/list-types/et-list-common/src/index.ts","libs/list-types/et-list-common/src/party-formatting.test.ts","libs/list-types/et-list-common/src/party-formatting.ts","libs/list-types/et-list-common/src/region-resolver.test.ts","libs/list-types/et-list-common/src/region-resolver.ts","libs/list-types/et-list-common/tsconfig.json","libs/location/src/seed-list-types.test.ts","libs/location/src/seed-list-types.ts","libs/notifications/package.json","libs/notifications/src/notification/notification-service.ts","libs/publication/package.json","libs/publication/src/processing/service.ts","tsconfig.json"]', '2026-05-13T08:51:59Z', '2026-05-13T08:51:59Z', 'junaidiqbalmoj', 'junaidiqbalmoj'),
(158, 'REQ-0158', 'Manage List Type Screens (Screens for adding jurisdictions and regions)', 'As a Service, I want to update the System Admin Dashboard so that the list configuration process is consolidated by merging the Manage List Types and Configure List Types tiles into a single Manage List Types tile.', 'functional', 'verified', NULL, 'story', 699, 'https://github.com/hmcts/cath-service/issues/699', '7ead600db7a75368f8d04d1e2dc36baf2a7fc6cf', '["apps/postgres/prisma/migrations/20260714112456_add_list_type_json_fields/migration.sql","apps/web/src/pages/(system-admin)/add-list-type/cy.ts","apps/web/src/pages/(system-admin)/add-list-type/en.ts","apps/web/src/pages/(system-admin)/add-list-type/index.njk","apps/web/src/pages/(system-admin)/add-list-type/index.test.ts","apps/web/src/pages/(system-admin)/add-list-type/index.ts","apps/web/src/pages/(system-admin)/configure-list-type-enter-details/index.test.ts","apps/web/src/pages/(system-admin)/configure-list-type-enter-details/index.ts","apps/web/src/pages/(system-admin)/configure-list-type-preview/cy.ts","apps/web/src/pages/(system-admin)/configure-list-type-preview/en.ts","apps/web/src/pages/(system-admin)/configure-list-type-preview/index.njk","apps/web/src/pages/(system-admin)/configure-list-type-preview/index.njk.test.ts","apps/web/src/pages/(system-admin)/configure-list-type-preview/index.test.ts","apps/web/src/pages/(system-admin)/configure-list-type-preview/index.ts","apps/web/src/pages/(system-admin)/configure-list-type-select-sub-jurisdictions/index.njk","apps/web/src/pages/(system-admin)/configure-list-type-select-sub-jurisdictions/index.test.ts","apps/web/src/pages/(system-admin)/configure-list-type-select-sub-jurisdictions/index.ts","apps/web/src/pages/(system-admin)/configure-list-type-success/cy.ts","apps/web/src/pages/(system-admin)/configure-list-type-success/en.ts","apps/web/src/pages/(system-admin)/configure-list-type-success/index.njk","apps/web/src/pages/(system-admin)/delete-list-type-success/index.njk","apps/web/src/pages/(system-admin)/delete-list-type-success/index.njk.test.ts","apps/web/src/pages/(system-admin)/delete-list-type/cy.ts","apps/web/src/pages/(system-admin)/delete-list-type/en.ts","apps/web/src/pages/(system-admin)/delete-list-type/index.njk","apps/web/src/pages/(system-admin)/delete-list-type/index.njk.test.ts","apps/web/src/pages/(system-admin)/delete-list-type/index.test.ts","apps/web/src/pages/(system-admin)/delete-list-type/index.ts","apps/web/src/pages/(system-admin)/edit-list-type/cy.ts","apps/web/src/pages/(system-admin)/edit-list-type/en.ts","apps/web/src/pages/(system-admin)/edit-list-type/index.njk","apps/web/src/pages/(system-admin)/edit-list-type/index.test.ts","apps/web/src/pages/(system-admin)/edit-list-type/index.ts","apps/web/src/pages/(system-admin)/manage-list-type/cy.ts","apps/web/src/pages/(system-admin)/manage-list-type/en.ts","apps/web/src/pages/(system-admin)/manage-list-type/index.njk","apps/web/src/pages/(system-admin)/manage-list-type/index.test.ts","apps/web/src/pages/(system-admin)/manage-list-type/index.ts","apps/web/src/pages/(system-admin)/manage-list-types/cy.ts","apps/web/src/pages/(system-admin)/manage-list-types/en.ts","apps/web/src/pages/(system-admin)/manage-list-types/index.njk","apps/web/src/pages/(system-admin)/manage-list-types/index.test.ts","apps/web/src/pages/(system-admin)/manage-list-types/index.ts","apps/web/src/pages/(system-admin)/system-admin-dashboard/cy.ts","apps/web/src/pages/(system-admin)/system-admin-dashboard/en.ts","apps/web/src/pages/(system-admin)/view-list-types/index.test.ts","apps/web/src/pages/(system-admin)/view-list-types/index.ts","e2e-tests/tests/system-admin/configure-list-type.spec.ts","e2e-tests/tests/system-admin/manage-list-types.spec.ts","e2e-tests/tests/system-admin/system-admin-dashboard.spec.ts","libs/postgres-prisma/prisma/schema/location.prisma","libs/system-admin-pages/src/list-type/queries.test.ts","libs/system-admin-pages/src/list-type/queries.ts","libs/system-admin-pages/src/list-type/service.test.ts","libs/system-admin-pages/src/list-type/service.ts","libs/system-admin-pages/src/list-type/types.ts","libs/system-admin-pages/src/list-type/validation.test.ts","libs/system-admin-pages/src/list-type/validation.ts"]', '2026-06-10T13:46:48Z', '2026-06-10T13:46:48Z', 'OgechiOkelu', 'OgechiOkelu'),
(159, 'REQ-0159', 'Style Guide: Implement High Court manual-upload daily cause lists (Business & Property, Circuit Commercial, HC Civil, HC Family)', 'As a user, I want to view the High Court daily cause lists (Business & Property, Circuit Commercial, HC Civil, HC Family) that have been manually uploaded as flat files, so that I can access scheduled hearing information.', 'functional', 'verified', NULL, 'story', 859, 'https://github.com/hmcts/cath-service/issues/859', 'c74ad165fc754ea590a19d844d162381cec3cf9d', '["apps/postgres/prisma/scripts/001_insert_missing_list_types.sql","apps/postgres/prisma/scripts/003_upsert_sub_jurisdictions_and_list_type_links.sql","libs/list-types/common/src/list-type-data.test.ts","libs/list-types/common/src/list-type-data.ts"]', '2026-07-15T08:49:48Z', '2026-07-15T08:49:48Z', 'junaidiqbalmoj', 'junaidiqbalmoj');

-- One 'created' change row per new requirement (version 1).
INSERT INTO requirement_change
(requirement_id, version, change_type, change_summary, changed_by, changed_at)
VALUES
(157, 1, 'created', 'imported from GitHub issue', 'github-actions[bot]', '2026-05-13T08:51:59Z'),
(158, 1, 'created', 'imported from GitHub issue', 'github-actions[bot]', '2026-06-10T13:46:48Z'),
(159, 1, 'created', 'imported from GitHub issue', 'github-actions[bot]', '2026-07-15T08:49:48Z');

-- ============================================================================
-- STATUS CHANGES (2 requirements)
-- ============================================================================

-- REQ-0098 (id=98, #342): approved -> verified
-- Issue closed as COMPLETED on 2026-07-22 (no merged PR — administrative close).
UPDATE requirement
SET status = 'verified',
version = version + 1,
updated_at = '2026-07-25T00:00:00Z',
updated_by = 'github-actions[bot]'
WHERE id = 98;

INSERT INTO requirement_change
(requirement_id, version, field, old_value, new_value,
change_type, change_summary, changed_by, changed_at)
VALUES
(98, 2, 'status', 'approved', 'verified',
'status_changed', 'board status moved', 'github-actions[bot]', '2026-07-25T00:00:00Z');

-- REQ-0099 (id=99, #343): implemented -> verified + impl_commit_sha + impl_paths
-- Issue closed with merged PR on 2026-07-23.
UPDATE requirement
SET status = 'verified',
impl_commit_sha = 'daaf5f49099710810ace858ae70a170f0c41f27c',
impl_paths = '["e2e-tests/tests/api/subscription-notifications.spec.ts","e2e-tests/utils/test-support-api.ts","libs/notifications/src/govnotify/govnotify-client.test.ts","libs/notifications/src/govnotify/govnotify-client.ts","libs/notifications/src/govnotify/template-config.test.ts","libs/notifications/src/govnotify/template-config.ts","libs/notifications/src/notification/notification-service.test.ts","libs/notifications/src/notification/notification-service.ts"]',
version = version + 1,
updated_at = '2026-07-25T00:00:00Z',
updated_by = 'github-actions[bot]'
WHERE id = 99;

INSERT INTO requirement_change
(requirement_id, version, field, old_value, new_value,
change_type, change_summary, changed_by, changed_at)
VALUES
(99, 2, 'status', 'implemented', 'verified',
'status_changed', 'board status moved', 'github-actions[bot]', '2026-07-25T00:00:00Z'),
(99, 2, 'impl_commit_sha', NULL, 'daaf5f49099710810ace858ae70a170f0c41f27c',
'modified', 'merged PR(s) changed', 'github-actions[bot]', '2026-07-25T00:00:00Z'),
(99, 2, 'impl_paths', NULL, '["e2e-tests/tests/api/subscription-notifications.spec.ts","e2e-tests/utils/test-support-api.ts","libs/notifications/src/govnotify/govnotify-client.test.ts","libs/notifications/src/govnotify/govnotify-client.ts","libs/notifications/src/govnotify/template-config.test.ts","libs/notifications/src/govnotify/template-config.ts","libs/notifications/src/notification/notification-service.test.ts","libs/notifications/src/notification/notification-service.ts"]',
'modified', 'merged PR(s) changed', 'github-actions[bot]', '2026-07-25T00:00:00Z');

COMMIT;
Loading