@namewta/speculo 1.0.5 → 1.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/src/kernel.d.ts +23 -2
- package/dist/src/kernel.js +9 -0
- package/dist/src/kernel.js.map +1 -1
- package/dist/src/ops-resources.d.ts +3 -0
- package/dist/src/ops-resources.js +188 -0
- package/dist/src/ops-resources.js.map +1 -0
- package/dist/src/refresh.js +20 -2
- package/dist/src/refresh.js.map +1 -1
- package/dist/src/structured.js +7 -0
- package/dist/src/structured.js.map +1 -1
- package/dist/src/workflows.js +1 -1
- package/dist/src/workflows.js.map +1 -1
- package/package.json +1 -1
- package/template/.speculo/README.md +3 -3
- package/template/.speculo/kernel/README.md +3 -0
- package/template/.speculo/kernel/checkpoint.schema.json +138 -4
- package/template/commands/archive-and-consolidate.md +5 -1
- package/template/commands/status.md +2 -2
- package/template/workflows/ops/D-project-deploy/D-project-deploy.md +34 -0
- package/template/workflows/ops/H-host-manage/H-host-manage.md +30 -0
- package/template/workflows/ops/I-initialize/I-initialize.md +28 -0
- package/template/workflows/ops/INDEX.md +15 -17
- package/template/workflows/ops/README.md +59 -93
- package/template/workflows/ops/_state/status.json +15 -3
- package/template/workflows/ops/common/CAPABILITIES.md +23 -0
- package/template/workflows/ops/common/USAGE.md +112 -0
- package/template/workflows/ops/common/examples/README.md +7 -0
- package/template/workflows/ops/common/examples/binding.example.json +12 -0
- package/template/workflows/ops/common/examples/compose-app.example.json +56 -0
- package/template/workflows/ops/common/examples/credential.example.json +9 -0
- package/template/workflows/ops/common/examples/environment-request.example.json +7 -0
- package/template/workflows/ops/common/examples/register.example.json +44 -0
- package/template/workflows/ops/common/examples/shared-allocation.example.json +37 -0
- package/template/workflows/ops/common/rules/activation-and-memory.md +5 -20
- package/template/workflows/ops/common/rules/persistence-and-secrets.md +27 -0
- package/template/workflows/ops/common/rules/recovery.md +15 -0
- package/template/workflows/ops/common/rules/shared-services.md +13 -0
- package/template/workflows/ops/common/schemas/allocation.schema.json +92 -0
- package/template/workflows/ops/common/schemas/approval.schema.json +41 -21
- package/template/workflows/ops/common/schemas/binding.schema.json +73 -0
- package/template/workflows/ops/common/schemas/deployment.schema.json +244 -0
- package/template/workflows/ops/common/schemas/host.schema.json +88 -0
- package/template/workflows/ops/common/schemas/plan.schema.json +1573 -0
- package/template/workflows/ops/common/schemas/project.schema.json +55 -11
- package/template/workflows/ops/common/schemas/spec.schema.json +1032 -0
- package/template/workflows/ops/common/schemas/status.schema.json +758 -17
- package/template/workflows/ops/common/service-profiles/custom.md +5 -0
- package/template/workflows/ops/common/service-profiles/docker-engine.md +11 -0
- package/template/workflows/ops/common/service-profiles/minio.md +7 -0
- package/template/workflows/ops/common/service-profiles/mysql.md +7 -0
- package/template/workflows/ops/common/service-profiles/redis.md +7 -0
- package/template/workflows/ops/common/templates/CONTROLLER-RECORD.md +13 -0
- package/template/workflows/ops/common/templates/EXECUTION-PLAN.md +15 -0
- package/template/workflows/ops/common/templates/HOST-README.md +11 -0
- package/template/workflows/ops/common/templates/PROJECT-README.md +15 -0
- package/template/workflows/ops/common/tests/test_ops.mjs +752 -0
- package/template/workflows/ops/common/tools/bootstrap.ps1 +18 -0
- package/template/workflows/ops/common/tools/bootstrap.sh +27 -0
- package/template/workflows/ops/common/tools/demo-local.mjs +101 -0
- package/template/workflows/ops/common/tools/ops.mjs +4 -0
- package/template/workflows/ops/common/tools/opslib/agent.mjs +873 -0
- package/template/workflows/ops/common/tools/opslib/cli.mjs +311 -0
- package/template/workflows/ops/common/tools/opslib/core.mjs +393 -0
- package/template/workflows/ops/common/tools/opslib/docs.mjs +252 -0
- package/template/workflows/ops/common/tools/opslib/execution.mjs +378 -0
- package/template/workflows/ops/common/tools/opslib/host_recipes.mjs +109 -0
- package/template/workflows/ops/common/tools/opslib/model.mjs +272 -0
- package/template/workflows/ops/common/tools/opslib/native_windows.mjs +36 -0
- package/template/workflows/ops/common/tools/opslib/planner.mjs +687 -0
- package/template/workflows/ops/common/tools/opslib/services.mjs +76 -0
- package/template/workflows/ops/common/tools/opslib/sources.mjs +56 -0
- package/template/workflows/ops/common/tools/opslib/transport.mjs +127 -0
- package/template/workflows/ops/common/tools/validate-ops.mjs +43 -1012
- package/template/workflows/ops/manifest.json +60 -1
- package/template/workflows/ops/runtime-contract.json +1 -6
- package/template/workflows/ops/A-archive-and-learn/A-archive-and-learn.md +0 -73
- package/template/workflows/ops/A-archive-and-learn/promotion-plan-template.md +0 -41
- package/template/workflows/ops/A-archive-and-learn/retrospective-template.md +0 -53
- package/template/workflows/ops/E-execute-and-stabilize/E-execute-and-stabilize.md +0 -82
- package/template/workflows/ops/E-execute-and-stabilize/attempt-summary-template.md +0 -44
- package/template/workflows/ops/E-execute-and-stabilize/diagnosis-template.md +0 -24
- package/template/workflows/ops/E-execute-and-stabilize/handoff-template.md +0 -32
- package/template/workflows/ops/E-execute-and-stabilize/rollback-template.md +0 -26
- package/template/workflows/ops/E-execute-and-stabilize/verification-state-template.json +0 -30
- package/template/workflows/ops/E-execute-and-stabilize/verification-template.md +0 -55
- package/template/workflows/ops/H-computer-hygiene/H-computer-hygiene.md +0 -105
- package/template/workflows/ops/H-computer-hygiene/examples/README.md +0 -9
- package/template/workflows/ops/H-computer-hygiene/examples/linux/2026-09-14.environment.md +0 -45
- package/template/workflows/ops/H-computer-hygiene/examples/linux/2026-09-14.json +0 -970
- package/template/workflows/ops/H-computer-hygiene/examples/linux/2026-09-14.md +0 -216
- package/template/workflows/ops/H-computer-hygiene/examples/macos/2026-09-14.environment.md +0 -45
- package/template/workflows/ops/H-computer-hygiene/examples/macos/2026-09-14.json +0 -970
- package/template/workflows/ops/H-computer-hygiene/examples/macos/2026-09-14.md +0 -216
- package/template/workflows/ops/H-computer-hygiene/examples/windows/2026-09-14.environment.md +0 -45
- package/template/workflows/ops/H-computer-hygiene/examples/windows/2026-09-14.json +0 -969
- package/template/workflows/ops/H-computer-hygiene/examples/windows/2026-09-14.md +0 -216
- package/template/workflows/ops/H-computer-hygiene/references/00-sources.md +0 -58
- package/template/workflows/ops/H-computer-hygiene/references/01-safety.md +0 -52
- package/template/workflows/ops/H-computer-hygiene/references/10-windows.md +0 -47
- package/template/workflows/ops/H-computer-hygiene/references/11-macos.md +0 -46
- package/template/workflows/ops/H-computer-hygiene/references/12-linux.md +0 -13
- package/template/workflows/ops/H-computer-hygiene/references/20-toolchains.md +0 -83
- package/template/workflows/ops/H-computer-hygiene/references/21-path-migration.md +0 -64
- package/template/workflows/ops/H-computer-hygiene/references/22-repositories.md +0 -35
- package/template/workflows/ops/H-computer-hygiene/references/30-software-removal.md +0 -41
- package/template/workflows/ops/H-computer-hygiene/references/40-report-spec.md +0 -54
- package/template/workflows/ops/H-computer-hygiene/references/50-speculo-integration.md +0 -26
- package/template/workflows/ops/H-computer-hygiene/references/source-register.json +0 -406
- package/template/workflows/ops/H-computer-hygiene/rules/catalog.json +0 -191
- package/template/workflows/ops/H-computer-hygiene/scripts/hygiene.py +0 -1348
- package/template/workflows/ops/H-computer-hygiene/scripts/run.ps1 +0 -7
- package/template/workflows/ops/H-computer-hygiene/scripts/run.sh +0 -5
- package/template/workflows/ops/H-computer-hygiene/templates/config.example.json +0 -13
- package/template/workflows/ops/H-computer-hygiene/templates/maven-settings.fragment.xml +0 -6
- package/template/workflows/ops/H-computer-hygiene/templates/native-evidence.example.json +0 -19
- package/template/workflows/ops/H-computer-hygiene/tests/cli_smoke.py +0 -65
- package/template/workflows/ops/H-computer-hygiene/tests/make_examples.py +0 -114
- package/template/workflows/ops/H-computer-hygiene/tests/test_hygiene.py +0 -486
- package/template/workflows/ops/I-intake-and-assess/I-intake-and-assess.md +0 -73
- package/template/workflows/ops/I-intake-and-assess/change-status-template.json +0 -26
- package/template/workflows/ops/I-intake-and-assess/collector-catalog.md +0 -28
- package/template/workflows/ops/I-intake-and-assess/deployment-dossier-template.md +0 -62
- package/template/workflows/ops/I-intake-and-assess/global-change-status-template.json +0 -26
- package/template/workflows/ops/I-intake-and-assess/project-detection.md +0 -38
- package/template/workflows/ops/I-intake-and-assess/request-template.md +0 -44
- package/template/workflows/ops/I-intake-and-assess/system-report-template.md +0 -34
- package/template/workflows/ops/I-intake-and-assess/target-profile-template.json +0 -24
- package/template/workflows/ops/P-plan-and-approve/P-plan-and-approve.md +0 -72
- package/template/workflows/ops/P-plan-and-approve/plan-review-template.md +0 -78
- package/template/workflows/ops/_state/archive/.gitkeep +0 -1
- package/template/workflows/ops/_state/changes/.gitkeep +0 -1
- package/template/workflows/ops/common/rules/artifact-contract.md +0 -38
- package/template/workflows/ops/common/rules/closure-and-learning.md +0 -27
- package/template/workflows/ops/common/rules/evidence-and-redaction.md +0 -22
- package/template/workflows/ops/common/rules/execution-loop.md +0 -27
- package/template/workflows/ops/common/rules/path-and-scope-contract.md +0 -21
- package/template/workflows/ops/common/rules/plan-and-approval.md +0 -25
- package/template/workflows/ops/common/rules/project-and-change-scope.md +0 -20
- package/template/workflows/ops/common/rules/target-profile-and-release-gates.md +0 -44
- package/template/workflows/ops/common/schemas/attempt.schema.json +0 -42
- package/template/workflows/ops/common/schemas/change-status.schema.json +0 -43
- package/template/workflows/ops/common/schemas/deployment-model.schema.json +0 -26
- package/template/workflows/ops/common/schemas/implementation-plan.schema.json +0 -221
- package/template/workflows/ops/common/schemas/inventory-snapshot.schema.json +0 -31
- package/template/workflows/ops/common/schemas/journal-event.schema.json +0 -22
- package/template/workflows/ops/common/schemas/promotion-approval.schema.json +0 -20
- package/template/workflows/ops/common/schemas/promotion-manifest.schema.json +0 -22
- package/template/workflows/ops/common/schemas/target-profile.schema.json +0 -32
- package/template/workflows/ops/common/schemas/verification-state.schema.json +0 -30
- package/template/workflows/ops/common/tools/close-change.mjs +0 -177
|
@@ -1,105 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
id: ops/computer-hygiene
|
|
3
|
-
type: workflow-entry
|
|
4
|
-
workflow: ops
|
|
5
|
-
name: 电脑环境治理
|
|
6
|
-
description: 对执行主机做默认只读卫生盘点,按确认分级隔离缓存或规划卸载/迁移,并把报告写入当前 Ops change。
|
|
7
|
-
keywords: [hygiene, 电脑清理, PATH, 缓存, 工具链, 卸载残留]
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
# 电脑环境治理
|
|
11
|
-
|
|
12
|
-
> 激活本 Work 后,先读取 `<Path>{roots.workflows}/ops/README.md</Path>`,再执行本入口。
|
|
13
|
-
|
|
14
|
-
H 是主机卫生盘点、Q 类缓存隔离/恢复和卫生报告的唯一 owner。它回答“这台执行主机上有哪些可清理线索、哪些必须保护、哪些动作已获逐项确认”。它不是全盘删除器、注册表优化器、自动软件裁判、管理员提权工具,也不替代 I/P/E 的部署评估与 attempt。
|
|
15
|
-
|
|
16
|
-
默认只创建报告。删除、卸载、PATH 迁移和系统清理必须分级、逐项确认。脚本仅对少数默认可识别缓存提供可选同卷隔离与恢复,**隔离不释放空间,没有 purge**。
|
|
17
|
-
|
|
18
|
-
## 读取范围
|
|
19
|
-
|
|
20
|
-
1. 先读取 `<Path>{roots.workflows}/ops/README.md</Path>` 与当前 Work 的状态入口。
|
|
21
|
-
2. 再读取 `<Path>{roots.workflows}/ops/common/rules/activation-and-memory.md</Path>`,按当前分支、状态和关键词定位最小相关工件。
|
|
22
|
-
3. 执行扫描或变更前读取 `<Path>{roots.workflows}/ops/H-computer-hygiene/references/01-safety.md</Path>`。
|
|
23
|
-
4. 只在本 Work 明确要求恢复、冲突、执行安全或归档证据时扩展为全量读取;缺少匹配证据或 owner/gateway 时停止受影响分支。
|
|
24
|
-
|
|
25
|
-
## 流程
|
|
26
|
-
|
|
27
|
-
### 1. 确认执行主机并选择 Change
|
|
28
|
-
|
|
29
|
-
执行环境不等于用户浏览器所在电脑。先确认当前工具运行在待检查主机;SSH、容器、WSL、虚拟机分别报告。没有本机执行能力时只交付步骤,不把远程沙箱或示例数据冒充用户检测结果。
|
|
30
|
-
|
|
31
|
-
解析 roots 并读取 status。本 Work 默认 `scope=global`。用户指定已有 hygiene change 时验证 tuple 后恢复;否则创建 `YYYY-MM-DD-computer-hygiene[-NN]`:从 `<Path>{roots.workflows}/ops/I-intake-and-assess/global-change-status-template.json</Path>` 写 `.status.json`,从 `<Path>{roots.workflows}/ops/I-intake-and-assess/request-template.md</Path>` 初始化 request、LOG、CONTEXT 和 ADR,再把 `{scope: global, project_id: null, change}` 加入全局 active。项目部署 change 不得被本 Work 改写成卫生盘点。
|
|
32
|
-
|
|
33
|
-
开始时设置 `current_work=ops/computer-hygiene`。Windows 只加载 `<Path>{roots.workflows}/ops/H-computer-hygiene/references/10-windows.md</Path>`;macOS 只加载 `<Path>{roots.workflows}/ops/H-computer-hygiene/references/11-macos.md</Path>`;Linux 仅加载 `<Path>{roots.workflows}/ops/H-computer-hygiene/references/12-linux.md</Path>` 作为保守补充分支。
|
|
34
|
-
|
|
35
|
-
### 2. 运行只读盘点
|
|
36
|
-
|
|
37
|
-
需要可信 Python 3.10+,仅标准库。不自动安装解释器,不绕过执行策略。先说明即将检查的类别及“默认不改动”边界,再执行;不必为默认只读盘点重复请求确认。用户未指定项目根时先做核心检查,把项目列为未检查;不得把 Home 或整盘当作 `--project-root`。
|
|
38
|
-
|
|
39
|
-
`--output` 必须指向当前 change 的卫生运行根,不得写回 Work 静态目录或 `{roots.workflows}`:
|
|
40
|
-
|
|
41
|
-
```text
|
|
42
|
-
<Path>{roots.state}/ops/changes/{change}/hygiene/runs/</Path>
|
|
43
|
-
```
|
|
44
|
-
|
|
45
|
-
```sh
|
|
46
|
-
python3 <Path>{roots.workflows}/ops/H-computer-hygiene/scripts/hygiene.py</Path> audit \
|
|
47
|
-
--output <Path>{roots.state}/ops/changes/{change}/hygiene/runs/</Path>
|
|
48
|
-
```
|
|
49
|
-
|
|
50
|
-
```powershell
|
|
51
|
-
python <Path>{roots.workflows}/ops/H-computer-hygiene/scripts/hygiene.py</Path> audit `
|
|
52
|
-
--output <Path>{roots.state}/ops/changes/{change}/hygiene/runs/</Path>
|
|
53
|
-
```
|
|
54
|
-
|
|
55
|
-
可用 `<Path>{roots.workflows}/ops/H-computer-hygiene/templates/config.example.json</Path>` 提供目标 DevRoot、排除目录和扫描预算。目标路径只生成建议。脚本在 output 下创建 `YYYY-MM-DD/HHMMSS-<run-id>/`,同日多次不覆盖。退出码 2 不得报告成功。保存脚本返回的确切报告路径。
|
|
56
|
-
|
|
57
|
-
### 3. 补全实际生效证据
|
|
58
|
-
|
|
59
|
-
读取主报告,先处理已证实的路径重复、失效项、多工具命中和配置来源。默认脚本只检测路径,不宣称已知版本。需要版本/实际路径时,按 `<Path>{roots.workflows}/ops/H-computer-hygiene/references/20-toolchains.md</Path>` 的核验矩阵,在确认二进制来源可信且用户同意后做最小查询。原生结果写入同次运行目录的 `YYYY-MM-DD.native-evidence.json`,字段采用 `<Path>{roots.workflows}/ops/H-computer-hygiene/templates/native-evidence.example.json</Path>`。资料入口见 `<Path>{roots.workflows}/ops/H-computer-hygiene/references/00-sources.md</Path>`;交付时未在线访问的来源不得冒充已完成搜索。
|
|
60
|
-
|
|
61
|
-
### 4. 形成报告与分级计划
|
|
62
|
-
|
|
63
|
-
报告必须覆盖 `<Path>{roots.workflows}/ops/H-computer-hygiene/references/40-report-spec.md</Path>`。动作类别不得共用授权:
|
|
64
|
-
|
|
65
|
-
| 类别 | 允许程度 | 执行方式 |
|
|
66
|
-
| --- | --- | --- |
|
|
67
|
-
| Q:少数缓存隔离 | 逐项确认后可选 | 脚本只重命名、不释放空间 |
|
|
68
|
-
| C:原生缓存/系统清理 | 需确认实际命令与影响 | 按系统/工具参考执行或列出人工步骤 |
|
|
69
|
-
| M:环境归一化迁移 | 独立方案与确认 | 先备份再逐生态验证;脚本不改 PATH |
|
|
70
|
-
| U:精确软件卸载 | 应用身份和数据选择分别确认 | 官方卸载器;残留另行确认 |
|
|
71
|
-
| P:源码/配置/凭据/系统组件 | 默认保护 | 不得由“全面清理”推导为可删 |
|
|
72
|
-
|
|
73
|
-
环境方案按 `<Path>{roots.workflows}/ops/H-computer-hygiene/references/21-path-migration.md</Path>`。仓库治理按 `<Path>{roots.workflows}/ops/H-computer-hygiene/references/22-repositories.md</Path>`。卸载按 `<Path>{roots.workflows}/ops/H-computer-hygiene/references/30-software-removal.md</Path>`。
|
|
74
|
-
|
|
75
|
-
### 5. 用户逐项授权后才变更
|
|
76
|
-
|
|
77
|
-
报告先交给用户。禁止代理自行 approve,也不得把“安装/编写本 Work”视为同意清理当前机器。Q 类审批与 apply 使用脚本 `review` / `approve` / `apply`;approval 写入 `<Path>{roots.state}/ops/changes/{change}/hygiene/approvals/</Path>`,不得覆盖已有 approval。隔离目录为本机 `~/.speculo-hygiene/quarantine/<运行ID>/`,属主机 external mutation,不是 Ops state。没有 purge。C/M/U 永久动作必须重新说明不可逆影响并单独授权。
|
|
78
|
-
|
|
79
|
-
### 6. 验证、完成与路由
|
|
80
|
-
|
|
81
|
-
任何错误立即停止后续变更。恢复默认只预览,确认 token 后才 rename 回去。验收可运行:
|
|
82
|
-
|
|
83
|
-
```sh
|
|
84
|
-
python3 -m unittest discover -s <Path>{roots.workflows}/ops/H-computer-hygiene/tests</Path> -v
|
|
85
|
-
```
|
|
86
|
-
|
|
87
|
-
模拟测试不能替代真机验收。重读卫生报告后:成功盘点将 `ops/computer-hygiene` 去重写入 `works_run` 并清空 `current_work`。用户确认无需 P/E 部署闭环时,H 可将 **hygiene-only** global change 设为 `completed` / `ready_to_archive` / `outcome=succeeded`,且 `latest_attempt_id` 保持 null;然后路由 `<Path>{roots.workflows}/ops/A-archive-and-learn/A-archive-and-learn.md</Path>`。仍有待确认 C/M/U 或 Q apply 时保持 active/blocked,并返回本 Work。混入 plan/attempt 的部署 change 不得由 H 标记 completed。
|
|
88
|
-
|
|
89
|
-
## 完成标准
|
|
90
|
-
|
|
91
|
-
- 执行主机边界已记录,报告只代表该环境;
|
|
92
|
-
- 只读盘点产物位于当前 change 的 `hygiene/runs/`,未写入 Work 静态目录;
|
|
93
|
-
- 默认运行未安装工具、未启动扫描到的程序、未执行 profile/卸载字符串;
|
|
94
|
-
- Q/C/M/U/P 未共用授权;未确认路径无文件系统变更;
|
|
95
|
-
- hygiene-only 完成后 `latest_attempt_id` 仍为 null,且至少有一份日期主报告;
|
|
96
|
-
- validator 通过并返回唯一下一路由。
|
|
97
|
-
|
|
98
|
-
## 子文件引用
|
|
99
|
-
|
|
100
|
-
- 安全与来源:`<Path>{roots.workflows}/ops/H-computer-hygiene/references/01-safety.md</Path>`、`<Path>{roots.workflows}/ops/H-computer-hygiene/references/00-sources.md</Path>`
|
|
101
|
-
- 系统分支:`<Path>{roots.workflows}/ops/H-computer-hygiene/references/10-windows.md</Path>`、`<Path>{roots.workflows}/ops/H-computer-hygiene/references/11-macos.md</Path>`、`<Path>{roots.workflows}/ops/H-computer-hygiene/references/12-linux.md</Path>`
|
|
102
|
-
- 工具链/仓库/卸载:`<Path>{roots.workflows}/ops/H-computer-hygiene/references/20-toolchains.md</Path>`、`<Path>{roots.workflows}/ops/H-computer-hygiene/references/21-path-migration.md</Path>`、`<Path>{roots.workflows}/ops/H-computer-hygiene/references/22-repositories.md</Path>`、`<Path>{roots.workflows}/ops/H-computer-hygiene/references/30-software-removal.md</Path>`
|
|
103
|
-
- 报告与持久化:`<Path>{roots.workflows}/ops/H-computer-hygiene/references/40-report-spec.md</Path>`、`<Path>{roots.workflows}/ops/H-computer-hygiene/references/50-speculo-integration.md</Path>`
|
|
104
|
-
- 机械脚本:`<Path>{roots.workflows}/ops/H-computer-hygiene/scripts/hygiene.py</Path>`
|
|
105
|
-
- 规则与模板:`<Path>{roots.workflows}/ops/H-computer-hygiene/rules/catalog.json</Path>`、`<Path>{roots.workflows}/ops/H-computer-hygiene/templates/config.example.json</Path>`、`<Path>{roots.workflows}/ops/H-computer-hygiene/templates/native-evidence.example.json</Path>`
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
# 模拟报告,不是用户电脑检测结果
|
|
2
|
-
|
|
3
|
-
windows、macos、linux 中的日期报告由 `tests/make_examples.py` 在隔离临时目录中生成。应用身份、系统元数据与磁盘容量为明确标注的模拟值;没有读取实际 Windows 注册表、macOS Applications 或用户真实 Home。
|
|
4
|
-
|
|
5
|
-
示例展示 PATH 重复/失效、多个 Java 命中、配置多处出现、Maven 本地唯一产物保护、Cargo 配置保护、少数旧缓存隔离候选、多个 Node 锁文件、版本 pin、下载目录里的源码位置风险和手动卸载步骤。
|
|
6
|
-
|
|
7
|
-
只提供报告、公开 JSON 和环境建议,不提供可拿去执行的示例审批或私密 plan。报告中的“候选”并没有被清理。扫描日期取生成脚本运行时,实际工作运行后会使用当时电脑的本地日期。
|
|
8
|
-
|
|
9
|
-
重新生成示例可在 work 根执行 `python3 tests/make_examples.py`。这是测试数据生成器,不是对真实电脑做卫生检测的入口。真实检测使用 `scripts/hygiene.py audit`。
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
**模拟示例,不是已执行迁移。**
|
|
2
|
-
|
|
3
|
-
# 2026-09-14 环境归一化方案
|
|
4
|
-
|
|
5
|
-
**这是一份未执行的方案,不是已生效配置。** 先确认主用版本管理器与项目 pin;不得把统一目录理解成任意搬动所有 SDK。
|
|
6
|
-
|
|
7
|
-
建议 DevRoot:`~/.local/share/dev`。系统/安装器管理的内容仍留在系统规定的位置。路径可以统一规划,但不要通过联接/符号链接掩盖配置混乱。
|
|
8
|
-
|
|
9
|
-
## 当前进程证据
|
|
10
|
-
|
|
11
|
-
| 变量 | 当前声明 |
|
|
12
|
-
| --- | --- |
|
|
13
|
-
| JAVA\_HOME | ~/old-jdk |
|
|
14
|
-
| GOCACHE | ~/.cache/go-build |
|
|
15
|
-
| CARGO\_HOME | ~/.cargo |
|
|
16
|
-
|
|
17
|
-
没有被记录的变量不等于工具未安装;未执行原生查询,无法确认 CLI、项目或 IDE 的最终优先级。
|
|
18
|
-
|
|
19
|
-
## 建议映射
|
|
20
|
-
|
|
21
|
-
| 对象 | 建议目标 | 约束 |
|
|
22
|
-
| --- | --- | --- |
|
|
23
|
-
| JDK / JAVA\_HOME | 由已确认的主用版本管理器解析 | 不把 JAVA\_HOME 写死到待淘汰版本;IDE、CI、项目分别验证 |
|
|
24
|
-
| Maven localRepository | ~/.local/share/dev/data/maven/repository | 保留 settings.xml 官方锚点;备份未发布的 install 产物;不假设 MAVEN\_USER\_HOME 对所有版本生效 |
|
|
25
|
-
| GRADLE\_USER\_HOME | ~/.local/share/dev/data/gradle | 整体包含配置/缓存/凭据;先停止 daemon,备份再验证 |
|
|
26
|
-
| Node 版本管理器 | 保留一个经确认的主用管理器 | nvm/fnm/volta/asdf/mise 不叠加争抢入口;原生 Windows 支持单独核实 |
|
|
27
|
-
| npm cache | ~/.local/share/dev/cache/npm | 使用 npm 官方配置入口;不盲目设置全局 prefix;日志不等于纯缓存 |
|
|
28
|
-
| PNPM\_HOME / pnpm store | ~/.local/share/dev/bin/pnpm / ~/.local/share/dev/cache/pnpm-store | 两个不同概念;store 路径用本地版本支持的配置设置,注意项目所在卷与硬链接 |
|
|
29
|
-
| GOPATH / GOBIN | ~/.local/share/dev/data/go / ~/.local/share/dev/bin/go | GOPATH 可能是多路径并含源码;GOBIN 中有用户安装的工具 |
|
|
30
|
-
| GOCACHE / GOMODCACHE | ~/.local/share/dev/cache/go-build / ~/.local/share/dev/cache/go-mod | 清理影响离线构建;一般不设置 GOROOT;先检查 go env 和项目 toolchain |
|
|
31
|
-
| CARGO\_HOME / RUSTUP\_HOME | ~/.local/share/dev/data/cargo / ~/.local/share/dev/data/rustup | 非纯缓存;保护 credentials、config、bin、toolchain override;不要整目录自动迁移 |
|
|
32
|
-
| UV\_CACHE\_DIR | ~/.local/share/dev/cache/uv | 先以当前 uv 帮助确认变量支持与现有配置 |
|
|
33
|
-
| UV\_PYTHON\_INSTALL\_DIR / UV\_TOOL\_DIR | ~/.local/share/dev/data/uv/python / ~/.local/share/dev/data/uv/tools | 解释器、工具环境与缓存分开;虚拟环境不保证可重定位 |
|
|
34
|
-
| UV\_TOOL\_BIN\_DIR | ~/.local/share/dev/bin/uv | 确认 shell PATH 与已安装工具入口;避免和 pipx/系统 Python 重名 |
|
|
35
|
-
| mise/asdf/SDKMAN 等 | ~/.local/share/dev/data 下各自专属根 | 仅建议;按已安装管理器的真实 OS/版本文档迁移;不默认安装新管理器 |
|
|
36
|
-
|
|
37
|
-
## 迁移顺序与验收
|
|
38
|
-
|
|
39
|
-
先备份配置与安装清单,确认没有运行中的 IDE、daemon、构建或安装。逐个生态迁移,不同时改所有变量。缓存优先让工具在新路径重建;含本地状态的目录按官方迁移方法处理。虚拟环境与绝对路径 shim 通常应重建。
|
|
40
|
-
|
|
41
|
-
先在新终端进行会话级验证,再修改单一持久化来源,最后重开终端、IDE 和构建任务验证。Windows 用户与机器 PATH 分开处理,禁止用 setx PATH 拼接覆盖;macOS 登录 shell、交互 shell、GUI 启动环境各自核实。
|
|
42
|
-
|
|
43
|
-
逐一检查 Maven/JDK 构建、Node/pnpm 安装与离线依赖需求、Go 测试、Rust override 与 cargo 工具、uv 项目及 tool 入口。需要网络的验证单独确认;失败则恢复原配置和原解析入口。旧目录只有在全部验证通过、唯一数据已备份并再次获准后才进入清理计划。
|
|
44
|
-
|
|
45
|
-
PATH 仅放必要的 bin/shims;不要加入缓存、库目录、整个 SDK 根或当前目录。项目级 pin、wrapper 与 lockfile 保留。详见 `references/20-toolchains.md` 和 `21-path-migration.md`。
|