Skip to content

Switch to AGPLv3; stage-read audit stops counting search patterns - #5

Merged
BPMData merged 2 commits into
mainfrom
ccr-2a379c18-cjzu4q
Oct 26, 2026
Merged

BPMData merged 2 commits into
mainfrom
ccr-2a379c18-cjzu4q

Conversation

@BPMData

@BPMData BPMData commented Oct 26, 2026 •

Copy link
Copy Markdown
Owner

Two changes:

1. License: MIT → AGPLv3

  • LICENSE is now the GNU Affero General Public License v3.0. I used GitHub's template text and checked it word for word against SPDX's copy; the only difference is http vs https in links.
  • README, License section:
    • One plain-English line on what AGPLv3 means.
    • A note that copies taken before Oct 26, 2026 keep MIT.
    • Bryan's sentence: "Pieces you make with this (their words, data, pictures and music) are yours to license however you like; the code inside stays AGPLv3."
    • The names-and-logos exception now covers PLTW and the CSE loop's tools as well as the Academies.
  • CONTRIBUTING: contributions now come in under AGPLv3.
  • Every commit in the history is Bryan's or Claude's, so there are no outside contributors to ask.

2. Stage-read audit fix

The CSE hallway loop's audit flagged one read before its gate. It was a false positive: the session ran a grep on its own access.jsonl for the text "gen/\|living/", and the checker matched those words inside the command.

tools/check_stage_reads.py now splits each Bash command into words with shlex:

  • A word with regex characters (\ | ^ $) is a search pattern, so it's skipped.
  • An absolute path like /Users/…/EOMD/gen/API.md counts from its repo-relative part, gen/API.md.
  • A path inside the piece's own folder is never counted.

I tested it on 9 cases, covering real peeks and harmless commands, and on the real CSE log, which now shows 0 early reads.

🤖 Generated with Claude Code

https://claude.ai/code/session_013bbJPxu1YmbvhsfabqrUo9

The CSE hallway loop's audit flagged one read: a grep of its own access log
for the text "gen/\|living/". Bash commands are now split into words
(shlex); search patterns with regex characters are skipped, and absolute
paths count from their repo-relative part. Tested on 9 cases and the real
CSE log (0 restricted reads before the gate).

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_013bbJPxu1YmbvhsfabqrUo9
LICENSE is now the GNU Affero General Public License v3.0 (GitHub's template
text, checked word for word against SPDX's). README's License section
explains it in one line, says copies taken before Oct 26 keep MIT, and adds:
pieces you make with this are yours to license however you like; the code
inside stays AGPLv3. The names-and-logos exception now covers PLTW and the
CSE loop's tools as well as the Academies. CONTRIBUTING: contributions come
in under AGPLv3.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_013bbJPxu1YmbvhsfabqrUo9
@BPMData BPMData changed the title Stage-read audit: stop counting search patterns as reads Switch to AGPLv3; stage-read audit stops counting search patterns Oct 26, 2026
@BPMData
BPMData merged commit 2bec82b into main Oct 26, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants