Skip to main content

GPUaaS Parity and Gap Assessment - 2026-05-29

Purpose

Assess Fairway against the current GPUaaS agent/process operating model before new implementation work starts.

This is intentionally an assessment, not an implementation plan. The goal is to avoid rebuilding what already exists, identify what is only documented or still GPUaaS-specific, and turn the real gaps into focused Fairway work later.

Summary

Fairway already contains much more of the GPUaaS agent operating model than the top-level README implies. The README still describes Fairway as pre-alpha and "not yet usable," but the implementation and roadmap show a substantial usable core:

  • task queue and mutable state,
  • task hierarchy,
  • evidence, handoff, and review records,
  • review routing and no-self-review enforcement,
  • merge-readiness and git checks,
  • role worktrees,
  • session tracking,
  • coordinator preflight/status/tick reports,
  • context, bugfix, and watcher packets,
  • watcher lifecycle,
  • regression-pack catalog helpers,
  • checkpoints,
  • dashboard,
  • TUI basics,
  • project registry and multi-project dashboard mode,
  • SQLite migrations and Postgres compatibility check,
  • release packaging configuration.

The biggest remaining issue is not absence of design. It is parity clarity: GPUaaS still has shell/Ruby scripts and Makefile targets that encode current behavior. Fairway must prove it can replace those behaviors before GPUaaS switches over.

Sources Reviewed

Fairway:

  • README.md
  • AGENTS.md
  • docs/design/gpuaas-extraction.md
  • docs/design/implementation-roadmap.md
  • docs/design/release-cuts.md
  • docs/design/cli.md
  • docs/design/dashboard.md
  • docs/config-reference.md
  • examples/gpuaas-config.toml
  • cmd/fairway/main.go
  • internal/store/store.go

GPUaaS references that Fairway is extracting:

  • scripts/ops/agent_queue_store.rb
  • scripts/ops/agent_queue.sh
  • scripts/ops/agent_role_config.sh
  • scripts/ops/orchestrate_agents.sh
  • scripts/ops/agent_context_packet.sh
  • scripts/ops/agent_watch_task.sh
  • scripts/ops/bugfix_review_packet.sh
  • scripts/ops/workflow_regression_packs.sh
  • scripts/ops/agent_session_adapter.sh
  • scripts/ops/codex_subagent_session_bridge.sh
  • doc/governance/Agent_Orchestrator_v2_Coordinated_Execution.md
  • doc/governance/Agent_Execution_Quality_and_Context_Model_v1.md
  • doc/governance/Multi_Agent_Lane_Worktrees_v1.md

Verification:

  • go test ./... passes in Fairway on 2026-05-29.

What Fairway Already Has

CapabilityCurrent Fairway StateNotes
Task definitions and mutable stateImplementedtask_definitions, task_state, import/add/update/ready/claim/set-status/task-detail.
HierarchyImplementedadd, spawn, tree; supports parent/child/sibling/root patterns.
Dependencies and ready queueImplementedready, dependency-aware task selection, priority/sequence ordering.
Evidence recordsImplementedrecord evidence; command/result/artifact/duration/notes model.
Handoff recordsImplementedrecord handoff; payload model for role transitions.
Review recordsImplementedrecord review; approval/changes/reject plus commit/reason.
Review routingImplementedConfigured route rules and route review; no-self-review is documented and implemented in roadmap scope.
Merge readinessImplementedmerge-ready; gates can require evidence/review/handoff.
Git consistency and preflightImplementedgit-check, preflight; branch/worktree safety surfaces.
Worktree managementImplementedworktree setup/status/prune.
Session trackingImplementedsession upsert/status/end/reconcile/launch.
Coordinator reportsImplementedcoordinator preflight/status/tick, dispatch-plan, status/health/timing reports.
Context packetsImplementedpacket context.
Bug-fix packetsImplementedpacket bugfix.
Watcher packets and lifecycleImplementedpacket watcher, watcher start/finish/status.
CheckpointsImplementedcheckpoint record/status/stale.
Regression-pack helpersImplementedregression-pack list/show/validate.
DashboardImplementedRead-only dashboard, SSE, role grouping, task detail, sessions/worktrees/checkpoints/watchers. Roadmap says first dashboard mutation path exists for claim.
Multi-project registryImplementedregister, unregister, projects, dashboard multi-project mode.
SQLite store and migrationsImplementedEmbedded migrations, backup/export, compatibility checks.
Postgres compatibility harnessPartially implementeddb compat --backend postgres; not the runtime adapter.
Tracker linksFirst passLocal links and dry-run reconcile for Jira/Linear; provider adapters deferred.
Release packagingFirst passGoReleaser config and tag-triggered GitHub release workflow.

What Exists in GPUaaS But Needs Parity Proof

These are not necessarily missing from Fairway. They are behaviors GPUaaS depends on, so Fairway needs a parity check or migration proof before replacing the current scripts.

GPUaaS BehaviorCurrent GPUaaS SourceFairway StatusNeeded Assessment/Proof
Queue YAML validationmake queue-ready, agent_queue_validate.shLikely covered by config/import validationProve Fairway import catches invalid roles, statuses, dependencies, and bad task metadata.
Queue-to-git consistencymake queue-git-checkgit-check existsCompare outputs against current GPUaaS repo state and role branches.
Ready queue orderingqueue-readyready existsRun both on copied task data and compare ordering by role/priority/dependencies.
Claim/state transitionsqueue-claim, queue-set-statusclaim, set-status existProve state transitions and blocked reason behavior match GPUaaS policy.
Evidence-before-done disciplinequeue store gatesConfigurable gates existConfigure gates to GPUaaS policy and test done/merge-ready behavior.
Handoff recordsqueue-record-handoffrecord handoff existsConfirm payload fields cover GPUaaS handoff minimum fields.
Review records and routingqueue-route-review, queue-record-reviewroute review, record review existVerify path routing for GPUaaS critical paths: API, architecture, governance, security, billing, provisioning, terminal, CI.
Session visibilitysession adapter and Codex subagent bridgesession commands existConfirm Fairway can represent tmux/zellij/manual/Codex API sessions without provider-specific coupling.
Watcher lanesagent_watch_task.shwatcher commands existConfirm watcher records cover command, success/failure, allowed fixes, duration, artifact, and close condition.
Context packetsagent_context_packet.shpacket context existsCompare generated packet against GPUaaS required fields.
Bug-fix packetbugfix_review_packet.shpacket bugfix existsEnsure root cause, owning layer, proof command, regression coverage, residual risk are all present.
Workflow regression packsworkflow_regression_packs.sh, YAML catalogregression-pack commands existImport/validate GPUaaS pack catalog or define adapter format.
Coordinator tickorchestrator-tickcoordinator commands existCompare preflight/status/tick output with GPUaaS coordinator expectations.
Dashboard usefulnessnone equivalent except scripts/reportsFairway dashboard existsValidate with real GPUaaS task volume and role branches.
Postgres compatibilityGPUaaS spike docs/scriptsdb compat existsDecide whether this remains harness-only or becomes a runtime adapter later.

Real Gaps To Address

GapWhy It MattersProposed Fairway Work
README is staleIt understates implementation maturity and will mislead users and agents.Update README status to reflect implemented v0.2-like capabilities and current limitations.
GPUaaS parity harness missingWe need confidence before replacing GPUaaS scripts.Add a documented gpuaas-parity procedure using copied GPUaaS queue/task data and expected-output comparisons.
GPUaaS config example is genericExample uses backend/ui/ops/arch/governance; GPUaaS uses A-backend/B-ui/C-ops/D-arch/E-governance.Add a GPUaaS exact config example or migration notes mapping both naming schemes.
Import/migration story needs a concrete dry runGPUaaS queue state currently lives in YAML plus SQLite/script conventions.Add a migration guide from GPUaaS Agent_Work_Queue.yaml and queue DB snapshot to Fairway.
Review routing parity needs explicit fixturesGPUaaS critical path routing is high risk.Add review route fixture tests for API, governance, architecture, CI, auth, billing, provisioning, terminal, node-agent paths.
Packet parity needs fixture testsContext/bugfix/watcher packets are central to agent discipline.Add golden tests comparing Fairway packet output to GPUaaS-required fields.
Workflow regression pack format needs adoptionGPUaaS has a real catalog; Fairway helper must support it cleanly.Add GPUaaS catalog fixture and validation test, or document required adapter transformation.
Dashboard mutation model incompleteDashboard is useful, but operational teams may expect claim/status/review from UI later.Keep CLI source of truth; expand dashboard mutations slowly with CSRF/audit and parity tests.
Provider/session adapters are intentionally shallowGood boundary, but users need examples.Add shell/tmux/zellij/Codex-bridge examples without making provider management core.
Postgres adapter is compatibility-onlyMulti-user/shared operations may eventually need server DB.Keep SQLite as v1 runtime; define v2 Postgres runtime criteria separately.
Release maturity unclearGoReleaser exists, but first real release/tap path is still pending.Cut v0.1/v0.2 release, then add Homebrew tap once artifact layout settles.

Proposed Next Work Pack

Do not start by adding new features. Start with parity and documentation cleanup.

  1. Update Fairway README maturity

    • Make it clear what is implemented and what is not.
    • Avoid "not yet usable" if core commands are passing tests.
  2. Create GPUaaS exact config

    • Add examples/gpuaas-a-b-c-d-e-config.toml.
    • Use GPUaaS branch names and worktree conventions: agent/A-backend, agent/B-ui, agent/C-ops, agent/D-arch, agent/E-governance.
  3. Create GPUaaS parity runbook

    • Inputs: copied Agent_Work_Queue.yaml, optional queue DB snapshot, role branches, and representative dirty/clean worktrees.
    • Outputs: ready ordering comparison, git-check comparison, route-review comparison, packet comparison, merge-ready comparison.
  4. Add fixture tests for GPUaaS-critical behaviors

    • review routing,
    • evidence/review/handoff gates,
    • context/bugfix/watcher packet fields,
    • regression-pack validation,
    • state transition/block reason policy.
  5. Run Fairway against GPUaaS copy

    • Do not mutate the live GPUaaS queue first.
    • Use exported/copy data.
    • Record mismatches as Fairway tasks.

Recommendation

Fairway should become the reusable execution-control layer for GPUaaS agents, but GPUaaS should not switch until parity is proven.

The near-term goal is therefore:

document -> configure -> import copy -> compare -> fix parity gaps -> pilot in one lane

Only after that should GPUaaS replace the current Ruby/shell queue scripts with Fairway commands.