1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
//! Deterministic verification, portable proof provenance, and optional quorum
//! networking.
//!
//! Power House combines six interoperable layers:
//!
//! - [`identity`] provides immutable computational identities over `.pha` and
//! Rootprint.
//! - [`provenance`] defines Power House Archive (`.pha`) and Rootprint v1.
//! - [`sumcheck`] implements dense, streaming, constant, and seeded-affine
//! sum-check workflows.
//! - [`sparse_sumcheck`] implements stable seeded and commitment-bound sparse
//! certificate formats.
//! - [`julian`] records proof transcripts, anchors them, and reconciles quorum
//! state.
//! - [`net`] adds signed libp2p transport, data availability, governance, and
//! quorum-finalized native RPC when the `net` feature is enabled.
//!
//! # Power House Archive
//!
//! A [`provenance::PhaArtifact`] binds core proof data and provenance to a
//! deterministic `phx_fingerprint`. Optional external proof attachments are
//! transported with the artifact but do not alter its Power House core
//! identity.
//!
//! ```
//! use power_house::provenance::PhaArtifact;
//! use serde_json::json;
//!
//! let artifact = PhaArtifact::new(
//! json!({"producer": "example"}),
//! "power-house/example/v1",
//! json!({"claim": 7}),
//! json!({"accepted": true}),
//! )?;
//! artifact.verify()?;
//! # Ok::<(), Box<dyn std::error::Error>>(())
//! ```
//!
//! # Rootprint
//!
//! [`provenance::Rootprint`] is a deterministic directed acyclic graph of
//! `.pha` artifacts. The [`prove_with_rootprint!`] macro is the recommended
//! construction interface.
//!
//! ```
//! use power_house::{prove_with_rootprint, provenance::PhaArtifact};
//! use serde_json::json;
//!
//! let artifact = PhaArtifact::new(
//! json!({"source": "rootprint-example"}),
//! "power-house/example/v1",
//! json!({"claim": 11}),
//! json!({"accepted": true}),
//! )?;
//! let graph = prove_with_rootprint!(label: "main", artifact: artifact)?;
//! graph.verify()?;
//! # Ok::<(), Box<dyn std::error::Error>>(())
//! ```
//!
//! # Structured sum-check
//!
//! Closed-form and seeded proof constructors operate on compact algebraic
//! descriptions without allocating the expanded Boolean hypercube.
//!
//! ```
//! use power_house::{Field, GeneralSumProof};
//!
//! let field = Field::new(1_000_000_007);
//! let proof = GeneralSumProof::prove_seeded_affine(
//! 4096,
//! &field,
//! b"public reproducible workload",
//! );
//! assert!(proof.verify_seeded_affine(
//! &field,
//! b"public reproducible workload",
//! ));
//! ```
//!
//! # Feature flags
//!
//! - `default`: proof, provenance, transcript, and sparse-certificate APIs.
//! - `net`: networking, migration commands, data availability, governance,
//! staking, and native JSON-RPC.
//!
//! # Specifications and guides
//!
//! The repository contains the normative `.pha` and Rootprint specifications,
//! cross-language conformance vectors, provenance and sparse security models,
//! verification guide, and operational runbooks. See the
//! [documentation index](https://github.com/JROChub/power_house/blob/main/docs/README.md).
/// CLI command helpers for migration and deterministic artifacts.
pub use consensus;
pub use ;
pub use Field;
pub use ;
pub use write_text_series;
pub use ;
pub use ;
pub use ;
pub use MultilinearPolynomial;
pub use SimplePrng;
pub use ;
pub use StreamingPolynomial;
pub use ;
pub use Transcript;