Skip to content

agent display_names impacts built-in / custom categorisation #34

Description

@lhohan

Opencode: 1.3.15
Weave: 0.7.5

At the moment I am having issues to get Weave to delegate work to its agents. Most of the time Loom does all the work even though the work should not be categorised a such. To investigate I ran /weave-health and noticed depending on whether Weave's agents have display_name set or not, Weave categorises them differently as builtin or custom.

Below are 2 reports with the agent config section of Weave config.

In the run without display names most Weave agents are categorised as builtin (not Loom and Tapestry). In the run with custom display_names they are categorised as custom.

Expected:

  1. builtin agents are categorised as builtin regardless of the display names
  2. loom and tapestry should be builtin in both reports

I am not sure what the impact is of 'wrong' categorisation, depending on that accurate reporting is probably more important or not. (It does cause confusion probably.y)

Is Weave's functionality impacted by this categorisation? My first impression seems to be that if I remove display names Loom delegates more easily but I need to use Weave more to confirm.

Without display names

Weave Config Health: OK
No warnings or errors.
Config files
- /Users/hans/.config/opencode/weave-opencode.jsonc
Loaded agents
- Builtin: 6/8 (shuttle, pattern, thread, spindle, weft, warp)
- Custom: 2 (loom, tapestry)
Logs
- Detailed: ~/.local/share/opencode/log/ (service=weave)
- Real-time: opencode --print-logs --log-level WARN

Agent config:

"agents": {
    "loom": {
      // "display_name": "Orchestrator (loom)",
      "model": "openai/gpt-5.4-mini",
      "variant": "high",
      // "prompt": "{file:./weave/loom.md}",
    },
    "pattern": {
      // "display_name": "Planner (pattern)",
      "model": "openai/gpt-5.4",
      "mode": "subagent",
      "skills": ["writing-plans"],
    },
    "thread": {
      // "display_name": "Codebase explorer (thread)",
      "model": "opencode-go/kimi-k2.5",
      "mode": "subagent",
    },
    "spindle": {
      // "display_name": "External Researcher (spindle)",
      "model": "opencode-go/kimi-k2.5",
      "mode": "subagent",
    },
    "weft": {
      // "display_name": "Reviewer (weft)",
      "model": "openai/gpt-5.3-codex",
      "mode": "subagent",
      "skills": ["code-review"],
    },
    "warp": {
      // "display_name": "Security auditor (warp)",
      "model": "openai/gpt-5.3-codex",
      "mode": "subagent",
    },
    "tapestry": {
      // "display_name": "Execution orchestrator (tapestry)",
      "model": "opencode-go/kimi-k2.5",
      "mode": "subagent",
    },
    "shuttle": {
      // "display_name": "Specialist worker (shuttle)",
      "model": "openai/gpt-5.3-codex",
      "variant": "medium",
      "mode": "all",
    },
  }

With display names:

✅ Weave Config Health: OK
No warnings or errors.
- Config: /Users/hans/.config/opencode/weave-opencode.jsonc
- Loaded agents: 8 custom (loom, tapestry, shuttle, pattern, thread, spindle, weft, warp)
Logs:
- ~/.local/share/opencode/log/ (service=weave)
- opencode --print-logs --log-level WARN

Agent config:

"agents": {
    "loom": {
      "display_name": "Orchestrator (loom)",
      "model": "openai/gpt-5.4-mini",
      "variant": "high",
      // "prompt": "{file:./weave/loom.md}",
    },
    "pattern": {
      "display_name": "Planner (pattern)",
      "model": "openai/gpt-5.4",
      "mode": "subagent",
      "skills": ["writing-plans"],
    },
    "thread": {
      "display_name": "Codebase explorer (thread)",
      "model": "opencode-go/kimi-k2.5",
      "mode": "subagent",
    },
    "spindle": {
      "display_name": "External Researcher (spindle)",
      "model": "opencode-go/kimi-k2.5",
      "mode": "subagent",
    },
    "weft": {
      "display_name": "Reviewer (weft)",
      "model": "openai/gpt-5.3-codex",
      "mode": "subagent",
      "skills": ["code-review"],
    },
    "warp": {
      "display_name": "Security auditor (warp)",
      "model": "openai/gpt-5.3-codex",
      "mode": "subagent",
    },
    "tapestry": {
      "display_name": "Execution orchestrator (tapestry)",
      "model": "opencode-go/kimi-k2.5",
      "mode": "subagent",
    },
    "shuttle": {
      "display_name": "Specialist worker (shuttle)",
      "model": "openai/gpt-5.3-codex",
      "variant": "medium",
      "mode": "all",
    },
  }

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions