Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
57 changes: 57 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,63 @@ All notable changes to `simplicio-prompt` are documented here.
Format roughly follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/);
versioning is [SemVer](https://semver.org/).

## [1.11.0] — 2026-05-29 — Phase 1 + integration + infra

Roadmap **Phase 1 (Diverse-prompt fan-out)** kernel-side delivery plus the
tech-debt and infrastructure work that landed alongside it. All new
runtime parameters are opt-in; defaults preserve the 1.10.x behavior
bit-for-bit, so this is a semver-safe minor bump.

### Added
- **`kernel.diversifier`** (Phase 1) — `Persona`, `PromptDiversifier`, and
`make_diversified_prompt_builder` for deterministic persona-based prompt
variants. 4 framings × 3 emphases × 3 host-code stances = 36 unique
combinations; for N > 36, base personas cycle with a rotation counter
folded into the slug so the input bytes still differ on every pass.
Closes #29 (kernel side; output-side validation pending bench in
`simplicio-dev-cli`).
- **`SubagentRuntime.run(diversify=True, diversify_seed=0)`** — opt-in
flag that wraps the prompt builder so each subagent's `system` message
is prepended with a unique persona directive. The `prompt` field stays
intact, so structured contracts (e.g. simplicio-cli `[CLI-6LAYER]`)
compose cleanly.
- **`SubagentRuntime.run(overall_timeout_s=...)`** — global wall-clock
timeout for the entire fan-out. Env-var fallback
`YOOL_TUPLE_OVERALL_TIMEOUT_S`. Closes #35.
- **`FanoutReport.status`** — `"ok"` | `"timeout"`. Carried through
`to_dict()` and `format_summary()` (`[TIMEOUT]` prefix when not ok).
- **CLI flags:** `--diversify`, `--diversify-seed`, `--overall-timeout-s`.
- **`tests/test_diversifier.py`** — 22 tests pinning slug format,
rotation, base catalog completeness, n=1/36/37/200 sizes, determinism,
seed permutation, wrapped-builder semantics, empty-system handling.
- **`tests/targets.test.mjs`** — 13 unit tests blindando the multi-IDE
plugin registry (`plugins/targets.mjs`). Closes #36.
- **`benchmarks/diversifier_benchmark.py`** — input-side uniqueness lift
measurement (200x in the realistic static-contract case).
- **`.github/workflows/tests.yml`** + **`.github/workflows/release.yml`** —
matrix CI (Python 3.10/3.11/3.12) on push/PR, and a tag-driven release
pipeline that does the cross-version check + PyPI/npm publish + smoke
verify automatically. Closes #33.
- **`CONTRIBUTING.md`** — canonical local-dev, release, and prompt-edit
flow. Closes #38.

### Changed
- **`kernel/utils` is now actually wired into the runtime hot paths**:
- `kernel/yool_tuple_kernel.py::ReceiptCache` consolidated into
`kernel/utils/cache.py::TTLCache` (BC alias preserved).
- `kernel/yool_tuple_kernel.py::_stable_digest` delegates to
`kernel.utils.serialization.stable_digest`.
- `kernel/providers.py` JSON I/O routes through
`kernel.utils.serialization.{dumps_bytes, loads}` — `pip install orjson`
now silently accelerates the runtime. Closes #32.

### Fixed
- **`bin/simplicio-prompt.mjs::loadVersion`** no longer silently returns
`"0.0.0"` on corrupted `package.json`; it logs the reason to stderr
before falling back. Top-level catch falls through `e.message ||
String(e)` so non-Error throws never print the literal `"undefined"`.
Closes #37.

## [1.10.1] — 2026-05-29 — Phase 0: ONE-SHOT template hygiene

Roadmap **Phase 0 (Hygiene + repositioning)** — see `Roadmap to v2.0` in the
Expand Down
2 changes: 1 addition & 1 deletion kernel/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,4 @@
``batch_spawn`` model into real subagents.
"""

__version__ = "1.10.1"
__version__ = "1.11.0"
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "simplicio-prompt",
"version": "1.10.1",
"version": "1.11.0",
"description": "Multi-IDE plugin: Tuple-Space + Yool safe-speed runtime prompt for Claude Code, Codex, Hermes, OpenCode/OpenClaw, Cursor, GitHub Copilot, Cline, Aider, Gemini CLI. One installer drops the runtime contract into the right rule file for each agent; the Claude Code plugin ships a UserPromptSubmit hook for always-on invocation. Includes a dependency-free Python runtime for real subagents on DeepSeek / MiMo / OpenRouter / local LLMs plus PromptFanout adapters and token/cost observability.",
"type": "module",
"main": "./index.mjs",
Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"

[project]
name = "simplicio-prompt"
version = "1.10.1"
version = "1.11.0"
description = "Tuple-Space + Yool safe-speed runtime kernel: lazy 1,000,000+ subagent batch_spawn, adaptive lane concurrency, and a dependency-free OpenAI-compatible provider client for real subagents on DeepSeek / MiMo / OpenRouter / local LLMs."
readme = "README.md"
requires-python = ">=3.8"
Expand Down
Loading