Skip to content

Adopt TTA.dev L0 control plane for IPA→WBA→NGA multi-agent coordination #361

Description

@theinterneti

Summary

TTA.dev now ships a working L0 developer control plane (ttadev/control_plane/) that handles task ownership, run tracking, and leases across agents. TTA's IPA→WBA→NGA orchestration pipeline (#256 closed) and session lifecycle (#317) are exactly the use cases it was designed for.

What the control plane provides

from ttadev.control_plane import ControlPlaneService

svc = ControlPlaneService()

# Claim a task — prevents two agents racing on the same work
run = svc.claim_task("ipa-generate", agent_id="ipa-agent")

# Run is tracked with start time, status, owner
# Automatically binds to Langfuse session (#360) if installed

svc.complete_run(run.id, output={"narrative": "..."})

Key capabilities:

  • Leases: claim/release so IPA, WBA, NGA don't collide on shared state
  • Run ledger: every pipeline execution logged with inputs/outputs and agent owner
  • Gate model: block progression between stages until conditions met
  • MCP tools: AI coding agents can inspect live task/run state during development
  • Langfuse binding: claim_task() auto-sets langfuse.session_id = run.id — full trace per pipeline run

Why this matters for TTA

The IPA→WBA→NGA pipeline has no coordination layer right now. When two player sessions trigger concurrent world updates, they can race on Dolt branch operations (#295-#298). The control plane gives each stage a lease it must hold before writing, and a run record the session lifecycle (#317) can reference.

The Gate model (#258, closed) was the first proof — this extends it to the full orchestration surface.

Adoption steps

  1. Add ttadev to TTA's dependencies (already declared, may need version pin)
  2. Initialize ControlPlaneService once at app startup
  3. Wrap IPA, WBA, NGA entry points with claim_task() / complete_run()
  4. Optionally expose via tta control task list CLI for debugging

Related

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions