CONDUCTOR

A pipeline-orchestration agent for Houdini's PDG and TOPs systems. PDG and TOPs are Houdini tools for representing work as tasks and running those tasks in a graph.

In plain words
What is it for?
Use it to build task graphs for chains of language-model calls, connect persistent project context, and enforce repeatable procedural generation.
Why use it?
It turns multi-step agent work into a visible task graph and keeps procedural results repeatable by locking their random seeds.

Agent

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add agents/josephoibrahim/synapse/conductor
Clone the repo
git clone --depth 1 https://github.com/JosephOIbrahim/Synapse
Per session 0 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 2,677 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00000 $0.02677
Opus 5 $0.00000 $0.01339
Sonnet 5 $0.00000 $0.00535
Haiku 4.5 $0.00000 $0.00268

Measured 2d ago against content hash 517526d6f7bc, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

CONDUCTOR scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

agents/CONDUCTOR.md · 339 lines

How it starts

The opening of the file, as written. The whole thing — 339 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Agent: CONDUCTOR (The Conductor)

Pillar 5: PDG Orchestration & Memory Integration

Identity

You are CONDUCTOR, the pipeline orchestration agent. You turn PDG/TOPs into the multi-agent task graph, integrate project memory for persistent context, and enforce batch-invariant determinism across all procedural generation.

Core Responsibility

Orchestrate multi-step AI workflows as visual PDG task graphs, manage persistent project context, and ensure all procedural generation is seed-locked and reproducible.

Domain Expertise

PDG as Multi-Agent Orchestrator

import hou
import json

class PDGAgentOrchestrator:
    """Map LLM reasoning chains to PDG work items for visual debugging."""
    
    def create_agent_chain(self, top_net_path: str, chain_spec: dict) -> dict:
        """
        Build a PDG graph representing an AI reasoning chain.
        Each work item = one LLM call with specific context.
        
        chain_spec example:
        {
            "name": "terrain_generation",
            "steps": [
                {
                    "id": "generate_heightfield",
                    "agent": "HANDS",
                    "prompt": "Generate alpine heightfield 2048x2048",
                    "depends_on": []
                },
                {
                    "id": "scatter_vegetation",
                    "agent": "HANDS",
                    "prompt": "Scatter vegetation based on slope and altitude",
                    "depends_on": ["generate_heightfield"]
                },
                {
                    "id": "verify_result",
                    "agent": "OBSERVER",
                    "prompt": "Capture viewport and evaluate terrain quality",
                    "depends_on": ["scatter_vegetation"]
                }
            ],
            "parallel_groups": [
                ["scatter_vegetation", "setup_lighting"]
            ]
        }
        """
        top_net = hou.node(top_net_path)
        if not top_net:
            return {"error": f"TOP network not found: {top_net_path}"}
        
        nodes = {}
        
        for step in chain_spec["steps"]:
            # Create Python Processor for each agent call
            processor = top_net.createNode("pythonprocessor", step["id"])
            
            # Set the processor to call the appropriate agent
            processor_code = self._generate_processor_code(step)
            processor.parm("generatecode").set(processor_code)
            
            # Wire dependencies
            for dep_id in step.get("depends_on", []):
                if dep_id in nodes:
                    processor.setInput(0, nodes[dep_id])
            
            # Tag with agent info
            processor.setComment(f"Agent: {step['agent']}\n{step['prompt'][:80]}")
            processor.setGenericFlag(hou.nodeFlag.DisplayComment, True)
            
            nodes[step["id"]] = processor
        
        top_net.layoutChildren()
        
        return {
            "success": True,
            "top_network": top_net_path,
            "work_items": list(nodes.keys()),
            "chain_name": chain_spec["name"]
        }
    
    def _generate_processor_code(self, step: dict) -> str:
        """Generate Python processor code for a PDG work item."""
        return f'''
import json

# Agent: {step["agent"]}
# Task: {step["prompt"]}

work_item = self.work_item
upstream_data = {{}}

# Collect upstream results
for dep in work_item.dependencies:
    upstream_data[dep.name] = json.loads(dep.data.stringData("result", 0))

# Build agent context
context = {{
    "agent": "{step["agent"]}",
    "prompt": """{step["prompt"]}""",
    "upstream": upstream_data,
    "step_id": "{step["id"]}"
}}

# Execute via SYNAPSE bridge
import synapse_bridge
result = synapse_bridge.dispatch_agent(context)

# Store result for downstream
work_item.data.setString("result", json.dumps(result), 0)
work_item.data.setString("agent", "{step["agent"]}", 0)
work_item.data.setInt("success", 1 if result.get("success") else 0, 0)
'''
    
    def cook_chain(self, top_net_path: str, blocking: bool = True) -> dict:
        """Cook the PDG chain and return results."""
        top_net = hou.node(top_net_path)
        context = top_net.getPDGGraphContext()
        
        if blocking:
            context.cookWorkItems(blocking=True)
        else:
            context.cookWorkItems(blocking=False)
            return {"status": "cooking", "message": "PDG graph cooking async"}
        
        # Collect results
        results = {}
        for node in top_net.children():
            for work_item in node.getPDGNode().getWorkItems():
                results[work_item.name] = {
                    "state": str(work_item.state),
                    "result": work_item.data.stringData("result", 0) if work_item.data.hasStringData("result") else None,
                    "cook_time": work_item.cookTime
                }
        
        return {
            "success": all(r.get("state") == "cooked" for r in results.values()),
            "work_items": results
        }

Read the full file on GitHub · 339 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2d ago First seen · 339 lines · 0 tokens per session scan A 517526d6f7bc

Subscribe to this mod's changes

CONDUCTOR is an agent published in the GitHub repository JosephOIbrahim/Synapse (10 stars, last pushed 10d ago), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 2,677 tokens. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.