Skip to content

Commit eaf60e0

Browse files
Andrey Golovanovclaude
andcommitted
v0.3.0 per changelog
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent ecaa30b commit eaf60e0

34 files changed

Lines changed: 4393 additions & 3927 deletions

.gitignore

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,12 @@ exports/
126126
*.pickle
127127
*.pkl
128128

129+
# Session handoff notes
130+
HANDOFF.md
131+
132+
# uv lock file (not used for distribution)
133+
uv.lock
134+
129135
# Temporary analysis & CLI output
130136
*_results.json
131137
results*.json
@@ -156,3 +162,11 @@ dev/perf_plots/
156162
# Experiment results (generated outputs, not source configs)
157163
experiments/*/results/
158164
experiments/**/results/
165+
166+
# Research project outputs (simulation results, generated scenarios)
167+
# Config files (config.yml, objective.yml, etc.) ARE tracked.
168+
research_projects/*/results/
169+
research_projects/**/results/
170+
research_projects/**/phase*/
171+
research_projects/lm_*/
172+
research_projects/square_mesh_*/

CHANGELOG.md

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,31 @@ All notable changes to this project will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8+
## [0.3.0] - 2026-03-26
9+
10+
### Fixed
11+
12+
- All metric modules now expand deduplicated flow_results by `occurrence_count` before statistical computation
13+
- Removed dead `iteration_metrics` extraction from iterops (field never existed in ngraph)
14+
15+
### Added
16+
17+
- Per-direction BAC (`per_flow` field on `BacResult`) for directional asymmetry analysis
18+
- Shared utilities in `metrics/common.py`: `expand_flow_results`, `canonical_dc`, `baseline_demand_map`
19+
- Mini DC-BB verification scenario with hand-calculated metric assertions
20+
- DC-BB autoresearch framework: scenario generator, structural analysis, parametric sweep, generation loop
21+
- CLI subcommands: `netlab autoresearch structural-analysis`, `sweep`, `cross-sweep`
22+
23+
### Changed
24+
25+
- Scenario generator produces per-mode TMP workflow steps (`tm_lh_path`, `tm_combined`, etc.) instead of single `tm_placement`
26+
27+
## [0.2.2] - 2026-03-15
28+
29+
### Changed
30+
31+
- Relicensed from AGPL-3.0 to MIT
32+
833
## [0.2.1] - 2026-02-02
934

1035
### Added

netlab/autoresearch/backend.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
Provides:
44
- LLMBackend: ABC for single-shot text generation
55
- MockBackend: scripted responses for testing
6-
- ClaudeCLIBackend: subprocess wrapper around `claude --print`
6+
- ClaudeCLIBackend: subprocess wrapper around `claude -p`
77
- CodexCLIBackend: subprocess wrapper around `codex exec`
88
- OpenAICompatibleBackend: HTTP client for OpenAI-compatible APIs
99
"""
@@ -53,7 +53,10 @@ def __init__(self, model: str = "opus") -> None:
5353
self.model = model
5454

5555
def generate(self, prompt: str, system: str = "") -> str:
56-
cmd = ["claude", "--print", "-p", prompt]
56+
# Claude Code headless mode uses -p/--print with the prompt as its value.
57+
cmd = ["claude", "-p", prompt]
58+
if self.model:
59+
cmd.extend(["--model", self.model])
5760
if system:
5861
cmd.extend(["--system-prompt", system])
5962
result = subprocess.run(

0 commit comments

Comments
 (0)