← back to invincible-jha__aumai-proofserve

Function bodies 7 total

All specs Real LLM only Function bodies
prove_command function · python · L57-L95 (39 LOC)
src/aumai_proofserve/cli.py
def prove_command(
    input_path: str,
    output_path: str,
    log_path: str | None,
    proof_out_path: str,
    store_path: str,
) -> None:
    """Generate a verifiable proof for a computation."""
    input_data = json.loads(Path(input_path).read_text())
    output_data = json.loads(Path(output_path).read_text())
    computation_log = (
        Path(log_path).read_text() if log_path else ""
    )

    generator = ProofGenerator()
    proof = generator.generate_proof(
        input_data=input_data,
        output_data=output_data,
        computation_log=computation_log,
        metadata={"input_file": input_path, "output_file": output_path},
    )

    # Save proof JSON
    Path(proof_out_path).write_text(
        proof.model_dump_json(indent=2), encoding="utf-8"
    )

    # Persist to store
    store = ProofStore()
    _load_proof_store(store, store_path)
    store.save(proof)
    _save_proof_store(store, store_path)

    click.echo(f"Proof generated: {proof.proof_id}")
    clic
verify_command function · python · L127-L157 (31 LOC)
src/aumai_proofserve/cli.py
def verify_command(
    proof_path: str,
    input_path: str,
    output_path: str,
    log_path: str | None,
) -> None:
    """Verify a proof against original input/output data."""
    proof = ComputationProof.model_validate(
        json.loads(Path(proof_path).read_text())
    )
    input_data = json.loads(Path(input_path).read_text())
    output_data = json.loads(Path(output_path).read_text())
    computation_log = (
        Path(log_path).read_text() if log_path else ""
    )

    verifier = ProofVerifier()
    result = verifier.verify(
        proof=proof,
        input_data=input_data,
        output_data=output_data,
        computation_log=computation_log,
    )

    if result.valid:
        click.echo(f"VALID   Proof {proof.proof_id}")
        click.echo(f"        {result.details}")
    else:
        click.echo(f"INVALID Proof {proof.proof_id}", err=True)
        click.echo(result.details, err=True)
        sys.exit(1)
list_command function · python · L164-L176 (13 LOC)
src/aumai_proofserve/cli.py
def list_command(store_path: str) -> None:
    """List all proofs in the store."""
    store = ProofStore()
    _load_proof_store(store, store_path)
    proofs = store.list_proofs()
    if not proofs:
        click.echo("No proofs found.")
        return
    for proof in proofs:
        click.echo(
            f"{proof.proof_id}  {proof.timestamp.isoformat()[:19]}  "
            f"chain={proof.chain_hash[:16]}..."
        )
_canonical_json function · python · L22-L28 (7 LOC)
src/aumai_proofserve/core.py
def _canonical_json(data: dict[str, Any]) -> bytes:
    """
    Produce a deterministic JSON byte-string for *data*.

    Keys are sorted; non-ASCII characters are preserved.
    """
    return json.dumps(data, sort_keys=True, ensure_ascii=False).encode("utf-8")
ProofGenerator.generate_proof method · python · L47-L85 (39 LOC)
src/aumai_proofserve/core.py
    def generate_proof(
        self,
        input_data: dict[str, Any],
        output_data: dict[str, Any],
        computation_log: str,
        metadata: dict[str, Any] | None = None,
    ) -> ComputationProof:
        """
        Generate a verifiable proof for a computation.

        Args:
            input_data: The input payload (will be canonicalized).
            output_data: The output payload (will be canonicalized).
            computation_log: Free-text log of the computation steps.
            metadata: Optional key-value annotations stored in the proof.

        Returns:
            A ``ComputationProof`` with SHA-256 hashes and a chain hash.
        """
        input_hash = _sha256(_canonical_json(input_data))
        output_hash = _sha256(_canonical_json(output_data))
        computation_hash = _sha256(computation_log.encode("utf-8"))

        # Chain: bind all three hashes together
        chain_input = (input_hash + output_hash + computation_hash).encode(
         
ProofVerifier.verify method · python · L91-L149 (59 LOC)
src/aumai_proofserve/core.py
    def verify(
        self,
        proof: ComputationProof,
        input_data: dict[str, Any],
        output_data: dict[str, Any],
        computation_log: str = "",
    ) -> VerificationResult:
        """
        Recompute the expected hashes and compare against the stored proof.

        Returns a ``VerificationResult`` with ``valid=True`` only when all
        hashes match exactly.
        """
        expected_input_hash = _sha256(_canonical_json(input_data))
        expected_output_hash = _sha256(_canonical_json(output_data))
        expected_computation_hash = _sha256(
            computation_log.encode("utf-8")
        )
        expected_chain_hash = _sha256(
            (
                expected_input_hash
                + expected_output_hash
                + expected_computation_hash
            ).encode("ascii")
        )

        failures: list[str] = []
        if proof.input_hash != expected_input_hash:
            failures.append(
                f"input_hash mis
ProofStore.get method · python · L166-L171 (6 LOC)
src/aumai_proofserve/core.py
    def get(self, proof_id: str) -> ComputationProof:
        """Retrieve a proof by ID."""
        proof = self._proofs.get(proof_id)
        if proof is None:
            raise KeyError(f"No proof found with id {proof_id!r}.")
        return proof