* CLDC-4173: add new buildheightclass db changes
* CLDC-4173: add new buildheightclass page and question
* CLDC-4173: add new buildheightclass bu and export updates
* CLDC-4173: update tests
* CLDC-4173: update var defs
* CLDC-4173: add sales csv export tests for 26 including buildheightclass
* CLDC-4173: add sales csv export tests for 25 and 26 including buildheightclass
* CLDC-4173: update sales export spec
* CLDC-4173: update sales export spec and make sales log csv service future-proof
* CLDC-4173: add missing sales log export fixtures and tests
* CLDC-4173: date refactoring in tests
* CLDC-4173: date refactoring in tests
* CLDC-4173: schema updates
* CLDC-4173: test date updates
* CLDC-4119: Update row parser duplicate log check
* CLDC-4119: Update main site duplicate logs check
adds sexrab1 to the duplicate log attributes
needs special care for the location and uprn attributes
* CLDC-4119: Update duplicate logs page
shows correct fields for 2025/2026 and for whether manual address or address search
* CLDC-4119: Update duplicate log errors
we no longer need a lot of the tests here as it's all postcode based
* CLDC-4119: Add an address line1 to duplicate log trait
* fixup! CLDC-4119: Update duplicate log errors
* CLDC-4119: Add UPRN to duplicate log trait
* fixup! CLDC-4119: Update main site duplicate logs check
improve comments
* fixup! CLDC-4119: Update duplicate logs page
improve duplicate_logs_helper.rb
* fixup! CLDC-4119: Update main site duplicate logs check
handle sexrab answered properly
* fixup! CLDC-4119: Add UPRN to duplicate log trait
* Revert "fixup! CLDC-4119: Add UPRN to duplicate log trait"
This reverts commit 9ff5f09839.
* Revert "CLDC-4119: Add UPRN to duplicate log trait"
This reverts commit d4d1c00c05.
* fixup! CLDC-4119: Update duplicate log errors
* CLDC-4141: copy person questions refactor from CLDC-4142
* CLDC-4141: remove gender same as sex and replace gender identity q
* CLDC-4141: replace sex with sexrab where relevant for 2026
* CLDC-4141: update download order
* CLDC-4140: remove sex from rowparser entirely
* CLDC-4140: keep sex in factory for now
* CLDC-4140: update household characteristics test
* CLDC-4140: update log variable spec
* CLDC-4140: update csv export tests
* CLDC-4140: update validator tests
* CLDC-4140: update row-parser spec
* CLDC-4140: update csv-parser spec
* CLDC-4140: update export spec
* CLDC-4140: update log var defs spec
* CLDC-4140: update export spec
* CLDC-4140: update row parser spec
* CLDC-4140: update validator spec
* CLDC-4140: update csv parser spec
* CLDC-4143: Update gender retirement validations
rename functions as the new wording is more related to those that identify as male and any other option
* CLDC-4143: Add 2026 tests
* CLDC-4143: Update legacy json files
causes issues with some old tests
* CLDC-4143: Add error mappings for gender fields
* CLDC-4143: Add new gender age retirement soft validation
replaces the many check pages from previous years with a single one
shows if either of the previous ones would show
has agreed wording on ticket
* fixup! CLDC-4143: Update gender retirement validations
improve gender comment wording
* CLDC-4143: Update non males validation name
reference to 'soft validation' we found confusing
* fixup! CLDC-4143: Add new gender age retirement soft validation
update subsection specs
* CLDC-4140: update parsers post merge
* CLDC-4140: update tests after field renumbering
* CLDC-4140: update tests after field renumbering
* CLDC-4203: Remove builtype from BU
* CLDC-4203: Renumber sex/gender fields
* CLDC-4203: Renumber source of referral fields
* CLDC-4203: Renumber lettings_log_to_csv to_2026_row comments
* CLDC-4140: update spacing in to_2026_row
* CLDC-4140: update row parser spec field numbers
* CLDC-4140: update row parser field types
* CLDC-4203: Swap age and relat fields
as age is now asked first
* CLDC-4203: Update error messages for fields to match BU
* CLDC-4203: Add a new example BU file
* CLDC-4203: Update tests
* CLDC-4164: Fix spacing in lettings_log_to_csv
* CLDC-4203: Fix error description q order
Co-authored-by: Nat Dean-Lewis <94526761+natdeanlewissoftwire@users.noreply.github.com>
* CLDC-4203: Fix attribute ordering in row_parser
---------
Co-authored-by: Nat Dean-Lewis <nat.dean-lewis@softwire.com>
Co-authored-by: Nat Dean-Lewis <94526761+natdeanlewissoftwire@users.noreply.github.com>
* CLDC-4237: Upgrade ruby to 3.4.4
* CLDC-4237: Add additional build dependencies to Dockerfile
* CLDC-4237: Update rubocop
* CLDC-4237: Fix new rubocop rules
most auto applies
RSpec/IndexedLet had 200 hits needing manual correction so left these for now
* CLDC-4237: Resolve vulnerable dependencies
* CLDC-4237: Fix erb files
* CLDC-4237: Downgrade connection_pool
* Add functionality
* Fix/add tests
* Update config/locales/forms/2026/lettings/soft_validations.en.yml
Co-authored-by: Samuel Young <samuel.young@softwire.com>
* Update after PO feedback
* Fix tests after rebase
---------
Co-authored-by: Samuel Young <samuel.young@softwire.com>
* CLDC-4202: No longer assume question numbers for years
the default logic is already a little confusing with the .max call, and we renumber most questions anyway between years
to simply this logic and make it less surprising, specify each year
all files should now specify 2023, 2024, 2025, 2026
* CLDC-4202: Account for removal of building type
see CLDC-4136, Q20 has been removed. renumber every question above 20 to be one lower
* CLDC-4202: Update household characteristics question nums
done separate as these question numbers are calculated
* CLDC-4202: Account for household characteristics renumbering
increase all after Q72 (previously Q64) armedforces.rb by 8
* CLDC-4202: Account for new referral question
* CLDC-4202: Update tests
* fixup! CLDC-4202: No longer assume question numbers for years
fix mistaken rent_type number
* CLDC-4202: Extract person question count to the form definition
* fixup! CLDC-4202: Extract person question count to the form definition
syntax error
* CLDC-4202: Extract hash logic to a common function
* CLDC-4202: Add a rake to populate new question numbers
we can run this rake to automatically add all the question numbers at the start of a new year, which should simplify the process a lot
* fixup! CLDC-4202: Add a rake to populate new question numbers
lint
* fixup! CLDC-4202: Extract person question count to the form definition
update tests
* fixup! CLDC-4202: Extract person question count to the form definition
lint
* fixup! CLDC-4202: Extract person question count to the form definition
also update age_known
* CLDC-4141: copy person questions refactor from CLDC-4142
* CLDC-4141: remove gender same as sex and replace gender identity q
* CLDC-4202: Use form person question count on sexrab
* CLDC-4202: Remove new question numbers from questions we don't ask anymore
* CLDC-4141: replace sex with sexrab where relevant for 2026
* fixup! CLDC-4202: Use form person question count on sexrab
update test
* fixup! CLDC-4202: Use form person question count on sexrab
page test too
* CLDC-4141: update download order
* CLDC-4140: remove sex from rowparser entirely
* CLDC-4140: keep sex in factory for now
* CLDC-4140: update household characteristics test
* CLDC-4140: update log variable spec
* CLDC-4202: Use relevant person_question_count in tests
* CLDC-4140: update csv export tests
* CLDC-4140: update validator tests
* CLDC-4140: update row-parser spec
* CLDC-4140: update csv-parser spec
* CLDC-4140: update export spec
* CLDC-4140: update log var defs spec
* CLDC-4140: update export spec
* CLDC-4140: update row parser spec
* CLDC-4140: update validator spec
* CLDC-4140: update csv parser spec
* CLDC-4143: Update gender retirement validations
rename functions as the new wording is more related to those that identify as male and any other option
* CLDC-4143: Add 2026 tests
* CLDC-4143: Update legacy json files
causes issues with some old tests
* CLDC-4143: Add error mappings for gender fields
* CLDC-4143: Add new gender age retirement soft validation
replaces the many check pages from previous years with a single one
shows if either of the previous ones would show
has agreed wording on ticket
* fixup! CLDC-4143: Update gender retirement validations
improve gender comment wording
* CLDC-4143: Update non males validation name
reference to 'soft validation' we found confusing
* fixup! CLDC-4143: Add new gender age retirement soft validation
update subsection specs
* CLDC-4140: update parsers post merge
* CLDC-4140: update tests after field renumbering
* CLDC-4140: update tests after field renumbering
* CLDC-4140: update spacing in to_2026_row
* CLDC-4140: update row parser spec field numbers
* CLDC-4140: update row parser field types
---------
Co-authored-by: Nat Dean-Lewis <nat.dean-lewis@softwire.com>
* CLDC-4141: copy person questions refactor from CLDC-4142
* CLDC-4141: remove gender same as sex and replace gender identity q
* CLDC-4141: replace sex with sexrab where relevant for 2026
* CLDC-4141: update download order
* CLDC-4140: remove sex from rowparser entirely
* CLDC-4140: keep sex in factory for now
* CLDC-4140: update household characteristics test
* CLDC-4140: update log variable spec
* CLDC-4140: update csv export tests
* CLDC-4140: update validator tests
* CLDC-4140: update row-parser spec
* CLDC-4140: update csv-parser spec
* CLDC-4140: update export spec
* CLDC-4140: update log var defs spec
* CLDC-4140: update export spec
* CLDC-4140: update row parser spec
* CLDC-4140: update validator spec
* CLDC-4140: update csv parser spec
* CLDC-4143: Update gender retirement validations
rename functions as the new wording is more related to those that identify as male and any other option
* CLDC-4143: Add 2026 tests
* CLDC-4143: Update legacy json files
causes issues with some old tests
* CLDC-4143: Add error mappings for gender fields
* CLDC-4143: Add new gender age retirement soft validation
replaces the many check pages from previous years with a single one
shows if either of the previous ones would show
has agreed wording on ticket
* fixup! CLDC-4143: Update gender retirement validations
improve gender comment wording
* CLDC-4143: Update non males validation name
reference to 'soft validation' we found confusing
* fixup! CLDC-4143: Add new gender age retirement soft validation
update subsection specs
* CLDC-4140: update parsers post merge
* CLDC-4140: update tests after field renumbering
* CLDC-4140: update tests after field renumbering
* CLDC-4140: update spacing in to_2026_row
* CLDC-4140: update row parser spec field numbers
* CLDC-4140: update row parser field types
---------
Co-authored-by: Samuel Young <samuel.young@softwire.com>
* CLDC-4231: add create test log buttons for current and next collection years
* CLDC-4231: remove end date overrides
* CLDC-4231: allow test logs on staging
* CLDC-4231: feature flag next year test logs by allow_future_form_use?
* CLDC-1402: Add hint text for start date
* CLDC-1402: Ensure that start date is valid
* Revert "CLDC-1402: Ensure that start date is valid"
This reverts commit 000fe4b369.
* CLDC-1402: Implement desired copy for start date q
adds an override method for the date example
* fixup! CLDC-1402: Implement desired copy for start date q
implement final wording
Co-authored-by: Oscar Richardson <116292912+oscar-richardson-softwire@users.noreply.github.com>
---------
Co-authored-by: Oscar Richardson <116292912+oscar-richardson-softwire@users.noreply.github.com>