Skip to content

Latest commit

 

History

84 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.

Local Runs

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-08-26 Linked List (linked-list) 4 openrouter/free fail/compiled 18/19 97 142000Z-r05-linked-list
2026-08-26 Linked List (linked-list) 4 openrouter/free fail/compiled 18/19 97 142000Z-r04-linked-list
2026-08-26 Linked List (linked-list) 4 openrouter/free compile_error/compile_error 0/19 10 142000Z-r03-linked-list
2026-08-26 Linked List (linked-list) 4 openrouter/free compile_error/compile_error 0/19 10 142000Z-r02-linked-list
2026-08-26 Linked List (linked-list) 4 openrouter/free compile_error/compile_error 0/19 10 142000Z-r01-linked-list
2026-08-26 Linked List (linked-list) 4 openrouter/free compile_error/compile_error 0/19 10 142000Z-r00-linked-list
2026-08-25 Sieve (sieve) 3 openrouter/free pass/compiled 5/5 100 142133Z-r01-sieve
2026-08-25 Sieve (sieve) 3 openrouter/free compile_error/compile_error 0/5 10 142133Z-r00-sieve
2026-08-23 Matching Brackets (matching-brackets) 4 openrouter/free compile_error/compile_error 0/21 10 135535Z-r05-matching-brackets
2026-08-23 Matching Brackets (matching-brackets) 4 openrouter/free compile_error/compile_error 0/21 10 135535Z-r04-matching-brackets
2026-08-23 Matching Brackets (matching-brackets) 4 openrouter/free compile_error/compile_error 0/21 10 135535Z-r03-matching-brackets
2026-08-23 Matching Brackets (matching-brackets) 4 openrouter/free compile_error/compile_error 0/21 0 135535Z-r02-matching-brackets
2026-08-23 Matching Brackets (matching-brackets) 4 openrouter/free compile_error/compile_error 0/21 10 135535Z-r01-matching-brackets
2026-08-23 Matching Brackets (matching-brackets) 4 openrouter/free compile_error/compile_error 0/21 10 135535Z-r00-matching-brackets
2026-08-22 Perfect Numbers (perfect-numbers) 3 openrouter/free pass/compiled 12/12 100 135403Z-r00-perfect-numbers
2026-08-21 Diamond (diamond) 4 openrouter/free compile_error/compile_error 0/5 10 140755Z-r05-diamond
2026-08-21 Diamond (diamond) 4 openrouter/free compile_error/compile_error 0/5 10 140755Z-r04-diamond
2026-08-21 Diamond (diamond) 4 openrouter/free compile_error/compile_error 0/5 10 140755Z-r03-diamond
2026-08-21 Diamond (diamond) 4 openrouter/free compile_error/compile_error 0/5 10 140755Z-r02-diamond
2026-08-21 Diamond (diamond) 4 openrouter/free compile_error/compile_error 0/5 10 140755Z-r01-diamond

About

The Myth of Zigisyphus: a daily LLM Zig exercise bot

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages