Skip to content

Latest commit

 

History

112 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Zigsyphus logo banner

A doomed LLM automaton stuck in a competitive-programming hellscape.

Attempt history · Prompt · Latest summary


The Myth of Zigsyphus

Every day at 13:37 UTC, GitHub Actions picks one Exercism Zig problem, sends it through OpenRouter's openrouter/free model router, runs zig test, and commits the result. Pass/fail is logged here and published on this website.

Attempt history: https://s04.github.io/zigsyphus/

The runner is a small Zig CLI. It asks Zigsyphus for one replacement source file, copies it into the exercise, and runs the official tests.

The project uses the MIT-licensed Exercism Zig practice bank. Difficulty is a small ladder: the first adaptive run starts at 1, a pass moves the next run up one level, and any non-pass moves it down one level, clamped between 1 and 9.

Each run has a full audit trail:

  • data/bronze/runs/: prompt, response metadata, selected problem, and writer log.
  • data/silver/attempts/: submitted solution.zig, attempt metadata, and deterministic test result.
  • data/gold/: runs.csv, summary.json, difficulty.json, and dashboard-ready scoring history.

The prompt lives in .github/workflows/daily.yml under ZIGSYPHUS_SYSTEM_PROMPT. The logs also keep the routed OpenRouter model, token counts, reported cost, retry state, selected exercise, pass/fail counts, and final score.

Archived solutions were revalidated with isolated Zig caches on 2026-09-02 after a shared-cache bug was found. Corrected result files retain their previous verdicts under revalidation.previous.

Local Runs

Run the repository, dashboard-link, and deterministic good/bad control checks:

./check.sh

Use the pinned local Zig 0.16 binary when present:

./.tools/zig-0.16.0/zig version

Install it locally on Apple Silicon macOS:

mkdir -p .tools
curl -L --fail -o .tools/zig-0.16.0.tar.xz https://ziglang.org/download/0.16.0/zig-aarch64-macos-0.16.0.tar.xz
tar -C .tools -xf .tools/zig-0.16.0.tar.xz
mv .tools/zig-aarch64-macos-0.16.0 .tools/zig-0.16.0
rm .tools/zig-0.16.0.tar.xz

Fixture good run:

ZIGSYPHUS_DATA_ROOT=/tmp/zigsyphus-good \
./.tools/zig-0.16.0/zig build run -- daily --mode fixture-good --problem-slug leap --min-difficulty 1 --max-difficulty 9 --repair-attempts 0 --skip-readme

Fixture bad run:

ZIGSYPHUS_DATA_ROOT=/tmp/zigsyphus-bad \
./.tools/zig-0.16.0/zig build run -- daily --mode fixture-bad --problem-slug leap --min-difficulty 1 --max-difficulty 9 --repair-attempts 0 --skip-readme

Live OpenRouter run:

OPENROUTER_API_KEY=... ./.tools/zig-0.16.0/zig build run -- daily --mode live

Automation

The daily workflow runs at 13:37 UTC and can also be started manually. It picks the current adaptive difficulty unless a manual difficulty range is supplied, writes one attempt, tests it, updates this README table, commits the audit log, and deploys the Pages dashboard.

Required GitHub secret:

  • OPENROUTER_API_KEY

Daily Attempts

Date Exercise Difficulty Model Status Passed Score Attempt
2026-09-25 Rectangles (rectangles) 7 openrouter/free pass/compiled 15/15 100 180221Z-r03-rectangles
2026-09-25 Rectangles (rectangles) 7 openrouter/free compile_error/compile_error 0/15 10 180221Z-r02-rectangles
2026-09-25 Rectangles (rectangles) 7 openrouter/free compile_error/compile_error 0/15 0 180221Z-r01-rectangles
2026-09-25 Rectangles (rectangles) 7 openrouter/free compile_error/compile_error 0/15 0 180221Z-r00-rectangles
2026-09-24 Say (say) 6 openrouter/free pass/compiled 23/23 100 175521Z-r01-say
2026-09-24 Say (say) 6 openrouter/free compile_error/compile_error 0/23 0 175521Z-r00-say
2026-09-23 Wordy (wordy) 7 openrouter/free compile_error/compile_error 0/28 10 175537Z-r07-wordy
2026-09-23 Wordy (wordy) 7 openrouter/free compile_error/compile_error 0/28 10 175537Z-r06-wordy
2026-09-23 Wordy (wordy) 7 openrouter/free fail/compiled 27/28 98 175537Z-r05-wordy
2026-09-23 Wordy (wordy) 7 openrouter/free compile_error/compile_error 0/28 10 175537Z-r04-wordy
2026-09-23 Wordy (wordy) 7 openrouter/free compile_error/compile_error 0/28 10 175537Z-r03-wordy
2026-09-23 Wordy (wordy) 7 openrouter/free compile_error/compile_error 0/28 10 175537Z-r02-wordy
2026-09-23 Wordy (wordy) 7 openrouter/free compile_error/compile_error 0/28 0 175537Z-r01-wordy
2026-09-23 Wordy (wordy) 7 openrouter/free compile_error/compile_error 0/28 0 175537Z-r00-wordy
2026-09-22 Palindrome Products (palindrome-products) 8 openrouter/free compile_error/compile_error 0/15 0 174347Z-r03-palindrome-products
2026-09-22 Palindrome Products (palindrome-products) 8 openrouter/free compile_error/compile_error 0/15 10 174347Z-r02-palindrome-products
2026-09-22 Palindrome Products (palindrome-products) 8 openrouter/free compile_error/compile_error 0/15 0 174347Z-r01-palindrome-products
2026-09-22 Palindrome Products (palindrome-products) 8 openrouter/free compile_error/compile_error 0/15 0 174347Z-r00-palindrome-products
2026-09-21 Binary Search Tree (binary-search-tree) 7 openrouter/free pass/compiled 12/12 100 185239Z-r04-binary-search-tree
2026-09-21 Binary Search Tree (binary-search-tree) 7 openrouter/free compile_error/compile_error 0/12 10 185239Z-r03-binary-search-tree

About

The Myth of Zigisyphus: a daily LLM Zig exercise bot

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages