Skip to content

Commit 9da3fb2

Browse files
Alexclaude
andcommitted
Add build effort analysis script and reports
Leverages charm project's contribution tracking patterns to analyze medgemma_competition build effort: - Python script parsing git log with --numstat for per-file line counts - Contributor normalization (4 git names -> 2 people) - Phase breakdown (Research+Scaffold, Core Integration, Hardening, Demo) - Per-crate and per-contributor stats - Claude session analysis (8 sessions, 58.7 hours, 12.8k messages) - Outputs: BUILD_EFFORT_REPORT.md and BUILD_EFFORT_CR.csv (charm CR-sheet format) Results: 171 commits over 9 days, 10 person-days, +149k/-20k lines Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 397965f commit 9da3fb2

File tree

3 files changed

+947
-0
lines changed

3 files changed

+947
-0
lines changed

BUILD_EFFORT_CR.csv

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
,,,,,,,,,
2+
,Build Effort Analysis:,,,,,,,,
3+
,,,,Total,,Work to Date,,Remaining Work,
4+
,Work item,Description,Contributor,Days,Cost,Days,Cost,Days,Cost
5+
,,,,,,,,,
6+
, Phase 1: Research + Scaffold (2026-02-16 to 2026-02-17),,,,,,,,
7+
,,,,,,,,,
8+
,terraphim-automata,Aho-Corasick entity extraction (1.4M SNOMED/UMLS patterns),Alex Mikhalev,0.4,0,0.4,0,0,0
9+
,terraphim-pgx,CPIC pharmacogenomic safety module,Alex Mikhalev,0.3,0,0.3,0,0,0
10+
,terraphim-api,Axum REST API server,Alex Mikhalev,0.2,0,0.2,0,0,0
11+
,medgemma-client,MedGemma 4B GGUF LLM inference wrapper,Alex Mikhalev,0.3,0,0.3,0,0,0
12+
,terraphim-demo,Interactive demo UI,Alex Mikhalev,0.3,0,0.3,0,0,0
13+
,terraphim-medical-agents,OTP-style multi-agent supervision,Alex Mikhalev,0.5,0,0.5,0,0,0
14+
,terraphim-evaluation,18-case 3-gate evaluation harness,Alex Mikhalev,0.1,0,0.1,0,0,0
15+
,docs,Documentation and writeups,,0.9,0,0.9,0,0,0
16+
,root,"Workspace config, Makefile, CI",,0.8,0,0.8,0,0,0
17+
,Phase Subtotal,,,3.8,0,3.8,0,0,0
18+
,,,,,,,,,
19+
, Phase 2: Core Integration (2026-02-18 to 2026-02-20),,,,,,,,
20+
,,,,,,,,,
21+
,terraphim-automata,Aho-Corasick entity extraction (1.4M SNOMED/UMLS patterns),Alex Mikhalev,0.6,0,0.6,0,0,0
22+
,medgemma-client,MedGemma 4B GGUF LLM inference wrapper,Alex Mikhalev,0.6,0,0.6,0,0,0
23+
,terraphim-demo,Interactive demo UI,Alex Mikhalev,0.2,0,0.2,0,0,0
24+
,terraphim-medical-agents,OTP-style multi-agent supervision,Alex Mikhalev,0.2,0,0.2,0,0,0
25+
,docs,Documentation and writeups,,2.1,0,2.1,0,0,0
26+
,root,"Workspace config, Makefile, CI",,1.5,0,1.5,0,0,0
27+
,Phase Subtotal,,,5.2,0,5.2,0,0,0
28+
,,,,,,,,,
29+
, Phase 3: Hardening + Validation (2026-02-21 to 2026-02-22),,,,,,,,
30+
,,,,,,,,,
31+
,terraphim-automata,Aho-Corasick entity extraction (1.4M SNOMED/UMLS patterns),Alex Mikhalev,0.1,0,0.1,0,0,0
32+
,terraphim-pgx,CPIC pharmacogenomic safety module,Alex Mikhalev,0.1,0,0.1,0,0,0
33+
,terraphim-api,Axum REST API server,Alex Mikhalev,0.1,0,0.1,0,0,0
34+
,medgemma-client,MedGemma 4B GGUF LLM inference wrapper,Alex Mikhalev,0.2,0,0.2,0,0,0
35+
,terraphim-demo,Interactive demo UI,Alex Mikhalev,0.2,0,0.2,0,0,0
36+
,terraphim-medical-agents,OTP-style multi-agent supervision,Alex Mikhalev,0.5,0,0.5,0,0,0
37+
,terraphim-evaluation,18-case 3-gate evaluation harness,Alex Mikhalev,0.1,0,0.1,0,0,0
38+
,terraphim-thesaurus,Medical terminology synonym expansion,Alex Mikhalev,0.1,0,0.1,0,0,0
39+
,terraphim-medical-learning,Case-based learning and recommendations,Alex Mikhalev,0.1,0,0.1,0,0,0
40+
,terraphim-medical-roles,Specialist role definitions,Alex Mikhalev,0.1,0,0.1,0,0,0
41+
,scripts,Build/deploy/download scripts,,0.2,0,0.2,0,0,0
42+
,docs,Documentation and writeups,,0.8,0,0.8,0,0,0
43+
,root,"Workspace config, Makefile, CI",,0.5,0,0.5,0,0,0
44+
,Phase Subtotal,,,3.1,0,3.1,0,0,0
45+
,,,,,,,,,
46+
, Phase 4: Demo + Submission (2026-02-23 to 2026-02-24),,,,,,,,
47+
,,,,,,,,,
48+
,terraphim-automata,Aho-Corasick entity extraction (1.4M SNOMED/UMLS patterns),Alex Mikhalev,0.1,0,0.1,0,0,0
49+
,terraphim-pgx,CPIC pharmacogenomic safety module,Alex Mikhalev,0.1,0,0.1,0,0,0
50+
,terraphim-api,Axum REST API server,Alex Mikhalev,0.2,0,0.2,0,0,0
51+
,medgemma-client,MedGemma 4B GGUF LLM inference wrapper,Alex Mikhalev,0.2,0,0.2,0,0,0
52+
,terraphim-demo,Interactive demo UI,Alex Mikhalev,0.2,0,0.2,0,0,0
53+
,terraphim-medical-agents,OTP-style multi-agent supervision,Alex Mikhalev,0.1,0,0.1,0,0,0
54+
,terraphim-evaluation,18-case 3-gate evaluation harness,Alex Mikhalev,0.1,0,0.1,0,0,0
55+
,terraphim-thesaurus,Medical terminology synonym expansion,Alex Mikhalev,0.1,0,0.1,0,0,0
56+
,terraphim-medical-roles,Specialist role definitions,Alex Mikhalev,0.0,0,0.0,0,0,0
57+
,scripts,Build/deploy/download scripts,,0.1,0,0.1,0,0,0
58+
,docs,Documentation and writeups,,1.0,0,1.0,0,0,0
59+
,root,"Workspace config, Makefile, CI",,1.1,0,1.1,0,0,0
60+
,Phase Subtotal,,,3.3,0,3.3,0,0,0
61+
,,,,,,,,,
62+
,TOTAL,,,15.4,0,15.4,0,0,0

BUILD_EFFORT_REPORT.md

Lines changed: 136 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,136 @@
1+
# MedGemma Competition -- Build Effort Analysis
2+
3+
## Summary
4+
5+
| Metric | Value |
6+
|--------|-------|
7+
| Project duration | 9 days (2026-02-16 to 2026-02-24) |
8+
| Total commits | 171 |
9+
| Total person-days | 10 (Alex Mikhalev: 9, Kimiko (AI Agent): 1) |
10+
| Lines added | +149,255 |
11+
| Lines removed | -19,858 |
12+
| Net lines | 129,397 |
13+
| Workspace crates | 10 |
14+
| Contributors | 2 |
15+
16+
## Timeline (Commits per Day)
17+
18+
| Date | Commits | Lines +/- | Contributors | Phase |
19+
|------|---------|-----------|-------------|-------|
20+
| 2026-02-16 | 1 | +2,827/-0 | Alex Mikhalev | Phase 1: Research + Scaffold |
21+
| 2026-02-17 | 30 | +53,978/-2,775 | Alex Mikhalev | Phase 1: Research + Scaffold |
22+
| 2026-02-18 | 2 | +13,604/-194 | Alex Mikhalev | Phase 2: Core Integration |
23+
| 2026-02-19 | 1 | +4,699/-4 | Alex Mikhalev | Phase 2: Core Integration |
24+
| 2026-02-20 | 13 | +6,477/-688 | Alex Mikhalev | Phase 2: Core Integration |
25+
| 2026-02-21 | 31 | +21,044/-1,351 | Alex Mikhalev | Phase 3: Hardening + Validation |
26+
| 2026-02-22 | 33 | +18,748/-10,654 | Alex Mikhalev, Kimiko (AI Agent) | Phase 3: Hardening + Validation |
27+
| 2026-02-23 | 36 | +14,329/-2,594 | Alex Mikhalev | Phase 4: Demo + Submission |
28+
| 2026-02-24 | 24 | +13,549/-1,598 | Alex Mikhalev | Phase 4: Demo + Submission |
29+
30+
## Phase Breakdown
31+
32+
### Phase 1: Research + Scaffold (2026-02-16 to 2026-02-17)
33+
34+
- **Active days**: 2
35+
- **Commits**: 31
36+
- **Lines**: +56,805/-2,775
37+
- **Contributors**: Alex Mikhalev
38+
- **Crates touched**: medgemma-client, terraphim-api, terraphim-automata, terraphim-demo, terraphim-evaluation, terraphim-medical-agents, terraphim-pgx
39+
- **Commit types**: feat:17, fix:6, docs:5, other:2, refactor:1
40+
41+
### Phase 2: Core Integration (2026-02-18 to 2026-02-20)
42+
43+
- **Active days**: 3
44+
- **Commits**: 16
45+
- **Lines**: +24,780/-886
46+
- **Contributors**: Alex Mikhalev
47+
- **Crates touched**: medgemma-client, terraphim-automata, terraphim-demo, terraphim-medical-agents
48+
- **Commit types**: feat:7, docs:6, chore:1, refactor:1, other:1
49+
50+
### Phase 3: Hardening + Validation (2026-02-21 to 2026-02-22)
51+
52+
- **Active days**: 2
53+
- **Commits**: 64
54+
- **Lines**: +39,792/-12,005
55+
- **Contributors**: Alex Mikhalev, Kimiko (AI Agent)
56+
- **Crates touched**: medgemma-client, terraphim-api, terraphim-automata, terraphim-demo, terraphim-evaluation, terraphim-medical-agents, terraphim-medical-learning, terraphim-medical-roles, terraphim-pgx, terraphim-thesaurus
57+
- **Commit types**: feat:35, docs:15, fix:8, chore:3, perf:1, other:1, refactor:1
58+
59+
### Phase 4: Demo + Submission (2026-02-23 to 2026-02-24)
60+
61+
- **Active days**: 2
62+
- **Commits**: 60
63+
- **Lines**: +27,878/-4,192
64+
- **Contributors**: Alex Mikhalev
65+
- **Crates touched**: medgemma-client, terraphim-api, terraphim-automata, terraphim-demo, terraphim-evaluation, terraphim-medical-agents, terraphim-medical-roles, terraphim-pgx, terraphim-thesaurus
66+
- **Commit types**: docs:25, feat:15, fix:9, chore:3, refactor:2, other:2, test:2, perf:1, style:1
67+
68+
## Per-Crate Breakdown
69+
70+
| Crate | Commits | Lines +/- | Contributors | First | Last |
71+
|-------|---------|-----------|-------------|-------|------|
72+
| terraphim-automata | 16 | +3,166/-225 | Alex Mikhalev | 2026-02-17 | 2026-02-23 |
73+
| terraphim-pgx | 11 | +1,955/-39 | Alex Mikhalev | 2026-02-17 | 2026-02-23 |
74+
| terraphim-api | 12 | +2,375/-344 | Alex Mikhalev | 2026-02-17 | 2026-02-24 |
75+
| medgemma-client | 19 | +5,743/-1,256 | Alex Mikhalev | 2026-02-17 | 2026-02-23 |
76+
| terraphim-demo | 19 | +5,426/-930 | Alex Mikhalev | 2026-02-17 | 2026-02-24 |
77+
| terraphim-medical-agents | 28 | +21,093/-4,974 | Alex Mikhalev | 2026-02-17 | 2026-02-24 |
78+
| terraphim-evaluation | 9 | +1,732/-84 | Alex Mikhalev | 2026-02-17 | 2026-02-24 |
79+
| terraphim-thesaurus | 5 | +1,588/-35 | Alex Mikhalev | 2026-02-21 | 2026-02-23 |
80+
| terraphim-medical-learning | 3 | +1,890/-117 | Alex Mikhalev | 2026-02-21 | 2026-02-21 |
81+
| terraphim-medical-roles | 4 | +935/-5 | Alex Mikhalev | 2026-02-21 | 2026-02-23 |
82+
| scripts | 11 | +2,164/-1 | Alex Mikhalev | 2026-02-21 | 2026-02-23 |
83+
| docs | 78 | +45,708/-4,464 | Alex Mikhalev, Kimiko (AI Agent) | 2026-02-16 | 2026-02-24 |
84+
| root | 71 | +49,195/-1,125 | Alex Mikhalev | 2026-02-16 | 2026-02-24 |
85+
86+
## Contributor Analysis
87+
88+
| Contributor | Commits | Person-days | Lines +/- | Primary Focus |
89+
|------------|---------|-------------|-----------|---------------|
90+
| Alex Mikhalev | 170 | 9 | +148,922/-19,827 | terraphim-medical-agents, medgemma-client, terraphim-demo |
91+
| Kimiko (AI Agent) | 1 | 1 | +333/-31 | general |
92+
93+
## Commit Type Distribution
94+
95+
| Type | Count | Percentage |
96+
|------|-------|-----------|
97+
| feat | 74 | 43.3% |
98+
| docs | 51 | 29.8% |
99+
| fix | 23 | 13.5% |
100+
| chore | 7 | 4.1% |
101+
| other | 6 | 3.5% |
102+
| refactor | 5 | 2.9% |
103+
| test | 2 | 1.2% |
104+
| perf | 2 | 1.2% |
105+
| style | 1 | 0.6% |
106+
107+
## AI Agent Contribution (Claude Code Sessions)
108+
109+
- **Sessions**: 8
110+
- **Total session hours**: 58.7
111+
- **Total messages**: 12,875
112+
- **Tool invocations**: 3,229
113+
114+
| Session | Duration (h) | Messages | Tool Uses |
115+
|---------|-------------|----------|-----------|
116+
| be1828ef-d6d7-4a... | 41.7 | 380 | 214 |
117+
| cb0adef1-d58c-4d... | 8.9 | 4,914 | 920 |
118+
| 862215cd-d4cc-4b... | 2.4 | 4,322 | 1,084 |
119+
| a560f914-ff9f-4d... | 2.1 | 250 | 190 |
120+
| 407df49f-285d-46... | 1.3 | 266 | 215 |
121+
| 0d3ca95d-dfd1-4e... | 1.1 | 93 | 66 |
122+
| b2c0c2d8-91b1-40... | 0.8 | 2,171 | 194 |
123+
| b428d8da-a6d8-47... | 0.4 | 479 | 346 |
124+
125+
## Effort Estimation (Person-Days)
126+
127+
| Phase | Person-Days | Commits | Crates Touched |
128+
|-------|------------|---------|----------------|
129+
| Phase 1: Research + Scaffold | 2 | 31 | 7 |
130+
| Phase 2: Core Integration | 3 | 16 | 4 |
131+
| Phase 3: Hardening + Validation | 3 | 64 | 10 |
132+
| Phase 4: Demo + Submission | 2 | 60 | 9 |
133+
| **TOTAL** | **10** | **171** | |
134+
135+
---
136+
*Generated on 2026-02-25 16:57 UTC*

0 commit comments

Comments
 (0)