PF research library · 5 min read

ISAES domain adapters and compatible integration migration

r34 documentation · isaes-domain-adapters.md

On this page
  1. Implemented adapter catalog
  2. Integration reports and migration
  3. Actual PF core SR/GR example

New integration executions and private workflows can use the same scientific input contracts, versioned analysis plan, evidence graph, presentation document and HTML/PDF/PPTX/figure exports. Existing reports remain readable; migration does not overwrite their bytes or rerun their simulations.

Implemented adapter catalog

pf_reporting.adapters.adapter_catalog() returns the machine-readable catalog. The public translation API is adapt(adapter_id, payload, metadata, name=...). It returns a normal private-workflow result with explicit reporting datasets and an original-payload digest. It does not call a provider or acquire hardware.

Adapter Required meaning Accepted operation Refusal
pf.integration-receipt/1 Original schema-1 integration identity, execution status, evidence status and uniquely named checks Preserve declarations, inputs and provenance in the shared evidence core Unknown status, non-boolean verdict, ambiguous/duplicate checks, nonfinite JSON
pf.srgr-timing/1 Coordinate frame/chart, metric/signature, clock definition, origin and propagation assumptions Preserve an actual gr_photon.solve_null_geodesic ray; plot coordinate time and spatial coordinates with linked sample identities; evaluate declared residual tolerances Missing clock/frame semantics, unsupported chart/metric, occulted/failed ray, inconsistent shapes or endpoint times
pf.declared-series/1 x/y units, frame, quantity, sampling and origin Preserve ordered quantities; optionally convert compatible y units explicitly through Pint Missing semantics, incompatible units, complex or unequal axes; no automatic frame or clock conversion

The existing pf_reporting.domain adapters remain the quantum path: actual Qiskit/QuTiP object conversion and explicitly supplied counts, observables, checkpoints, mitigation, calibration, variational, chemistry and shadow records. Their required basis, tensor order, shot and origin semantics remain in effect. A package being installed does not establish adapter qualification or hardware execution. A supplied chemistry/calibration/mitigation record is not a newly executed chemistry calculation, hardware calibration or mitigation experiment.

Adapters preserve original values separately from conversions. The recorded conversion binds original and converted values by canonical SHA-256, with both units recorded. Frame and clock conversion are never inferred from compatible units. Changing Schwarzschild coordinate time into receiver proper time requires an explicitly implemented physical transformation and retained input data.

Integration reports and migration

pf_integrations.runner.run_study now writes an isaes/ companion before sealing the integration evidence manifest. Its existing report.json, report.md and report.html formats are retained. The legacy HTML links to the shared ISAES report and shows the migration status. Source hashes now also bind pf_reporting.

Every backend receives a bounded execution-receipt migration. This preserves its original failed/unassessed/passed declarations without converting them into new core checks. For example, an imported acquisition's data-integrity pass does not become a physics-validation pass. The report explicitly distinguishes legacy execution from migration completion. The shared numerical status remains unassessed unless a real shared analyzer computes a check over retained values.

The relativity_benchmarks/published_clocks_and_links path additionally consumes its retained raw_radial_rays.json through the SR/GR adapter. These are the production solver's actual Earth and strong-field radial rays. The adapter does not reconstruct rays from a summary or substitute analytic sample data. Other backend-specific arrays remain preserved in the legacy bundle until their semantics are supplied explicitly through the declared-series contract or a qualified specialized adapter. This is compatible migration, not a claim of automatic understanding of every third-party API.

To migrate a retained integration bundle using the qualified research runtime:

python -m pf_integrations.reporting path/to/original-study path/to/new-migration

The destination must be new and separate. The original evidence manifest is verified first. Only manifest-bound artifacts are copied, capped at 128 MiB and 2,048 files. Original report and manifest bytes are copied into legacy/; new shared exports are in isaes/. migration_manifest.json binds the copied inputs and new outputs. Integrity verification establishes byte consistency, not source authenticity. A missing local analysis/export dependency produces an explicit unavailable migration with a recovery action; it does not suppress the usable legacy record or claim complete delivery.

This local command reads files that the caller already controls. It does not accept another owner's service-object IDs, attach literature, alter workflow retention or authorize imports across private workspaces. For private workflows, use the normal workflow/report services: they capture immutable inputs, enforce ownership, associate retained literature, and apply the existing dependency and lifecycle rules. A report copied to a standalone directory does not itself register a new server-side retention dependency.

Actual PF core SR/GR example

Import documentation/workflow_examples/srgr_timing_isaes.json through the normal private-workflow import flow. The same Python program is supplied separately as documentation/workflow_examples/srgr_timing_isaes/main.py for inspection. The bundle pins NumPy 2.3.5 and SciPy 1.18.1, matching the numerical-worker lock; use that qualified runtime when validating or running the example.

The program executes gr_photon.solve_null_geodesic twice at the chosen static radial endpoints: the GM=0 special-relativistic limit and the exterior Schwarzschild model. It retains both full ray results, the exact executed core file hash, coordinates, units, clock definition, metric/sign convention, propagation assumptions, schedule and explicit absence of noise. Its numerical validation compares actual solver flight times with the independently derived radial Schwarzschild coordinate-time integral. Analytic reference values are used only for validation, never substituted for solver output.

After validation and activation, run the workflow and generate its normal ISAES report. Two linked ray views per scenario show retained affine samples in time and space. The reported excess coordinate time is conditional on these stated models, endpoints and coordinates. It does not measure an operational PF timing advantage, experimental agreement or commercial benefit.

tests/test_isaes_domain_adapters.py exercises real core computations, missing semantics, incompatible clocks/charts, conversion provenance, legacy failure preservation, source immutability, manifest tampering, missing renderers and the actual private workflow → validate → activate → run → report/export service path with a provider that refuses any access. Cross-owner report access is rejected. Native Windows, real hardware and production containment remain environment qualification gates; local execution is not evidence that those gates passed.