Add failure scenarios: memory leak/OOM, retry storm, clock skew

Open Beginner friendly
#9 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
2/5
Estimated time
Half a day
Newbie friendliness
82/100
Issue type
Feature
Clarity
Clearly specified
Activity status
Quiet
Tech stack
python

Research direction

Read an existing scenario in backend/app/seeds/scenarios.py and the helpers in backend/app/seeds/builder.py. Choose one suggested failure mode, then run the relevant eval flow if available to verify the fixed timestamps, causal story, plausible decoy, and ground-truth root cause. Done means one reproducible scenario is added and eval.py can score it.

Written by the indexing model from the issue text.

Description

enhancement good first issue help wanted

From the "nice-to-haves" list in FUTURE.md:

More scenarios (memory leak / OOM, retry storm, clock skew, partial outage).

Scenarios today are the main way to exercise the tool, and there are only a handful. Each new one makes the eval harness more meaningful and gives the demo more range.

This is a good first contribution: it is data and builder code only, needs no frontend work, and needs no ANTHROPIC_API_KEY to write (only to run the analysis at the end).

Where

backend/app/seeds/scenarios.py, with helpers in backend/app/seeds/builder.py. Follow an existing scenario as a model.

What makes a good scenario
  • A real causal story. The spans and logs should let a careful engineer reach the right answer, so the tool can be judged on whether it does.
  • A plausible decoy. A failure with exactly one suspicious signal is not interesting; good incidents have a red herring.
  • Pinned timestamps. Use the fixed base epoch like the existing scenarios — reproducibility is deliberate.
  • A ground-truth root cause, so eval.py can score against it.
Suggested, pick one

memory leak / OOM · retry storm · clock skew · partial outage · connection-pool exhaustion · cache stampede

One scenario per PR, please — easier to review, and easier to discuss whether the causal story reads correctly.

Dominant language
Python
Stars
2
Forks
1
Avg merge
8h 8m
Merged PRs (30d)
3

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from naamanu/causality

All issues in naamanu/causality

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.