Skip to content

Orchestrator assumes CWD is sigint repo root — breaks in consumer repos #7

Description

@zircote

Problem

When the sigint plugin runs from a consumer repo (e.g. zircote/research, the output corpus), the research-orchestrator's Phase 0 fails silently or surfaces an A/B/C option menu to the user asking whether to adapt. This should never reach the user — the orchestrator should resolve the environment automatically.

Root cause

Every schema validation, protocol read, and methodology reference uses hardcoded relative paths that assume CWD is the sigint tool repo root:

# dimension-analyst.md
jq -e -f schemas/methodology-plan.jq ...
jq -e -f schemas/findings.jq ...
jq -e -f schemas/reflection.jq ...

# research-orchestrator.md
jq -e -f schemas/state.jq ...
jq -e -f schemas/elicitation.jq ...
jq -e -f schemas/sigint-config.jq ...

# start skill
Read("protocols/CONFIG-RESOLUTION.md")
Read("protocols/STRUCTURED-DATA.md")

When the plugin is installed in a consumer repo, CWD is that repo — schemas/, protocols/, and agents/ don't exist there. All these paths 404.

Affected files

  • agents/research-orchestrator.md — Phase 0 has no environment probe
  • agents/dimension-analyst.md — all schemas/*.jq references
  • skills/start/SKILL.mdprotocols/CONFIG-RESOLUTION.md read
  • Every agent/skill that references schemas/ or protocols/ with bare relative paths

Proposed fix

Add a Phase 0 Step 0.0: Resolve Plugin Root to the orchestrator (and propagate to dimension-analysts via spawn prompt):

  1. Probe for schemas/state.jq at CWD. If found → SIGINT_ROOT="." (running from tool repo).
  2. If not found, resolve the plugin installation path. The harness registers agent types like sigint:research-orchestrator — the plugin root is derivable from the installation directory (typically ~/.claude/plugins/sigint/ or the repo where the plugin was installed from).
  3. Set SIGINT_ROOT and prefix all schema/protocol paths: $SIGINT_ROOT/schemas/*.jq, $SIGINT_ROOT/protocols/*.md.
  4. Pass SIGINT_ROOT in every dimension-analyst spawn prompt so downstream agents inherit it.

If the plugin root genuinely can't be resolved (edge case), then fall back to the general-purpose path silently — no user-facing A/B/C menu. The option to "fake it" (Option C) should not exist at all.

Workaround

Consumer repos can add a note to their CLAUDE.md explaining the topology, but this is a band-aid — the orchestrator protocol itself needs to handle this.

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

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions