Repository navigation
v0.6.2 — End-to-end audit fixes
Found by an end-to-end audit: every tool driven over MCP, through the adapter
CLI and through the OpenCode plugin, plus live model runs in OpenCode and Oh My
Pi where agent-chadi planned, dispatched two subagents and shipped a tested
endpoint.
Fixed
plan_featureover-planned small work. "Add a /health endpoint to this
Node app" came back as an 11-task full-stack plan that asked for three
Supabase keys, because the word app implied full stack. Now app implies
full stack only before apackage.jsonexists ("build a booking app"); a
single non-sensitive layer without deploy returnsshape: "no-fanout",
lane: "inline", as Workflow v3 says; and Supabase keys are listed only when
the stack or the goal involves Supabase, a database, auth or migrations.plan_featureincludeDeployandenv_syncforcewere dropped when the
MCP server ran tools through a pinned CLI (GRAPHYLOOP_CLI): the flag map was
an array, so--deployand--forcewere never passed.task_recordcounted any status other thancompletedas a failure, so an
agent writing"done"left the task pending forever and blocked the waves
after it. It now accepts onlycompletedorfailed, and stores the
errortext of a failed task.memory_storerejects unknown memory types (search already did), and the CLI
no longer storesmetadata: ""when--metadatais omitted.- The MCP server and the OpenCode plugin recover when
state.jsonis shut down
or cleaned from outside mid-session, instead of answering every later call
withnot initialized. The plugin also honoursGRAPHYLOOP_HOME. - OpenCode tools failed at random with
spawn failed: … ETIMEDOUTon
Windows, 2 of 10 calls in a live squad run. OpenCode 1.18 ships Bun 1.3.14,
wherespawnSync'stimeoutfires early once the process has been idle
longer than the timeout (oven-sh/bun#33932), so any graphyloop call made more
than 30 s after the previous one died within milliseconds. The plugin now runs
the CLI with asyncspawnand its own timer. That also stops it from
blocking OpenCode while the CLI runs, and lets parallel tool calls run in
parallel; the engine's state lock already serializes their writes. - Claude Code never loaded the workflow rules. Install wrote
~/.claude/AGENTS.md, but Claude Code readsAGENTS.mdonly as project
instructions; user-scope instructions come from~/.claude/CLAUDE.mdand
~/.claude/rules/*.md. The workflow now installs as
~/.claude/rules/graphyloop-workflow.md, which loads in every project and
leaves your ownCLAUDE.mdalone. An untouched old~/.claude/AGENTS.mdis
removed on upgrade; one you edited is kept. - Cursor never loaded
~/.cursor/rules/AGENTS.md. Cursor ignores plain
.mdfiles inrules/and keeps User Rules in Customize → Rules, so
graphyloop no longer writes that file (an untouched old copy is removed). The
workflow loads from thegraphyloop-workflowskill in~/.agents/skills, and
a project's ownAGENTS.mdis read from its root. - DeepSeek Harness ignored the
graphyloop-squadskill: its description
held an unquoted:, which is invalid YAML, so dsh dropped the file. Strict
YAML parsers also rejected 3 bundled skills, 2 agents, and 7 generated Claude
Code agent and command files,agent-chadiamong them. Every description
that needs it is now quoted, and a test keeps it that way. - Gemini CLI printed 70 "Skill conflict detected" warnings on every start
when Codex or Cursor was installed too, because the bundled skills sat in both
~/.gemini/skillsand~/.agents/skills, and Gemini reads both. Skills now
live once in~/.agents/skillswhatever order you install in. - Uninstall left graphyloop leftovers: OpenCode's
server-guardplugin, an
emptypluginlist,default_agent: agent-chadipointing at a deleted agent,
and an orphaned comment in Codex'sconfig.toml.
Docs
- Gemini CLI: since June 18, 2026 Google no longer serves personal Google
sign-ins in Gemini CLI. It still works with a Gemini API key, Vertex AI, or a
Code Assist Standard/Enterprise license. Google's successor for individuals,
Antigravity CLI, is not a graphyloop harness yet.