Skip to content

API Reference

Generated reference from the gaiaftcl Python package source. Reflects v1.0.0.

For richer prose see Python-Wrappers-Franklin-Client-API and Python-Wrappers-Industry-Bridges.


Module: gaiaftcl

Top-level re-exports:

FranklinClient
FranklinClientError
FranklinAuthorityViolation
FranklinHeartbeat
FranklinResearchTelemetry
FranklinHealthObservation
FranklinHealingAction
FranklinSubstrateDevelopment
FranklinAlgorithmEvaluation
FranklinReplayAnchor
FederationCosignature
FederationContext
verify_signature_quintet
MeshLoader
MeshLoaderError
load_from_mesh
Manifest
ManifestSigner
ManifestVerifier

Module: gaiaftcl.client.franklin_client

class FranklinClient

FranklinClient.__init__(self, substrate_db_path: Path)
@classmethod FranklinClient.connect(substrate_db_path: Optional[Path] = None) -> FranklinClient
FranklinClient.close(self) -> None
FranklinClient.__enter__(self) -> FranklinClient
FranklinClient.__exit__(self, *exc) -> None

FranklinClient.heartbeat_history(self, limit: int = 10) -> list[FranklinHeartbeat]
FranklinClient.research_telemetry(self, limit: int = 100) -> list[dict[str, Any]]
FranklinClient.health_observations(self, limit: int = 20) -> list[FranklinHealthObservation]
FranklinClient.healing_history(self, limit: int = 50) -> list[FranklinHealingAction]
FranklinClient.list_substrate_development(self, status: Optional[str] = None, limit: int = 100) -> list[FranklinSubstrateDevelopment]
FranklinClient.evaluate_algorithm(self, algorithm_id: Optional[str] = None, limit: int = 30) -> list[FranklinAlgorithmEvaluation]
FranklinClient.replay_session(self, limit: int = 100) -> list[FranklinReplayAnchor]
FranklinClient.franklin_authority_show(self) -> dict[str, Any]
async FranklinClient.subscribe(self, subject: str) -> AsyncIterator[dict[str, Any]]

class FranklinHeartbeat (frozen dataclass)

Fields: heartbeat_id, tick_at_iso, daemon_session_id, tick_cadence_seconds, observations_count, classifications_count, commission_proposals_count, tuning_adjustments_applied, tuning_adjustments_held, filtering_decisions_applied, game_evaluations_run, healing_escalations_processed, invariant_set_evolution_actions, commissions_franklin_authorized, commissions_implemented_by_substrate_developer, commissions_activated, commissions_rolled_back, substrate_state_summary_json, canonical_witness, witness_hash_sha256, signature_quintet, nats_subject_sealed.

Property: qc020_closure -> dict — parsed substrate_state_summary_json.

class FranklinResearchTelemetry, FranklinHealthObservation, FranklinHealingAction, FranklinSubstrateDevelopment, FranklinAlgorithmEvaluation, FranklinReplayAnchor

See Python-Wrappers-Franklin-Client-API for field-by-field reference.

Exceptions

FranklinClientError(Exception) — base error FranklinAuthorityViolation(FranklinClientError) — bypass attempt of Franklin's bounded authority


Module: gaiaftcl.federation.cosignature

verify_signature_quintet(canonical_witness, witness_hash_sha256, signature_quintet_json, federation_public_keys=None) -> bool

Verify a substrate row's federation cosignature quintet. Returns True iff witness hash bit-exact equivalent to SHA-256(canonical_witness) and (if keys provided) all five context signatures verify.

class FederationContext (frozen dataclass)

Fields: cell_id, domain_id, lean_artifact_path, payload_canonical, tau_block, signature.

class FederationCosignature

@classmethod
FederationCosignature.parse(signature_quintet_json: str, canonical_witness: str) -> FederationCosignature

Fields: contexts: list[FederationContext], witness_hash_sha256: str.


Module: gaiaftcl.federation.manifest

class Manifest (frozen dataclass)

Fields: manifest_version, produced_at_iso, cell_id, domain_id, artifacts: list[ManifestArtifact], canonical_witness, witness_hash_sha256, signature_quintet: list[str].

Methods: to_json() -> str, from_json(data: str) -> Manifest.

class ManifestArtifact (frozen dataclass)

Fields: path, sha256, bytes.

class ManifestSigner

ManifestSigner(cell_id: str, domain_id: str, produced_at_iso: Optional[str] = None)
ManifestSigner.sign_directory(root: Path, glob_pattern: str = "**/*") -> Manifest
ManifestSigner.sign_files(files: list[tuple[str, bytes]]) -> Manifest

class ManifestVerifier

ManifestVerifier.verify(manifest: Manifest, root: Path) -> bool

Module: gaiaftcl.mesh.loader

load_from_mesh(module_name, cache_root=None, federation_public_keys=None) -> module

Convenience wrapper around MeshLoader.load.

class MeshLoader

MeshLoader(cache_root: Optional[Path] = None, federation_public_keys: Optional[list[str]] = None)
MeshLoader.load(module_name: str) -> module

Exception

MeshLoaderError(Exception) — manifest missing, federation verification failed, or artifact hash mismatch.


Module: gaiaftcl.bridges.*_bridge

Each bridge gates heavy imports behind try-except; *_AVAILABLE: bool constants surface availability.

gaiaftcl.bridges.numpy_bridge

research_telemetry_to_array(rows: list[dict], field: str) -> np.ndarray
projection_cells_to_array(canonical_cells_json: str) -> np.ndarray
heartbeat_counters_to_array(heartbeats: list, field: str = "observations_count") -> np.ndarray
leading_zero_histogram(v178_rows: list[dict]) -> np.ndarray

gaiaftcl.bridges.pandas_bridge

heartbeats_to_dataframe(heartbeats: list) -> pd.DataFrame
research_telemetry_to_dataframe(rows: list[dict]) -> pd.DataFrame
health_observations_to_dataframe(observations: list) -> pd.DataFrame
healing_actions_to_dataframe(actions: list) -> pd.DataFrame
substrate_development_to_dataframe(items: list) -> pd.DataFrame
cadence_summary(heartbeats: list) -> pd.DataFrame

gaiaftcl.bridges.sklearn_bridge

class SubstrateFeatureExtractor(BaseEstimator, TransformerMixin):
    def __init__(self, fields: list[str] | None = None)
    def fit(self, X, y=None)
    def transform(self, X) -> np.ndarray

class V178LeadingZeroFeatureExtractor(BaseEstimator, TransformerMixin):
    def fit(self, X, y=None)
    def transform(self, X) -> np.ndarray

gaiaftcl.bridges.biopython_bridge

pathway_to_seq(row: dict, alphabet: str = "ACGT") -> Bio.Seq
telemetry_to_seqrecords(rows: list[dict], alphabet: str = "ACGT") -> list[Bio.SeqRecord]

gaiaftcl.bridges.rdkit_bridge

smiles_canonical_to_mol(smiles: str) -> Optional[Chem.Mol]
mol_to_substrate_projection_canonical(mol: Chem.Mol) -> str
project_validated_cure_row(row: dict) -> Optional[Chem.Mol]

gaiaftcl.bridges.ase_bridge

lattice_canonical_to_atoms(canonical: str) -> Optional[Atoms]
atoms_to_substrate_canonical(atoms: Atoms) -> str

gaiaftcl.bridges.pymatgen_bridge

structure_canonical_to_structure(canonical: str, lattice_a: float = 5.43) -> Optional[Structure]
structure_to_substrate_canonical(structure: Structure) -> str

gaiaftcl.bridges.root_bridge

telemetry_to_uproot_tree(rows: list[dict]) -> dict[str, np.ndarray]
heartbeats_to_uproot_tree(heartbeats: list) -> dict[str, np.ndarray]

CLI

gaiaftcl-py shell script.

Subcommands: heartbeat, development, health, healing, authority, replay, verify. JSON output to stdout. See Python-Wrappers-Getting-Started for usage.


Federation-cosigned

This page's source is sealed in the GaiaFTCL federation manifest — page SHA-256 14cce7555585f6c0…, manifest witness a090592e0609adc8…, signed 2026-06-02T18:58:22Z by cell gaiaftcl-mac-cell. Verify with gaiaftcl wiki sign --all and compare wiki-all-signatures.json.