Files
taskgraph_ts/tasks/implementation/cost-benefit/workflow-cost.md
glm-5.1 131e3e929b Decompose architecture into 28 atomic implementation tasks
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.
2026-04-27 08:30:05 +00:00

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
cost-benefit/dag-propagation
graph/queries
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

  • workflowCost accepts WorkflowCostOptions with 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 when includeCompleted: false)
  • averageEv: totalEv / tasks.length
  • propagationMode: reflected in result
  • When includeCompleted: false: completed tasks excluded from tasks array but remain in propagation chain with p=1.0
  • When includeCompleted: false: only "completed" status triggers exclusion; "failed" and "blocked" are always included
  • When limit is set: returns at most limit tasks (sorted by EV descending? or topological order? spec says "limits the number of tasks in the result" — use topological order with limit)
  • Throws CircularDependencyError if 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