Assistant: codex Assistant-Model: gpt-5.6-sol Assistant-Session: 01a0233b-178d-7162-b92f-31a31ea8ca9b
1.5 KiB
Channel contract
A channel translates an external invocation into profile-driven gateway input; it does not select a rein class or execute a provider itself.
@dataclass
class GatewayInvocation:
harness_profile: str
repo: str
title: str
description: str
actor: str = "agt"
project: str = "glas-harness"
report_to_hub: bool = True
CLIChannel is the current implementation. The CLI requires
--harness-profile <id[@version]>; the old sandbox-only input is removed
because it could not identify the rein, model route, tool policy, or contract
revision. Channels may obtain a profile choice from their own approved
configuration, but must pass it explicitly and must surface resolution refusal
to their caller.
Channels pass actor as a governed sandbox consumer type: adm, agt, or
atm. A queue's concrete worker_id is not an actor and remains upstream
ownership metadata. For example, a worker named rein-aharness@railiance01
invoking ordinary governed agent work passes actor="agt"; it does not copy
its worker id into the actor field.
The channel renders the full direct GatewayResult. State Hub receives only
the compact ExecutionEvidence subset.
Adding a channel
Implement parse_invocation and render_result, then call run_execution
with an ExecutionRequest. Carry any assignment/role/duty/goal/resource
references supplied by the upstream workforce system. Do not duplicate profile
resolution, sandbox coordination, leadership decisions, or rein construction in
the channel.