Apply Development Effort Calculator to real pilot candidates (WP-0010-T03)

Adds since/until date-range scoping to cluster_commit_hours() and
workplan_task_counts() (threaded through calculate_target_basis()),
needed whenever a candidate is one bounded workplan within a repo
whose overall history spans much more (net-kingdom, railiance-apps)
rather than the whole repo being the candidate (vergabe-teilnahme,
info-tech-canon).

Fixes a real bug found along the way: workplan_task_counts() only
scanned the top level of workplans/, missing net-kingdom's
workplans/archived/ convention entirely - silently reported zero
finished workplans for NK-WP-0002, which lives there. Fixed to scan
recursively; added a regression test.

Updates all three draft pilot-candidate manifests with calculator-
derived target_basis/initial_target values, replacing the hand-picked
placeholders:
  net-kingdom-local-identity:      200,000 -> 10,000 EUR (floor + sanity warnings)
  railiance-vergabe-teilnahme:   3,500,000 -> 648,800 EUR (no warnings)
  info-tech-canon-service-surface: 2,500,000 -> 141,800 EUR (sanity warning)

history/260730-EffortCalculator-CandidateApplication.md records full
derivation, warnings, and the judgment calls made explicit rather than
silently picked (date-scoping windows; measuring vergabe-teilnahme's
own repo rather than railiance-apps' deployment-only wiring, with both
figures shown). Still draft/non-binding - WP-0008-T05 unaffected.

5 new tests (20 -> now covering since/until scoping and the
archived-subdirectory fix). Full suite: 84 passing offline.
This commit is contained in:
tegwick 2026-07-30 13:29:06 +02:00
parent 78a5e72bbf
commit 6eec4f6634
9 changed files with 405 additions and 25 deletions

View file

@ -8,11 +8,11 @@
"source_revision": "f7ad73d"
},
"initial_target": {
"amount": 2500000,
"amount": 141800,
"currency": "EUR"
},
"target_basis": {
"estimated_effort_days": 25,
"estimated_effort_days": 1.418,
"daily_rate": 1000,
"approved_direct_costs": 0,
"target_multiple": 100