graph TD A["๐ฅ Input\nHypergraph"] --> B{"Graph Size\n> 50?"} B -->|"Yes"| C["๐ฆ Coarsen\nMinHash clustering"] C --> D["๐ Recursive\nPartition"] D --> E["๐ค Uncoarsen\nProject down"] E --> F["โก FM\nRefinement"] F --> B B -->|"No"| G["โ Final\nPartition"] style A fill:#4caf50,color:#fff style G fill:#4caf50,color:#fff style F fill:#2196f3,color:#fff style C fill:#ff9800,color:#fff style B fill:#9c27b0,color:#fff
graph LR A["๐ Library\nckpttn-cpp"] --> B["๐ฅ๏ธ CLI\n12 flags"] B --> C["๐ Fixed\nModules"] B --> D["๐ฒ Random\nInit"] B --> E["๐ Multi-\nStart"] B --> F["๐ Mode\nFMPartMgr/NN"] A --> G["๐ Python\nckpttnpy"] G --> H["78 tests โ "] style A fill:#2196f3,color:#fff style B fill:#4caf50,color:#fff style C fill:#ff9800,color:#fff style D fill:#ff9800,color:#fff style E fill:#ff9800,color:#fff style F fill:#ff9800,color:#fff style G fill:#9c27b0,color:#fff style H fill:#4caf50,color:#fff
graph TD A["๐ฅ Input Hypergraph"] --> S1["Seed 42"] & S2["Seed 42+104729"] & S3["Seed N-1"] S1 --> E1["โก FM Run 0"] --> G["๐ Pick Best"] S2 --> E2["โก FM Run 1"] --> G S3 --> EN["โก FM Run N-1"] --> G G --> H["โ Best Partition"] style A fill:#4caf50,color:#fff style H fill:#4caf50,color:#fff style G fill:#ff9800,color:#fff style S1 fill:#2196f3,color:#fff style S2 fill:#2196f3,color:#fff style S3 fill:#2196f3,color:#fff
graph LR A["๐ท๏ธ CLI (12)"] --> B["โ๏ธ Algorithm (10)"] B --> C["๐งฉ Coarsening (4)"] B --> D["๐ฎ Implicit (6)"] A -.->|"9 wired โ "| B A -.->|"3 unwired ๐ด"| B style A fill:#4caf50,color:#fff style B fill:#2196f3,color:#fff style C fill:#ff9800,color:#fff style D fill:#f44336,color:#fff
graph TD A["Net degree d"] --> B{"d < 2\nor d โฅ 500?"} B -->|"Yes"| Z["โญ Skip"] B -->|"No"| C{"d = 2?"} C -->|"Yes"| E["โก 2-pin fast"] C -->|"No"| D{"d = 3?"} D -->|"Yes"| H["โก 3-pin path"] D -->|"No"| G["General path"] style E fill:#4caf50,color:#fff style H fill:#ff9800,color:#fff style G fill:#9c27b0,color:#fff style Z fill:#f44336,color:#fff
graph TD A["gainmax < 0?"] -->|"PartMgrBase"| B["๐ธ Snapshot\nDefer rollback"] A -->|"NNPartMgr"| C["โ Break\nNo rollback"] B --> D["Continue until\nbucket empty"] C --> E["Return best so far"] style B fill:#2196f3,color:#fff style C fill:#f44336,color:#fff
pie title "Parameter Exposure Status" "Fully Wired (10)" : 10 "Parsed, Not Wired (3)" : 3 "Hardcoded (19)" : 19