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:
parent
78a5e72bbf
commit
6eec4f6634
9 changed files with 405 additions and 25 deletions
|
|
@ -4,7 +4,7 @@ type: workplan
|
|||
title: "Development Effort Calculator"
|
||||
domain: infotech
|
||||
repo: target-revenue
|
||||
status: active
|
||||
status: finished
|
||||
owner: claude
|
||||
topic_slug: infotech
|
||||
created: "2026-07-30"
|
||||
|
|
@ -153,7 +153,7 @@ new hard dependency (stdlib + existing `pathlib`/`subprocess`/`re` only).
|
|||
|
||||
```task
|
||||
id: TREV-WP-0010-T03
|
||||
status: todo
|
||||
status: done
|
||||
priority: medium
|
||||
state_hub_task_id: "74a3db97-1b66-4514-895a-bb9c385008aa"
|
||||
```
|
||||
|
|
@ -167,3 +167,31 @@ illustrative figures currently in `examples/pilot-candidates/*/manifest.json`.
|
|||
This remains draft/non-binding — updating a draft manifest's numbers is
|
||||
not a Phase declaration, and does not touch
|
||||
`workplans/TREV-WP-0008-governance-and-pilot-rollout.md` T05's own gate.
|
||||
|
||||
**Result:** All three draft manifests updated with calculator-derived
|
||||
`target_basis`/`initial_target` values; full derivation and warnings in
|
||||
`history/260730-EffortCalculator-CandidateApplication.md`.
|
||||
`net-kingdom-local-identity`: date-scoped to `NK-WP-0002`'s own window
|
||||
(`net-kingdom` has since grown far beyond that one workplan) — hit the
|
||||
1-day floor *and* the sanity-check warning; Initial Target 200,000 → 10,000
|
||||
EUR. `railiance-vergabe-teilnahme`: measured against the `vergabe-teilnahme`
|
||||
application repo itself (not `railiance-apps`, which only holds
|
||||
deployment wiring — a judgment call recorded explicitly, with the
|
||||
alternative repo's figure shown too) — no warnings; Initial Target
|
||||
3,500,000 → 648,800 EUR. `info-tech-canon-service-surface`: whole-repo
|
||||
history — sanity-check warning fired (12 finished workplans/51 tasks
|
||||
against 1.42 raw days) even though above the 1-day floor; Initial Target
|
||||
2,500,000 → 141,800 EUR. Every calculator-derived figure came out
|
||||
materially lower than the earlier hand-picked placeholders, as expected
|
||||
since those were never reasoned from a real measurement.
|
||||
|
||||
**Bug found and fixed along the way:** `workplan_task_counts()` only
|
||||
scanned the top level of `workplans/`, missing `net-kingdom`'s
|
||||
`workplans/archived/` convention entirely (silently reporting zero
|
||||
finished workplans for `NK-WP-0002`, which lives there). Fixed to scan
|
||||
recursively; added a regression test
|
||||
(`test_workplan_task_counts_scans_archived_subdirectory`). Also added
|
||||
`since`/`until` date-range scoping to both `cluster_commit_hours()` and
|
||||
`workplan_task_counts()` (threaded through `calculate_target_basis()`),
|
||||
needed for this task and reusable for any future candidate that's one
|
||||
workplan within a larger repo.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue