report: name the groups the data could not separate, as keys
SPACE_GROUP_NAME is a scalar and reads like a determination, and the docs nominate a grep of it as the interface. Where several groups predict the same absences it is one of them, picked by convention: the report said so in prose and nothing machine-readable carried it, so a script recorded a coin flip as an answer. Refining against a deposited model in the wrong enantiomorph gives R = 0.549. Four keys, none of which change which group is adopted: the alternatives the data cannot separate; whether the enantiomorph was determined, given, or is undetermined - decidable from the group number alone, so it is answered even where the search did not run; and the higher point group whose promotion was refused, with its reason, which until now existed only as prose. REPORT_VERSION is 5. No existing key changed. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EFEJG6WBQv8th4UJFNe53N
This commit is contained in:
@@ -69,10 +69,15 @@ TEST_CASE("ResultReport_Render", "[Diagnostics]") {
|
||||
const auto text = RenderResultReport("prefix", "in.h5", x, result);
|
||||
|
||||
// The stable keys a consumer greps for.
|
||||
CHECK(text.find("\nREPORT_VERSION= 4\n") != std::string::npos);
|
||||
CHECK(text.find("\nREPORT_VERSION= 5\n") != std::string::npos);
|
||||
CHECK(text.find("\nOUTPUT_PREFIX= prefix\n") != std::string::npos);
|
||||
CHECK(text.find("\nINDEXING_RATE= 0.8700\n") != std::string::npos);
|
||||
CHECK(text.find("\nSPACE_GROUP_NUMBER= 96\n") != std::string::npos);
|
||||
// What the data could NOT decide, beside what they did. The group here was given rather
|
||||
// than searched for, and it is one of the 22 that come in enantiomorphic pairs.
|
||||
CHECK(text.find("\nSPACE_GROUP_ALTERNATIVES= NONE\n") != std::string::npos);
|
||||
CHECK(text.find("\nSPACE_GROUP_ENANTIOMORPH= GIVEN\n") != std::string::npos);
|
||||
CHECK(text.find("\nSPACE_GROUP_REFUSED_POINT_GROUP= NONE\n") != std::string::npos);
|
||||
CHECK(text.find("\nSWEEP_QUALITY_STATUS= COMPUTED\n") != std::string::npos);
|
||||
CHECK(text.find("\nSWEEP_QUALITY_COUNT= 2\n") != std::string::npos);
|
||||
CHECK(text.find("\nSWEEP_QUALITY_REASONS= no_diffraction crystal_out_of_beam weak_diffraction "
|
||||
|
||||
Reference in New Issue
Block a user