fix: align broker acquirejob payload with official runner
Merged
BN
3mo ago+967+967+012345678901234567890123456789-410-410-012345678901234567890123456789
Aligns aksh broker job payload serialization and server metadata with actions/runner v2.335.1. Adds strict scenario replay and schema validation for scenario 07. Verification: protocol codec tests, server lib tests, runner-watch replay/schema tests, cargo fmt --all --check, and strict scenario 07 conformance pass.
Summary by cubic
Aligns the /broker/{n}/acquirejob response with the official GitHub Actions runner v2.335.1 so conformance scenario 07 (step failure) passes with strict schema checks. Also adds scenario replay metadata and schema normalization to keep protocol fidelity tight.
-
Bug Fixes
@aksh-gha-protocol: Matched the runner’s wire contract (renamedmaskHints→mask; addedjobName,lockedUntil,billingOwnerId,fileTable,defaults,environmentVariables,snapshot; expandedplanandtimeline; emitjobContainer/jobServiceContainers/jobOutputsas explicit nulls;ServiceEndpointnow usesisReady;PipelineContextDatasupportsNulland always emits tagged shapes; step JSON now includesname,continueOnError,timeoutInMinuteswith runner-compatible nulls and omits emptyenvironment).@aksh-gha-parser: Populated runner variables and default regex-based mask hints; enrichedcontextData(github,inputs,job,matrix=null,needs,strategy,vars); setplan.planType="actions"plus timeline fields; added endpoint data (ConnectivityChecks,GenerateIdTokenUrl,ServerId,ServerName,isReady).@aksh-runner-server: EchoedbillingOwnerIdand setrequestId=0on acquire; filled GitHub context (workflow_ref,workflow_sha,repositoryUrl, ref metadata); setfileTableand job context extras; injectedgithub_token,system.github.results_endpoint, andsystem.orchestrationId.@aksh-gha-protocol+ server: AddedWorkflowSubmission.workflow_path; webhook sets it so the job reflects the real workflow location.
-
New Features
@runner-watch: Replays scenario 07 using the checked-in workflow and validates schemas deterministically (array-union ordering, context decoding, and targeted schema-diff detection for acquirejob).- Added
CONFORMANCE-07-CONTEXT.mdwith gaps, approach, and verification steps to keep the protocol aligned.