27 lines
743 B
Plaintext
27 lines
743 B
Plaintext
flowchart TB
|
|
U["Developer"] --> C1["Claude Code"]
|
|
U --> C2["Codex"]
|
|
U --> C3["VS Code: @casan"]
|
|
|
|
C1 --> E1["Project hook events"]
|
|
C2 --> E1
|
|
C3 --> E2["CASAN-owned VSIX route"]
|
|
|
|
E1 --> B[".casan/casan-hook.py"]
|
|
E2 --> B
|
|
B --> V{"Global harness<br/>matches version.lock?"}
|
|
V -- "No" --> D["Deny or degrade<br/>according to mode"]
|
|
V -- "Yes" --> A["Client adapter"]
|
|
A --> G["Agentic bridge"]
|
|
|
|
subgraph TURN["Per-turn lifecycle"]
|
|
direction LR
|
|
L1["Admission<br/>H1 + H4"] --> L2["Pre-tool gate<br/>H2 + H4"]
|
|
L2 --> L3["Post-tool evidence<br/>H5"]
|
|
L3 --> L4["Finalize<br/>H3 + H5 + H6 + H7"]
|
|
end
|
|
|
|
G --> L1
|
|
L4 --> S["Project runtime state<br/>.specify/logs + state"]
|
|
L4 --> R["Native client result"]
|