Repository navigation
docs(privacy): say what auto-capture copies, tool by tool, in every project (#737, slice 4) - #968
Conversation
…roject (#737, slice 4) PRIVACY.md listed the CORTEX_CAPTURE_MODE switch but not what a captured tool call copies. It now names, per tool group, what reaches the store (response, first 200 characters of a Bash command, or only the path and pattern of Read/Glob/Grep), the 3000-character artifact threshold, the absence of a per-project exclusion and of personal-data redaction, and the artifact a capture refused after hand-over can leave behind. tests_py/hooks/test_capture_privacy_disclosure.py reads the tool lists and limits from that paragraph and drives the real process_event against them. Refs #737 Co-Authored-By: Claude Opus 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_018kyZYtGV7jEBUYDhT7Dh6w
Codex Review Summary: ✅ CompletedThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: c79e53f5c3
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
…every project (#737, slice 4)
|
Claude finished @cdeust's task in 2m 44s —— View job Review of PR #968 (review 1 of 3) is done
There are no Blockers. I checked every claim in the PRIVACY.md paragraph and the CHANGELOG entry against the hook code, and none is false about security or behaviour. Three wording Notes are posted, none needed before merge. I did not run the test suite. Verdict: approve |
Review 1 of 3 — PR #968 (head
|
|
Les trois notes de la revue 1 restent hors de cette PR, conformément à la règle de revue (ADR-1119 : on ne pousse que sur un Blocker). Elles sont exactes, et je les reporte sur #737 pour la prochaine tranche documentaire : Write et MultiEdit stockent le JSON complet de la réponse ; une commande dont la sortie fait moins de 50 caractères n'est pas capturée du tout ; les outils hors des trois listes ne sont jamais capturés. Generated by Claude Code |
…973) * docs(agents): state the CI contract every agent and routine follows The scheduled routines were written before the review contract: on 2026-11-10 they measured branches against the main branch and rebased them with a forced push, commented on approved pull requests (#968) and opened pull requests while another was in flight (#971, #972). Their prompt tells them to read CLAUDE.md and docs/ and to apply the repository's standards, so the rules "Review rounds" does not hold yet are written next to it, and both are said to win over a less restrictive routine prompt. Co-Authored-By: Claude Fable 5.2 <[email protected]> Claude-Session: https://claude.ai/code/session_018kyZYsWnKSjpX4oNV19PCF Signed-off-by: Claude <[email protected]> * docs(agents): rule 1 names the two merges the verdict does not decide Notes of review 1 of #973, taken in one push because that review's verdict cannot be read by the resolver (its comment does not link the run, fixed for later reviews by ADR-1130, #975): the low-risk Dependabot merge and the "do not merge" title, and what a pull request cut down after its third review waits for. Co-Authored-By: Claude Fable 5.2 <[email protected]> Claude-Session: https://claude.ai/code/session_018kyZYsWnKSjpX4oNV19PCF Signed-off-by: Claude <[email protected]> --------- Signed-off-by: Claude <[email protected]> Co-authored-by: Claude <[email protected]>
Summary
Tranche 4 de #737 (proposition 4, documentation).
PRIVACY.mdnommait l'interrupteurCORTEX_CAPTURE_MODEmais pas ce que copie un appel d'outil capturé. Le paragraphe ajouté sous What data Cortex processes le dit outil par outil, d'aprèsmcp_server/hooks/post_tool_capture.pyet_capture_mode.pysurmain:_MIN_OUTPUT_LENGTH), plus le chemin édité ou les 200 premiers caractères de la commande Bash (_reference_line) ;_LIGHT_VALUE_TOOLS). C'est une précision par rapport au corps de l'issue, qui parle de sortie deReadcopiée : le code ne la copie pas ;GIST_BUDGET), un gist en base et le texte complet dans~/.claude/methodology/artifacts/;Refs #737 (pas
Closes: les tranches balayage, exclusion par projet, purge par répertoire et nettoyeur optionnel restent ouvertes).Type of change
Test plan
tests_py/hooks/test_capture_privacy_disclosure.py(nouveau, 6 tests) : lit les listes d'outils et les limites dans le paragraphe de PRIVACY.md, les compare aux constantes du hook, et passe de vrais événements àprocess_event(Read sans contenu, motif Grep copié, données personnelles stockées telles quelles, artefact + gist au-delà de 3000 caractères, troncature de la commande à 200).200par150dans PRIVACY.md fait échouer 1 test (vérifié, puis remis).pytest tests_py/hooks/test_capture_privacy_disclosure.py tests_py/hooks/test_post_tool_capture.py: 20 passed.python scripts/check_craftsmanship.py: OK.python scripts/check_doc_claims.py: OK.ruff check/ruff format --checksur le fichier ajouté : OK.Audit notes
uv.lock: téléchargement de torch refusé par le proxy) ; tests lancés avec pydantic/numpy installés à la main.Reviewer checklist
### Changed).Generated by Claude Code