Skip to content

DocuHarnessX

A short path through norandom/DocuHarnessX, in the order you would actually learn the project.

Read the numbered list first. Later questions cover individual modules.

Click a name to open its page. Click a dot to recenter.

flowchart LR
 subgraph path["Read in this order"]
 direction LR
 p0["1. How does this program start?"]
 p1["2. What does docuharnessx do?"]
 p2["3. How is this project built and verif…"]
 p3["4. How are tests organized?"]
 p4["5. How is the public surface used or e…"]
 end
 p0 -->|"then"| p1
 p1 -->|"then"| p2
 p2 -->|"then"| p3
 p3 -->|"then"| p4
 classDef person fill:#E8B923,stroke:#7A5100,color:#1A1300
 classDef system fill:#A8C8FF,stroke:#1E4BB8,color:#0B1F4A
 classDef container fill:#B9D4FE,stroke:#2F62C4,color:#0B1F4A
 classDef external fill:#D5DCE6,stroke:#4A5568,color:#1A202C
 classDef store fill:#7ED4C0,stroke:#0F766E,color:#042F2E
pie showData
 title Documentation coverage
 "Accepted pages" : 10
flowchart TB
 subgraph b0["Interface"]
 b0m0["CLI"]
 b0m1["mcp"]
 end
 subgraph b1["Application"]
 b1m0["assembler"]
 b1m1["composition"]
 b1m2["deployer"]
 b1m3["pipeline"]
 b1m4["planning"]
 b1m5["review"]
 end
 subgraph b2["Domain"]
 b2m0["analysis"]
 b2m1["comprehension"]
 b2m2["ontology"]
 end
 b0 -->|"depends on"| b1
 b1 -->|"depends on"| b2
 class b0m0,b0m1,b1m0,b1m1,b1m2,b1m3,b1m4,b1m5,b2m0,b2m1,b2m2 container
 classDef person fill:#E8B923,stroke:#7A5100,color:#1A1300
 classDef system fill:#A8C8FF,stroke:#1E4BB8,color:#0B1F4A
 classDef container fill:#B9D4FE,stroke:#2F62C4,color:#0B1F4A
 classDef external fill:#D5DCE6,stroke:#4A5568,color:#1A202C
 classDef store fill:#7ED4C0,stroke:#0F766E,color:#042F2E
flowchart TB
 subgraph people["People"]
 actor_operator(["Operator"])
 end
 subgraph enterprise["This system"]
 system["DocuHarnessX"]
 end
 subgraph external["External"]
 external_ci["GitHub Actions"]
 external_docs[("Documentation site")]
 external_repo[("norandom/DocuHarnessX")]
 end
 actor_operator -->|"runs CLI"| system
 system -->|"reads and cites"| external_repo
 external_ci -->|"runs in"| system
 system -->|"publishes"| external_docs
 class actor_operator person
 class system system
 class external_ci external
 class external_docs store
 class external_repo store
 classDef person fill:#E8B923,stroke:#7A5100,color:#1A1300
 classDef system fill:#A8C8FF,stroke:#1E4BB8,color:#0B1F4A
 classDef container fill:#B9D4FE,stroke:#2F62C4,color:#0B1F4A
 classDef external fill:#D5DCE6,stroke:#4A5568,color:#1A202C
 classDef store fill:#7ED4C0,stroke:#0F766E,color:#042F2E
flowchart TB
 subgraph start["Start here"]
 s0["How does this program start?"]
 s1["What does docuharnessx do?"]
 s2["How is this project built and verif…"]
 s3["How are tests organized?"]
 s4["How is the public surface used or e…"]
 end
 s0 --> s1
 s1 --> s2
 s2 --> s3
 s3 --> s4
 subgraph more["Further questions"]
 m0["What does analysis do?"]
 m1["What does assembler do?"]
 m2["What does composition do?"]
 m3["What does comprehension do?"]
 m4["What does javascripts do?"]
 end
 s4 -.-> m0
 classDef person fill:#E8B923,stroke:#7A5100,color:#1A1300
 classDef system fill:#A8C8FF,stroke:#1E4BB8,color:#0B1F4A
 classDef container fill:#B9D4FE,stroke:#2F62C4,color:#0B1F4A
 classDef external fill:#D5DCE6,stroke:#4A5568,color:#1A202C
 classDef store fill:#7ED4C0,stroke:#0F766E,color:#042F2E
flowchart LR
 subgraph ginput["Inputs"]
 n0(["Inputs"])
 end
 subgraph gtransform["This system"]
 n1["cli.py"]
 n2["docuharnessx"]
 n4["analysis"]
 n5["assembler"]
 n6["composition"]
 n7["comprehension"]
 end
 subgraph goutput["Outputs"]
 n3[("Outputs")]
 end
 n0 --> n1
 n1 --> n2
 n2 --> n3
 n1 --> n4
 n4 --> n3
 n1 --> n5
 n5 --> n3
 n1 --> n6
 n6 --> n3
 n1 --> n7
 n7 --> n3
 classDef person fill:#E8B923,stroke:#7A5100,color:#1A1300
 classDef system fill:#A8C8FF,stroke:#1E4BB8,color:#0B1F4A
 classDef container fill:#B9D4FE,stroke:#2F62C4,color:#0B1F4A
 classDef external fill:#D5DCE6,stroke:#4A5568,color:#1A202C
 classDef store fill:#7ED4C0,stroke:#0F766E,color:#042F2E
flowchart LR
 subgraph ginput["Inputs"]
 n0(["Inputs"])
 end
 subgraph gtransform["This system"]
 n1["cli.py"]
 n2["docuharnessx"]
 n4["analysis"]
 n5["assembler"]
 n6["composition"]
 n7["comprehension"]
 end
 subgraph goutput["Outputs"]
 n3[("Outputs")]
 end
 n0 --> n1
 n1 --> n2
 n2 --> n3
 n1 --> n4
 n4 --> n3
 n1 --> n5
 n5 --> n3
 n1 --> n6
 n6 --> n3
 n1 --> n7
 n7 --> n3
 classDef person fill:#E8B923,stroke:#7A5100,color:#1A1300
 classDef system fill:#A8C8FF,stroke:#1E4BB8,color:#0B1F4A
 classDef container fill:#B9D4FE,stroke:#2F62C4,color:#0B1F4A
 classDef external fill:#D5DCE6,stroke:#4A5568,color:#1A202C
 classDef store fill:#7ED4C0,stroke:#0F766E,color:#042F2E
flowchart LR
 subgraph pipe["Pipeline"]
 docs["docs"]
 evolve["evolve"]
 end
 docs --> evolve
 class docs,evolve container
 classDef person fill:#E8B923,stroke:#7A5100,color:#1A1300
 classDef system fill:#A8C8FF,stroke:#1E4BB8,color:#0B1F4A
 classDef container fill:#B9D4FE,stroke:#2F62C4,color:#0B1F4A
 classDef external fill:#D5DCE6,stroke:#4A5568,color:#1A202C
 classDef store fill:#7ED4C0,stroke:#0F766E,color:#042F2E
flowchart LR
 subgraph pipe["Pipeline"]
 docs["docs"]
 evolve["evolve"]
 end
 docs --> evolve
 class docs,evolve container
 classDef person fill:#E8B923,stroke:#7A5100,color:#1A1300
 classDef system fill:#A8C8FF,stroke:#1E4BB8,color:#0B1F4A
 classDef container fill:#B9D4FE,stroke:#2F62C4,color:#0B1F4A
 classDef external fill:#D5DCE6,stroke:#4A5568,color:#1A202C
 classDef store fill:#7ED4C0,stroke:#0F766E,color:#042F2E