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 | |
|---|---|---|---|---|---|---|---|---|
| graph/mutation | Implement TaskGraph mutation methods (remove, update, updateEdgeAttributes) | pending |
|
narrow | low | component | implementation |
Description
Implement mutation methods in src/graph/mutation.ts and integrate on TaskGraph. These methods modify the graph in-place.
Acceptance Criteria
removeTask(id: string): void— No-op if node doesn't exist. Removes node and cascades edge removal (graphology handles this automatically).removeDependency(prerequisite: string, dependent: string): void— No-op if edge doesn't exist. Uses deterministic edge key${prerequisite}->${dependent}to identify the edge.updateTask(id: string, attributes: Partial<TaskGraphNodeAttributes>): void— ThrowsTaskNotFoundErrorif ID doesn't exist. UsesmergeNodeAttributesfor shallow merge of provided attributes.updateEdgeAttributes(prerequisite: string, dependent: string, attrs: Partial<TaskGraphEdgeAttributes>): void— ThrowsTaskNotFoundError(actuallyTaskNotFoundErrorfor the edge itself, but per the spec, edge attributes need both endpoints to exist) if the edge doesn't exist. UsesmergeEdgeAttributesfor shallow merge.- All mutations maintain the deterministic edge key format
- Unit tests: remove nonexistent node/edge is no-op, update nonexistent throws, partial updates merge correctly
References
- docs/architecture/api-surface.md — mutation methods
- docs/architecture/errors-validation.md — mutation operation behavior table
- docs/architecture/graph-model.md — edge attributes, mutation semantics
Notes
To be filled by implementation agent
Summary
To be filled on completion