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.
2.1 KiB
2.1 KiB
id, name, status, depends_on, scope, risk, impact, level
| id | name | status | depends_on | scope | risk | impact | level | ||
|---|---|---|---|---|---|---|---|---|---|
| cost-benefit/workflow-cost | Implement workflowCost orchestration function | pending |
|
moderate | medium | component | implementation |
Description
Implement workflowCost(graph: TaskGraph, options?: WorkflowCostOptions): WorkflowCostResult in src/analysis/cost-benefit.ts. This orchestrates the per-task EV calculations, handles DAG propagation, and enriches results with taskId and name from the graph.
Acceptance Criteria
workflowCostacceptsWorkflowCostOptionswith optional:includeCompleted,limit,propagationMode,defaultQualityRetention- Default propagation mode:
"dag-propagate"per ADR-004 - Default
defaultQualityRetention: 0.9 - Each task in result includes:
taskId,name,ev,pIntrinsic,pEffective,probability(=pEffective),scopeCost,impactWeight totalEv: sum of all task EVs (excluding completed tasks from output whenincludeCompleted: false)averageEv:totalEv / tasks.lengthpropagationMode: reflected in result- When
includeCompleted: false: completed tasks excluded fromtasksarray but remain in propagation chain with p=1.0 - When
includeCompleted: false: only"completed"status triggers exclusion;"failed"and"blocked"are always included - When
limitis set: returns at mostlimittasks (sorted by EV descending? or topological order? spec says "limits the number of tasks in the result" — use topological order with limit) - Throws
CircularDependencyErrorif graph is cyclic - Unit tests: full workflow cost calculation, independent vs dag-propagate comparison, excludeCompleted scenarios, limit behavior
References
- docs/architecture/cost-benefit.md — workflow cost, skip-completed semantics
- docs/architecture/api-surface.md — workflowCost signature, WorkflowCostOptions
- docs/architecture/decisions/004-workflow-cost-dag-propagation.md — ADR-004
Notes
To be filled by implementation agent
Summary
To be filled on completion