forked from bkinnightskytw/code_work_spawner
93 lines
1.5 KiB
Markdown
93 lines
1.5 KiB
Markdown
# arch
|
|
|
|
|
|
## coding flow
|
|
|
|
```mermaid
|
|
flowchart TD
|
|
n4["agents implement"]
|
|
n5["agents create worktree, branch"]
|
|
n5
|
|
n5 --> n4
|
|
n6["create PR"]
|
|
n8["human merge"]
|
|
n9@{ shape: "diam", label: "human review" }
|
|
n5["agents create worktree, branch"]
|
|
n10@{ shape: "diam", label: "infra CI" }
|
|
n4
|
|
n10
|
|
n10 -->|"y"| n9
|
|
n9 -->|"y"| n8
|
|
n4 --> n6
|
|
n6["upsert PR"] --> n10
|
|
n10 -->|"n"| n4
|
|
n9 -->|"n"| n4
|
|
style n1 fill:#5CE1E6
|
|
style n7 fill:#C1FF72
|
|
style n9 fill:#C1FF72
|
|
style n8 fill:#C1FF72
|
|
style n3 fill:#5CE1E6
|
|
subgraph s1["planing stage"]
|
|
n3["issue session in chat"]
|
|
n11["agents propose plan"]
|
|
n2["agents propose plan"]
|
|
n7@{ shape: "diam", label: "user review plan" }
|
|
n1["create issue"]
|
|
end
|
|
n1
|
|
n1
|
|
n7
|
|
n7
|
|
n7
|
|
n7 -->|"y"| n5
|
|
n7
|
|
n2 --> n7
|
|
n7 -->|"n: human prompt"| n2
|
|
n1 --> n2
|
|
n2 -->|"split to issues"| n1
|
|
n11 --> n7
|
|
n7 -->|"n: human prompt"| n11
|
|
n11
|
|
n11
|
|
n3 --> n11
|
|
n11 -->|"split to issue sessions"| n3
|
|
```
|
|
|
|
|
|
## arch
|
|
|
|
```mermaid
|
|
flowchart
|
|
s2
|
|
s2
|
|
s2
|
|
s2
|
|
s2
|
|
n3["ssh"]
|
|
subgraph s3["my pc"]
|
|
subgraph s4["spawner"]
|
|
n7["db for cache"]
|
|
n6["config file"]
|
|
n2["codex2"]
|
|
n5["codex1"]
|
|
end
|
|
end
|
|
s2
|
|
s2
|
|
s2
|
|
s2
|
|
n3 --> s3
|
|
s2 -->|"poll through API to execute job"| s4
|
|
s4 -->|"report execute status through API"| s2
|
|
n1@{ label: "Rectangle" }
|
|
n1["runners dashboard"]
|
|
s3
|
|
n1 --> s4
|
|
subgraph s5["github"]
|
|
subgraph s2["middle record server"]
|
|
n4["db<br>save tmux session id, or codex session id, success/fail..."]
|
|
end
|
|
s1["workflow dashboard"]
|
|
end
|
|
s1 --> s2
|
|
``` |