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.7 KiB
1.7 KiB
id, name, status, depends_on, scope, risk, impact, level
| id | name | status | depends_on | scope | risk | impact | level | ||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| review/schemas-and-errors | Review schema, enum, and error implementations for consistency | pending |
|
narrow | low | phase | review |
Description
Review the schema and error layer implementations before building the graph and analysis layers on top. This is a critical checkpoint because everything downstream depends on these types being correct and consistent with the architecture docs.
Acceptance Criteria
- All TypeBox schemas match schemas.md exactly
- All
Static<typeof>type aliases correctly derived — no manual type definitions - Nullable helper used consistently in TaskInput (not in TaskGraphNodeAttributes)
- Enum values match DB/frontmatter conventions exactly
- Numeric method tables match spec tables exactly
resolveDefaultscorrectly separates "nullable categorical→default" from "label-only nullable→stays nullable"- Error class hierarchy is correct: all extend TaskgraphError, all have proper
nameand typed fields InvalidInputErrorcan be constructed fromValue.Errors()outputCircularDependencyError.cyclestype isstring[][]- No Zod, no gray-matter, no js-yaml in any dependency
package.jsonlists only approved dependencies- All tests pass
References
- docs/architecture/schemas.md
- docs/architecture/errors-validation.md
- docs/architecture/frontmatter.md — supply chain constraints
Notes
To be filled by implementation agent
Summary
To be filled on completion