e2e_hosted_production and e2e_vendored_production are a near-fork: 11 identical helpers, a copied PURL/UUID catalog and hand-rolled VEX checkers beside vex_e2e_common
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
調査の方向性
Start by diffing the duplicated helpers (pm_command, published_uuids, urlencode, site_packages, assert_pristine/assert_patched) between crates/socket-patch-cli/tests/e2e_hosted_production.rs and e2e_vendored_production.rs, and compare them with tests/vex_e2e_common/mod.rs. Done means both suites still compile with cargo test --no-run and the hosted and vendored production CI legs run and skip the same set under the *_STRICT=1 variants. The drifted helpers need a maintainer decision on which variant to keep before you change them.
索引モデルが issue の本文から書いたものです。
説明
[agent] Filed by the scheduled architecture audit (audit-cli-tests). Register: register.
Kind: refactor. Register ID: T68.
Problem
The two #[ignore]d production suites (2,718 and 2,711 lines) share most of their harness by copy.
Identical copies (md5). 11 helpers are identical in e2e_hosted_production.rs and e2e_vendored_production.rs:
| Helper | Hosted | Vendored |
|---|---|---|
pm_command |
L447 | L513 |
published_uuids |
L559 | L687 |
urlencode |
L752 | L716 |
minimist_entry |
L1003 | L639 |
berry_skip_code |
L1585 | L1470 |
site_packages |
L1833 | L644 |
urllib3_patched |
L1852 | L663 |
pypi_manifestless_vex |
L1874 | L1793 |
The other three identical helpers are ok, dump and read. The PURL/UUID catalog is also copied, including all 6 gem UUIDs.
Drifted copies. 8 more have drifted:
strictandhas_command;tool,assert_pristineandassert_patched;yarn_berry_vex,bun_manifestless_vex_production(38 lines differ) andgem_manifestless_vex(40 lines differ).
UNPUBLISHED_ECOSYSTEMS has drifted too: hosted probes 16 purls, vendored fewer.
Helpers rewritten inside the same binary. These shared helpers are already compiled into the hosted suite, which rewrites them anyway:
hosted_pin_countL421 duplicatescommon::envelope::hosted_pins(..).len().urlencodeduplicatesvlt_e2e_common::urlencode.site_packagesduplicatesuv_vex::site_packages.berry_skip_codeand the bunskipclosure duplicatevex_e2e_common::skipped_reason.- The
redirect-state.jsonabsence check is hand-written 6× (L343, L1288, L1617, L1794, L2410, L2685) besidevex_e2e_common::assert_no_hosted_ledger. - 4 attestation checkers (pnpm L1274, berry L1551, bun L1766, gem L2385) duplicate
assert_attested. - 2 VEX runners duplicate
run_vex. Only the bun runner setsSOCKET_NO_API_TOKEN, so the copies have drifted.
Same-file duplication. GET + status + JSON parse is written 5× (L351, L559, L589, L626, L663).
Proposed change
- Add a
tests/production_common/mod.rsholding:- the catalog (PURLs, UUIDs,
UNPUBLISHED_ECOSYSTEMSas one list with per-mode filters); - one
get_json(url)probe; pm_command/tool/strict;assert_pristine/assert_patched(drop themarkerparameter: it is alwaysPATCH_MARKER).
- the catalog (PURLs, UUIDs,
- Include it from both suites and delete the local copies.
- Replace the hand-rolled VEX runners and checkers, ledger checks and pin counts with the
vex_e2e_common/envelopehelpers already in the binary. - The
strictenv-var names stay per suite, as a parameter.
Size
2 suites plus 1 new module. Roughly −600 lines.
Acceptance criteria
- Both suites still compile (
--no-run). - The CI "hosted production" and "vendored production" jobs pass under
*_STRICT=1with the same set of legs run and skipped. Compare the leg logs before and after. - The drifted helpers settle on the stricter variant, which the PR names.
- 主要言語
- Rust
- スター
- 9
- フォーク
- 2
- 平均マージ
- 18時間 47分
- マージ済み PR(30日)
- 637
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
SocketDev/socket-patch のほかの issue
-
agent:triaged arch-audit priority:p3 refactor
難易度 2/5 1〜3時間 初心者へのやさしさ 83/100
SocketDev/socket-patch#1860 ·
メンテナーはふだん 1 日以内に返信
-
agent:triaged arch-audit priority:p3 refactor
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
SocketDev/socket-patch#1838 ·
メンテナーはふだん 1 日以内に返信
-
arch-audit refactor
難易度 4/5 3〜5日 初心者へのやさしさ 35/100
SocketDev/socket-patch#1987 ·
メンテナーはふだん 1 日以内に返信
-
agent:triaged arch-audit bug priority:p3
難易度 3/5 半日 初心者へのやさしさ 55/100
SocketDev/socket-patch#1982 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
agent:triaged arch-audit bug priority:p3
難易度 3/5 1〜2日 初心者へのやさしさ 55/100
SocketDev/socket-patch#1981 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
SocketDev/socket-patch の issue をすべて見る
似ている issue
-
priority: low ☕️ type: bug 🐛
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
メンテナーはふだん 1 日以内に返信
-
area:docs documentation good first issue priority:medium
難易度 1/5 1時間未満 初心者へのやさしさ 78/100
メンテナーはふだん 1 日以内に返信
-
feature
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
calagopus/panel#285 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
agent-self
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
yologdev/yoyo-evolve#1117 · コメント 1 件 ·
-
[Bug]: streamed Responses API flex_unavailable error maps to 500 InternalServerError instead of 429オープンllm translation
難易度 2/5 1時間未満 初心者へのやさしさ 85/100
BerriAI/litellm#49736 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信