-
Notifications
You must be signed in to change notification settings - Fork 0
Creating a scene
Add a new folder to this repository. The Yanjú CLI does not ship scene files; it reads index.yaml and fetches that folder.
The harness never imports scenario Python and never assumes FastAPI or Nginx. Any stack that Compose can run is fine.
Folder name equals scenario.yaml name and the index.yaml id.
scenario.yamldocker-compose.yaml- every path listed in
workspace.copy -
eval/pytest that readsYANJU_BASE_URL(skip the module if that env var is unset)
-
chaos/pluschaos.commandin the manifest -
docker-compose.k6.yamlandload/ - extra images used only as build context (not copied)
Do not list eval/, chaos/, load/, docker-compose.k6.yaml, or images/ in workspace.copy.
-
name,title,summary -
brief.problem,brief.outcome imagesworkspace.copy-
compose.file,compose.project health.serviceports-
verify.base_url(and optionalverify.timeout_sec) - optional
chaos.command
Also add a folder README.md with the title, summary, problem, expected outcome, and:
yanju init <id>
yanju playDo not list README.md in workspace.copy. Init still generates the candidate README.
brief.problem, brief.outcome, index.yaml summary, and the folder README state the symptom and the desired HTTP outcome only. Do not name the root cause.
Avoid tokens such as: N+1, JOIN, prefetch, connection leak, finally, OOM, 137, TTL, lock, stampede, poison, NACK, DLQ, public key, private key, volume.
Hidden tests talk to YANJU_BASE_URL. They never read candidate source, Docker inspect, or SQL. Any valid fix that restores the HTTP behavior (and latency under load, if you assert it) passes.
Give the scene its own compose.project and host port so leftover stacks do not collide with other scenes.
Append a row to index.yaml and a one-line bullet to this repo’s README.md.
- Folder name matches
nameandid - Copy paths exist and exclude hidden prefixes
- Brief, summary, and folder README have no spoilers
- Folder
README.mdexists and is not inworkspace.copy - Unique compose project and host port
- CLI layout tests updated if the suite asserts catalog ids