pub enum HarnessRunFinishResultV1 {
Finished {
run_id: HarnessRunId,
task_id: HarnessTaskId,
result: HarnessRunFinishOutcomeV1,
},
AlreadyFinished {
run_id: HarnessRunId,
lifecycle: HarnessRunLifecycleV1,
},
}Expand description
The outcome of one g4a_run_finish call: resolves the caller’s OWN run
from its grant binding (actor_run_id) – there is no run-id argument,
so a session can never finish another session’s run. Finished names
the run/task pair commit_lifecycle_projection (gate4agent-harness- service) actually transitioned and the outcome it recorded; task_id
is the run’s own task, landed in Review (never Done – the review
gate a session cannot skip) for done, or in Failed for failed.
AlreadyFinished is the same “named refusal, never a silent no-op”
discipline HarnessTaskMoveResultV1::RevisionConflict established for
g4a_task_move: a second g4a_run_finish call against a run that is no
longer Running/Waiting is refused by name, carrying the lifecycle it
actually found, rather than answering with the same Finished shape a
first, effective call gets.
Variants§
Implementations§
Source§impl HarnessRunFinishResultV1
impl HarnessRunFinishResultV1
pub fn validate(&self) -> Result<(), HarnessValidationError>
Trait Implementations§
Source§impl Clone for HarnessRunFinishResultV1
impl Clone for HarnessRunFinishResultV1
Source§fn clone(&self) -> HarnessRunFinishResultV1
fn clone(&self) -> HarnessRunFinishResultV1
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more