Skip to content

Runtime test errors must never lose typed terminal state #185

Description

@AntoineToussaint

Production evidence

A real Go agent failure during module preparation calls RuntimeWrapper.TestError. The response contains only TestStatus_ERROR; TestRunResult and counts are absent, so protobuf consumers observe TestRunResult_UNKNOWN. Mind cannot distinguish an environment block from an unclassified transport failure.

The Go environment classifier also inspects captured process output but not the pre-execution error text, so malformed go.mod failures raised during dependency preparation lose the module-broken reason.

Required generic fix

  • TestError and TestErrorf return a complete typed terminal response: status ERROR, result ERRORED, zero counts, and failure details.
  • Go environment classification considers both captured output and the runner error.
  • Real Go agent test preserves env-blocked (module-broken) for malformed module metadata.

Definition of done

  • Core tests lock the current response contract.
  • Core full CI passes.
  • Service-go real runtime and Mind Gateway unhappy-path fixtures pass unchanged.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions