Skip to content

fix/review 2026 11 - #18

Merged
lluvr merged 9 commits into
mainfrom
fix/review-2026-11
Nov 7, 2026
Merged

lluvr merged 9 commits into
mainfrom
fix/review-2026-11

Conversation

@lluvr

@lluvr lluvr commented Nov 7, 2026

Copy link
Copy Markdown
Owner
  • Emit PreToolUse hook captures as additionalContext JSON
  • Keep stats views read-only and unify the leak rule
  • Run without GNU timeout on stock macOS
  • Make the README quickstart paste-safe
  • Harden CLI argument and settings handling
  • Keep captured data private and its output inert
  • Update the README test count
  • Say what the loop numbers are and propose how to measure the rest
  • Make the root docs standalone

lluvr added 9 commits November 6, 2026 19:29
Claude Code only adds a PreToolUse hook's stdout to the model's context
when it is a JSON object carrying hookSpecificOutput.additionalContext;
plain text goes to the debug log. Emit that shape, and log a surface
event only when captures were actually emitted.

Signed-off-by: lluvr <lovro.lucic@gmail.com>
stats --rejections/--preventions now surface with --no-log, so the
SessionStart hook no longer logs an event every session. stats
--evidence uses the --leaks strong rule (surface and fm both present
and equal), so an empty fm no longer matches an empty fm. The closure
rate is printed with its counts and marked self-attested.

Signed-off-by: lluvr <lovro.lucic@gmail.com>
The classifier, cma-pre and the SessionStart hook called timeout
directly; where it is missing they silently produced nothing. Add a
with_timeout helper that uses timeout, then gtimeout, then a python3
fallback that kills the process group on expiry.

Signed-off-by: lluvr <lovro.lucic@gmail.com>
Quote the --fm placeholder so the shell does not parse it as a
redirect, create ~/.local/bin before linking into it, and add a step
that verifies the PreToolUse hook fires.

Signed-off-by: lluvr <lovro.lucic@gmail.com>
Fail cleanly on a flag with no value, on a non-positive or non-numeric
--limit, and on an empty capture description. install-hook quotes the
hook paths it writes and refuses wrong-typed hooks sections instead of
raising a traceback.

Signed-off-by: lluvr <lovro.lucic@gmail.com>
Create a new data directory 0700 and new data files 0600, since they
hold conversation excerpts. Strip escape sequences and control
characters (keeping newline and tab) from captured text written to the
terminal or to hook output.

Signed-off-by: lluvr <lovro.lucic@gmail.com>
Signed-off-by: lluvr <lovro.lucic@gmail.com>
The README called cma stats --leaks the validation evidence that the
loop closes and called behaviour change the central claim, while
docs/ARCHITECTURE.md lists the outcome layer as aspirational. The
prevention, leak, and closure-rate numbers are counts of records the
user writes, so describe them that way: a new README section says
what each number is and what is not yet measured, and DESIGN,
ARCHITECTURE, and the cma-mcp README drop the matching claims.

docs/EVALUATION.md proposes the experiment that would measure the
claim: sessions with the PreToolUse hook on or off at random, repeat
misses of an already-captured failure shape as the outcome, what to
log, rough sample sizes, and the threats to validity.

Signed-off-by: lluvr <lovro.lucic@gmail.com>
Apply the approach of 5a37d21 to the rest of the repository's docs:
drop the named references to related projects from the README,
NOTICE, CITATION.cff, GOVERNANCE, DECISIONS, DESIGN, ARCHITECTURE,
and the pull request template. The fm tag is described as belonging
to whatever methodology the user practices, with no catalog named.

Remove the brand contact address. Security reports go through GitHub
private vulnerability reporting (cma-mcp README now points there, as
SECURITY.md already did); conduct reports go to the maintainer
through GitHub. The author website pointing at the brand blog is
removed from both CITATION.cff files; author and copyright names are
unchanged.

Signed-off-by: lluvr <lovro.lucic@gmail.com>
@lluvr
lluvr merged commit 59727d1 into main Nov 7, 2026
9 checks passed
@lluvr
lluvr deleted the fix/review-2026-11 branch November 7, 2026 11:15
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.

1 participant