[PR #3399] [CLOSED] test(clients): verify unrelated launcher preservation #5723

Closed
opened 2026-10-31 01:08:56 +00:00 by bsakaguchi · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/morluto/rea/pull/3399
Author: @wunianze666-netizen
Created: 10/14/2026
Status: ❌ Closed

Base: main ← Head: codex/client-lifecycle-launcher-identity


📝 Commits (1)

  • ede9901 test(clients): verify unrelated launcher preservation

📊 Changes

1 file changed (+52 additions, -2 deletions)

View changed files

📝 tests/boundary/filesystem/clientLifecycle.test.ts (+52 -2)

📄 Description

Summary

Verify that JSON/TOML client configurations with an unrelated absolute executable named rea retain their exact original bytes, create no backup and leave that executable untouched. Also make the existing directory-link protection executable on Windows by declaring a junction explicitly.

Problem and expected behavior

A basename alone does not prove launcher ownership. These real-filesystem negative controls catch an accidental broadening of the existing identity rule. No executable is launched. No linked issue: the controls arose while checking obsolete positive launcher fixtures; main subsequently corrected those positives, which were removed from this PR.

Change and scope

One test-file change, within the existing lifecycle scope. Production ownership, configuration removal and cleanup assertions are unchanged. The explicit directory link uses junction on Windows and directory symlink elsewhere. No new provider or execution authority; a separate maintainer scope decision is not applicable.

Contract and boundary impact

  • Semantic owner/earliest stage: existing client registration identity at the configuration-filesystem boundary; only its regression coverage changes.
  • Scope/maintainer decision: existing lifecycle controls; no authority expansion.
  • CLI/MCP/tool-catalog: unchanged; representative new output is not applicable.
  • Provider/bridge/format/platform: JSON and TOML launcher configurations; test fixture declares the directory-link type.
  • Evidence/artifact/provenance: tests assert original configuration and unrelated executable bytes plus absence of a backup.
  • Target selection/authority/cleanup: only owned test-temporary files; unrelated executable is not run or removed.
  • Generated metadata/package/install: none.

Expected effects of verification:

  • Read existing files or captured data.
  • Launch or attach to a process.
  • Inject instrumentation or run scripts/code.
  • Change process memory, registers, files, or configuration.
  • Contact network services.
  • Recover protected code or work around protections.
  • Documentation or usability only; no target interaction.
  • Not sure yet; investigation or maintainer guidance needed.

The checked write effect is confined to self-owned test-temporary configurations and directory links; this PR adds no production mutation.

Evidence and regression coverage

  • Tests: JSON/TOML foreign absolute launcher preservation and existing directory-link control.

  • Base evidence: initial obsolete owned-launcher positive fixtures failed on unchanged 7c962cc7; main corrected them before this final delta. They are not claimed as this PR's repair.

  • External negative control: CassieFox23's report reports Linux main 89faa863e 56 passing, applied diff 58 passing, and two new failures when ownership was deliberately weakened. This is their execution, not ours or proof of adoption.

  • Remaining gaps: local Windows ran only four lifecycle and four cache-policy controls; the other 52 local lifecycle and two shell-cache controls were not executed. No installed-client/provider compatibility claim.

  • Observed, derived, and inferred claims remain distinguishable.

  • Artifact identity, source provenance, and failed attempts remain preserved.

  • Unsupported, incomplete, unavailable, or uncertain outcomes remain visible.

Validation performed

Head remains ede9901d2c559e2501fce90bbf06baabe119d7be, based on cbc0e97; no new source push or local test rerun in this body-only follow-up.

  • Historical Windows focused lifecycle selection recorded in this PR — four passed (two positives and two foreign-launcher negatives); not the complete local file.
  • Historical npm run check — passed typecheck/lint/format/metadata/module/architecture checks.
  • Current-head code CI 38562523349 — selected lanes passed; raw Linux shard 4 logged all 56 lifecycle controls passing. Not complete platform/provider qualification.
  • An external verification note below reports 56/56 on macOS and check:fast; it is preserved verbatim, not represented as a new local run.

Compatibility, safety, and release

  • Breaking changes/migrations/package/release: none; test-only change.
  • Real tool/OS: historical Windows selection, hosted Linux file and external macOS report. Windows file-symlink privilege coverage remains unavailable locally.
  • Security/privacy/containment: no customer configuration modified, no unrelated launcher executed, no provider installed. Old unrelated JavaScript/Hopper/cache CI failures and their upstream repairs remain attributed to upstream.
  • Maintainer morluto converted this PR to draft on 2026-10-21 22:05 UTC. That state is preserved. The body note and green CI do not attest to the human owner's readiness.

Author readiness

Human owner: @wunianze666-netizen

AI-assisted preparation. The human owner's initial declaration remains pending.

  • I reviewed the final diff and relevant existing code, understand the change and its edge cases, and take responsibility for the complete PR, including AI-assisted work.
  • I checked the evidence above, confirmed it supports the current change, and recorded meaningful validation gaps.
  • I declare this PR ready for initial maintainer review.

Before merge

  • This PR addresses a concrete problem or an agreed enhancement.
  • Material scope and authority questions are resolved within the existing boundary; no new execution/provider authority.
  • The PR has one focused outcome and a Conventional Commit title.
  • The reason for not linking an issue is stated above.
  • Tests cover changed observable behavior and meaningful failure paths.
  • Owning docs and contracts are updated where needed.
  • Representative CLI/MCP behavior or its non-applicability is described.
  • I checked the final diff for secrets, unrelated cleanup, and unsupported claims.

Maintainer blocker verification

Fresh verification on this exact head, macOS arm64, Node 24.18.0/npm 11.16.0: npm run test:focused -- tests/boundary/filesystem/clientLifecycle.test.ts passed 56/56, including the JSON/TOML foreign absolute-launcher cases; npm run check:fast passed. Windows execution was not rerun in this pass. Human author-readiness declarations remain for the owner to complete; these checks do not attest to human review.

Withdrawal — 2026-10-22

The human owner has explicitly chosen to withdraw this test-only proposal and prioritize a different contribution. The existing branch, verification evidence and external reports are preserved. This is a prioritization decision: it does not mean the tests were merged, superseded by an equivalent upstream change, or proven incorrect. No author-readiness declaration is made. #3293 and #3425 remain separate open proposals.


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/morluto/rea/pull/3399 **Author:** [@wunianze666-netizen](https://github.com/wunianze666-netizen) **Created:** 10/14/2026 **Status:** ❌ Closed **Base:** `main` ← **Head:** `codex/client-lifecycle-launcher-identity` --- ### 📝 Commits (1) - [`ede9901`](https://github.com/morluto/rea/commit/ede9901d2c559e2501fce90bbf06baabe119d7be) test(clients): verify unrelated launcher preservation ### 📊 Changes **1 file changed** (+52 additions, -2 deletions) <details> <summary>View changed files</summary> 📝 `tests/boundary/filesystem/clientLifecycle.test.ts` (+52 -2) </details> ### 📄 Description ## Summary Verify that JSON/TOML client configurations with an unrelated absolute executable named `rea` retain their exact original bytes, create no backup and leave that executable untouched. Also make the existing directory-link protection executable on Windows by declaring a junction explicitly. ## Problem and expected behavior A basename alone does not prove launcher ownership. These real-filesystem negative controls catch an accidental broadening of the existing identity rule. No executable is launched. No linked issue: the controls arose while checking obsolete positive launcher fixtures; main subsequently corrected those positives, which were removed from this PR. ## Change and scope One test-file change, within the [existing lifecycle scope](https://github.com/morluto/rea/blob/main/CONTRIBUTING.md#contribution-scope). Production ownership, configuration removal and cleanup assertions are unchanged. The explicit directory link uses junction on Windows and directory symlink elsewhere. No new provider or execution authority; a separate maintainer scope decision is not applicable. ## Contract and boundary impact - Semantic owner/earliest stage: existing client registration identity at the configuration-filesystem boundary; only its regression coverage changes. - Scope/maintainer decision: existing lifecycle controls; no authority expansion. - CLI/MCP/tool-catalog: unchanged; representative new output is not applicable. - Provider/bridge/format/platform: JSON and TOML launcher configurations; test fixture declares the directory-link type. - Evidence/artifact/provenance: tests assert original configuration and unrelated executable bytes plus absence of a backup. - Target selection/authority/cleanup: only owned test-temporary files; unrelated executable is not run or removed. - Generated metadata/package/install: none. Expected effects of verification: - [x] Read existing files or captured data. - [ ] Launch or attach to a process. - [ ] Inject instrumentation or run scripts/code. - [x] Change process memory, registers, files, or configuration. - [ ] Contact network services. - [ ] Recover protected code or work around protections. - [ ] Documentation or usability only; no target interaction. - [ ] Not sure yet; investigation or maintainer guidance needed. The checked write effect is confined to self-owned test-temporary configurations and directory links; this PR adds no production mutation. ## Evidence and regression coverage - Tests: JSON/TOML foreign absolute launcher preservation and existing directory-link control. - Base evidence: initial obsolete owned-launcher positive fixtures failed on unchanged `7c962cc7`; main corrected them before this final delta. They are not claimed as this PR's repair. - External negative control: [CassieFox23's report](https://github.com/morluto/rea/pull/3399#issuecomment-6197897225) reports Linux main `89faa863e` 56 passing, applied diff 58 passing, and two new failures when ownership was deliberately weakened. This is their execution, not ours or proof of adoption. - Remaining gaps: local Windows ran only four lifecycle and four cache-policy controls; the other 52 local lifecycle and two shell-cache controls were not executed. No installed-client/provider compatibility claim. - [x] Observed, derived, and inferred claims remain distinguishable. - [x] Artifact identity, source provenance, and failed attempts remain preserved. - [x] Unsupported, incomplete, unavailable, or uncertain outcomes remain visible. ## Validation performed Head remains `ede9901d2c559e2501fce90bbf06baabe119d7be`, based on `cbc0e97`; no new source push or local test rerun in this body-only follow-up. - Historical Windows focused lifecycle selection recorded in this PR — four passed (two positives and two foreign-launcher negatives); not the complete local file. - Historical `npm run check` — passed typecheck/lint/format/metadata/module/architecture checks. - [Current-head code CI 38562523349](https://github.com/morluto/rea/actions/runs/38562523349) — selected lanes passed; raw Linux shard 4 logged all 56 lifecycle controls passing. Not complete platform/provider qualification. - An external verification note below reports 56/56 on macOS and `check:fast`; it is preserved verbatim, not represented as a new local run. ## Compatibility, safety, and release - Breaking changes/migrations/package/release: none; test-only change. - Real tool/OS: historical Windows selection, hosted Linux file and external macOS report. Windows file-symlink privilege coverage remains unavailable locally. - Security/privacy/containment: no customer configuration modified, no unrelated launcher executed, no provider installed. Old unrelated JavaScript/Hopper/cache CI failures and their upstream repairs remain attributed to upstream. - Maintainer morluto converted this PR to draft on 2026-10-21 22:05 UTC. That state is preserved. The body note and green CI do not attest to the human owner's readiness. ## Author readiness Human owner: @wunianze666-netizen AI-assisted preparation. The human owner's initial declaration remains pending. - [ ] I reviewed the final diff and relevant existing code, understand the change and its edge cases, and take responsibility for the complete PR, including AI-assisted work. - [ ] I checked the evidence above, confirmed it supports the current change, and recorded meaningful validation gaps. - [ ] I declare this PR ready for initial maintainer review. ## Before merge - [x] This PR addresses a concrete problem or an agreed enhancement. - [x] Material scope and authority questions are resolved within the existing boundary; no new execution/provider authority. - [x] The PR has one focused outcome and a Conventional Commit title. - [x] The reason for not linking an issue is stated above. - [x] Tests cover changed observable behavior and meaningful failure paths. - [x] Owning docs and contracts are updated where needed. - [x] Representative CLI/MCP behavior or its non-applicability is described. - [ ] I checked the final diff for secrets, unrelated cleanup, and unsupported claims. <!-- maintainer-blocker-review --> ### Maintainer blocker verification Fresh verification on this exact head, macOS arm64, Node 24.18.0/npm 11.16.0: `npm run test:focused -- tests/boundary/filesystem/clientLifecycle.test.ts` passed 56/56, including the JSON/TOML foreign absolute-launcher cases; `npm run check:fast` passed. Windows execution was not rerun in this pass. Human author-readiness declarations remain for the owner to complete; these checks do not attest to human review. ## Withdrawal — 2026-10-22 The human owner has explicitly chosen to withdraw this test-only proposal and prioritize a different contribution. The existing branch, verification evidence and external reports are preserved. This is a prioritization decision: it does not mean the tests were merged, superseded by an equivalent upstream change, or proven incorrect. No author-readiness declaration is made. #3293 and #3425 remain separate open proposals. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
bsakaguchi 2026-10-31 01:08:56 +00:00
bsakaguchi changed title from [PR #3399] [CLOSED] test(clients): verify unrelated launcher preservation to [PR #3399] test(clients): verify unrelated launcher preservation 2026-11-03 13:30:25 +00:00
bsakaguchi changed title from [PR #3399] test(clients): verify unrelated launcher preservation to [PR #3399] [CLOSED] test(clients): verify unrelated launcher preservation 2026-11-03 14:32:09 +00:00
bsakaguchi changed title from [PR #3399] [CLOSED] test(clients): verify unrelated launcher preservation to [PR #3399] test(clients): verify unrelated launcher preservation 2026-11-04 13:14:24 +00:00
bsakaguchi changed title from [PR #3399] test(clients): verify unrelated launcher preservation to [PR #3399] [CLOSED] test(clients): verify unrelated launcher preservation 2026-11-04 14:16:53 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
morluto/rea#5723
No description provided.