decompose architecture into 38 atomic tasks across 12 parallel generations
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.
This commit is contained in:
37
tasks/schema-node-attrs.md
Normal file
37
tasks/schema-node-attrs.md
Normal file
@@ -0,0 +1,37 @@
|
||||
---
|
||||
id: schema/node-attrs
|
||||
name: Define OperationNodeAttrs and CallNodeAttrs TypeBox schemas
|
||||
status: pending
|
||||
depends_on:
|
||||
- schema/enums
|
||||
scope: narrow
|
||||
risk: trivial
|
||||
impact: component
|
||||
level: implementation
|
||||
---
|
||||
|
||||
## Description
|
||||
|
||||
Define the node attribute schemas for both operation graph nodes and call graph nodes. These are the TypeBox schemas that serve as single source of truth for runtime validation and TypeScript type derivation.
|
||||
|
||||
## Acceptance Criteria
|
||||
|
||||
- [ ] `src/schema/node.ts` exports `OperationNodeAttrs` and `CallNodeAttrs` schemas with `Static<typeof>` type aliases
|
||||
- [ ] `OperationNodeAttrs`: `name` (string), `namespace` (string), `version` (string), `type` (OperationTypeEnum), `inputSchema` (Unknown), `outputSchema` (Unknown), optional `description`, optional `tags` (Array<String>)
|
||||
- [ ] `CallNodeAttrs`: `requestId` (string), `operationId` (string), `status` (CallStatusEnum), optional `parentRequestId` (string), `input` (Unknown), optional `output` (Unknown), optional `error` (Object with code/message/optional details), optional `identity` (Object with id/scopes/optional resources), optional `startedAt` (string), optional `completedAt` (string)
|
||||
- [ ] Both schemas produce correct TypeScript types via `Static<typeof>`
|
||||
- [ ] `src/schema/index.ts` re-exports all node schemas and types
|
||||
- [ ] Unit tests: `Value.Check()` against valid and invalid attribute shapes
|
||||
|
||||
## References
|
||||
|
||||
- docs/architecture/schema.md — OperationNodeAttrs, CallNodeAttrs full definitions
|
||||
- docs/architecture/call-graph.md — CallNodeAttrs field mappings to call events
|
||||
|
||||
## Notes
|
||||
|
||||
> To be filled by implementation agent
|
||||
|
||||
## Summary
|
||||
|
||||
> To be filled on completion
|
||||
Reference in New Issue
Block a user