2.0 KiB
2.0 KiB
id, name, status, depends_on, scope, risk, impact, level
| id | name | status | depends_on | scope | risk | impact | level | ||
|---|---|---|---|---|---|---|---|---|---|
| schema/edge-attrs | Define edge attribute schemas (Operation, Triggered, Dependency, Template) and CallResult | completed |
|
narrow | low | component | implementation |
Description
Define all edge attribute schemas and the CallResult schema. Edge schemas are mode-specific (they do NOT include the universal edgeType field — that's stored separately in graphology alongside the mode-specific attributes). TemplateNodeAttrs is a type alias for OperationNodeAttrs.
Acceptance Criteria
src/schema/edge.tsexports all edge schemas and typesOperationEdgeAttrs:compatible(boolean), optionaldetail(string), optionalmismatches(Array of {path, expected, actual})TriggeredEdgeAttrs: empty objectType.Object({})DependencyEdgeAttrs: empty objectType.Object({})CallEdgeAttrs: union typeTriggeredEdgeAttrs | DependencyEdgeAttrs(discriminated byedgeTypeat runtime)TemplateEdgeAttrs:edgeType(union of "sequential" | "conditional"), optionalcondition(Unknown), optionalnegated(boolean), optionaldataFlow(boolean with default false)TemplateNodeAttrs: type alias forOperationNodeAttrs(template nodes carry the same attributes as operation nodes)CallResultSchema:status(NodeStatusEnum),output(Unknown), optionalerror({code, message, details?})CallResult: type alias viaStatic<typeof CallResultSchema>src/schema/index.tsre-exports all edge schemas, CallResult, and TemplateNodeAttrs- Unit tests for each schema: valid/invalid shapes, optional fields
References
- docs/architecture/schema.md — full edge attribute definitions, CallResultSchema, TemplateNodeAttrs, edge key conventions
- docs/architecture/workflow-templates.md — TemplateEdgeAttrs.condition semantics (string vs function)
Notes
To be filled by implementation agent
Summary
To be filled on completion