simplicio-loop 3.16.0__tar.gz → 3.18.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. {simplicio_loop-3.16.0/simplicio_loop.egg-info → simplicio_loop-3.18.1}/PKG-INFO +1 -1
  2. {simplicio_loop-3.16.0 → simplicio_loop-3.18.1}/pyproject.toml +1 -1
  3. {simplicio_loop-3.16.0 → simplicio_loop-3.18.1}/simplicio_loop/_bundle/skills/simplicio-review/SKILL.md +5 -5
  4. {simplicio_loop-3.16.0 → simplicio_loop-3.18.1}/simplicio_loop/_bundle/skills/simplicio-tasks/SKILL.md +13 -4
  5. {simplicio_loop-3.16.0 → simplicio_loop-3.18.1}/simplicio_loop/_bundle/skills/simplicio-tasks/references/orchestration.md +38 -13
  6. {simplicio_loop-3.16.0 → simplicio_loop-3.18.1}/simplicio_loop/_bundle/skills/simplicio-tasks/references/quality-safety-delivery.md +8 -6
  7. {simplicio_loop-3.16.0 → simplicio_loop-3.18.1/simplicio_loop.egg-info}/PKG-INFO +1 -1
  8. {simplicio_loop-3.16.0 → simplicio_loop-3.18.1}/LICENSE +0 -0
  9. {simplicio_loop-3.16.0 → simplicio_loop-3.18.1}/MANIFEST.in +0 -0
  10. {simplicio_loop-3.16.0 → simplicio_loop-3.18.1}/PYPI.md +0 -0
  11. {simplicio_loop-3.16.0 → simplicio_loop-3.18.1}/README.md +0 -0
  12. {simplicio_loop-3.16.0 → simplicio_loop-3.18.1}/setup.cfg +0 -0
  13. {simplicio_loop-3.16.0 → simplicio_loop-3.18.1}/simplicio_loop/__init__.py +0 -0
  14. {simplicio_loop-3.16.0 → simplicio_loop-3.18.1}/simplicio_loop/_bundle/hooks/README.md +0 -0
  15. {simplicio_loop-3.16.0 → simplicio_loop-3.18.1}/simplicio_loop/_bundle/hooks/action_gate.py +0 -0
  16. {simplicio_loop-3.16.0 → simplicio_loop-3.18.1}/simplicio_loop/_bundle/hooks/hooks.claude.json +0 -0
  17. {simplicio_loop-3.16.0 → simplicio_loop-3.18.1}/simplicio_loop/_bundle/hooks/hooks.json +0 -0
  18. {simplicio_loop-3.16.0 → simplicio_loop-3.18.1}/simplicio_loop/_bundle/hooks/learn_stop.py +0 -0
  19. {simplicio_loop-3.16.0 → simplicio_loop-3.18.1}/simplicio_loop/_bundle/hooks/loop_capture.py +0 -0
  20. {simplicio_loop-3.16.0 → simplicio_loop-3.18.1}/simplicio_loop/_bundle/hooks/loop_stop.py +0 -0
  21. {simplicio_loop-3.16.0 → simplicio_loop-3.18.1}/simplicio_loop/_bundle/hooks/orient_clamp.py +0 -0
  22. {simplicio_loop-3.16.0 → simplicio_loop-3.18.1}/simplicio_loop/_bundle/hooks/orient_rewrite.py +0 -0
  23. {simplicio_loop-3.16.0 → simplicio_loop-3.18.1}/simplicio_loop/_bundle/hooks/simplicio_dashboard.py +0 -0
  24. {simplicio_loop-3.16.0 → simplicio_loop-3.18.1}/simplicio_loop/_bundle/hooks/simplicio_watch.py +0 -0
  25. {simplicio_loop-3.16.0 → simplicio_loop-3.18.1}/simplicio_loop/_bundle/skills/simplicio-compress/SKILL.md +0 -0
  26. {simplicio_loop-3.16.0 → simplicio_loop-3.18.1}/simplicio_loop/_bundle/skills/simplicio-learn/SKILL.md +0 -0
  27. {simplicio_loop-3.16.0 → simplicio_loop-3.18.1}/simplicio_loop/_bundle/skills/simplicio-loop/SKILL.md +0 -0
  28. {simplicio_loop-3.16.0 → simplicio_loop-3.18.1}/simplicio_loop/_bundle/skills/simplicio-orient/SKILL.md +0 -0
  29. {simplicio_loop-3.16.0 → simplicio_loop-3.18.1}/simplicio_loop/_bundle/skills/simplicio-tasks/references/agentsview-adapter.md +0 -0
  30. {simplicio_loop-3.16.0 → simplicio_loop-3.18.1}/simplicio_loop/_bundle/skills/simplicio-tasks/references/azure-devops-adapter.md +0 -0
  31. {simplicio_loop-3.16.0 → simplicio_loop-3.18.1}/simplicio_loop/_bundle/skills/simplicio-tasks/references/extension-points.md +0 -0
  32. {simplicio_loop-3.16.0 → simplicio_loop-3.18.1}/simplicio_loop/_bundle/skills/simplicio-tasks/references/lmcache-adapter.md +0 -0
  33. {simplicio_loop-3.16.0 → simplicio_loop-3.18.1}/simplicio_loop/_bundle/skills/simplicio-tasks/references/standing-loop-247.md +0 -0
  34. {simplicio_loop-3.16.0 → simplicio_loop-3.18.1}/simplicio_loop/_bundle/skills/simplicio-tasks/references/token-capture.md +0 -0
  35. {simplicio_loop-3.16.0 → simplicio_loop-3.18.1}/simplicio_loop/_bundle/skills/simplicio-tasks/references/token-economy.md +0 -0
  36. {simplicio_loop-3.16.0 → simplicio_loop-3.18.1}/simplicio_loop/_bundle/skills/simplicio-tasks/references/understand-anything-adapter.md +0 -0
  37. {simplicio_loop-3.16.0 → simplicio_loop-3.18.1}/simplicio_loop/_bundle/skills/simplicio-tasks/references/video-evidence.md +0 -0
  38. {simplicio_loop-3.16.0 → simplicio_loop-3.18.1}/simplicio_loop/_bundle/skills/simplicio-tasks/references/web-evidence.md +0 -0
  39. {simplicio_loop-3.16.0 → simplicio_loop-3.18.1}/simplicio_loop/cli.py +0 -0
  40. {simplicio_loop-3.16.0 → simplicio_loop-3.18.1}/simplicio_loop.egg-info/SOURCES.txt +0 -0
  41. {simplicio_loop-3.16.0 → simplicio_loop-3.18.1}/simplicio_loop.egg-info/dependency_links.txt +0 -0
  42. {simplicio_loop-3.16.0 → simplicio_loop-3.18.1}/simplicio_loop.egg-info/entry_points.txt +0 -0
  43. {simplicio_loop-3.16.0 → simplicio_loop-3.18.1}/simplicio_loop.egg-info/requires.txt +0 -0
  44. {simplicio_loop-3.16.0 → simplicio_loop-3.18.1}/simplicio_loop.egg-info/top_level.txt +0 -0
  45. {simplicio_loop-3.16.0 → simplicio_loop-3.18.1}/tests/test_action_gate.py +0 -0
  46. {simplicio_loop-3.16.0 → simplicio_loop-3.18.1}/tests/test_flow_audit.py +0 -0
  47. {simplicio_loop-3.16.0 → simplicio_loop-3.18.1}/tests/test_impact_audit.py +0 -0
  48. {simplicio_loop-3.16.0 → simplicio_loop-3.18.1}/tests/test_loop_e2e.py +0 -0
  49. {simplicio_loop-3.16.0 → simplicio_loop-3.18.1}/tests/test_worker_selftests.py +0 -0
  50. {simplicio_loop-3.16.0 → simplicio_loop-3.18.1}/tests/test_worker_smoke.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: simplicio-loop
3
- Version: 3.16.0
3
+ Version: 3.18.1
4
4
  Summary: The Universal Looping AI Orchestrator — a runtime-agnostic super-plugin (6 skills) that drains any queue of work end-to-end on any LLM/runtime.
5
5
  Author-email: Wesley Simplicio <wesleybob4@gmail.com>
6
6
  License: MIT
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "simplicio-loop"
7
- version = "3.16.0"
7
+ version = "3.18.1"
8
8
  description = "The Universal Looping AI Orchestrator — a runtime-agnostic super-plugin (6 skills) that drains any queue of work end-to-end on any LLM/runtime."
9
9
  readme = "PYPI.md"
10
10
  requires-python = ">=3.8"
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: simplicio-review
3
- description: Deep, adversarial branch review — parallel subagents on separate rubrics (security/correctness AND code-quality), spawned in one message, then deduped into one verdict. Use before merging non-trivial work, when the user says "review this branch/PR hard", "thermo-nuclear review", "is this safe to merge", or when simplicio-tasks needs the MEDIUM+ adversarial verify gate. Scopes strictly to the diff; refutes rather than rubber-stamps.
3
+ description: Deep, adversarial branch review — parallel subagents on separate rubrics (security/correctness, code-quality, and does-it-reproduce), spawned in one message, then deduped into one verdict. Runs for EVERY item, no TRIVIAL/SMALL shortcut — it is 3 of the 6 roles in simplicio-tasks' minimum-agent floor. Use before merging any work, when the user says "review this branch/PR hard", "thermo-nuclear review", "is this safe to merge", or when simplicio-tasks needs the Step 4c adversarial verify gate. Scopes strictly to the diff; refutes rather than rubber-stamps.
4
4
  ---
5
5
 
6
6
  # simplicio-review — thermo-nuclear adversarial review
@@ -15,9 +15,9 @@ security vs code-quality rubrics, dedup-on-synthesis) wired into the simplicio e
15
15
 
16
16
  ## When to use
17
17
 
18
- - Before merging any MEDIUM/LARGE/CRITICAL item (the Step 4c gate).
18
+ - Before merging ANY item, TRIVIAL through CRITICAL (the Step 4c gate) — `simplicio-tasks`' 6-agent
19
+ floor (Step 3) has no solo/self-review path left; this fan-out is 3 of those 6 roles, always.
19
20
  - "review this branch hard", "thermo-nuclear", "find what's wrong before I merge".
20
- - NOT for TRIVIAL/SMALL items — those keep a single self-review (don't pay the latency).
21
21
 
22
22
  ## Step 1 — Gather context ONCE (parent)
23
23
 
@@ -36,7 +36,7 @@ unless the change makes them reachable.
36
36
 
37
37
  ## Step 2 — Fan out parallel reviewers (one message, background)
38
38
 
39
- Spawn 2–3 INDEPENDENT subagents IN A SINGLE MESSAGE (so they run concurrently — wall-clock
39
+ Spawn 3 INDEPENDENT subagents IN A SINGLE MESSAGE (so they run concurrently — wall-clock
40
40
  down, no proportional token blow-up). Each gets the SAME context bundle and a DISTINCT rubric:
41
41
 
42
42
  ### Rubric A — security & correctness
@@ -53,7 +53,7 @@ down, no proportional token blow-up). Each gets the SAME context bundle and a DI
53
53
  - Boundary cleanliness: leaky abstractions, duplicated logic that ignores an adjacent module.
54
54
  - Naming, dead code, comments that lie, tests that assert nothing.
55
55
 
56
- ### Rubric C (LARGE/CRITICAL only) — does-it-reproduce / runtime
56
+ ### Rubric C — does-it-reproduce / runtime (always spawned; its evidence requirements below stay scoped to what the diff touches)
57
57
  - Actually run the changed path; confirm the AC behavior end-to-end (not just "compiles").
58
58
  - **Front-end change → require web evidence.** If the diff touches front-end files
59
59
  (`*.tsx/jsx/vue/svelte/css/html`, `components/**`, `pages/**`, `app/**`), REQUIRE a `web_verify`
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: simplicio-tasks
3
- description: Autonomously complete a body of work (tasks, issues, cards, CI failures) on ANY LLM/runtime. Use when the user types /simplicio-tasks or asks to clear/finish/close/implement a queue of work — e.g. "finish all open issues", "close the bugs in milestone X", "implement epic #235", "clear the CI queue", "clean up the Jira board". Runtime-agnostic: discovers work-items from any source, dedups, auto-scales to machine capacity, fast-path for trivial items / heavy-path continuous waves for large queues, then merges and closes with evidence. If a host runtime is present it binds native capabilities to this skill's extension points; otherwise the LLM performs every step directly. For a body of work it runs as a loop (auto-arms, no separate /loop or /simplicio-loop command, re-feeding the goal until the queue is drained and verified, or a cap/budget/STOP fires); a single interactive item takes the fast-path and stops after one pass.
3
+ description: Autonomously complete a body of work (tasks, issues, cards, CI failures) on ANY LLM/runtime. Use when the user types /simplicio-tasks or asks to clear/finish/close/implement a queue of work — e.g. "finish all open issues", "close the bugs in milestone X", "implement epic #235", "clear the CI queue", "clean up the Jira board". Runtime-agnostic: discovers work-items from any source, dedups, auto-scales to machine capacity, a minimum 6-agent floor (plan, implement, 4 parallel reviewers) for every item / a scaled fleet beyond 6 for large queues, then merges and closes with evidence. If a host runtime is present it binds native capabilities to this skill's extension points; otherwise the LLM performs every step directly. For a body of work it runs as a loop (auto-arms, no separate /loop or /simplicio-loop command, re-feeding the goal until the queue is drained and verified, or a cap/budget/STOP fires); a single interactive item still runs the 6-agent floor and stops after one pass.
4
4
  ---
5
5
 
6
6
  # /simplicio-tasks — Universal Looping Orchestrator
@@ -9,7 +9,10 @@ A runtime-agnostic autonomous orchestrator. It works on ANY strong LLM/runtime (
9
9
  Copilot, Gemini, Cursor, local models, CI agents) with NO mandatory external dependency. Every
10
10
  step is something the LLM can do directly with standard tools (shell, git, gh, file edit, web).
11
11
  Where a host runtime exposes a faster native capability, it BINDS to the extension points
12
- (Step 1b) — near-zero token cost but the skill never REQUIRES it.
12
+ (Step 1b) — near-zero token cost. The skill itself never requires it (the abstraction works on
13
+ any strong LLM) — but on Claude Code, Codex, Cursor, VS Code, Antigravity, Kiro, OpenCode, and
14
+ Hermes, binding to `simplicio-runtime` (MCP or CLI) IS a project-policy requirement, enforced at
15
+ the host/installer level, not by the skill (see `adapters/MATRIX.md` `FORCED_BIND_RUNTIMES`).
13
16
 
14
17
  The target is in the skill arguments (e.g. `/simplicio-tasks finish all open issues`). If no
15
18
  argument, default to "all open work-items in the default source"; confirm scope in ONE line only
@@ -122,6 +125,11 @@ ABSTRACTION, never a runtime — the INVERTED DEPENDENCY (the skill names no run
122
125
  detects the skill). Full table + fallbacks: `references/extension-points.md`. Core rule: any
123
126
  DECIDED change goes through `deterministic_edit` — never hand-write or regenerate it with a model.
124
127
 
128
+ On the 8 `FORCED_BIND_RUNTIMES` (Claude, Codex, Cursor, VS Code, Antigravity, Kiro, OpenCode,
129
+ Hermes), the LLM fallback for an extension point is allowed only until the native bind is
130
+ verified reachable (`simplicio doctor --json`); a run that starts unbound on one of these hosts
131
+ must report the gap as a blocker, not proceed silently on the fallback indefinitely.
132
+
125
133
  When the run is driven by `simplicio-loop` (Step 0, the armed body-of-work path), two points are bound to REQUIRED
126
134
  operators instead of LLM fallbacks: `simplicio-mapper` surveys the repo (`orient`) and
127
135
  `simplicio-dev-cli task` applies+verifies each decided change (`execute`/`deterministic_edit`) — the AI
@@ -352,5 +360,6 @@ on the STOP signal, budget exhaustion, or a safety halt. Full ten axes + arming
352
360
  and load the compact form thereafter.
353
361
  - **Portability:** any strong LLM/runtime runs this end-to-end with standard tools. A host runtime
354
362
  that binds the extension points makes steps deterministic + near-zero-token; without it the LLM
355
- fallbacks cover 100%. Same skill, any runtime. Runtimes without real multi-agent degrade the
356
- heavy-path to internal multi-pass no swarm, same gates.
363
+ fallbacks cover 100%. Same skill, any runtime EXCEPT that on the 8 `FORCED_BIND_RUNTIMES`
364
+ the native bind is a policy requirement, not a speed-only nicety (see Step 1b). Runtimes
365
+ without real multi-agent degrade the heavy-path to internal multi-pass — no swarm, same gates.
@@ -61,13 +61,33 @@ changes, or refactors inside widely imported modules, tighten the gate to `--fai
61
61
  uncovered local dependencies and related tests also block the plan. The point is to know the blast
62
62
  radius before editing, not after the regression.
63
63
 
64
- ## Step 3 — Route: fast-path vs heavy-path
65
- - **Fast-path** (queue small AND every item complexity ≤ 3): inline, solo, minimal receipt,
66
- single targeted test. No fan-out. Finish Step 6.
67
- - **Heavy-path** (large queue OR any medium+ item): fan out. Compute the fleet, keep a CONTINUOUS
68
- WORKER POOL fed by a LIVE queue (not frozen waves) — a freed worker pulls the next item, even
69
- one that appeared seconds ago. Serialize same-file items (conflict detection). Quarantine items
70
- that fail K times to a dead-letter list.
64
+ ## Step 3 — Route: minimum fleet vs scaled fleet
65
+
66
+ **Hard floor: every run keeps ≥6 orchestrated agents in flight — no solo/inline path.** A single
67
+ TRIVIAL item is decomposed by ROLE, not by work-item count, so the floor holds without inventing
68
+ parallel work that doesn't exist:
69
+
70
+ | # | Role | Cardinality |
71
+ |---|---|---|
72
+ | 1 | Orient + plan (Step 2b) | 1 agent |
73
+ | 2 | Implement (Step 4) | 1 agent (2 on MEDIUM+: a fast-follow pair) |
74
+ | 3 | Review — Rubric A: security & correctness (`simplicio-review`) | 1 agent |
75
+ | 4 | Review — Rubric B: quality & maintainability (`simplicio-review`) | 1 agent |
76
+ | 5 | Review — Rubric C: does-it-reproduce / runtime (`simplicio-review`) | 1 agent |
77
+ | 6 | Independent blast-radius reviewer — re-checks Step 4a' `impact_audit.json` (and `flow_audit.json` when applicable) as a second set of eyes, not the implementer self-grading its own scope claim | 1 agent |
78
+
79
+ Roles 1–2 are sequential (plan before implementing); roles 3–6 spawn in ONE message so they run
80
+ concurrently — wall-clock down, no proportional token blow-up (`simplicio-review` Step 2 pattern).
81
+ Rubric C's heaviest sub-checks (`web_verify`, `flow_audit`) stay conditional on the diff actually
82
+ touching that surface — the rubric runs always, its expensive evidence requirements stay scoped.
83
+
84
+ - **Minimum fleet** (queue small AND every item complexity ≤ 3): the 6-role floor above runs on
85
+ the single item. There is no solo/self-review shortcut left to fall back to — the floor IS the
86
+ minimum, never undercut it. Finish → Step 6.
87
+ - **Scaled fleet** (large queue OR any medium+ item): fan out beyond 6. Compute the fleet, keep a
88
+ CONTINUOUS WORKER POOL fed by a LIVE queue (not frozen waves) — a freed worker pulls the next
89
+ item, even one that appeared seconds ago. Serialize same-file items (conflict detection).
90
+ Quarantine items that fail K times to a dead-letter list.
71
91
 
72
92
  **Worker report contract (every worker MUST follow).** A worker result is re-injected into the
73
93
  orchestrator context verbatim and costs budget on EVERY delegation. Forbid narration; mandate the
@@ -92,10 +112,12 @@ Step 4 loop). Feed the top corrections into the shared digest so agents pre-empt
92
112
  cap_cpu = max(1, floor((cores - 2) / 2))
93
113
  cap_mem = floor(free_gb / 2)
94
114
  cap_disk = (free_disk_gb < 10) ? 0 : (free_disk_gb < 25 ? 1 : 99)
95
- fleet = min(cap_cpu, cap_mem, cap_disk, independent_items, 16) # hard cap 16/wave
115
+ fleet = max(6, min(cap_cpu, cap_mem, cap_disk, independent_items, 16)) # 6-agent floor, 16/wave cap
96
116
  waves = ceil(queue_size / fleet)
97
117
  ```
98
- If resources unknown or disk < 10 GB fast-path/solo only.
118
+ If resources unknown or disk < 10 GB, the 6-role floor still runs — switch isolation to
119
+ `isolation=shared` (one checkout, sequential commits on overlapping files) instead of
120
+ worktree-per-item, so the floor is met without the disk cost of 6 separate worktrees.
99
121
 
100
122
  **Worktree-per-item isolation (DEFAULT) + a cost opt-out.** Each item gets its OWN
101
123
  `git worktree add` checkout by default, so parallel workers never touch the same tree and there is
@@ -133,10 +155,13 @@ conflict-serialization for newly-arrived same-file items.
133
155
  ## Step 3c — Speed model (velocity without sacrificing quality)
134
156
  1. Pipeline, not barrier (item A merges while B builds). 2. Shared compile cache (e.g. `sccache`).
135
157
  3. Verify once: each agent runs a scoped incremental check; the full suite runs EXACTLY ONCE on
136
- the merged result. 4. Front-load shared context (orient once, share the digest). 5. Tier
137
- verification: TRIVIAL/SMALL skip adversarial review; only MEDIUM+ pay it. 6. Pre-warm the build on
138
- clean main. 7. Time-box + quarantine stuck agents. 8. Prefetch re-discovery during the prior
139
- wave's review. Speed comes from removing redundant work, not skipping gates.
158
+ the merged result. 4. Front-load shared context (orient once, share the digest). 5. Tier scope,
159
+ not tier skip: the Step 3 6-role review fan-out (roles 3-6) runs on EVERY item regardless of
160
+ tier only Rubric C's heaviest sub-checks (web/flow evidence) stay scoped to MEDIUM+ or
161
+ surface-touching diffs; a TRIVIAL item still gets the full review, just lighter individual
162
+ checks within it. 6. Pre-warm the build on clean main. 7. Time-box + quarantine stuck agents.
163
+ 8. Prefetch re-discovery during the prior wave's review. Speed comes from removing redundant
164
+ work, not skipping gates.
140
165
 
141
166
  ## Step 3d — Model routing (spend reasoning only where it pays)
142
167
  - **L0** Deterministic, ZERO LLM tokens: decided edits via `deterministic_edit`, repo view via
@@ -108,12 +108,14 @@ python3 scripts/flow_audit.py audit <root> --fail-on medium
108
108
  The final evidence must include either `.orchestrator/flow-audit.json` or the human summary. A green
109
109
  unit test is not enough when the flow graph still has an unclassified loose end.
110
110
 
111
- ### 4c — Adversarial verify for MEDIUM+ items (multi-vote)
112
- Spawn 2–3 INDEPENDENT verifiers, each prompted to REFUTE the implementation AND check each AC.
113
- Majority-refute → back to fix. TRIVIAL/SMALL keep single self-review. When `simplicio-review` is
114
- loaded, delegate this gate to it (parallel rubrics deduped verdict). Each verifier gets the full
115
- body + ACs, the diff, the run evidence; task: "Find any AC NOT met, any fake/placeholder return.
116
- Refute or confirm with specific `file:line`."
111
+ ### 4c — Adversarial verify for EVERY item (multi-vote, no tier shortcut)
112
+ Spawn 3 INDEPENDENT verifiers Rubrics A/B/C of the Step 3 6-role floor — each prompted to REFUTE
113
+ the implementation AND check each AC. Majority-refute → back to fix. There is no TRIVIAL/SMALL
114
+ single-self-review shortcut left: the 6-agent floor applies to every item, so this fan-out is
115
+ already paid for by the floor, not an extra cost layered on top of a cheaper default. When
116
+ `simplicio-review` is loaded, delegate this gate to it (parallel rubrics → deduped verdict). Each
117
+ verifier gets the full body + ACs, the diff, the run evidence; task: "Find any AC NOT met, any
118
+ fake/placeholder return. Refute or confirm with specific `file:line`."
117
119
 
118
120
  ## Step 5 — Safety gates (NON-NEGOTIABLE)
119
121
  Before any commit/push: secret-scan the diff (block on hit). Before any IRREVERSIBLE op
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: simplicio-loop
3
- Version: 3.16.0
3
+ Version: 3.18.1
4
4
  Summary: The Universal Looping AI Orchestrator — a runtime-agnostic super-plugin (6 skills) that drains any queue of work end-to-end on any LLM/runtime.
5
5
  Author-email: Wesley Simplicio <wesleybob4@gmail.com>
6
6
  License: MIT
File without changes
File without changes