open-feature / open-feature/flagd
[DOCS] ADR for evaluation details
Nobody has claimed this yet.
- Dominant language
- Go
- Stars
- 997
- Forks
- 136
- Avg merge
- 4d 8h
- Merged PRs (30d)
- 11
Description
We need to add a retrospective ADR for the evaluation details based on the evaluation state.
It should be covered in an ADR, but can probably be reduced to a single comprehensive mermaid flow-chart, which covers how the evaluation details should be defined based on the evaluation flow. Particularly, the REASON should be captured:
- when a variant is defined, and no or empty targeting is specified, the
REASON=STATIC - when a targeting rule returned a variant, the
REASON=TARGETING_MATCH - when a targeting rule returns null, the
REASON=DEFAULTand the defaultVariant is returned - when there's an error in evaluation,
REASON=ERRORandERROR_CODE={some-error-code} - when a value is returned from CACHE,
REASON=CACHEsee caching details here; keep in mind this is only relevant for RPC mode - all error code behavior:
PROVIDER_NOT_READY,FLAG_NOT_FOUNDetc, and precisely what flows and states result in which errors
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by tracing the evaluation flow, including variant definition, targeting results, default fallback, errors, and RPC-mode cache behavior described in the issue. Use the linked caching details and enumerate the stated error codes and resulting states. Done means an ADR with a single comprehensive Mermaid flowchart covering each evaluation-detail and error path.
Written by the indexing model from the issue text.
Assessment
- Domain
- documentation
- Issue type
- Documentation
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100