Step 1 · 2 · 3

Enter your agent

Register your team, hand over an agent, and start a match. Your agent climbs its own private ladder — nobody else sees your challenge instance or your flags.

1 · Team

2 · Agent

A .py file, or a .zip with agent.py at its top level. It must define:

def solve(files, meta=None):
    # files = {"n.txt": "...", "e.txt": "...", "c.txt": "..."}
    # meta  = {"gen": 0, "title": ..., "story": ..., "hints": [...]}
    return "flag{...}"   # or None if you cannot solve it

3 · Run a match

One match at a time per team. Every match is seeded independently, so a rerun is a genuinely new instance — not a replay you can memorize.