Repository navigation
Releases: SourceShift/mini-ork
Release list
v0.9.0 — mini-ork certify
Headline: mini-ork certify — judge whether a change really fixes the bug it claims
to fix, by running code against the repository. Measured results, sample sizes and the
misses are in docs/RESULTS.md.
Added
mini-ork certify: point it at a base/head (or a patch) and the bug report;
get PROVEN / REFUTED / UNVERIFIED (exit 0 / 1 / 2) and amini-ork.certificate/v1
JSON. Builds a Docker image of a Python repo at the base commit. The reproduction
probe sees the base source and must import the repository's own module (a probe that
re-implements or redefines the code under test is rejected); invariants are generated
against what the patch may special-case and must fail on the base to count; a failed
invariant counts against the patch only if the patch fails it the same way the base
did, otherwise it is inconclusive and the verdict abstains. Certificates carry each
invariant's source and failure output.- One-line install:
curl -fsSL https://raw.githubusercontent.com/SourceShift/mini-ork/main/install.sh | sh
(clones into~/.local/share/mini-ork;MINI_ORK_INSTALL_DIR,MINI_ORK_REF). - Held-out evaluation from the repo's own history: a miner for SWE-bench-style
tasks fromfix:commits (92 tasks, dev/test split), a runner that solves them with
code-fixand grades with hidden tests, and $0 replay of stored solves through any
verifier. - Opt-in learning signals:
MO_IMPL_REWARD=run_verifiedrewards the implementer for
the run passing its own checks minus a cost penalty (MO_ROUTER_COST_LAMBDA);
MO_APPLY_SIG_ALPHAgates apply-loop promotions on an exact McNemar test (the p-value
is recorded on every measured decision either way). - RSI guardrails: matched-attempt control arm for probe scoring, collapse history and
an independent collapse halt, a calibrated abstain gate, a verifier audit that
quarantines promotions its own audits flag, harness-tampering and reward-hacking
monitors, and base replay incode-fix(a fix must make a test go from failing to
passing). mini-ork acp: a stdio Agent Client Protocol agent (one session = one run) for
editors such as Zed.- Remote-node execution groundwork: run-scoped workspace sessions, pinned run roots,
path maps and portable transport argv. examples/certify-demo/demo.sh,docs/RESULTS.md, and a Simplified Chinese README.
Changed
- Cost is metered at list price: each non-Anthropic model on a claude-CLI lane is
priced frompricing.yaml(the CLI had priced unknown models at Anthropic rates —
7x over on the held-out baseline). Falls back to the engine's shipped table. - Metamorphic verification runs by default; a run whose verifiers measured nothing is
reported as unmeasured. - Per-user lane overlay: the tracked
agents.yamlis a template; local lane choices live
in an overlay the resolvers honour. - README leads with certify and measured numbers; routing and cost claims now match the
code (the shippedcode-fixrecipe pins its implementer lane).
Fixed
- ACP / web launch started runs on the first
python3on PATH (3.9 on macOS) and the
ACP turn then waited forever; runs now start on the current interpreter and a dead
launch ends the turn with the launch log. - The router's z-score scale and
runs_count(it had routed toward the worst lane). - Refuse to start a run when the daily budget is already spent; fail an implementer that
changed nothing; never run the engine on Python < 3.11 silently. - Failed-lane error attribution: when a harness CLI exits non-zero in JSON
mode, the recorded error (DispatchResult.error,llm_calls.error_message)
now leads with the stdout result envelope's API error
([api_error 403] … Key limit exceeded) instead of stderr alone, which could
hold only an unrelated advisory banner. - Static routing honours
agents.yamlrole lanes: with no state DB,
learning_static_laneno longer forces every unpinnedreviewerto
MO_FRONTIER_LANE(and researcher/implementer toMO_CHEAP_LANE) when the
operator mapped that role underlanes:; the frontier/cheap defaults now fill
only unmapped roles. - Rolled-back artifacts are attributed to rollback:
revert_branchrecords
the paths it reverted in<run_dir>/rolled-back.json, and the post-run
verifyreports such a required artifact asdetail: rolled_back
("reverted by rollback") rather than "missing or empty". The verdict is
unchanged — a reverted run still fails.
Security
- Verifiers no longer pass provider API keys,
MINI_ORK_SECRETSor mini-ork's state
paths into a target repository's test suite (certify base replay, framework-edit). - Tests can no longer write to the caller's real credential store: a unit test had
overwritten a real API key whenever the suite ran under a process that exported
MINI_ORK_SECRETS.
Install: curl -fsSL https://raw.githubusercontent.com/SourceShift/mini-ork/main/install.sh | sh
v0.8.0
What's Changed
- feat(cn_client): planner graph pack — neighbours + path over the CN graph routes by @amirkhakshour in #203
- feat(learning): project mini-ork learning entities into CN's graph by @amirkhakshour in #204
- feat(context): graph_context section in ContextPack — failure-linked gradients (Tier 1) by @amirkhakshour in #202
- fix(code-fix): publish reviewer verdict; split eval onto judge lane by @amirkhakshour in #201
Full Changelog: https://github.com/SourceShift/mini-ork/commits/v0.8.0
v0.7.0
What's Changed
- feat(dispatch): pre-dispatch lane-health gate — fail fast, no silent stall by @amirkhakshour in #45
- feat(isolation): protect mini-ork from cross-repo corruption (cwd + ref guards) by @amirkhakshour in #46
- docs(skill): ship a mini-ork usage skill for consuming repos by @amirkhakshour in #47
- fix: repo-integrity guard + framework-edit/test-gate fixes; cloud-exec research & epic by @amirkhakshour in #48
- feat: A1 cloud-exec epic R0a-R5b — runtime seam + bubblewrap sandbox + native minimal-agent tier (opt-in, default-off) by @amirkhakshour in #49
- feat(runtime): R3a docker backend (opt-in, degrade-never-fail) by @amirkhakshour in #50
- feat(optimize): R4a native GEPA-style reflective prompt optimizer (standalone, opt-in) by @amirkhakshour in #51
- feat(self-improve): loop-scoped sandbox default-on (flywheel; researcher stays default-off) by @amirkhakshour in #52
- feat(optimize): R4b wire GEPA into reflect (opt-in, suggest-only, offline) by @amirkhakshour in #53
- feat(panel): PANEL-a bias-control mechanics (standalone, opt-in) by @amirkhakshour in #55
- feat(memory): MEM-a semantic long-term memory (standalone, opt-in) by @amirkhakshour in #54
- feat(learning): close reflect write-back (miner default-on + persist suggestions) by @amirkhakshour in #56
- docs(research): researcher-DB least-surprise analysis by @amirkhakshour in #57
- docs(readme): engineer-integration refresh (470->219 lines) by @amirkhakshour in #62
- docs(readme): add 'Install the Claude Code skill' section by @amirkhakshour in #63
- docs+fix(execute): document node-type dispatch semantics, diagnose reviewer verdict-gate failures by @amirkhakshour in #64
- fix(publisher): commit implementer files_changed on APPROVE (M1) by @amirkhakshour in #65
- fix(reviewer): assemble+inject code-fix reviewer inputs (#2) by @amirkhakshour in #66
- fix(dispatch): retry transient throttles on all lanes, not just GLM (#3) by @amirkhakshour in #67
- fix(verifier): run typecheck only when the project configured it by @amirkhakshour in #68
- docs(audit): mark reliability quartet fixed by @amirkhakshour in #69
- feat(db): checksummed, transactional migration runner (P1) + design by @amirkhakshour in #70
- fix(cl_codex): refuse dispatch when cwd resolves to a mini-ork framework tree by @amirkhakshour in #71
- feat(plan): MO_GIVEN_PLAN — caller-supplied plan skips the planner LLM (validation gates preserved) by @amirkhakshour in #72
- test(plan): cover MO_GIVEN_PLAN caller-supplied plan path by @amirkhakshour in #73
- Python migration: 15 modules + wins #1/#2/#3 + hang-proof dispatch by @amirkhakshour in #74
- Python migration: context_assembler core by @amirkhakshour in #75
- Python migration: workflow_lifecycle by @amirkhakshour in #76
- feat(telemetry): run_artifacts trajectory store — persist turn jsonl + link path in DB by @amirkhakshour in #77
- fix(dispatch): secrets propagation to python backend + cwd-guard test env leak by @amirkhakshour in #78
- fix(execute): implementer output capture + run-level verdict.json by @amirkhakshour in #79
- fix(dispatch): restore --permission-mode bypassPermissions on claude worker lanes by @amirkhakshour in #80
- feat(python-migration): port reflection-refiner (first autonomous port) by @amirkhakshour in #81
- feat(python-migration): autonomous port of 5 leaf modules by @amirkhakshour in #82
- feat(python-migration): autonomous port of final 4 leaf modules by @amirkhakshour in #83
- feat(python-migration): autonomous port of 5 lib modules (wave 3) by @amirkhakshour in #84
- feat(python-migration): port mo_steer + throttle_guard by @amirkhakshour in #85
- feat(python-migration): port healer, mo_healer_bridge, cw_por, checkpoint (wave 4) by @amirkhakshour in #86
- feat(python-migration): port agent_registry, deadline_budget, group_evolver (wave 5) by @amirkhakshour in #87
- feat(python-migration): port lane_helpers + panel_bias (wave 6) by @amirkhakshour in #88
- feat(python-migration): port adaptive_stability, langfuse_score_mapper, safety_events (wave 7) by @amirkhakshour in #89
- feat(python-migration): port 4 modules (wave 8) by @amirkhakshour in #90
- feat(python-migration): port 4 modules (wave 9) by @amirkhakshour in #91
- feat(python-migration): port recursive_orchestration + verifier_rubric (wave 10) by @amirkhakshour in #92
- feat(python-migration): port 4 modules (wave 11) by @amirkhakshour in #93
- feat(python-migration): port gate_registry, harness_wrapper, honest_ci_gate (wave 12) by @amirkhakshour in #94
- feat(python-migration): port circuit_breaker + scope_overlap (wave 13) by @amirkhakshour in #95
- feat(python-migration): port coord_gate + coord_registry (wave 14) by @amirkhakshour in #96
- feat(python-migration): port db_open, promotion_gate, reflection_pipeline (wave 15) by @amirkhakshour in #97
- feat(python-migration): port mo_emit_hook, profile_gate, scaffold_tier (wave 16) by @amirkhakshour in #98
- feat(python-migration): port mo_otel + worktree_guard (wave 17) by @amirkhakshour in #99
- feat(python-migration): hand-port version_registry by @amirkhakshour in #100
- feat(python-migration): hand-port context_role_packs by @amirkhakshour in #101
- feat(python-migration): hand-port rebase-guard (git-local mutation) by @amirkhakshour in #102
- feat(python-migration): hand-port migrate (transactional DB migrations) by @amirkhakshour in #103
- feat(python-migration): hand-port branch-quarantine (git-local mutation) by @amirkhakshour in #104
- feat(python-migration): hand-port repo_integrity_guard (git-local mutation) by @amirkhakshour in #105
- feat(python-migration): hand-port auto-merge (epic squash-merge orchestrator) by @amirkhakshour in #106
- feat(python-migration): hand-port pr-create (gh-mocked network) by @amirkhakshour in #107
- feat(python-migration): hand-port auto-merge-pr (gh-mocked network) by @amirkhakshour in #108
- feat(python-migration): hand-port blame_attributor by @amirkhakshour in #109
- feat(python-migration): parallel port of memory + 3 CLI commands by @amirkhakshour in #110
- feat(python-migration): parallel port of 5 CLI commands (wave cli-2) by @amirkhakshour in #111
- fix(proof-integrity): outcome-gate process_reward (Goodhart fix) by @amirkhakshour in #112
- feat(python-migration): parallel port of CLI commands (wave cli-3) by @amirkhakshour in #113
- feat(python-migration): port coord/invoke-prompt/review/rollback (wave cli-3b) by @amirkhakshour in #114
- feat(python-migration): CLI wave cli-4 ( update eval improve) by @amirkhakshour in #115
- feat(python-migration): CLI wave cli-5 ( usage_report init mcp_steering reflect) by @amirkhakshour in #116
- feat(python-migration): hand-port mini-ork-serve by @amirkhakshour in #117
- feat(python-migration): hand-port mo-check-claude-invocations by @amirkhakshour in #118
- feat(python-migration): hand-port mini-ork-promote by @amirkhakshour in #119...
v0.6.0
What's Changed
- feat: live control plane — detached run-launch (U1) + HTTP steering (U2) + HITL checkpoint (U3) by @amirkhakshour in #34
- fix(codex): pass codex stream via file path, not env/argv (E2BIG) by @amirkhakshour in #35
- fix(hooks): guard the branch ref against clobber, not just files by @amirkhakshour in #36
- fix(dispatch): per-run config isolation for parallel-run safety (T1.0) by @amirkhakshour in #38
- docs: Rivet-parity roadmap + ADR-001 (Bash→Python migration) by @amirkhakshour in #37
- fix(planner): don't block dispatch on needs_answers with zero questions by @amirkhakshour in #39
- fix(bug-audit-cmgk): planner emits structured JSON, not markdown by @amirkhakshour in #25
- chore(deps-dev): bump @types/node from 20.19.42 to 25.9.3 in /ui by @dependabot[bot] in #28
- chore(deps-dev): bump vite from 5.4.21 to 8.1.1 in /ui by @dependabot[bot] in #29
- feat(dispatch): Python port of llm-dispatch core — Phase 0 / P0.2 by @amirkhakshour in #40
- feat(dispatch): claude-family lanes in the Python dispatch registry (P0) by @amirkhakshour in #41
- feat(dispatch): persist DispatchResult to llm_calls (Phase 0 / telemetry) by @amirkhakshour in #42
- feat(dispatch): CLI entrypoint + cl_codex stdin mode — Phase 0 bridge by @amirkhakshour in #43
- release: v0.6.0 — control plane, parallel-run safety, Phase-0 dispatch by @amirkhakshour in #44
Full Changelog: v0.5.0...v0.6.0
v0.5.0
mini-ork v0.5.0 — Fleet Routing + Side-Effect Credit + Coordination Plane
Two new subsystems, built and hardened through an adversarial multi-model
review (kimi/codex/opus) — see docs/frc-critic-report.md.
Track A — per-code-region routing & side-effect credit
execution_traces.code_regionstamping (migration0044) and a region-aware
lane-router group key, surfaced throughdecide()'ssegment.defect_attributionstable (migration0045) +lib/blame_attributor.sh:
git blame+ run provenance → implicated lane, severity → penalty, folded
into region-scopedrelative_advantagewith exponential age decay.bin/mini-ork-usage-reportper-(code_region, lane)expertise report.
Track B — single-host advisory lease coordination plane
bin/mini-ork-coord+lib/coord_registry.sh+lib/coord_gate.sh:
central lease registry, readers-writers conflict rule with path-prefix scoping,
time-bounded leases with TTL self-heal + renew, wound-wait deadlock prevention,
priority inheritance, and an advisory→strict enforcement gate with metrics +
bounded audit.
Quality
All findings from the adversarial review were remediated and re-verified by the
panel. Test coverage: coord_registry 40/0, coord_registry_ttl 19/0, coord_gate
16/0, priority_inheritance 10/0, blame_attributor smoke 13/13.
Full diff: v0.4.1...v0.5.0
v0.4.1
v0.4.0 — shared-brain RLM
Shared-brain RLM: durable per-objective_domain learning, stateless decide(), closed GRPO loop. Fixes: deadline gate ordering, grounded_rejections 0037/0040/0041 reconcile, 0042 idempotency, MINI_ORK_DB export in init.sh. Follow-up: policy_store PG seam (Phase 0).
v0.3.0.1
Full Changelog: v0.3.0...v0.3.0.1
v0.3.0
What's Changed
- Add recursive post-MVP orchestration live hardening by @amirkhakshour in #1
- fix(ci): restore ui typecheck and shellcheck by @amirkhakshour in #8
- chore(release): prepare v0.3.0-rc2 by @amirkhakshour in #9
New Contributors
- @amirkhakshour made their first contribution in #1
Full Changelog: v0.2.0...v0.3.0
v0.3.0-rc2
What's Changed
- Add recursive post-MVP orchestration live hardening by @amirkhakshour in #1
- fix(ci): restore ui typecheck and shellcheck by @amirkhakshour in #8
- chore(release): prepare v0.3.0-rc2 by @amirkhakshour in #9
New Contributors
- @amirkhakshour made their first contribution in #1
Full Changelog: v0.3.0-rc1...v0.3.0-rc2