Skip to content

feat: add OpenCode setup docs + E2E config validation tests (v0.6.9)#54

Merged
isc-tdyar merged 7 commits into
masterfrom
038-opencode-docs
May 31, 2026
Merged

feat: add OpenCode setup docs + E2E config validation tests (v0.6.9)#54
isc-tdyar merged 7 commits into
masterfrom
038-opencode-docs

Conversation

@isc-tdyar
Copy link
Copy Markdown
Contributor

@isc-tdyar isc-tdyar commented May 27, 2026

Summary

  • Adds Option D (OpenCode) to the Quick Start section of README.md
  • Two new E2E tests that validate the README snippets are correct JSON and the documented setup actually works

Test plan

  • e2e_opencode_setup_follows_readme passes — simulates new user following README, validates snippet JSON, launches binary with only the documented env vars, calls check_configconnected: true
  • e2e_opencode_docker_snippet_is_valid_json passes — validates Docker variant snippet is valid JSON with required keys
  • CI green

isc-tdyar added 7 commits May 27, 2026 16:40
Adds Option D (OpenCode) to Quick Start section of README.md:
- Config snippet using correct OpenCode format (mcp key, type:local, environment block)
- Diff table vs Claude Code showing key differences
- Docker/container variant with IRIS_CONTAINER
- .iris-agentic-dev.toml callout for project-local config
- check_config verification step

Two new E2E tests in test_e2e.rs:
- e2e_opencode_setup_follows_readme: simulates noob following README verbatim,
  validates JSON snippet, launches binary with only the documented env vars,
  calls check_config to verify live IRIS connection
- e2e_opencode_docker_snippet_is_valid_json: validates Docker variant JSON

Both snippet constants (OPENCODE_README_SNIPPET, OPENCODE_DOCKER_README_SNIPPET)
are the literal README text — any typo in the docs breaks CI.
Documents the data-loss gotcha from docker stop without graceful IRIS
shutdown: tables exist but rows are 0. Covers the fix in iris-devtester
1.18.1+ (__exit__ calls stop_gracefully()), docker-compose patterns,
Kubernetes PreStop hook, and why stop_grace_period alone is not enough.
Based on Jochen Deubner's testing feedback:
- Atelier Recurse=0 is the most common setup issue
- OpenCode GUI beta on Windows doesn't trigger MCP tools (CMD/TUI works)
- WSL2 users need Windows binary when IRIS is on the Windows host
- Added verbose logging diagnostic instructions
… wsl.exe workaround

Jochen Deubner reported iris-agentic-dev 'failed' in OpenCode Windows GUI
when using Linux binary path. Root cause: Windows process can't exec ELF.

Adds:
- Table showing Windows GUI vs WSL2 TUI configurations
- Explicit warning about Linux binary in Windows GUI
- wsl.exe workaround for Windows config pointing to Linux binary
- Note that mirrored networking makes localhost work transparently
cls_text was a required parameter but was never used in the implementation.
Callers (like the arno/ivg session) were avoiding the tool thinking the
46KB class file was 'too large' — it would have been accepted but ignored.

Making cls_text optional (with #[serde(default)]) fixes the confusion.
Reordered struct so cls_name comes first (it's the only required field).
…is also set (v0.6.11)

When host= and container= are both in .iris-agentic-dev.toml (split-brain setup:
HTTP to one server, docker exec to another), the container= field was silently
ignored because the host= branch returned early without setting IRIS_CONTAINER.

Fix: set IRIS_CONTAINER from container= before returning the HTTP connection.
This makes the 'HTTP for Atelier tools, docker exec for iris_execute' pattern work
correctly without needing to restart the MCP server.
@isc-tdyar isc-tdyar merged commit 34b703f into master May 31, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant