Releases: wesleysimplicio/simplicio-loop
Releases Β· wesleysimplicio/simplicio-loop
Release list
v3.21.0
Added
- Survey step upgraded to the mapper 0.14 flow-docs engine:
ask . <verb> <arg> --jsonfor
low-token structured queries during triage (impactfeeds dependency widening,tests-for
picks affected tests,callersaids review),sync . --check+drift . --checkas
docs-staleness/spec-drift gates in the DoD pass, andflows/survey/business/history/diff
as the producers for documentation tasks. doctor's mapper capability probe now checks the full
inspect/handoff/ask/sync/drift surface. - The survey step also exercises the mapper 0.13 surface:
simplicio-mapper inspect . --json
is the survey's own evidence gate andsimplicio-mapper handoff . --jsonfeeds the goal with
the compact context-pack instead of re-reading the tree.
Changed
- Dependency floors raised to the current releases of the two bound operators:
simplicio-mapper>=0.14.0andsimplicio-cli>=0.9.1inpyproject.toml, so a fresh
pip install simplicio-loopresolves the operators this release was verified against.
Verification
python3 scripts/check.py: claims-audit PASS (7/7); 163/164 tests pass. The 1 failure
(test_bound_operator_missing_blocks_when_simplicio_loop_shipped) is a pre-existing local
environment artifact (bound operators are installed onPATHon the build machine, which
breaks the test's "never installed" assumption) β not caused by this release.
Full diff: v3.20.0...v3.21.0
v3.20.0
[3.20.0] β 2026-07-01
Added
- Cross-agent wiki now surfaces blockers and next actions (
scripts/cross_agent_wiki.py+
plugin/simplicio_loop/_bundlemirrors). Watcher verification output was already rendered in
the wiki; this extends the same render path to the blocker list and the recommended next-action
set so a handoff reader sees what is stuck and what to try next, not just pass/fail status. - End-to-end test of the loop driver (
plugin/tests/test_loop_e2e.py+_selfrun.py,
mirrored undersimplicio_loop/_bundle) coveringhooks/loop_stop.py's evidence-gated stop,
anti-false-done (a bare<promise>is ignored without evidence), and anchor-gate exit paths. .claude/skills/simplicio-loop/SKILL.md(+pluginmirror) documents the spindle/latch
cross-agent handoff pattern.
Fixed
- Spindle/latch state-file mismatch between
handoff.pyandloop_stop.py.loop_stop.py
had renamedSPINDLE_STATEtospindle_state.jsonwith no compat shim, silently breaking the
cross-agent handoff/latch feature βspindle_latched()andspindle_active()failed open to
Falsewhen the expected file was missing.scripts/handoff.pynow pointsSPINDLE_STATEat
spindle_state.json, keeps aLEGACY_SPINDLE_STATEconstant for the oldspindle.jsonname, and
_read_spindle()tries the new filename first before falling back to the legacy one β mirroring
the existingDONE_FLAG/LEGACY_DONE_FLAGbackward-compat pattern inhooks/loop_stop.py.
v3.19.0 β Asolaria Absorption: watcher-gate, BH tracing, claims, handoff
AbsorΓ§Γ£o do ecossistema Asolaria/Jesse\n\n### Watcher-gate pre-promise:\n- VerificaΓ§Γ£o watcher antes do <promise>\n- Gate: MEASURED (pass) / UNVERIFIED (fail)\n- Integrado nos 3 mirrors (hooks/, plugin/, _bundle/)\n\n### Brown-Hilbert tracing:\n- bh_address() para endereΓ§amento port.port.port\n- cmd_delegation() β reconstroi Γ‘rvore de delegaΓ§Γ£o\n\n### Claims-gate:\n- MEASURED/UNVERIFIED tagging em todo output\n- 8 regras Asolaria\n- claims-gate --check command\n\n### Agent-to-agent handoff:\n- Spindle/latch protocol em handoff.py\n- handoff --next <agent> --state <json>\n- IntegraΓ§Γ£o com simplicio CLI
v3.18.1
Fixed
references/orchestration.mdStep 3c still said "TRIVIAL/SMALL skip adversarial review" β a
leftover contradiction from before v3.17.0's 6-agent floor, found by an independent audit. Now
consistent: the review fan-out runs on every item; only Rubric C's heaviest sub-checks stay
tier/surface-scoped.- Deleted
.agents/skills/, an untracked gitignored local mirror that was a week stale.
Verification: python3 scripts/check.py β claims-audit 5/5, 44 tests passed.
v3.18.0
Changed
- Native simplicio-runtime bind is now REQUIRED, not optional, on 8 of the 11 supported
runtimes (Claude Code, Codex, Cursor, VS Code, Antigravity, Kiro, OpenCode, Hermes). The
installer (ensure_runtime_bind()) now applies the bind unconditionally for these hosts
instead of printing a suggestion:simplicio install --global(Claude/Codex/Cursor/VS
Code/Kiro in one pass), fixed OpenCode auto-registration, and asimplicio doctor --json
health check for Hermes/Antigravity. Every generated entry file states the requirement inline. - Fixed a broken MCP invocation referenced across 5 adapter READMEs and OpenCode's
registration code βsimplicio-cli mcp register --client <x>isn't a real registration path;
the correct command issimplicio install --global/simplicio serve --mcp --stdio. Also
fixed the args order (["mcp","serve"]β["serve","--mcp","--stdio"]) in 4 README snippets. - Gemini, Aider, and OpenClaw are unaffected β bind stays optional/native-by-design there.
Verification: python3 scripts/check.py β claims-audit 5/5, 44 tests passed.
v3.17.0
Changed
- Minimum 6-agent orchestration floor (
simplicio-tasks/simplicio-review). Removed the
solo/inline fast-path and the TRIVIAL/SMALL single-self-review shortcut. Every item, regardless
of size, now runs a 6-role floor: orient+plan, implement, 3 parallel adversarial review rubrics
(security/correctness, quality, does-it-reproduce βsimplicio-review), and an independent
blast-radius reviewer that re-checksimpact_audit.json/flow_audit.jsoninstead of trusting
the implementer's self-reported scope. The Step 3 auto-scaling formula gained amax(6, ...)
floor; when disk is too tight for 6 worktrees, the floor still runs underisolation=shared
instead of dropping below 6. Rubric C (does-it-reproduce) is no longer gated to LARGE/CRITICAL β
it runs always; only its heaviest sub-checks (web/flow evidence) stay scoped to diffs that touch
that surface.
Verification: python3 scripts/check.py β claims-audit 5/5, 44 tests passed.
v3.16.0
Added
- Cross-agent handoff on incomplete stop (
hooks/loop_stop.py). A budget-halted or
iteration-cap stop now writes.orchestrator/loop/HANDOFF.mdbefore clearing the scratchpad β
the frozen goal/acceptance criteria fromtask_anchor.py, the last attempts from
loop_journal.py, and concrete resume steps. Previously these stops deleted the scratchpad with
nothing durable left for a different agent/runtime to pick the task back up cold; a successful
(promise-fulfilled) stop is unaffected and still needs no handoff.
Verification: python3 scripts/check.py β claims-audit 5/5, 44 tests passed.
v3.15.0
Added
- add
scripts/impact_audit.pyto force scope reflection across callers, local dependencies, and related tests before editing - add
scripts/flow_audit.pyto map UI actions, frontend calls, backend endpoints, and service calls in mixed front/back/service workspaces
Changed
- require impact-audit and flow-audit evidence in
simplicio-tasks,simplicio-loop, andsimplicio-review - bump
simplicio-loopto3.15.0and align the npm wrapper with the new PyPI version
v3.14.1
Changed
- require
simplicio-mapper>=0.11.0andsimplicio-cli>=0.7.1in package metadata - make fresh installs deterministic before the loop preflight auto-update runs
Verification
python3 scripts/check.pypython3 -m buildpython3 -m twine check dist/*
v3.14.0 β auto-update operators at preflight
Changed
- The loop preflight now auto-updates the operators to their latest release. Before iteration 1,
simplicio-looprunspython3 -m pip install -qU simplicio-mapper simplicio-cli(PEP-668--userfallback) so every run uses the newest mapper/dev-cli β no manual re-install needed to pick up a newsimplicio-mapper. Fail-open and offline-safe; runs once per preflight, not per turn.
Verification: python3 scripts/check.py β claims-audit 5/5, 35 tests passed.