Repository navigation
fix: results and profile CSVs quote the reader note instead of an unvalidated clause - #62
Merged
Merged
Conversation
…alidated clause TidyResultsCSV and ProfileCSV no longer test the source notes for the word "unvalidated" and append ", unvalidated (reader note)". When the source has reader notes, every validation sentence (header line and cell) is followed by "; reader note: " and the notes as the reader wrote them, joined by "; ". Each note passes CSVText.headerValue so a cell keeps one line, and blank notes are left out. Without notes the sentence stands alone. TidyResultsCSV.unvalidatedClause stays public, marked deprecated, and is no longer written by any writer, so consumers keep compiling. Comments in GeometricPhaseAnalysis now say what the result was tested against (planted displacement fields) instead of telling apps to show it as unvalidated. The tidy pins move in the next commit (the expected texts change). Done: CSV writers quote the reader notes; next: re-pin csv-tidy-pins.json. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Reason: TidyResultsCSV now follows each validation sentence with "; reader note: <notes>" instead of ", unvalidated (reader note)". 13 of the 15 written cases have notes and change; the inputs are unchanged. The expected texts were transformed from the old pins by a script independent of the Swift writer: header validation lines pass headerValue, cells RFC 4180 quoting, as CSVText does. It checked that the file round-trips through json.dumps, that each product has exactly one header line and one cell per row line, and that the old clause is gone. The application harness that first wrote these pins (tools/csvexport/pins.py) is not re-run. Done: tidy pins match the new clause; next: none. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Requested by Paul · project thread
Exports state what the reader said instead of calling the result "unvalidated", the way Velox, GMS and HyperSpy exports do.
Change
TidyResultsCSVandProfileCSVno longer test the source notes for the word "unvalidated" and append, unvalidated (reader note). When the source has reader notes, every validation sentence (header line and cell) is followed by; reader note:and the notes, joined by;. Each note passesCSVText.headerValue, so a cell keeps to one line. Blank notes are left out. Without notes, the sentence stands alone.TidyResultsCSV.unvalidatedClausestays public and is marked@available(*, deprecated). No writer uses it any more, so consumers still compile, with a deprecation warning only.GeometricPhaseAnalysiscomments now say what the result was tested against (planted displacement fields) instead of telling apps to show it as unvalidated.Result.validationkeeps its value.Output change for consumers: a source with any reader note now gets the clause. Before, only a note containing "unvalidated" did. App tests that pin CSV text need re-pinning when they move to this version.
Fixtures and tests
Tests/ImagoCoreTests/Fixtures/csv-tidy-pins.jsonfor the reader-note clause. 13 of the 15 written cases change, and the inputs are unchanged. A script independent of the Swift writer transformed the old expected texts, and its checks asserted the exact replacement counts.Evidence
tidyQuotesTheReaderNoteAfterEachValidationandshownLineAndReaderNoteAndSanitisingtests failed onmain's writers and pass now.swift test -c release --parallel --num-workers 1 -j 1 --skip ImagoKitParityTests: green (134 tests).ImagoKitParityTests: 186 tests green.--lint: clean.🤖 Generated with Claude Code