Decompose the reviewed architecture specs into taskgraph-managed tasks: - 2 setup tasks (project init, test infrastructure) - 4 schema tasks (enums, node attrs, edge attrs, graph schemas) - 1 error hierarchy task - 6 graph tasks (FlowGraph class, 3 construction paths, queries, validation) - 5 analysis tasks (type-compat, build-type-edges, ordering, template-validation, defaults) - 5 component tasks (Operation, Sequential, Parallel, Conditional, Map) - 2 host config tasks (GraphologyHostConfig, ReactiveHostConfig) - 4 reactive tasks (WorkflowRoot, node-status, max-concurrency, retry-semantics) - 3 review tasks (foundation, reactive-and-hosts, complete-library) - 5 meta cluster tasks (schema, graph, component, reactive, analysis layers) - 1 API exports task Validated with taskgraph: zero cycles, 38 tasks, 12 parallel generations. Critical path: 12 tasks through reactive execution layer.
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 | pending |
|
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