🟡 Outcome by cohort | Adventure 04: Intermediate

The trial is widening. Subjects from outside the lab’s local population are getting the wrong reading on their chart, and the lab director just walked in with a stack of complaint forms — she wants the audit log to tell her, after the fact, exactly which vision_state the lab recorded for which subject. Your job: populate all three OpenFeature evaluation-context layers (global, transaction, invocation) on the Spring Boot lab, register a custom audit Hook, and prove the lab can target the right reading per cohort — of course without setup headache again.

:brain: What You’ll Learn

  • OpenFeature’s three evaluation-context layers — global, transaction, invocation — and the precedence rule between them (invocation > transaction > global)
  • Spring HandlerInterceptor for per-request context, including why a ThreadLocalTransactionContextPropagator is the right primitive for Servlet-based apps
  • Authoring your own OpenFeature Hook — cross-cutting behaviour (audit logging today, OpenTelemetry tracing tomorrow) without modifying every flag-evaluation call site
  • How a fixed PII-safe attribute allowlist keeps audit logs honest

:alarm_clock: Deadline

Tuesday, 26 May 2026 at 23:59 CET

:information_source: You can still complete the challenge after this date, but points will only be awarded for submissions before the deadline.

:rocket: Get Started

:backhand_index_pointing_right: Start the Challenge

:speech_balloon: Discussion

Share your solutions, your questions, and the cohort attribute you forgot to clear in afterCompletion (it’s always one of them). Looking forward to seeing how you wire the contexts together.


Other levels

  • :green_circle: Beginner: Stand up the lab — already live
  • :red_circle: Expert: Phase 3 — read the chart (coming soon)
3 Likes

Intermediate Challenge Accepted and Completed!! :smiley:
These challenges are getting more fun with each new one. I’m learning many in-depth things about OSS and Observability.

--- CERTIFICATE START ---
Adventure: 04-blind-by-design
Level: intermediate
User: Harithsa, Vishruth
Repo: theharithsa/open-ecosystem-challenges
Date: Tue May 19 04:30:36 AM UTC 2026
Url: https://github.com/theharithsa/open-ecosystem-challenges/commit/9fc99aa
--- CERTIFICATE END ---

I encountered one issue when pushing the final changes to GitHub. The application generates an app.log file, which needs to be added to the .gitignore file before committing the changes to Git. Otherwise, the ./verify.sh script incorrectly reports uncommitted changes in the repository.

2 Likes