{"sections":[{"heading":"Use an owned receipt instead of scraping console text","paragraphs":["The complete ZIP includes optimum_receipt.py, a standard-library Python client for the matching Windows x64 C API. It calls the native Optimum operation and copies its owned optimum-operation/1 JSON receipt. The native study owns verification, sampling and guarded artifact publication; the client does not reimplement those calculations.","Use a current matching 2.9 core, Optimum library and C API wrapper. Earlier installed review components with the same version number may lack the typed Optimum exports; the client fails with a missing-export diagnostic rather than using a substitute implementation. The checked interpreter is Windows x64 CPython 3.13.","The native API exposes configuration inspection, Verify and RunStudy separately. Inspection can return ready with planned outputs and effective settings without completing a study or publishing calculation artifacts. That is useful for an agent deciding what to run; it is not execution evidence."]},{"code":"# Use a matching current 2.9 SDK; its C API must include typed Optimum operations.\n$bin = \"$env:ProgramFiles\\SUN Magnetics\\JoSIM-Pro\\bin\"\npython -B optimum_receipt.py inspect yield.toml inspect.json --bin \"$bin\" --seed 1234\nif ($LASTEXITCODE -ne 0) { throw \"Inspection failed; read its receipt or diagnostic\" }\npython -B optimum_receipt.py run yield.toml yield_receipt.json --bin \"$bin\" --seed 1234\nif ($LASTEXITCODE -ne 0) { throw \"Study failed; read the native status and exit_code\" }","heading":"Inspect, then execute the complete example","steps":["Extract every ZIP member into a new writable ASCII directory. Keep the matching native bin directory available and set $bin below to its actual path if the installation is elsewhere.","Run the supplied inspection command. Read schema, status, exit_code, effective_settings, execution, selected parameters, planned artifacts and study_complete. For inspection the expected status is ready and study_complete is false.","Run the Yield command to a new receipt filename. Expect passed, study_complete true and 400 individual sample records. The sample assignments, verdicts, effective seed and execution resources are available in the complete receipt.","For the other modes, use action verify with verify.toml, or action run with margin.toml, rolloff.toml or optimize.toml, keeping every receipt filename new. The native configuration still controls calculation output paths and their overwrite policy."]},{"heading":"Make decisions from status and artifact identity","paragraphs":["The C ABI call result and the native operation result are separate. The client checks the C return value, retrieves an owned result, reads its JSON and native exit code, then releases the result and Runtime exactly once. Domain/configuration failures can still have a valid JSON snapshot.","The client uses the NUL-inclusive two-call string contract, a process-local DLL directory and an explicit seed override mask. It copies JSON up to its own 64 MiB teaching-client limit, refuses an existing receipt and preserves native exit codes. A host write failure can leave a partial JSON file, so validate schema and status as well as process exit and file existence.","Complete receipts contain actual input paths, hashes and configuration text. Keep them with the calculation record and review them before sharing; the teaching download contains no real user receipts or mailbox information."],"table":{"columns":["Signal","Agent action"],"rows":[["ready / study_complete false","Treat as admitted inspection only; do not report a solved or completed study."],["passed / study_complete true","Read the mode-specific counts, margins or optimisation outcome; completion alone is not improvement."],["specification_failed / native exit 2","The operation returned an owned domain result. Read the failed requirement and preserve the receipt."],["invalid_configuration / native exit 1","Correct the named selection, control, input or destination; do not reuse an old result."],["Client argument exit 64","The teaching client refused its own argument/receipt setup before running. This is not a native specification verdict."],["artifact status committed and verified true","For an optimised circuit, compare the saved identity and candidate verification before adoption. A planned path is insufficient."]],"wrap":true}},{"heading":"Use the recorded resources and reproducibility contract","paragraphs":["The checked default study executes serially with effective_threads = 1. A copied Yield configuration with [execution] threads = 2 reports two effective threads and produces exactly the same 400 assignments and verdicts. Setting an unrelated OpenMP environment value is not evidence of the effective native study policy.","The receipt states its sampling policy and standard-library dependency. Preserve exact inputs, selected parameter order, effective seed and component identities when replay matters. Do not infer cross-platform distribution identity from same-runtime equality.","This synchronous client does not implement callbacks or cancellation. The matching API permits only Runtime_RequestAbort to overlap the operation; general concurrent mutation or callback reentry is not qualified by this example."]},{"heading":"Recover the checked Windows path failure","paragraphs":["KB-OPTIMUM-001 remains open on the checked Windows source candidate. With identical files under a directory containing Ω, native inspection returns invalid_configuration and “No mapping for the Unicode character exists in the target multi-byte code page.” The receipt still preserves the UTF-8 configuration path. A space-only directory works.","The checked recovery copies the complete teaching project into a new writable ASCII directory and repeats inspection successfully. Preserve the original files. This establishes that bounded recovery; it does not repair or qualify every Unicode filename/API route, and no Windows locale change is needed for this procedure."]},{"code":"\"\"\"Inspect or run an Optimum operation through the matching Windows C API.\"\"\"\nimport argparse\nimport ctypes as c\nimport json\nimport os\nfrom pathlib import Path\nimport sys\n\n\nclass Parser(argparse.ArgumentParser):\n    def error(self,message):\n        self.exit(64,self.prog+': '+message+'\\n')\n\n\ndef main():\n    # Keep diagnostics usable in a legacy Windows console; receipts remain UTF-8.\n    sys.stdout.reconfigure(errors='backslashreplace')\n    sys.stderr.reconfigure(errors='backslashreplace')\n    parser=Parser(description=__doc__)\n    parser.add_argument('action',choices=('inspect','verify','run'))\n    parser.add_argument('configuration',type=Path)\n    parser.add_argument('receipt',type=Path,help='New JSON filename; existing files are refused')\n    parser.add_argument('--bin',type=Path,default=Path(os.environ.get('ProgramFiles',r'C:\\Program Files'))/'SUN Magnetics/JoSIM-Pro/bin')\n    parser.add_argument('--seed',type=int,help='Unsigned 64-bit explicit runtime seed override')\n    args=parser.parse_args()\n    if os.name!='nt' or c.sizeof(c.c_void_p)!=8:\n        parser.error('This checked client targets Windows x64.')\n    if args.seed is not None and not 0<=args.seed<2**64:\n        parser.error('--seed must be an unsigned 64-bit integer')\n    config=args.configuration.resolve();destination=args.receipt.resolve();binary=args.bin.resolve()\n    if destination.exists():parser.error('Receipt exists. Choose a new filename before running the study.')\n    if not destination.parent.is_dir():parser.error('Receipt parent directory does not exist.')\n    try:text=config.read_text(encoding='utf-8-sig').encode('utf-8')\n    except OSError as error:parser.error(str(error))\n    path=str(config).encode('utf-8')\n    # Keep this process-local DLL directory alive throughout native calls/cleanup.\n    directory=os.add_dll_directory(str(binary));runtime=c.c_int(0);result=c.c_int(0);exit_code=1;api=None\n    try:\n        api=c.WinDLL(str(binary/'josim-pro_CAPI_AMD64.dll'))\n        signatures={\n            'JPRO_Runtime_Create':([c.POINTER(c.c_int)],c.c_int),\n            'JPRO_Runtime_Destroy':([c.c_int],c.c_int),\n            'JPRO_Runtime_SetSeed':([c.c_int,c.c_uint64],c.c_int),\n            'JPRO_Runtime_GetOverrideMask':([c.c_int,c.POINTER(c.c_uint32)],c.c_int),\n            'JPRO_Runtime_SetOverrideMask':([c.c_int,c.c_uint32],c.c_int),\n            'JPRO_Optimum_InspectA':([c.c_char_p,c.c_char_p,c.c_int,c.POINTER(c.c_int)],c.c_int),\n            'JPRO_Optimum_VerifyA':([c.c_char_p,c.c_char_p,c.c_int,c.POINTER(c.c_int)],c.c_int),\n            'JPRO_Optimum_RunStudyA':([c.c_char_p,c.c_char_p,c.c_int,c.POINTER(c.c_int)],c.c_int),\n            'JPRO_Optimum_GetExitCode':([c.c_int,c.POINTER(c.c_int)],c.c_int),\n            'JPRO_Optimum_GetText':([c.c_int,c.POINTER(c.c_int),c.c_void_p,c.c_int],c.c_int),\n            'JPRO_Optimum_Destroy':([c.c_int],c.c_int),\n            'JPRO_GetLastError':([],c.c_char_p),\n        }\n        for name,(arguments,returns) in signatures.items():\n            function=getattr(api,name);function.argtypes=arguments;function.restype=returns\n        def check(name,*arguments):\n            code=getattr(api,name)(*arguments)\n            if code!=0:\n                message=api.JPRO_GetLastError()\n                raise RuntimeError(name+' failed ('+str(code)+'): '+(message.decode('utf-8',errors='replace') if message else ''))\n        check('JPRO_Runtime_Create',c.byref(runtime))\n        if args.seed is not None:\n            check('JPRO_Runtime_SetSeed',runtime,args.seed)\n            mask=c.c_uint32();check('JPRO_Runtime_GetOverrideMask',runtime,c.byref(mask))\n            # JPRO_OVERRIDE_SEED = 16 in the matching supplied C API header.\n            check('JPRO_Runtime_SetOverrideMask',runtime,mask.value|16)\n        operation={'inspect':'JPRO_Optimum_InspectA','verify':'JPRO_Optimum_VerifyA','run':'JPRO_Optimum_RunStudyA'}[args.action]\n        check(operation,text,path,runtime,c.byref(result))\n        if result.value==0:raise RuntimeError('Native operation returned no owned result.')\n        needed=c.c_int()\n        code=api.JPRO_Optimum_GetText(result,c.byref(needed),None,0)\n        # The two-call size includes NUL. This small teaching client caps its copy.\n        if code!=-2 or not 1<=needed.value<=64*1024*1024:\n            raise RuntimeError('Unexpected receipt size query or receipt above the client 64 MiB limit.')\n        buffer=c.create_string_buffer(needed.value)\n        check('JPRO_Optimum_GetText',result,c.byref(needed),buffer,len(buffer))\n        receipt=json.loads(buffer.value.decode('utf-8'))\n        native_exit=c.c_int();check('JPRO_Optimum_GetExitCode',result,c.byref(native_exit))\n        if receipt.get('schema')!='optimum-operation/1' or receipt.get('exit_code')!=native_exit.value:\n            raise RuntimeError('Native receipt schema or exit-code contract differs from this client.')\n        # Save owned JSON even for a native configuration/specification failure.\n        # Exclusive creation prevents overwrite; a write failure may leave a partial file.\n        with destination.open('x',encoding='utf-8',newline='\\n') as stream:\n            stream.write(json.dumps(receipt,indent=2,ensure_ascii=False)+'\\n')\n        print('status='+str(receipt['status'])+' native_exit_code='+str(native_exit.value))\n        exit_code=native_exit.value\n    except (OSError,ValueError,RuntimeError,AttributeError) as error:\n        print(str(error),file=sys.stderr);exit_code=1\n    finally:\n        # Release each successfully created owned handle exactly once.\n        for handle,name in ((result,'JPRO_Optimum_Destroy'),(runtime,'JPRO_Runtime_Destroy')):\n            if api is not None and handle.value:\n                code=getattr(api,name)(handle)\n                if code!=0:\n                    message=api.JPRO_GetLastError()\n                    print(name+' failed ('+str(code)+'): '+(message.decode('utf-8',errors='replace') if message else ''),file=sys.stderr)\n                    exit_code=1\n        directory.close()\n    return exit_code\n\n\nif __name__=='__main__':sys.exit(main())\n","heading":"Complete optimum_receipt.py"}],"canonical_url":"https://www.sun-magnetics.com/knowledge-base/optimum-agent-receipts","url":"/knowledge-base/optimum-agent-receipts","known_issues":[{"disposition":"verified_workaround","id":"KB-OPTIMUM-001","title":"Windows typed study rejects a Unicode configuration directory","public_notice":"Use a fresh complete writable ASCII-path teaching copy for the checked Windows typed study. This avoids the reproduced Unicode-path boundary without changing locale or renaming production sources.","claim_scope":"Only the affected claim and recorded build/input; not whole-guide or final-release acceptance"}],"search_record":{"execution":true,"relatedProducts":[],"version_tags":["JoSIM-Pro 2.9 target"],"text":"Inspect and run Optimum with structured JSON receipts Use the native C API from a complete Python client, distinguish readiness from execution and handle owned study results and verified artifacts without parsing console summaries. Optimum JoSIM-Pro 2.9.0 release target; frozen current-source Windows evidence How to Optimum API JSON receipt optimum-operation/1 inspect ready study_complete JPRO_Optimum native exit_code specification_failed committed verified artifact agent automation Unicode path No mapping for the Unicode character seed effective_threads ownership Use an owned receipt instead of scraping console text The complete ZIP includes optimum_receipt.py, a standard-library Python client for the matching Windows x64 C API. It calls the native Optimum operation and copies its owned optimum-operation/1 JSON receipt. The native study owns verification, sampling and guarded artifact publication; the client does not reimplement those calculations. Use a current matching 2.9 core, Optimum library and C API wrapper. Earlier installed review components with the same version number may lack the typed Optimum exports; the client fails with a missing-export diagnostic rather than using a substitute implementation. The checked interpreter is Windows x64 CPython 3.13. The native API exposes configuration inspection, Verify and RunStudy separately. Inspection can return ready with planned outputs and effective settings without completing a study or publishing calculation artifacts. That is useful for an agent deciding what to run; it is not execution evidence.  Inspect, then execute the complete example Extract every ZIP member into a new writable ASCII directory. Keep the matching native bin directory available and set $bin below to its actual path if the installation is elsewhere. Run the supplied inspection command. Read schema, status, exit_code, effective_settings, execution, selected parameters, planned artifacts and study_complete. For inspection the expected status is ready and study_complete is false. Run the Yield command to a new receipt filename. Expect passed, study_complete true and 400 individual sample records. The sample assignments, verdicts, effective seed and execution resources are available in the complete receipt. For the other modes, use action verify with verify.toml, or action run with margin.toml, rolloff.toml or optimize.toml, keeping every receipt filename new. The native configuration still controls calculation output paths and their overwrite policy. # Use a matching current 2.9 SDK; its C API must include typed Optimum operations.\n$bin = \"$env:ProgramFiles\\SUN Magnetics\\JoSIM-Pro\\bin\"\npython -B optimum_receipt.py inspect yield.toml inspect.json --bin \"$bin\" --seed 1234\nif ($LASTEXITCODE -ne 0) { throw \"Inspection failed; read its receipt or diagnostic\" }\npython -B optimum_receipt.py run yield.toml yield_receipt.json --bin \"$bin\" --seed 1234\nif ($LASTEXITCODE -ne 0) { throw \"Study failed; read the native status and exit_code\" } Make decisions from status and artifact identity The C ABI call result and the native operation result are separate. The client checks the C return value, retrieves an owned result, reads its JSON and native exit code, then releases the result and Runtime exactly once. Domain/configuration failures can still have a valid JSON snapshot. The client uses the NUL-inclusive two-call string contract, a process-local DLL directory and an explicit seed override mask. It copies JSON up to its own 64 MiB teaching-client limit, refuses an existing receipt and preserves native exit codes. A host write failure can leave a partial JSON file, so validate schema and status as well as process exit and file existence. Complete receipts contain actual input paths, hashes and configuration text. Keep them with the calculation record and review them before sharing; the teaching download contains no real user receipts or mailbox information.  Signal Agent action ready / study_complete false Treat as admitted inspection only; do not report a solved or completed study. passed / study_complete true Read the mode-specific counts, margins or optimisation outcome; completion alone is not improvement. specification_failed / native exit 2 The operation returned an owned domain result. Read the failed requirement and preserve the receipt. invalid_configuration / native exit 1 Correct the named selection, control, input or destination; do not reuse an old result. Client argument exit 64 The teaching client refused its own argument/receipt setup before running. This is not a native specification verdict. artifact status committed and verified true For an optimised circuit, compare the saved identity and candidate verification before adoption. A planned path is insufficient. Use the recorded resources and reproducibility contract The checked default study executes serially with effective_threads = 1. A copied Yield configuration with [execution] threads = 2 reports two effective threads and produces exactly the same 400 assignments and verdicts. Setting an unrelated OpenMP environment value is not evidence of the effective native study policy. The receipt states its sampling policy and standard-library dependency. Preserve exact inputs, selected parameter order, effective seed and component identities when replay matters. Do not infer cross-platform distribution identity from same-runtime equality. This synchronous client does not implement callbacks or cancellation. The matching API permits only Runtime_RequestAbort to overlap the operation; general concurrent mutation or callback reentry is not qualified by this example.  Recover the checked Windows path failure KB-OPTIMUM-001 remains open on the checked Windows source candidate. With identical files under a directory containing Ω, native inspection returns invalid_configuration and “No mapping for the Unicode character exists in the target multi-byte code page.” The receipt still preserves the UTF-8 configuration path. A space-only directory works. The checked recovery copies the complete teaching project into a new writable ASCII directory and repeats inspection successfully. Preserve the original files. This establishes that bounded recovery; it does not repair or qualify every Unicode filename/API route, and no Windows locale change is needed for this procedure.  Complete optimum_receipt.py \"\"\"Inspect or run an Optimum operation through the matching Windows C API.\"\"\"\nimport argparse\nimport ctypes as c\nimport json\nimport os\nfrom pathlib import Path\nimport sys\n\n\nclass Parser(argparse.ArgumentParser):\n    def error(self,message):\n        self.exit(64,self.prog+': '+message+'\\n')\n\n\ndef main():\n    # Keep diagnostics usable in a legacy Windows console; receipts remain UTF-8.\n    sys.stdout.reconfigure(errors='backslashreplace')\n    sys.stderr.reconfigure(errors='backslashreplace')\n    parser=Parser(description=__doc__)\n    parser.add_argument('action',choices=('inspect','verify','run'))\n    parser.add_argument('configuration',type=Path)\n    parser.add_argument('receipt',type=Path,help='New JSON filename; existing files are refused')\n    parser.add_argument('--bin',type=Path,default=Path(os.environ.get('ProgramFiles',r'C:\\Program Files'))/'SUN Magnetics/JoSIM-Pro/bin')\n    parser.add_argument('--seed',type=int,help='Unsigned 64-bit explicit runtime seed override')\n    args=parser.parse_args()\n    if os.name!='nt' or c.sizeof(c.c_void_p)!=8:\n        parser.error('This checked client targets Windows x64.')\n    if args.seed is not None and not 0<=args.seed<2**64:\n        parser.error('--seed must be an unsigned 64-bit integer')\n    config=args.configuration.resolve();destination=args.receipt.resolve();binary=args.bin.resolve()\n    if destination.exists():parser.error('Receipt exists. Choose a new filename before running the study.')\n    if not destination.parent.is_dir():parser.error('Receipt parent directory does not exist.')\n    try:text=config.read_text(encoding='utf-8-sig').encode('utf-8')\n    except OSError as error:parser.error(str(error))\n    path=str(config).encode('utf-8')\n    # Keep this process-local DLL directory alive throughout native calls/cleanup.\n    directory=os.add_dll_directory(str(binary));runtime=c.c_int(0);result=c.c_int(0);exit_code=1;api=None\n    try:\n        api=c.WinDLL(str(binary/'josim-pro_CAPI_AMD64.dll'))\n        signatures={\n            'JPRO_Runtime_Create':([c.POINTER(c.c_int)],c.c_int),\n            'JPRO_Runtime_Destroy':([c.c_int],c.c_int),\n            'JPRO_Runtime_SetSeed':([c.c_int,c.c_uint64],c.c_int),\n            'JPRO_Runtime_GetOverrideMask':([c.c_int,c.POINTER(c.c_uint32)],c.c_int),\n            'JPRO_Runtime_SetOverrideMask':([c.c_int,c.c_uint32],c.c_int),\n            'JPRO_Optimum_InspectA':([c.c_char_p,c.c_char_p,c.c_int,c.POINTER(c.c_int)],c.c_int),\n            'JPRO_Optimum_VerifyA':([c.c_char_p,c.c_char_p,c.c_int,c.POINTER(c.c_int)],c.c_int),\n            'JPRO_Optimum_RunStudyA':([c.c_char_p,c.c_char_p,c.c_int,c.POINTER(c.c_int)],c.c_int),\n            'JPRO_Optimum_GetExitCode':([c.c_int,c.POINTER(c.c_int)],c.c_int),\n            'JPRO_Optimum_GetText':([c.c_int,c.POINTER(c.c_int),c.c_void_p,c.c_int],c.c_int),\n            'JPRO_Optimum_Destroy':([c.c_int],c.c_int),\n            'JPRO_GetLastError':([],c.c_char_p),\n        }\n        for name,(arguments,returns) in signatures.items():\n            function=getattr(api,name);function.argtypes=arguments;function.restype=returns\n        def check(name,*arguments):\n            code=getattr(api,name)(*arguments)\n            if code!=0:\n                message=api.JPRO_GetLastError()\n                raise RuntimeError(name+' failed ('+str(code)+'): '+(message.decode('utf-8',errors='replace') if message else ''))\n        check('JPRO_Runtime_Create',c.byref(runtime))\n        if args.seed is not None:\n            check('JPRO_Runtime_SetSeed',runtime,args.seed)\n            mask=c.c_uint32();check('JPRO_Runtime_GetOverrideMask',runtime,c.byref(mask))\n            # JPRO_OVERRIDE_SEED = 16 in the matching supplied C API header.\n            check('JPRO_Runtime_SetOverrideMask',runtime,mask.value|16)\n        operation={'inspect':'JPRO_Optimum_InspectA','verify':'JPRO_Optimum_VerifyA','run':'JPRO_Optimum_RunStudyA'}[args.action]\n        check(operation,text,path,runtime,c.byref(result))\n        if result.value==0:raise RuntimeError('Native operation returned no owned result.')\n        needed=c.c_int()\n        code=api.JPRO_Optimum_GetText(result,c.byref(needed),None,0)\n        # The two-call size includes NUL. This small teaching client caps its copy.\n        if code!=-2 or not 1<=needed.value<=64*1024*1024:\n            raise RuntimeError('Unexpected receipt size query or receipt above the client 64 MiB limit.')\n        buffer=c.create_string_buffer(needed.value)\n        check('JPRO_Optimum_GetText',result,c.byref(needed),buffer,len(buffer))\n        receipt=json.loads(buffer.value.decode('utf-8'))\n        native_exit=c.c_int();check('JPRO_Optimum_GetExitCode',result,c.byref(native_exit))\n        if receipt.get('schema')!='optimum-operation/1' or receipt.get('exit_code')!=native_exit.value:\n            raise RuntimeError('Native receipt schema or exit-code contract differs from this client.')\n        # Save owned JSON even for a native configuration/specification failure.\n        # Exclusive creation prevents overwrite; a write failure may leave a partial file.\n        with destination.open('x',encoding='utf-8',newline='\\n') as stream:\n            stream.write(json.dumps(receipt,indent=2,ensure_ascii=False)+'\\n')\n        print('status='+str(receipt['status'])+' native_exit_code='+str(native_exit.value))\n        exit_code=native_exit.value\n    except (OSError,ValueError,RuntimeError,AttributeError) as error:\n        print(str(error),file=sys.stderr);exit_code=1\n    finally:\n        # Release each successfully created owned handle exactly once.\n        for handle,name in ((result,'JPRO_Optimum_Destroy'),(runtime,'JPRO_Runtime_Destroy')):\n            if api is not None and handle.value:\n                code=getattr(api,name)(handle)\n                if code!=0:\n                    message=api.JPRO_GetLastError()\n                    print(name+' failed ('+str(code)+'): '+(message.decode('utf-8',errors='replace') if message else ''),file=sys.stderr)\n                    exit_code=1\n        directory.close()\n    return exit_code\n\n\nif __name__=='__main__':sys.exit(main())\n","id":"optimum-agent-receipts","keywords":"Optimum API JSON receipt optimum-operation/1 inspect ready study_complete JPRO_Optimum native exit_code specification_failed committed verified artifact agent automation Unicode path No mapping for the Unicode character seed effective_threads ownership","kind":"How to","title":"Inspect and run Optimum with structured JSON receipts","product":"Optimum"},"version":"JoSIM-Pro 2.9.0 release target; frozen current-source Windows evidence","id":"optimum-agent-receipts","related":["/knowledge-base/optimum-first-verification","/knowledge-base/optimum-margin-workflow","/knowledge-base/optimum-yield-workflow","/knowledge-base/optimum-optimize-workflow","/knowledge-base/optimum-margin-criteria","/knowledge-base/josim-netlist-basics"],"downloads":[{"url":"/_functions/kbExample?name=optimum-resistor-studies.zip","scope":"Exact checked input files plus instructions; final-release/platform applicability remains pending.","files":["resistor.cir","resistor.sp","verify.toml","margin.toml","yield.toml","rolloff.toml","optimize.toml","optimum_receipt.py","README.txt"],"id":"optimum-resistor-studies","requires":["Matching current JoSIM-Pro 2.9 Optimum/native C API payload and valid JoSIM entitlement","New writable ASCII directory; keep all circuit, SP and TOML inputs together","For receipts, checked Windows x64 CPython 3.13 and the matching typed Optimum C API exports"],"title":"Complete Optimum resistor studies and native receipt client"}],"publication_status":"published","numerical_output":null,"provenance":{"execution_checks":[{"routes":["cli","c-api","python-c-api"],"scope":"Fresh hash-frozen Windows 2.9 source build: complete SP resistor Margin/Yield/roll-off/COG Optimize, analytic bounds and statistics, saved-candidate re-verification, native typed JSON receipts, per-sample seeded identity at one/two threads and guarded failures","result":"passed","articles":["optimum-margin-workflow","optimum-yield-workflow","optimum-optimize-workflow","optimum-agent-receipts","optimum-margin-criteria"],"purpose":"current-optimum-studies-and-typed-agent-receipts","version":"JoSIM/Optimum 2.9.0 frozen maintained source, native Windows x64 Clang/OpenMP build, 3 November 2026","id":"VAL-030","records":["fresh 3378-file source freeze and isolated CMake build","37 real native CLI workflow/recovery checks","25 real typed C API/client checks","exact per-sample assignment/verdict comparison at one/two threads","separate verification of the saved numeric candidate","native AMD64/required-export/OpenMP/source preservation provenance review","eight checks replay all four exact guide command blocks from the actual browser-downloaded shared ZIP"],"limit":"Sixty-two checks qualify this linear SP fixture and the recorded Windows source candidate. The current Unicode configuration-path issue remains KB-OPTIMUM-001, with ASCII-path recovery checked. GUI run/cancel/adoption screenshots, EVENT/CSV/Josephson/process-distribution validation, other platforms, broad concurrency/callback/cancellation contracts and final distributed packages remain open. Earlier installed review binaries behaved differently and are retained separately.","observed":{"margin":{"average_percent":11.04,"critical_percent":11.04,"negative_percent":11.04,"positive_percent":33.3},"same_seed_pass_counts":[356,356,356,356],"yield_population_probability":0.8663106767642976,"parallel_threads":2,"native_sample_records":400,"rolloff":[[0.25,92],[0.5,76],[0.75,56],[1,51.5]],"yield":{"fails":44,"passes":356,"percent":89},"optimized_margin":{"average_percent":18.55,"critical_percent":18.55,"negative_percent":18.55,"positive_percent":22.07},"zero_iteration_best_verified":true,"yield_wilson_95_interval":[0.8555490895383555,0.9170313208808931],"optimized_R_ohms":49.114636,"serial_threads":1,"unicode_path_issue":"KB-OPTIMUM-001","native_schema":"optimum-operation/1","zero_iteration_outcome":"max_iterations","yield_sigma_ohms":4.5}}],"figure_evidence":[],"review_notes":["Sixty-two checks qualify this linear SP fixture and the recorded Windows source candidate. The current Unicode configuration-path issue remains KB-OPTIMUM-001, with ASCII-path recovery checked. GUI run/cancel/adoption screenshots, EVENT/CSV/Josephson/process-distribution validation, other platforms, broad concurrency/callback/cancellation contracts and final distributed packages remain open. Earlier installed review binaries behaved differently and are retained separately.","The source reference was reviewed and re-pinned individually after its maintained content changed. Older installed-review observations remain separate; no final package or GUI walkthrough is accepted."],"scope":"Recorded inputs/builds only. Complete walkthrough and final-package acceptance remain separate.","verification_requirements":{"gui_method":"not-required-for-this-answer","illustrations":"not-required-for-this-answer","required":["technical-review","release-applicability","execution","recovery","numerical-interpretation"],"status":"review-incomplete"},"sources":[{"id":"josim-pro:docs/manual_source/sections/optimum.tex","section":"Current reviewed Optimum reference; applicable mode/configuration and bounded SP fixture claims"},{"id":"validation:optimum-current-windows-20261103","section":"VAL-030; fresh native CLI/API execution and recovery"},{"id":"reviewed:optimum-capi-2.9-20261103T203125","section":"Exact typed operation declarations, owned JSON results, runtime seed override and two-call strings"}]},"title":"Inspect and run Optimum™ with structured JSON receipts","type":"How to","markdown_url":"/_functions/kbResource?path=markdown%2Foptimum-agent-receipts.md","summary":"Use the native C API from a complete Python client, distinguish readiness from execution and handle owned study results and verified artifacts without parsing console summaries.","product":"Optimum"}