|
100 | 100 | - MCP benefit for API reference (0.84) is slightly lower than architecture (0.86) due to narrower cross-file scope (0.85 vs 0.93), but higher semantic_search_potential (0.90 vs 0.88) and task_category_weight (0.70 vs 0.65) |
101 | 101 | - ground_truth.json weight validation is critical: all per-category items must sum to 1.0, all category weights must sum to 1.0 |
102 | 102 | --- |
| 103 | +## 2026-02-16 - US-005 |
| 104 | +- Created docgen-api-002: Cilium eBPF Map API reference doc task |
| 105 | +- Files created: |
| 106 | + - benchmarks/ccb_docgen/docgen-api-002/task.toml (category=api_reference, language=go, difficulty=hard, time_limit_sec=1200) |
| 107 | + - benchmarks/ccb_docgen/docgen-api-002/instruction.md (covers Map lifecycle, CRUD operations, BatchIterator, pinning/persistence, Key/Value interfaces, Event system, LoadCollection) |
| 108 | + - benchmarks/ccb_docgen/docgen-api-002/tests/ground_truth.json (29 api_methods, 13 behavioral_notes, 5 usage_examples, 8 documentation_structure items) |
| 109 | + - benchmarks/ccb_docgen/docgen-api-002/tests/test.sh (copied from docgen-api-001, generic Python-based verifier) |
| 110 | + - benchmarks/ccb_docgen/docgen-api-002/environment/Dockerfile (blobless clone of cilium/cilium at commit ad6b298d, sparse checkout of pkg/bpf, pkg/maps, pkg/datapath/maps) |
| 111 | +- Files modified: |
| 112 | + - configs/docgen_2config.sh (added docgen-api-002 to ALL_TASK_IDS and TASK_SG_REPO_NAMES) |
| 113 | + - configs/selected_benchmark_tasks.json (registered task with mcp_benefit_score=0.853, total_selected: 194→195) |
| 114 | +- **Learnings for future iterations:** |
| 115 | + - Cilium eBPF Map API has 7 major areas: Core Map Type (NewMap, OpenMap, OpenOrCreate, lifecycle), CRUD Operations (Lookup/Update/Delete + batch), Iteration (DumpWithCallback, BatchIterator), Pinning/Persistence (BPFFSRoot, MapPath), Key/Value Interfaces (MapKey, MapValue, MapPerCPUValue), Event System (DumpAndSubscribe, Event types), Collection Loading (LoadCollection) |
| 116 | + - Used WebSearch and WebFetch to research Cilium's pkg/bpf package API surface from pkg.go.dev |
| 117 | + - Found specific commit (ad6b298dbd) from GitHub's main branch via WebFetch |
| 118 | + - Ground truth covers pkg/bpf/ (Map, BatchIterator, EndpointKey, LoadCollection), pkg/maps/, pkg/datapath/maps/ (MapSweeper for GC) |
| 119 | + - Same 4-category scoring pattern as docgen-api-001: api_methods (0.40), behavioral_notes (0.30), usage_examples (0.20), documentation_structure (0.10) |
| 120 | + - API reference tasks focus on behavioral semantics: Create vs CreateUnpinned (pinning), OpenOrCreate (existing map behavior), DeleteLocked (must use within DumpCallback), BatchIterator retry on ENOSPC, event cleanup via Handle.Close() |
| 121 | + - MCP benefit score (0.853) is slightly higher than docgen-api-001 (0.84) due to higher semantic_search_potential (0.92 vs 0.90) but lower cross_file_deps (0.88 vs 0.85) |
| 122 | + - Weight validation is CRITICAL: ran into api_methods summing to 1.07 and behavioral_notes to 0.98. Fixed by adjusting individual item weights iteratively until all categories sum to 1.0 |
| 123 | + - Sparse checkout pattern for Cilium: --filter=blob:none --no-checkout + sparse-checkout set pkg/bpf pkg/maps pkg/datapath/maps |
| 124 | + - Cilium eBPF map lifecycle: Map creation (NewMap), opening (OpenMap, OpenOrCreate), CRUD (Lookup/Update/Delete), iteration (BatchIterator with ENOSPC retry), pinning to BPF filesystem (/sys/fs/bpf), event subscription (DumpAndSubscribe), GC via MapSweeper |
| 125 | +--- |
0 commit comments