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 | ||
|---|---|---|---|---|---|---|---|---|---|
| cost-benefit/ev-calculation | Implement calculateTaskEv pure function | pending |
|
narrow | low | component | implementation |
Description
Implement calculateTaskEv(p, scopeCost, impactWeight, config?): EvResult in src/analysis/cost-benefit.ts. This is the pure math function — takes numeric inputs, returns EV result. No graph dependency.
Per cost-benefit.md:
EV = P_success × C_success + (1 - P_success) × C_fail
Where C_fail = scopeCost + fallbackCost + timeLost × expectedRetries.
Acceptance Criteria
calculateTaskEv(p: number, scopeCost: number, impactWeight: number, config?: EvConfig): EvResult- Returns
EvResult:{ ev, pSuccess, expectedRetries } expectedRetries=(1 - p) / pwhenp > 0, else 0 (geometric series)C_fail = scopeCost * impactWeight + fallbackCost + timeLost * expectedRetries(impactWeight scales the cost)EV = p * scopeCost * impactWeight + (1-p) * C_fail- When
config.retriesis provided and > 0, capsexpectedRetriesatretries - When
config.valueRateis non-zero, multiplies the final EV - Edge cases:
p = 0(guaranteed failure),p = 1(guaranteed success), default config (all zeros) - Unit tests: known calculations from the Python research model, boundary values, config variations
References
- docs/architecture/cost-benefit.md — EV formula, EvConfig parameters, EvResult
- docs/architecture/api-surface.md — calculateTaskEv signature
- docs/architecture/schemas.md — EvConfig, EvResult schemas
Notes
To be filled by implementation agent
Summary
To be filled on completion