No description
Find a file
OpenCode Agent 179dc5ce98
Some checks are pending
ci / gates (push) Waiting to run
ci / docker-gates (push) Waiting to run
agent(nxspice): sync develop (M27 release state) into main
2026-09-15 09:24:23 +02:00
.github/workflows agent(nxspice): M25.6 — one loop: delete execute_loop (C14); all tests ride the production LangGraph path, error text unified 2026-09-12 10:45:36 +02:00
.opencode/agents agent(nxspice): M5 — reporting layer + review-fix hardening 2026-08-23 17:31:04 +02:00
docker agent(nxspice): M25.6 — one loop: delete execute_loop (C14); all tests ride the production LangGraph path, error text unified 2026-09-12 10:45:36 +02:00
docs agent(nxspice): M26.5 — operability: run records mark failed on backend errors (C17), incremental audit tail reads (C13), prune_finished TTL/GC via CLI + POST /v1/jobs/prune (C18) 2026-09-12 22:59:11 +02:00
nxspice agent(nxspice): M27.3 — one thread per job (C18): AuditLog observer seam publishes progress events in-process, replacing the per-job audit-poller thread; JobQueue surface + SSE stream unchanged 2026-09-15 09:18:10 +02:00
tests agent(nxspice): M27.3 — one thread per job (C18): AuditLog observer seam publishes progress events in-process, replacing the per-job audit-poller thread; JobQueue surface + SSE stream unchanged 2026-09-15 09:18:10 +02:00
tools agent(nxspice): M27.2 — independent offline loop oracle (C20): replay engine-recorded M4 vectors through the real verify path (no docker, no formula mirroring); adversarial replays prove spec/Isat gates reject bad engine data; golden-drift + regeneration tool 2026-09-15 09:17:54 +02:00
.agents.local.md agent(nxspice): M5 — reporting layer + review-fix hardening 2026-08-23 17:31:04 +02:00
.gitignore agent(nxspice): M26.1+2 — topology spec-compliance gates + feedforward duties for the M22 generators (C-12), digest per-candidate resilience + honest ok (C11); fix buck-boost iL/DCR model (Isat sizing) and harden the crossing-rate estimator 2026-09-12 15:16:09 +02:00
.pre-commit-config.yaml agent(nxspice): M5 — reporting layer + review-fix hardening 2026-08-23 17:31:04 +02:00
.project_rules.md agent(nxspice): adopt two-branch git workflow (main = stable, develop = integration, task branches gated) 2026-09-02 13:06:43 +02:00
gotchas.md agent(nxspice): M27 session memory — SESSION_STATE/NEXT_SESSION_PROMPT/PLAN (M27 complete: bounded PDF C28, offline oracle C20, one-thread jobs C18; 765 tests) + gotchas (golden .cir closed set, ruff format-first) 2026-09-15 09:22:13 +02:00
NEXT_SESSION_PROMPT.md agent(nxspice): M27 session memory — SESSION_STATE/NEXT_SESSION_PROMPT/PLAN (M27 complete: bounded PDF C28, offline oracle C20, one-thread jobs C18; 765 tests) + gotchas (golden .cir closed set, ruff format-first) 2026-09-15 09:22:13 +02:00
PLAN.md agent(nxspice): M27 session memory — SESSION_STATE/NEXT_SESSION_PROMPT/PLAN (M27 complete: bounded PDF C28, offline oracle C20, one-thread jobs C18; 765 tests) + gotchas (golden .cir closed set, ruff format-first) 2026-09-15 09:22:13 +02:00
pyproject.toml agent(nxspice): M18 — web console (zero-build SPA) + /v1/books* routes sharing one MCP/REST payload seam; fix OctaveWorker partial-line pipe race 2026-09-02 23:55:06 +02:00
README.md agent(nxspice): M18 session memory — web console milestone, octave pipe-race gotcha 2026-09-02 23:55:14 +02:00
REVIEW_FEEDBACK.md agent(nxspice): M18 session memory — web console milestone, octave pipe-race gotcha 2026-09-02 23:55:14 +02:00
SESSION_STATE.md agent(nxspice): M27 release state — branch merges, gates, M4 anchor record 2026-09-15 09:23:40 +02:00

nxspice

AI-native SPICE simulation & power-electronics design platform. ngspice + Xyce + Octave as deterministic ground truth; LangGraph agents as orchestrators. Personal + OSS. CLI-first / API-first / MCP+A2A.

See PLAN.md for the roadmap, SESSION_STATE.md for status.

Quickstart (M0)

python3 -m venv .venv && . .venv/bin/activate
pip install -e ".[dev]"
docker build -f docker/engines.Dockerfile -t nxspice/engines:0.1 docker/   # ngspice + octave
pytest

Structure

nxspice/core/netlist    SPICE IR, values, deterministic generators
nxspice/core/models     canonical model library (IR, flavors, validation, seed parts)
nxspice/core/engines    ngspice / Xyce(stub) adapters, docker runner (resource-limited)
nxspice/core/extract    raw-file parser, FFT / bode measures
nxspice/core/storage    artifact store
nxspice/math            closed-form buck design + averaged small-signal toolbox
nxspice/agents          knowledge packs, budgets, audit, routing, design loop
nxspice/reporting       results content model + LaTeX/HTML renderers (M5)
nxspice/api             REST/SSE + SDK + MCP server + A2A stub (M6)
nxspice/cli             typer CLI: report / serve / mcp / jobs (M6)
tests/                  unit + docker golden suite

Interfaces (M6)

nxspice report                 # design loop -> PDF-source/HTML/MD reports
nxspice serve --port 8787      # REST/SSE API + web console at http://127.0.0.1:8787/
nxspice mcp                    # MCP stdio server (design / run / report / job / book_*)
nxspice jobs submit --wait     # SDK-backed job control against a server

REST: POST /v1/jobs (spec + kind), GET /v1/jobs/{id}, GET /v1/jobs/{id}/events (SSE, audit-grounded progress), GET /v1/jobs/{id}/artifacts/{name}. Python SDK: from nxspice.api.sdk import NxspiceClientclient.report(spec, out_dir) is the two-line path. The report content-model JSON is the stable job artifact: re-render without re-simulating.

Gate runner: tools/gate.sh (ruff, mypy --strict on the package, pytest; docker-marked jobs run when the engines image is present). CI: .github/workflows/ci.yml.