@@ -86,4 +86,49 @@ def replace_once(path: str, old: str, new: str) -> None:
8686 ' evidence = re.search(r"REPORT_EVIDENCE received=(\\ d+) decodeFailures=(\\ d+)", report_trial.stdout)\n ' ,
8787)
8888
89+ # Diagnostic inventory is intentionally part of the trial output. It makes a
90+ # failed interoperability selection actionable: whether NameList inventory,
91+ # RptEna/DatSet reads, or DataSet directory evidence is incomplete is visible
92+ # before the selector makes a decision.
93+ replace_once (
94+ "tools/static_rcb_trial.cpp" ,
95+ " auto discovery = live_session.discover(discovery_options);\n \n "
96+ " mms::MmsStaticReportSessionOptions session_options;\n " ,
97+ " auto discovery = live_session.discover(discovery_options);\n "
98+ " std::cout << \" DISCOVERY_REPORTING inventoryRcb=\" \n "
99+ " << discovery.report_inventory.report_controls.size()\n "
100+ " << \" probedRcb=\" << discovery.report_controls.size()\n "
101+ " << \" inventoryDataSet=\" << discovery.report_inventory.data_sets.size()\n "
102+ " << \" directoryDataSet=\" << discovery.data_set_directories.size() << '\\ n';\n "
103+ " for (const auto& evidence : discovery.report_controls) {\n "
104+ " std::cout << \" DISCOVERY_RCB ref=\" << evidence.candidate.reference\n "
105+ " << \" mode=\" << evidence.candidate.mode()\n "
106+ " << \" success=\" << (evidence.success() ? \" true\" : \" false\" );\n "
107+ " if (evidence.state) {\n "
108+ " const auto& state = *evidence.state;\n "
109+ " std::cout << \" rptEna=\" \n "
110+ " << (state.report_enabled ? (*state.report_enabled ? \" true\" : \" false\" ) : \" unset\" )\n "
111+ " << \" datSet=\" << state.data_set_reference\n "
112+ " << \" resv=\" \n "
113+ " << (state.reserved ? (*state.reserved ? \" true\" : \" false\" ) : \" unset\" )\n "
114+ " << \" diagnostics=\" << state.diagnostics.size();\n "
115+ " for (const auto& diagnostic : state.diagnostics) {\n "
116+ " std::cout << \" [\" << diagnostic << ']';\n "
117+ " }\n "
118+ " } else {\n "
119+ " std::cout << \" error=\" << evidence.error;\n "
120+ " }\n "
121+ " std::cout << '\\ n';\n "
122+ " }\n "
123+ " for (const auto& evidence : discovery.data_set_directories) {\n "
124+ " std::cout << \" DISCOVERY_DATASET ref=\" << evidence.candidate.reference\n "
125+ " << \" success=\" << (evidence.success() ? \" true\" : \" false\" )\n "
126+ " << \" members=\" \n "
127+ " << (evidence.directory ? evidence.directory->members.size() : 0U)\n "
128+ " << \" error=\" << evidence.error << '\\ n';\n "
129+ " }\n "
130+ " std::cout.flush();\n \n "
131+ " mms::MmsStaticReportSessionOptions session_options;\n " ,
132+ )
133+
89134print ("P2 reporting repair applied" )
0 commit comments