From 29d4ae382d20df93ec53ce194d3d4ca261be6089 Mon Sep 17 00:00:00 2001 From: Aaron Silverman Date: Thu, 5 Nov 2026 23:24:07 -0500 Subject: [PATCH] test: expect GENERAL for roots of failed dependencies Pin errorCode GENERAL on the roots of the atomic missing-prerequisite, depth-limit and cycle cases in the dependent-flags suite, and document the rule: the root of a failed dependency returns the caller default with ERROR/GENERAL, while the failed prerequisite's own evaluation event keeps its specific error code. Co-Authored-By: Claude Opus 5.5 --- README.md | 6 ++++++ .../dependent-flags/cases/dependent-flags.json | 3 +++ 2 files changed, 9 insertions(+) diff --git a/README.md b/README.md index 00efad9..fd264e3 100644 --- a/README.md +++ b/README.md @@ -580,6 +580,12 @@ and `cases/` directory. |-------|-------------| | `dependent-flags` | Direct and transitive dependencies, short-circuiting, repeated prerequisites, failure propagation, depth limiting, and cycles | +In `dependent-flags`, when dependency evaluation fails (a reached prerequisite is +missing or has no assignment, the depth limit is exceeded, or a cycle is found), +the root returns the caller default with reason `ERROR` and error code `GENERAL`. +The failed prerequisite's own evaluation event keeps its specific error code, such +as `FLAG_NOT_FOUND` for a missing prerequisite. + ## Origin These fixtures originated in the Go SDK (`dd-trace-go`). This repository now diff --git a/evaluation-suites/dependent-flags/cases/dependent-flags.json b/evaluation-suites/dependent-flags/cases/dependent-flags.json index 44e92da..796bc8c 100644 --- a/evaluation-suites/dependent-flags/cases/dependent-flags.json +++ b/evaluation-suites/dependent-flags/cases/dependent-flags.json @@ -311,6 +311,7 @@ "flag": "dependent-atomic-error-root", "result": { "reason": "ERROR", + "errorCode": "GENERAL", "value": "atomic-default" }, "targetingKey": "dependent-atomic-error", @@ -323,6 +324,7 @@ "flag": "dependent-depth-three-root", "result": { "reason": "ERROR", + "errorCode": "GENERAL", "value": "depth-default" }, "targetingKey": "dependent-over-depth", @@ -335,6 +337,7 @@ "flag": "dependent-cycle-a", "result": { "reason": "ERROR", + "errorCode": "GENERAL", "value": "cycle-default" }, "targetingKey": "dependent-cycle",