Repository navigation
Spec v0.1.5
Source release from commit fcb03a2 on dev. Following the existing release convention, package manifests remain at 0.1.0; this release is versioned by the v0.1.5 tag. Earlier releases and tags are preserved.
Changes
- Extend the Optimization Button for recursive improvements with free-form
.optiminstructions alongside the existing model-free JSON mode. - Plan measurable objectives through Responses using
gpt-6-sol, run focused OpenCode build-agent iterations, and review/repair results before independent measurement. - Require the planned validation/process command to succeed on the final tool state. Later tools invalidate earlier validation, and failed commands or provider requests never count as convergence.
- Supervise every command with a Linux subreaper, cleaning up detached/double-forked descendants before measuring or releasing project locks. Successful commands that leave live workers behind fail after cleanup.
- Add timestamped planning, builder, tool, validation, and measured-gain reports. Bound builder/tool output while retaining the builder's final output tail.
- Fix two review findings: UTF-8 BOM-prefixed JSON remains model-free, and JSON builder output quoting an agent-fallback warning no longer falsely fails execution. Actual stderr fallback warnings still fail the run.
- Expand the README and optimizer guide, refresh security and workspace documentation, and disclose prose-mode provider transmission in the Optimize confirmation. Document continuation, repository saving, chat/context inspection, Agent.md editing, voice providers and launcher, saved-file restoration, and accessibility.
The commit includes the requested wording:
Optimization Button for recursive improvements - and halting for marginal differences in gain...
Stopping is based on independently measured near-zero gains sustained within configured tolerances for every objective. Differences between successive gains are diagnostic: constant positive gains do not converge simply because their differences are small. A plateau is not proof of optimality or positive cumulative gain.
Validation
- 116 Rust tests, 33 Python optimizer tests, 19 Azure launcher tests, 13 frontend unit tests, and 81 Chromium browser tests passed: 262 total.
- Rust formatting, Clippy with warnings denied, locked debug/release builds, shell syntax, frozen frontend installation, TypeScript checks, frontend production build, and staged whitespace checks passed.
- The first Rust run encountered
Text file busywhile spawning an existing SSH fixture. The affected test passed in isolation and the complete Rust suite passed on rerun; the transient failure's underlying cause was not confirmed. - Browser tests ran against rebuilt assets and backend in a sanitized environment. Provider and SSH integration coverage uses mocks and isolated local fixtures; live providers, production SSH hosts, and authenticated OpenCode model execution were not exercised.
Upgrade And Safety
Rebuild/restart the local Rust server and reload the browser. Both optimizer modes require Python 3.10+ on Linux with subreaper support and readable procfs. Prose mode additionally requires authenticated OpenCode supporting run --agent build --auto --format json, plus execution-host Responses credentials and access to gpt-6-sol. The builder uses the execution host's existing provider configuration; local web-server chat/voice settings are not transferred over SSH. See OPTIMIZE.md.
Optimization has no overall iteration or runtime cap. Trusted commands and model tools can modify files, access credentials and the network, and incur provider costs. Prose mode sends project context and tool output to providers. Reports may contain sensitive data and are not automatically pruned. Budget storage and use Stop run when needed.
Cleanup protects normal completion, failure, timeout, and handled cancellation, not forced process death, hostile/privileged code, work delegated to existing services, or failed cancellation connections. Locks and model instructions are not a sandbox; verify remote state after crashes or unconfirmed cancellation.
Generated logs, private session artifacts, and Python caches were excluded from the commit and left untouched locally. This is a source release with no uploaded binary assets.
Full changes: v0.1.4...v0.1.5