Skip to content

0.8.1

Choose a tag to compare

@emeraldleaf emeraldleaf released this 09 Oct 02:17
· 713 commits to main since this release
606a6b0
  • The Claude Code hooks run an okl whose path contains a space (#140). Both hooks cut
    the path to okl at its first space, so an okl in a virtualenv under a project folder
    with a space in its name, or installed under a folder like Application Support, could
    not be run. With no other okl on PATH, the prompt hook then blocked every prompt,
    blaming a file that existed, and the Stop hook skipped its question without saying so.
    Both now keep the path whole, as the pre-push hook already did. A pinned
    <python> -m okl is used only if that python can still import okl, so a venv whose okl
    was uninstalled is skipped instead of run; with that form pinned, the check adds about
    60 ms to each prompt and each stop. OKL_BIN and okl_bin now take only what
    okl init writes, as the pre-push hook already did: a path to okl, or
    <python> -m okl.
    A launcher with arguments, such as uv run okl, used to be split
    into words and now is not; put it in a script and point OKL_BIN at that.
  • The Stop hook, /record and the encoding-loop skill no longer promise a gate a repo
    may not have.
    They said a drift gate "goes red" when a lesson's code changes, which
    was false in a repo set up with --no-git-hook and no --ci. They now say what
    happens everywhere: the briefing and okl drift mark the lesson STALE until its check
    passes again, and a drift gate, where the repo has one, fails. The README and the guide
    said a lesson stays red "until someone re-runs" its check; they now say until it passes,
    since a failing re-run leaves it red, or until the code is put back as it was when it
    passed (drift compares content).