Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .claude-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "catchup",
"version": "0.2.0",
"version": "0.2.1",
"description": "Summarize the agent messages you have not read, in plain ASD-STE100-style English. Run /catchup, type \"brief me\", or press the Catch up button.",
"license": "MIT",
"author": {
Expand Down
6 changes: 6 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,12 @@ All notable changes to this project are written here. The format follows

## [Unreleased]

## [0.2.1] - 2026-10-10

### Changed
- The README lists the hook that clears the summary after `/clear`, `/resume` and `/branch`.
- The release gate no longer writes the capability names out in one pattern, so a text scan does not read them as calls.

## [0.2.0] - 2026-10-10

### Changed
Expand Down
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -130,6 +130,7 @@ DONE 1 · DECIDED 1
- `session.start`: registers the `/catchup` command.
- `command.run`: opens the pane for `/catchup [N]`.
- `prompt.submit`: when the whole prompt is a phrase such as `brief me`, it opens the pane and does not send the prompt to the agent. Any other prompt passes through unchanged.
- `classic.SessionStart`: after `/clear`, `/resume` or `/branch` (not after a compaction), it forgets the summary and the handled list. It changes nothing else.
- `session.append`: counts new agent messages for the button. It changes nothing.
- `ui.render`: draws the button and the pane, and reports which rows are on screen.

Expand Down
15 changes: 12 additions & 3 deletions scripts/release-check.sh
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,21 @@ printf '%s\n' "$report"
# The README says the mod keeps the summary in memory only. The validator lists every capability the code
# calls, so this ties that claim to a check: no state, no store, no file, no network, no process.
printf '\n== memory only\n'
hit=''
for name in state store fs http process env; do
if printf '%s\n' "$report" | grep -F 'calls:' | grep -qF "\$.$name."; then
hit="$hit$name "
fi
done

if ! printf '%s\n' "$report" | grep -q 'calls:'; then
echo "FAIL: the validate report has no 'calls:' line, so the check cannot run"
failed=1
elif printf '%s\n' "$report" | grep -E 'state (reads|writes)|declares state|calls:.*\$\.(state|store|fs|http|process|env)\.' >/dev/null; then
echo "FAIL: the mod uses state, the store, files, the network or a process. Update the README privacy text or remove it."
printf '%s\n' "$report" | grep -E 'state (reads|writes)|declares state|calls:'
elif printf '%s\n' "$report" | grep -qE 'state (reads|writes)|declares state'; then
echo "FAIL: the mod uses state. Update the README privacy text or remove it."
failed=1
elif [ -n "$hit" ]; then
echo "FAIL: the mod calls these capabilities: $hit. Update the README privacy text or remove them."
failed=1
else
echo "ok: no state, store, file, network or process calls"
Expand Down
Loading