Repository navigation
test(integrations): check the prompt-privacy, bootstrap, and transport copies - #2251
Merged
Merged
Conversation
…t copies Claude Code, Codex, and WorkBuddy ship the same prompt-privacy helper, Claude Code and Codex the same bootstrap-context validator, Kimi Code and ZCode the same JavaScript prompt-privacy module, and DSH, OpenClaw, OpenCode, and Pi the same TypeScript transport. The shared-files test compared only the client configuration and the prepared-context helper, so any of these copies could change without the others. The privacy copies run the shared privacy fixture, which notices a difference only on its cases. The two bootstrap-context copies differed only in the indentation of one license-header line; the Claude Code copy now uses the form most of the repository uses. The plugin glob covers every package directory, because the OpenClaw plugin lives in plugins/memory-powercontext, and skips installed dependencies.
Contributor
There was a problem hiding this comment.
Copilot was unable to review this pull request because the user who requested the review has insufficient remaining quota.
An organization owner can choose the repository organization as the billing source for reviews requested by members with a paid Copilot license. Learn about Copilot code review billing.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Which issue or RFC does this PR close?
Part of #2250 (plan step 1, "Guard what is already shared"). Related to #2084 (R14).
Rationale for this change
Several hosts ship the same source file, copied into each plugin:
hooks/prompt_privacy.pyhooks/bootstrap_context.pyshared/prompt-privacy.mjssrc/transport.ts#2148 added
tests/test_integration_shared_files.pyfor the shared-file drift that #2084 lists under R14. It compares onlypowercontext_client_config.pyandhooks/prepared_context.py, so one copy of a file above could change without the others:tests/fixtures/automatic_prompt_privacy.json(fix(integrations): guard automatic prompt capture and preparation #2174), which catch a difference only on those cases.What changes are included in this PR?
tests/test_integration_shared_files.pyalso checks the four files above.integrations/*/plugins/*instead ofintegrations/*/plugins/powercontext, because the OpenClaw plugin lives inplugins/memory-powercontext.node_modulesand.venv, so an installed dependency with the same file name is not counted as a copy.hooks/bootstrap_context.pydiffered only in the indentation of one license-header line. The Claude Code copy now uses the form the Codex copy and most of the repository use.src/memory-operations.tsandsrc/secrets.ts, but DSH has its own file under each name, and the twosecrets.tscopies differ in two comments and one variable name.Are there any user-facing changes?
No. The change adds test coverage and changes whitespace in one license header.
How was this change tested?
tests/test_integration_shared_files.py: 6 passed.hooks/prompt_privacy.py, the Claude Codehooks/bootstrap_context.py, the ZCodeshared/prompt-privacy.mjs, or the OpenClawsrc/transport.tsfails the matching case each time.make checkpassed.make unit-test: 6235 passed, 300 skipped, and 1 timing failure intests/builtin/runtime/test_processing_scheduler.py::test_terminal_cache_overflow_does_not_launch_blocked_workers_or_starve_healthy_tail[automatic], which waited 20 seconds for a worker. It passed in three runs on its own, and this PR does not touch the processing scheduler.AI usage statement
Claude Code (Claude Opus 5.5) was used to write the change, review it with an independent agent, and draft this description. I reviewed the change.