Skip to content

DB-first runtime + network checkpointing + config-provider merge#62

Merged
DeveshParagiri merged 17 commits into
mainfrom
codex/network-fast-checkpointing
Feb 15, 2026
Merged

DB-first runtime + network checkpointing + config-provider merge#62
DeveshParagiri merged 17 commits into
mainfrom
codex/network-fast-checkpointing

Conversation

@DeveshParagiri
Copy link
Copy Markdown
Collaborator

@DeveshParagiri DeveshParagiri commented Feb 15, 2026

Summary

  • Makes study.db the canonical runtime artifact across sampling/network/simulation surfaces.
  • Enforces DB-backed network similarity checkpoints/resume with deterministic chunk merge ordering.
  • Adds simulation run-scoped state handling, checkpoint semantics, and runtime resource guardrails.
  • Adds/updates inspect/query/report/export/chat DB-first command flows.
  • Integrates downstream config-provider-redesign changes and resolves conflicts while preserving DB-first behavior.
  • Adds persona DB-source support (--study-db --population-id) and related CLI tests.

Validation

  • ruff format .
  • ruff check .
  • pytest -q (656 passed)

Notes

  • Merge conflict resolution was done in temp branch and fast-forwarded into this branch before push.

DeveshParagiri and others added 17 commits February 15, 2026 00:11
…el strings

Replace 8 model/provider fields with 2 tiers (fast/strong) using
"provider/model" format strings. Add parse_model_string(), v1 config
auto-migration, legacy env var backward compat, and CustomProviderConfig
for third-party endpoints. Remove unused DefaultsConfig (db_path,
population_size).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…claude→anthropic

Add OpenAICompatProvider for third-party endpoints (OpenRouter, DeepSeek,
Together, Groq) using Chat Completions API with json_schema response
format. Build lazy-import provider registry in __init__.py. Rename
ClaudeProvider→AnthropicProvider (keep alias). Update base.py to 2-tier
abstract properties (default_fast_model, default_strong_model).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…timator

Update llm.py for fast/strong routing via provider/model strings. Add
pricing and rate limit entries for new providers (OpenRouter, DeepSeek,
Together, Groq). Update DualRateLimiter for mixed-provider support.
Rename engine.py and estimator.py params from model/pivotal_model/
routine_model to strong/fast. Add backward compat properties on
SimulationRunConfig.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…lags

Replace --model/--pivotal-model/--routine-model with --strong/--fast.
Rewrite config show/set for new keys (models.fast, models.strong,
simulation.fast, simulation.strong, providers.*). Update tests for
new abstract method names and parameter changes.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Create extropy/core/cost/ package (pricing.py, tracker.py, ledger.py)
  with three-tier pricing resolution (OpenRouter API → cache → fallback),
  session-scoped CostTracker singleton, and SQLite cost ledger
- All models use Pydantic BaseModel (ModelPricing, CallRecord, ModelUsage,
  CostEntry, TokenUsage)
- Wire _record_usage() hook into LLMProvider base class
- Extract + record token usage from all OpenAI and Anthropic provider
  methods (simple_call, reasoning_call, agentic_research, simple_call_async)
- Add --cost CLI flag and defaults.show_cost config option for cost footer
- Add atexit hook to print cost summary and persist to ledger
- Includes ruff format/lint fixes across codebase

Co-authored-by: Cursor <cursoragent@cursor.com>
Drop PipelineConfig, SimZoneConfig, v1→v2 migration, legacy env var
handling, get_api_key(), and get_azure_config(). Pure Pydantic models
with no backward-compat cruft. ~200 lines removed.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Merge cost-tracking branch which adds:
- extropy/core/cost/ package (pricing, tracker, ledger)
- Provider usage recording (OpenAI + Anthropic)
- --cost CLI flag + defaults.show_cost config option
- DefaultsConfig with show_cost, population_size, db_path

All conflicts resolved: kept config-provider-redesign's Pydantic
refactor + legacy removal, layered cost-tracking additions on top.

Co-authored-by: Cursor <cursoragent@cursor.com>
Drop population_size and db_path (unused). Move show_cost to
ExtropyConfig directly. Config display only shows show_cost when enabled.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@claude
Copy link
Copy Markdown

claude Bot commented Feb 15, 2026

Code review

No issues found. Checked for bugs and CLAUDE.md compliance.

Scope of review: Full diff (~12,000+ lines), covering provider refactoring, DB-first architecture, network checkpointing, simulation writer pipeline, run_id scoping, adaptive concurrency, resource governor, cost tracking, and all test updates.

@DeveshParagiri DeveshParagiri merged commit 09aba60 into main Feb 15, 2026
5 checks passed
@DeveshParagiri DeveshParagiri deleted the codex/network-fast-checkpointing branch February 15, 2026 18:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant