syntax = "proto3";
/*
Regenerate the bindings by updating the `build.rs`,
and copying the file from `target/debug/build/stratiphy-something`
into this folder.
*/
package stratiphy.io.workflow;
message ClusteringWorkflowResult {
repeated double affinity_matrix = 1;
message ClusterLabels {
uint32 k = 1;
repeated uint32 labels = 2;
}
repeated ClusterLabels cluster_labels = 2;
repeated uint32 sort_order = 3;
optional GapValues gap_values = 4;
optional SplitCheck split_check = 5;
message TermAssociations {
uint32 k = 1;
repeated TermAssociation associations = 2;
}
repeated TermAssociations term_associations = 6;
ClusteringWorkflowMetadata metadata = 7;
}
message GapValues {
message LogWkRand {
uint32 k = 1;
repeated double values = 2;
}
map<uint32, double> log_wk_data = 1;
repeated LogWkRand log_wk_rand = 2;
}
message SplitCheck {
bool should_split = 1;
double split_proba = 2;
}
message TermAssociation {
string term_id = 1;
map<uint32, uint32> counts = 2;
double pval = 3;
optional double corrected_pval = 4;
}
message ClusteringWorkflowMetadata {
// Semantic versioning identifier, e.g. `0.3.0`.
string stratiphy_version = 1;
// HPO release identifier, e.g. `v2026-02-16`.
string hpo_version = 2;
}