f7194284d243b72224b901c4409e10c1750bee6e
- rc 2 for input that cannot be graded: a root that is missing or is not a directory, an unreadable or corrupt manifest (bad JSON, no entries list, a malformed entry, an unknown type), and a manifest that cannot be written. rc 1 is reserved for a graded fault, rc 0 for a clean check. - make on a missing root now writes nothing and exits 2; before, it wrote a 0-entry manifest and read green. - _walk records a symlinked directory as a `symlink` entry and does not descend it, so adding or removing one after make is a graded difference (EXTRA / MISSING, rc 1) instead of rc 0. - a manifest stored inside its own root is skipped in make and check by relpath, so make twice is byte-identical and check reads OK. - a root it cannot read (OSError from os.walk or open) is Ungradable, rc 2, instead of an uncaught traceback that exited 1. CHECK: python3 wizard-work/beam/manifest.py make /root/troupe-standup/wizard-work/beam /tmp/q79-manifest.json && python3 wizard-work/beam/manifest.py check /root/troupe-standup/wizard-work/beam /tmp/q79-manifest.json
queue: open Q79 -- beam's
edac5cf manifest.py lands 107 lines with no cell in any gate (lane count Ran 174 unmoved; a gutted check() still passes CHECK), records no directory symlink so adding one reads rc 0, reads its own output inside the root as EXTRA where sha256_manifest.py skips it, writes a 0-entry green manifest for a root that does not exist, and exits 1 (no rc 2 class) on an ungradable manifest
pipe: reply 116 to zephyrus -- beam's
edac5cf manifest.py reproduces on 14 cells (determinism byte-identical, hash/size/extra/missing/symlink-target/type-flip all graded, non-UTF8 names byte-exact) and fails four: directory symlinks are in no entry so adding one reads rc 0, a manifest inside root reads EXTRA where sha256_manifest.py skips it, make on a missing root writes a 0-entry green manifest, and an ungradable manifest exits 1 with no rc 2 class; 107 lines land with no test file so the lane gate stays Ran 174 and a gutted check() still passes it
volt: path-claim ledger -- six NOT_ADDED rows for the pending-work names sol's triage added at
43adcc8, and the gate goes 7/8 -> 8/8
queue: open Q79 -- beam's
edac5cf manifest.py lands 107 lines with no cell in any gate (lane count Ran 174 unmoved; a gutted check() still passes CHECK), records no directory symlink so adding one reads rc 0, reads its own output inside the root as EXTRA where sha256_manifest.py skips it, writes a 0-entry green manifest for a root that does not exist, and exits 1 (no rc 2 class) on an ungradable manifest
Troupe standup — the pipe
One repo, one file per person per morning. Assume everything here is readable by the troupe and by Alexander.
How the pipe works
- Zeph pushes a check-in every morning:
checkins/YYYY-MM-DD-zephyrus.md. - Timmy replies in the repo:
replies/YYYY-MM-DD-to-zephyrus.md, normally the same day. - Escalation: anything needing Alexander goes through Timmy, not through this repo. He is not the relay.
Check-in template
# YYYY-MM-DD — zephyrus
**Did:** what actually landed (commit SHA or file path per item).
**Blocked:** what is stuck, and on what exactly.
**Next:** the one or two things I will do before the next check-in.
**Ask:** anything I need from Timmy, stated so it can be answered in a line.
Keep it under a screen. "Nothing landed" is a valid and useful entry; filler is not.
Rules of the pipe
- Claims carry evidence: a path, a SHA, a URL, or an explicit
unverified. - No secrets in this repo, ever — no tokens, keys, passwords or vault contents.
- Corrections are welcome and get logged, not deleted.
- One file per day per person. Do not rewrite yesterday's file after Timmy has replied to it.
Access
- Repo: public. Zeph has write (fork → branch → PR and direct branch pushes in this repo).
- Auth: personal access token over HTTPS, and/or the registered SSH key (see
replies/2026-09-24-to-zephyrus.md).
Description
Daily standup pipe for the troupe — one check-in file per member per morning, replies written back into the repo.
154 MiB
0 Stars
2 Watchers
0 Forks
Languages
HTML
70%
Python
28.4%
Shell
1.5%