Break the @alkdev/taskgraph architecture specs into dependency-ordered implementation tasks across 8 component directories: setup, schema, error, graph, analysis, cost-benefit, frontmatter, api, and review. Each task has clear acceptance criteria referencing specific architecture docs. Three review tasks serve as quality gates at critical junction points (schemas-and-errors, graph-complete, complete-library). The dependency graph is validated acyclic with 9 topological levels enabling significant parallelism across independent work streams.
1.8 KiB
1.8 KiB
id, name, status, depends_on, scope, risk, impact, level
| id | name | status | depends_on | scope | risk | impact | level | |
|---|---|---|---|---|---|---|---|---|
| schema/graph-schemas | Define TaskGraphNodeAttributes, TaskGraphEdgeAttributes, and SerializedGraph | pending |
|
narrow | low | component | implementation |
Description
Define graph attribute schemas and the serialized graph generic in src/schema/graph.ts. TaskGraphNodeAttributes carries only analysis-relevant metadata (no tags, assignee, due, etc.). SerializedGraph is a generic factory parameterized with node and edge attribute types.
Acceptance Criteria
src/schema/graph.tsexports:TaskGraphNodeAttributesschema:name: Type.String(), optional categorical enums (scope, risk, impact, level, priority, status) — not nullable on the graph (absent = not stored)type TaskGraphNodeAttributesderivedTaskGraphNodeAttributesUpdate = Type.Partial(TaskGraphNodeAttributes)and type aliasTaskGraphEdgeAttributesschema:qualityRetention: Type.Optional(Type.Number())type TaskGraphEdgeAttributesderivedSerializedGraphgeneric factory parameterized with<N extends TSchema, E extends TSchema, G extends TSchema>TaskGraphSerialized = SerializedGraph(TaskGraphNodeAttributes, TaskGraphEdgeAttributes, Type.Object({}))and type alias
SerializedGraphgeneric follows graphology JSON format:attributes,options: { type: "directed", multi: false, allowSelfLoops: false },nodes: [{ key, attributes }],edges: [{ key, source, target, attributes }]- No schema version field on
TaskGraphSerializedper spec - Re-exported from
src/schema/index.ts
References
- docs/architecture/schemas.md — graph attribute schemas, SerializedGraph
- docs/research/typebox-patterns.md — section 6 (generic schema factories)
Notes
To be filled by implementation agent
Summary
To be filled on completion