Skip to content

Interface Contracts

Abstract functional contracts defining component boundaries.


1. Data Ingress Interface

IngressContract:
    Inputs:
        raw_features : Matrix[Float, N, d]
        raw_labels   : Vector[Int, N]
        target_qubits: Integer n (where n <= d)
    Outputs:
        X_train      : Tensor[Float, N_train, n] in range [-pi, pi]
        y_train      : Tensor[Int, N_train]
        X_test       : Tensor[Float, N_test, n] in range [-pi, pi]
        y_test       : Tensor[Int, N_test]

2. Declarative Configuration Interface

ConfigurationContract:
    ModelSpecification:
        register_width  : Integer n
        layer_depth     : Integer L
        ansatz_topology : Enum { Basic, StronglyEntangling }
        grad_scheme     : Enum { StatevectorAutograd, ParameterShift }
    TrainingSpecification:
        step_size       : Float eta
        batch_size      : Integer B
        epochs          : Integer E
        optimizer       : Enum { FirstOrderAdaptive, GradientDescent }
        loss_criterion  : Enum { BinaryCrossEntropy, MeanSquaredError }

3. Quantum Layer Execution Interface

QuantumLayerContract:
    Inputs:
        feature_batch : Tensor[Float, B, n]
        weight_tensor : Tensor[Float, L, n, p]
    Outputs:
        expectations  : Tensor[Float, B, n] where each value in [-1, 1]
    Gradients:
        d(loss)/d(weight_tensor)
        d(loss)/d(feature_batch)

4. Execution Manager Interface

ExecutionManagerContract:
    Inputs:
        IngressContract
        ConfigurationContract
    Outputs:
        trained_weights   : SerializedTensor
        convergence_log   : Sequence[Record[epoch, loss, accuracy]]
        evaluation_metrics: Record[test_loss, test_accuracy, runtime_sec]