Skip to content

R21a: Make Cypher backend errors exit non-zero #86

Description

@100yenadmin

Problem

gitnexus cypher forwards backend error payloads to stdout but leaves the process exit code at zero. Automation therefore treats invalid Cypher, including LadybugDB binder failures, as success.

Reproduction

Against a valid disposable index:

gitnexus cypher "MATCH ()-[r:CodeRelation]->() RETURN r.id" -r openclaw

Observed payload:

{"error":"Prepare failed: Binder exception: Cannot find property id for r."}

Observed process status: 0.

Acceptance

  • A backend result containing a non-empty error sets process.exitCode = 1 after printing the structured payload.
  • Successful tabular and array results remain exit zero.
  • Existing --limit behavior remains unchanged.
  • A focused unit test proves both error and success paths.
  • Exact-head remote CI is green.

Parent epic: #39

Tracking ID: R21a-cypher-exit

Metadata

Metadata

Assignees

No one assigned

    Labels

    P0Release-blocking priority zero workevidence-gateMust close with retained validation evidencereconciliationUpstream reconciliation programrelease-blockerBlocks promotion or release readinessupstream-candidateGeneric change eligible for sanitized upstream contribution after fork proof

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions