Skip to main content

GPUaaS Parity Runbook

Use this before replacing GPUaaS queue scripts with Fairway. The goal is to prove behavior against a copied GPUaaS checkout and record every mismatch as a Fairway task.

Inputs

  • A disposable GPUaaS checkout or worktree. Do not run parity against the live queue first.
  • doc/governance/Agent_Work_Queue.yaml from GPUaaS.
  • Optional copy of .git/agent_queue/agent_queue.db for historical comparison.
  • examples/gpuaas-a-b-c-d-e-config.toml copied to .fairway/config.toml.
  • doc/governance/Workflow_Regression_Packs.yaml or examples/gpuaas-regression-packs.yaml for catalog validation.

The exact config mirrors a sibling worktree layout such as ../gpuas-A-backend, ../gpuas-B-ui, and so on: root = ".." and naming = "gpuas-{role}". For a fully isolated disposable parity run, change root to something like ../worktrees before running fairway worktree setup.

Setup

cd /path/to/gpuaas-copy
mkdir -p .fairway
cp /path/to/fairway/examples/gpuaas-a-b-c-d-e-config.toml .fairway/config.toml
fairway config validate
fairway db migrate --dry-run
fairway db migrate
fairway import doc/governance/Agent_Work_Queue.yaml --state-once
fairway parity artifact --catalog doc/governance/Workflow_Regression_Packs.yaml \
> .fairway/parity/fairway-parity-artifact.md

If the imported GPUaaS YAML uses fields Fairway does not yet understand, stop and capture the mismatch. Do not massage the source file until the missing mapping is written down.

Required Comparisons

BehaviorGPUaaS ReferenceFairway CommandPass Criteria
Queue validationmake queue-ready / agent_queue_validate.shfairway import ... --state-once and fairway --json readyInvalid roles, dependencies, task IDs, and metadata are rejected or rendered with equivalent operator clarity.
Ready orderingqueue-readyfairway --json readySame ready tasks per role, ordered by dependency completion, priority, and sequence.
Parity artifactmanual comparison notesfairway parity artifactShareable summary includes ready set, route samples, regression packs, health, sessions/worktrees, and evidence gaps.
Queue/git consistencymake queue-git-checkfairway git-check / fairway preflightSame role branch/worktree risks are visible before dispatch.
Claim and transitionsqueue-claim, queue-set-statusfairway claim, fairway set-statusDouble-claim loses atomically; blocked requires a reason; terminal gates behave as configured.
Evidence and merge readinessqueue store gatesfairway record evidence, fairway merge-readyEvidence-before-done and review/hand-off gates match GPUaaS policy.
Review routingqueue-route-reviewfairway route review --path ...Critical API, architecture, governance, security, billing, provisioning, terminal, CI, and node-agent paths route to the expected lane.
Packetsagent_context_packet.sh, bugfix_review_packet.sh, agent_watch_task.shfairway packet context, packet bugfix, packet watcherGenerated packets include goal, acceptance, history, evidence, root cause, owning layer, proof command, regression coverage, residual risk, success, and failure fields.
Regression packsworkflow_regression_packs.shfairway regression-pack validate <catalog>GPUaaS catalogs with per-environment blocking maps validate without adapter loss.
Coordinator tickorchestrator-tickfairway coordinator preflight, status, tickDispatch blockers, stale sessions, active side tracks, and ready work are all visible.
Dashboard usefulnessscript output/manual scansfairway dashboardReal GPUaaS task volume remains scannable by lane, status, stale sessions, checkpoints, watchers, and activity.

Evidence To Save

Save command output under a temporary parity artifact directory in the copied checkout:

mkdir -p .fairway/parity
fairway --json ready > .fairway/parity/fairway-ready.json
fairway --json git-check > .fairway/parity/fairway-git-check.json
fairway --json coordinator tick > .fairway/parity/fairway-tick.json
fairway --json parity artifact --catalog doc/governance/Workflow_Regression_Packs.yaml \
> .fairway/parity/fairway-parity-artifact.json
fairway regression-pack validate doc/governance/Workflow_Regression_Packs.yaml \
> .fairway/parity/fairway-regression-packs.txt

Record mismatches as Fairway tasks with fairway add or fairway spawn in the Fairway repo. GPUaaS should switch over only after the parity artifact set has no unexplained differences.