resolve mechanical architecture review issues (C-01,C-02,C-03,W-01,W-09,W-10,W-12)
- C-01: fix broken README link (call-graph-runtime.md → call-graph.md)
- C-02: add CallEdgeAttrs union type alias in schema.md
- C-03/W-12: rename TypedEdgeAttrs → OperationEdgeAttrs for consistent
{GraphType}EdgeAttrs naming pattern, update all references
- W-01: standardize terminology — prerequisites=structural/graph,
preconditions=reactive/computed, rename WorkflowNode.prerequisites
to preconditions, rename computePrerequisites to computePreconditions
- W-09: update ADR-001/002/003 status from Proposed to Accepted
- W-10: clarify call graph mutation API — addCall creates triggered
edges automatically, addDependency creates depends_on edges
- update review checklist with resolved items
This commit is contained in:
@@ -209,12 +209,14 @@ Payload fields (`input`, `output`, `error`) are stored as-is in the graph. The h
|
||||
|
||||
```typescript
|
||||
// Add a call node (from call.requested event)
|
||||
// If attrs.parentRequestId is set, also creates a triggered edge from parent to child
|
||||
addCall(attrs: CallNodeAttrs): void
|
||||
|
||||
// Update call status (from call.responded/error/aborted/completed event)
|
||||
updateStatus(requestId: string, status: CallStatus, extra?: Partial<CallNodeAttrs>): void
|
||||
|
||||
// Add a dependency edge (explicit, not auto-populated)
|
||||
// Add a dependency edge (explicit, not auto-populated by call protocol)
|
||||
// Creates an edge with edgeType: "depends_on"
|
||||
addDependency(source: string, target: string): void
|
||||
|
||||
// Remove a call node and its edges
|
||||
@@ -224,7 +226,7 @@ removeCall(requestId: string): void
|
||||
updateCall(requestId: string, attrs: Partial<CallNodeAttrs>): void
|
||||
```
|
||||
|
||||
`updateStatus` validates the transition. `addDependency` validates that both endpoints exist. `removeCall` removes the node and all attached edges (graphology cascade).
|
||||
`addCall` is the primary entry point for populating the call graph from call events. When `attrs.parentRequestId` is present, it automatically creates a `triggered` edge from the parent to the new node. `addDependency` creates explicit `depends_on` edges that represent data dependencies not captured by the parent-child hierarchy. `updateStatus` validates the transition. `addDependency` validates that both endpoints exist and that the edge would not create a cycle. `removeCall` removes the node and all attached edges (graphology cascade).
|
||||
|
||||
## Constraints
|
||||
|
||||
|
||||
Reference in New Issue
Block a user