@omne-harness/repo-toolchain 0.0.16 → 0.0.18

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.
Files changed (58) hide show
  1. package/README.md +20 -2
  2. package/README_ZH.md +40 -6
  3. package/dist/acceptance/lock.d.ts +8 -0
  4. package/dist/acceptance/lock.d.ts.map +1 -1
  5. package/dist/acceptance/lock.js +99 -20
  6. package/dist/acceptance/lock.js.map +1 -1
  7. package/dist/arch/constraints.d.ts.map +1 -1
  8. package/dist/arch/constraints.js +3 -2
  9. package/dist/arch/constraints.js.map +1 -1
  10. package/dist/arch/group-cycles.d.ts +5 -1
  11. package/dist/arch/group-cycles.d.ts.map +1 -1
  12. package/dist/arch/group-cycles.js +6 -2
  13. package/dist/arch/group-cycles.js.map +1 -1
  14. package/dist/arch/source.d.ts.map +1 -1
  15. package/dist/arch/source.js +11 -2
  16. package/dist/arch/source.js.map +1 -1
  17. package/dist/core/subject.d.ts +4 -0
  18. package/dist/core/subject.d.ts.map +1 -1
  19. package/dist/core/subject.js +16 -0
  20. package/dist/core/subject.js.map +1 -1
  21. package/dist/declarations/api-compare.d.ts.map +1 -1
  22. package/dist/declarations/api-compare.js +18 -10
  23. package/dist/declarations/api-compare.js.map +1 -1
  24. package/dist/declarations/api-snapshot.d.ts.map +1 -1
  25. package/dist/declarations/api-snapshot.js +5 -2
  26. package/dist/declarations/api-snapshot.js.map +1 -1
  27. package/dist/declarations/compat.d.ts +7 -0
  28. package/dist/declarations/compat.d.ts.map +1 -1
  29. package/dist/declarations/compat.js +34 -0
  30. package/dist/declarations/compat.js.map +1 -1
  31. package/dist/deps/cli.js +2 -1
  32. package/dist/deps/cli.js.map +1 -1
  33. package/dist/deps/graph.d.ts +39 -3
  34. package/dist/deps/graph.d.ts.map +1 -1
  35. package/dist/deps/graph.js +482 -14
  36. package/dist/deps/graph.js.map +1 -1
  37. package/dist/loop/health-render.js +2 -2
  38. package/dist/loop/health-render.js.map +1 -1
  39. package/dist/loop/health.d.ts +2 -1
  40. package/dist/loop/health.d.ts.map +1 -1
  41. package/dist/loop/health.js +11 -4
  42. package/dist/loop/health.js.map +1 -1
  43. package/dist/loop/hook-measure.js +1 -1
  44. package/dist/loop/hook-measure.js.map +1 -1
  45. package/dist/loop/run.d.ts +11 -3
  46. package/dist/loop/run.d.ts.map +1 -1
  47. package/dist/loop/run.js +12 -5
  48. package/dist/loop/run.js.map +1 -1
  49. package/dist/metrics/cli.js +72 -36
  50. package/dist/metrics/cli.js.map +1 -1
  51. package/dist/metrics/coverage.d.ts +60 -4
  52. package/dist/metrics/coverage.d.ts.map +1 -1
  53. package/dist/metrics/coverage.js +251 -55
  54. package/dist/metrics/coverage.js.map +1 -1
  55. package/dist/product/scenarios.d.ts.map +1 -1
  56. package/dist/product/scenarios.js +3 -2
  57. package/dist/product/scenarios.js.map +1 -1
  58. package/package.json +1 -1
package/README.md CHANGED
@@ -16,6 +16,23 @@ Three unpublished tool members import this package through its subpaths. This pa
16
16
  - The runner repository is `OMNE_RUNNER_ROOT`. When it is not set, it is the checked repository. Dependency rules (`.dependency-cruiser.cjs`, `tsconfig.base.json`), the direction rows of `docs/architecture/constraints.json` (schema 3, see the [conformance contract](src/arch/CONFORMANCE.md#方向行) and [Dependency directions](#dependency-directions)) and configuration come only from the runner repository, so a checked tree cannot change them.
17
17
  - Configuration is in [`repo-toolchain.config.json`](../../repo-toolchain.config.json) at the repository root, in the sections `loop`, `metrics`, `acceptanceLock` and `contractApi`. Each command reads only its own section. A missing file, a missing section that a command reads, or an unknown section is an error. No defaults apply. Version 0.0.10 is the first version that accepts the `contractApi` section. Earlier versions reject it.
18
18
  - dependency-cruiser needs TypeScript to parse `.ts` files. With pnpm, add `typescript` to dependency-cruiser under `packageExtensions` in `pnpm-workspace.yaml`. If TypeScript is not found, the dependency check exits with an error. It does not pass with the `.ts` files left out.
19
+ - The dependency graph of the working tree is cached in `<git-common-dir>/omne-dep-graph/working-<fingerprint>.json`, next to the per-commit baseline graphs. The fingerprint covers every input that can change the graph:
20
+ - the graph format version and the dependency-cruiser version
21
+ - the rule file and the loaded rules, and `tsconfig.base.json` with its `extends` chain
22
+ - the HEAD commit
23
+ - the paths and contents of all uncommitted and untracked files. The scan roots do not filter them, because dependency-cruiser resolves import targets outside the scan roots.
24
+ - the ignored paths. The scan roots do not filter them either: a directory counts only by presence, a single file by content.
25
+ - the ignored-directory decision
26
+ - the contents of `pnpm-lock.yaml` and `node_modules/.modules.yaml`
27
+ - the content digest of the graph code that runs (`src/deps/graph.ts`), so the pinned release and the source version do not hit each other's entries on the same HEAD. The baseline graph cache key includes it too. Changes in other modules that it imports still need a graph format version bump.
28
+
29
+ A hit does not start dependency-cruiser and returns the same bytes as a fresh run. A file that cannot be read, is not valid JSON or does not match is a miss. Only the 10 most recently used entries are kept.
30
+ - `OMNE_DEP_GRAPH_CACHE=0` turns the cache off.
31
+ - With `OMNE_ADMISSION=1` the command does not read the cache. It computes the graph as usual and writes it. An unset or empty value means not admission. Any other value is an error, as in the test runner.
32
+ - After the graph is computed, the command checks the fingerprint again. If an input changed during the run, it does not write the cache. When stderr is a terminal, it prints one line.
33
+ - The graph is reported on stderr as hit or miss only when stderr is a terminal.
34
+ - When the cache is written, the command also records a check list: the imports of modules that are not in an ignored directory and that resolve to a file in an ignored directory (not `node_modules`, which the lock file and `.modules.yaml` cover). The list records the content digest of each file. Before a hit, the command checks each file again. If a file is deleted or its content changed, the command treats the lookup as a miss and computes the graph again.
35
+ - The check list records only files that imports already resolve to. If an import could not be resolved before and a file for it appears later in an ignored directory, the fingerprint does not change and the cache can still report the old failure. It does not let the import pass. If a new file in an ignored directory makes an existing import resolve to it instead, the cache does not see this either.
19
36
 
20
37
  ## Default baseline
21
38
 
@@ -68,7 +85,7 @@ Version 0.0.12 is the first version in which `omne-deps` checks the direction ro
68
85
  A cycle between groups fails by default. When an owner rules that a specific chain of dependencies is correct, the runner repository records its member edges in `groupCycleExceptions` of its schema 3 `constraints.json`. Each entry has an id, a list of member edges (`from` and `to` are member paths), an https link to the ruling, and a one-line reason. An exception allows the listed edges only. The field format is in [the conformance contract](src/arch/CONFORMANCE.md#组环例外). The command reads exceptions only from the runner repository. An exception in the checked tree has no effect. Exceptions take effect from repo-toolchain 0.0.16.
69
86
 
70
87
  - A group cycle is allowed only when every cross-group member edge in it is listed by an exception. The command then prints one `excepted` line with the groups, the exception id, the ruling link, the allowed edges and the reason, and the cycle does not fail. If one edge is not listed, the cycle fails as before. The message ends with the edges that are not listed, and the machine-readable `edges` of the finding stay the full list of edges in the cycle. A new member edge between the same groups, which no exception lists, therefore always makes the cycle fail.
71
- - Each listed edge must appear in a group cycle, whether or not that cycle is allowed. An exception with an edge that does not appear (the edge was removed, the cycle is gone, or the edge is not in the cycle) is an `unused-group-cycle-exception` finding and exits 1. The `edges` of that finding are the edges that did not appear.
88
+ - Each listed edge must appear in a group cycle, whether or not that cycle is allowed. An exception with an edge that does not appear (the edge was removed, the cycle is gone, or the edge is not in the cycle) is an `unused-group-cycle-exception` finding and exits 1. The `edges` of that finding are the edges that did not appear. This is judged only when the checked tree is the runner repository itself (both roots resolve to the same directory). When the checked tree is another tree (`OMNE_RUNNER_ROOT` points elsewhere), exceptions still allow the cycles they list, but an unused exception is not reported: the exception is recorded in the runner tree, so the cycles of the checked tree cannot show that it is out of date. `omne-deps`, `omne-loop-status` and the stop hook use the same judgement.
72
89
  - Exceptions do not apply to cycles between members, to file cycles, or to other rules.
73
90
  - When at least one group cycle is allowed, the last line of the summary ends with `<n> 个组环按具名例外放行` (`<n>` group cycles allowed by named exceptions).
74
91
  - The hard lines of `omne-loop-status` and of the stop hook read the same exceptions. An excepted group cycle is not a hard line. The status lists it under the cycle line and keeps it in `hardLines.exceptedCycles` of `status.json`. An unused exception is a cycle hard line. When the `constraints.json` of the runner is not valid, `omne-loop-status` exits 2 as a tool error.
@@ -147,7 +164,8 @@ The artifact contains a read-only list of fixed decisions in `src/acceptance/his
147
164
  Each entry covers one commit and one protected path. A commit with more protected paths has one entry for each path.
148
165
  The [D010 decision](https://github.com/nemori-ai/omne-harness-lite/issues/638#issuecomment-6367449357) covers commit `48ad37d292796326d65055a75e8a1fde44fe4233` and `packages/agent/agent/acceptance/README.md`.
149
166
  The [#769 decision](https://github.com/nemori-ai/omne-harness-lite/issues/769#issuecomment-6411908205) covers 27 paths in commits `19f457a15`, `9f3967cc5`, `69bdedfab`, `837d333fd`, `14b0fcfcb` and `06acd53ca`.
150
- Without a task context, the lock compares a merge commit with each parent (`git diff-tree -m`) and lists each path that differs from one parent. With a task context it uses `--cc`, which lists only paths that differ from all parents. A clean merge then lists no paths. The six #769 commits contain four such merges.
167
+ Without a task context, the lock compares a merge commit with each parent (`-m`) and lists each path that differs from one parent. With a task context it uses `--cc`, which lists only paths that differ from all parents. A clean merge then lists no paths. The six #769 commits contain four such merges.
168
+ One `git log --name-only` call reads the paths of all commits in the range. It lists the same paths as one `git diff-tree --no-commit-id --name-only --no-renames -r` call for each commit. The call fixes `log.diffMerges=separate`, so user configuration cannot change `-m` to the first parent only. It fixes `log.showRoot=false`, so a root commit lists no paths, as `diff-tree` does without `--root`. It also adds `--no-show-signature`.
151
169
  By registration convention, a merge entry names the one parent where the path changed. The tool does not check this convention. It checks only that the named parent is one of the parents of the commit.
152
170
  The tool checks real Git objects, that the named parent is a parent of the commit, exact blobs, and all bytes from `git diff --no-ext-diff --no-textconv --no-color --binary -U3 --src-prefix=a/ --dst-prefix=b/ --text`.
153
171
  For a path that does not exist on one side, the blob is the Git null object ID (40 zeros), as `git diff --raw` shows it. The tool then checks that the tree has no such path.
package/README_ZH.md CHANGED
@@ -74,10 +74,33 @@ pnpm --filter @omne-harness/repo-toolchain test
74
74
  - 工作树的图不含被 Git 忽略且未跟踪的目录里的模块与它们的违规(本地产物,理由同[实际架构](#全局实际架构视图)的成员规则);不在 Git 仓库里的目录没有忽略规则,照常出图。
75
75
  - 规则与解析选项(`tsconfig.base.json` 的 `source` 条件)只从运行检查器的仓库读,被检查的检出改不了。
76
76
  - 基线图:把那个提交的源码导出到 git 公共目录下的临时树,按成员包名补上 `node_modules/@omne-harness/*` 链接后跑;结果按提交、规则文件摘要与图的格式版本缓存在 `<git-common-dir>/omne-dep-graph/`,同一基线只算一次,不写工作树。
77
- - 耗时:本机全仓一次约 3 秒,基线命中缓存约 10 毫秒。
77
+ - 临时树叫 `tree-<提交>-<进程号>`,算完就删;Windows 上刚解开的文件可能还被别的程序占着,删除时重试几次,仍删不掉只在标准错误报告,不改变图的结果。运行被强行结束(任务超时、关掉终端、杀进程树)时来不及删,所以每次算基线图开始时清掉进程已不在、且 10 分钟没动过的旧树;活着的进程的树不动。宽限期是为同一个 git 目录被 WSL 里的运行共用的情形:那边的进程这里看不见。
78
+ - 工作树的图:按指纹缓存在同一目录的 `working-<指纹>.json`。指纹(`workingGraphFingerprint`)覆盖所有能改变图的输入:
79
+ - 图的格式版本与 dependency-cruiser 的版本。
80
+ - 规则文件(原文与 require 后的结果)、`tsconfig.base.json` 连同 `extends` 链。
81
+ - HEAD 提交。
82
+ - 全部未提交与未跟踪文件的路径与内容。不按扫描根过滤,因为 dependency-cruiser 会解析扫描根以外的导入目标。
83
+ - 被忽略的路径。同样不按扫描根过滤:目录只记存在与否,单个文件记内容。
84
+ - 被忽略目录的判定结果。
85
+ - `pnpm-lock.yaml` 与 `node_modules/.modules.yaml` 的内容。
86
+ - 当前运行的出图代码(`src/deps/graph.ts`)的内容摘要:钉住的发行版与源码版在同一个头上不会互相命中。基线图的缓存键同样带它。它引用的其他模块变了,仍靠加图格式版本兜底。
87
+
88
+ 命中时不起 dependency-cruiser,读到的图与重算的逐字节相同。未命中照常算,算完先写临时名再改名,只留最近 10 份。
89
+ - 缓存读不到、JSON 坏、格式或指纹对不上、写不进都按未命中,既不让检查失败也不让它放行。
90
+ - `OMNE_DEP_GRAPH_CACHE=0` 关掉缓存:不读不写,行为与没有缓存时相同。
91
+ - `OMNE_ADMISSION=1` 时不读缓存,照常计算并写入。不设或空串为非准入,其他值报错,与测试运行器的规则相同。
92
+ - 算完图后复核指纹。运行期间输入变了就不写缓存;stderr 是终端时提示一行。
93
+ - stderr 是终端时打一行命中与否;管道里不打,输出与没有缓存时相同。
94
+ - 不在 git 仓库里或没有提交的树没有指纹,照常出图不缓存。
95
+ - 被忽略的目录只记存在与否,所以写缓存时另记一份复核清单:不在被忽略目录里的模块的导入,且解析到被忽略目录里的文件(不含 `node_modules`,它由锁文件与 `.modules.yaml` 的内容兜住)。清单记下每个文件的内容摘要。命中前逐个核对,文件删了或内容变了就当未命中重算。
96
+
97
+ 命中不能声称的:复核清单只记已经解析到的文件。原来解析不到的导入,之后在被忽略的目录里出现了文件,指纹不变,缓存可能仍报出旧的失败,不会放行。被忽略的目录里新增一个文件、让已有的导入改为解析到它时,缓存也看不出。
98
+
99
+ 做法借鉴 ub-mode 列出的 crapper 复用已有覆盖报告(`--use-existing-coverage`)与 mutator 的差分快照:先按输入指纹判没变,没变就不重算。
100
+ - 耗时(Windows 宿主,24 核):全仓一次 dependency-cruiser 约 14 秒,工作树指纹约 0.7 秒,`lint:deps` 命中缓存约 1.2 秒;基线命中缓存约 10 毫秒。
78
101
  - 回路状态的硬线是依赖违规与环;方向命中只让 `lint:deps` 退出 1,回路里只报告。按具名例外放行的组环不算硬线。
79
102
 
80
- 自测:`tests/deps-graph.spec.ts`、`tests/direction-rules.spec.ts`、`tests/group-cycle-exceptions-cli.spec.ts`(runner 与被检树分开的临时仓库)、`tests/group-cycle-exceptions.spec.ts`;回路金丝雀种了一处 `shared-stays-pure` 违规与一对成环的成员。
103
+ 自测:`tests/deps-graph.spec.ts`、`tests/deps-graph-cache.spec.ts`(指纹逐类失效,含扫描根之外的未提交文件与被忽略的路径;命中、坏文件、开关、留份、算图期间输入变了不写缓存)、`tests/deps-graph-trees.spec.ts`(过期临时树的清理)、`tests/direction-rules.spec.ts`、`tests/group-cycle-exceptions-cli.spec.ts`(runner 与被检树分开的临时仓库)、`tests/group-cycle-exceptions.spec.ts`;回路金丝雀种了一处 `shared-stays-pure` 违规与一对成环的成员。
81
104
 
82
105
  ### 依赖方向
83
106
 
@@ -95,7 +118,7 @@ pnpm --filter @omne-harness/repo-toolchain test
95
118
  组之间成环默认失败。负责人裁定某条具体的依赖链在架构上成立时,在运行检查器的仓库的 `constraints.json` 里登记一条 `groupCycleExceptions`,写明成员边(`from`、`to` 是成员路径)、裁定链接和一句理由。例外只放行登记的那几条边。例外与方向行一样只从运行检查器的仓库读,被检查的树登记的例外不生效。例外从 repo-toolchain 0.0.16 起执行。
96
119
 
97
120
  - 放行:一个组环的每一条跨组成员边都登记了,`omne-deps` 才放行它,另写一行 `excepted 组环 <组>、<组> 按例外 <id>(裁定 <链接>)放行 <from> → <to>、…:<理由>`。环上有一条边没登记,就照常报 `组之间成环` 并失败,消息末尾列出没登记的边;机读的 `edges` 仍是环上的全部边。因此两个组之间以后新增的任何没有登记的成员边,都会让组环失败。
98
- - 没用上:登记的边必须出现在某个组环里,不论那个组环最后是否放行。边被删、组环已消失或边不在环上时,这条例外报一条 `unused-group-cycle-exception`,写明 id、没用上的边和裁定链接,并退出 1。这条发现的机读 `edges` 是没用上的边。要删掉或改写这条例外。
121
+ - 没用上:登记的边必须出现在某个组环里,不论那个组环最后是否放行。边被删、组环已消失或边不在环上时,这条例外报一条 `unused-group-cycle-exception`,写明 id、没用上的边和裁定链接,并退出 1。这条发现的机读 `edges` 是没用上的边。要删掉或改写这条例外。只有被检树就是运行检查器的仓库自己时才判这一条。跨树检查(`OMNE_RUNNER_ROOT` 指向另一个仓库)时,例外照常放行登记的组环,但不判没用上:登记它的是 runner 的树,被检树的组环说明不了它有没有过期。`omne-deps`、回路状态与收工钩子的判断一致。
99
122
  - 成员环:成员之间的环不受例外影响,照常失败。文件环与其他规则也一样。
100
123
  - 汇总行:有放行的组环时,末行写「<n> 个组环按具名例外放行」。
101
124
  - 回路状态:硬线读同一份例外。放行的组环不算硬线,在 `status.md` 硬线一段的「环」下面列出例外、裁定链接与放行的边,在 `status.json` 的 `hardLines.exceptedCycles` 里保留。没用上的例外算进「环」这条硬线。runner 的 `constraints.json` 坏了时,回路状态按工具错误退出 2。收工钩子的硬线同样按例外判。
@@ -152,7 +175,8 @@ Loop 的 Markdown 同时显示原始违规和批准决定;其他硬线照常
152
175
  固定决定编进 `src/acceptance/historical-approvals.data.ts` 的只读列表(核对器 `src/acceptance/historical-approvals.ts` 只读这份列表),每条对应一个提交里的一个受保护路径;一个提交改了几个受保护路径,就登记几条。
153
176
  [D010 的决定](https://github.com/nemori-ai/omne-harness-lite/issues/638#issuecomment-6367449357)批准提交 `48ad37d292796326d65055a75e8a1fde44fe4233` 中的 `packages/agent/agent/acceptance/README.md` 改动。
154
177
  [#769 的决定](https://github.com/nemori-ai/omne-harness-lite/issues/769#issuecomment-6411908205)批准提交 `19f457a15`、`9f3967cc5`、`69bdedfab`、`837d333fd`、`14b0fcfcb`、`06acd53ca` 中的 27 个路径改动。
155
- 没有任务上下文时,验收锁把合并提交与每个父提交分别比较(`git diff-tree -m`),与任一父提交不同的路径都列出。有任务上下文时它用 `--cc`,只列与所有父提交都不同的路径,干净合并因此不列路径。#769 的六个提交里有四个是这样的合并。
178
+ 没有任务上下文时,验收锁把合并提交与每个父提交分别比较(`-m`),与任一父提交不同的路径都列出。有任务上下文时它用 `--cc`,只列与所有父提交都不同的路径,干净合并因此不列路径。#769 的六个提交里有四个是这样的合并。
179
+ 每个提交改到的路径由一次 `git log --name-only` 读出,列出的路径与逐个提交运行 `git diff-tree --no-commit-id --name-only --no-renames -r` 相同:调用固定 `log.diffMerges=separate`(用户配置不能把 `-m` 改成只比第一个父提交)与 `log.showRoot=false`(根提交不列路径,与 `diff-tree` 不加 `--root` 相同),并加 `--no-show-signature`。
156
180
  登记约定是:合并提交的条目写该路径有变化的那一个父提交。工具不核对这条约定,只核对所写父提交是该提交的父提交之一。
157
181
  工具读取真实 Git 对象,核对完整提交、所写父提交确是该提交的父提交、受保护路径、旧新 blob 和完整二进制 diff 的 SHA-256。某一侧没有这个路径时,blob 记为 Git 的空对象号(40 个 0,与 `git diff --raw` 的写法相同),工具核对该侧的树里确实没有这个路径。该 diff 使用 `git diff --no-ext-diff --no-textconv --no-color --binary -U3 --src-prefix=a/ --dst-prefix=b/ --text`。
158
182
  调用固定 `core.abbrev=8`、`diff.noprefix=false`、`diff.mnemonicPrefix=false`、`diff.algorithm=myers`、`diff.indentHeuristic=true`、`diff.context=3`、`diff.interHunkContext=0`、`diff.suppressBlankEmpty=false`、`diff.srcPrefix=a/`、`diff.dstPrefix=b/`、`core.attributesFile=/dev/null` 与 `attr.tree`(空树),从环境中去掉 `GIT_DIFF_OPTS` 与 `GIT_ATTR_SOURCE`,并设 `GIT_ATTR_NOSYSTEM=1`。仓库大小与这些配置不会改变字节。
@@ -268,10 +292,20 @@ architecture 报告的函数变化和关系变化都用精确 BASE;metrics 报
268
292
  pnpm run metrics # 全仓:实际架构、圈复杂度、依赖图、依赖方向与环
269
293
  pnpm run metrics --base <基线提交或分支> # 另标出基线以来变更的成员、函数、导入与提交形状
270
294
  omne-metrics --plan <计划文件> --coverage # 再对计划里要跑测试的成员逐个跑测试,取覆盖率并合成 CRAP(先构建)
295
+ omne-metrics --plan <计划文件> --coverage --coverage-parallel 3x5 # 覆盖率跨成员并行:同时 3 个成员,每个至多 5 个工作进程
271
296
  ```
272
297
 
273
298
  计划文件由 test-runner 的 `plan --json` 写出,准入检查用的也是它(见 [test-runner](../test-runner/README_ZH.md))。给 `--plan` 时,基线与合并点也取自计划,不能再给 `--base`;计划文件复制到产物目录的 `plan.json`。计划算的不是当前提交时,工具报错退出;工作树绑定了任务上下文时,计划的基线还要与上下文固定的基线一致。`--coverage` 必须带 `--plan`。算完计划后工作树又改了计划外的成员时,带覆盖率的运行报错退出,要求重算计划。改过的文件按最长的成员目录前缀归到成员;成员是 `pnpm-workspace.yaml` 的成员模式匹配到、且 `package.json` 有字符串 `name` 的目录。组根文件(`packages/<组>/README.md`、`packages/<组>/docs/**`)没有成员前缀,不算成员,改它们不触发这项检查。
274
299
 
300
+ 覆盖率缺省逐个成员串行,vitest 的工作进程数由 vitest 自己按核数定。给了 `--coverage-parallel <M>x<W>`(或环境变量 `OMNE_METRICS_COVERAGE_PARALLEL`,参数优先;只在带 `--coverage` 时生效)就跨成员并行:同时至多 M 个成员,每个成员的 vitest 加 `--maxWorkers=W`。本工具不推预算。`pnpm run metrics --coverage` 经 `scripts/metrics.sh` 在占到运行名额后向 test-runner 要并发度(`coverage-parallel`,两数之积不超过本机的工作进程预算,`OMNE_WORKER_BUDGET` 可覆盖),再经环境变量交下来;不认这个变量的旧版本照旧串行。调用方已设变量或给了参数时,脚本不另算。并行时:
301
+
302
+ - 预计最久的成员先开始。预计耗时取产物目录上级(缺省为主检出的 `tmp/metrics/`)与这次 `--out` 上级里历次 `metrics.json` 的 `meta.coverageSeconds`,同一成员取最新一份的正数;没有记录的按测试文件数,乘上有记录的成员平均每个文件的秒数。顺序只影响墙钟,不影响读数。
303
+ - 各成员的日志、报告目录与退出码与串行时相同,结果按成员原来的顺序合并,不随完成先后变。进度在每个成员跑完时打一行。
304
+ - 静态度量(依赖图、实际架构、符合性)与覆盖率同时进行,它们只读工作树,不读覆盖率。串行时仍先跑完覆盖率。
305
+ - 一个成员起不来时不再开新成员,等已开始的结束,再报错退出。
306
+
307
+ 这里借鉴了 crapper([unclebob/ub-mode](https://github.com/unclebob/ub-mode/tree/57a8bdd) 列出的 CRAP 工具)的两种做法:按核数并行,以及在覆盖报告已经存在时复用它(`--use-existing-coverage`)。只采用了前一种。复用要能判定已有报告的输入与这次相同:成员与它的工作区依赖的 `dist/`、测试、配置与安装状态都不在提交里,同一提交上也可能不同。本工具判定不了,所以不复用,每次重跑。
308
+
275
309
  本工具只读计划文件的四栏:`head`、`base.ref`、`base.mergeBase` 与 `plan.test`(成员目录的数组)。这四栏是本包的输入约定,现在由 test-runner 的 `plan --json` 写出。
276
310
 
277
311
  产物默认落**主检出**的 `tmp/metrics/<提交短号>[-dirty]/`(在工作树里跑也落主检出,工作树退役不带走;`--out` 或环境变量 `OMNE_METRICS_OUT` 可改):
@@ -285,7 +319,7 @@ omne-metrics --plan <计划文件> --coverage # 再对计划里要跑测试的
285
319
  | `actual.json` | N1 完整实际架构数据及精确两版差分 |
286
320
  | `architecture.json` | 总览、关系与来源的派生浏览投影;与旧 graph.json 分开 |
287
321
  | `plan.json` | 给 `--plan` 时复制的计划文件 |
288
- | `coverage/` | 开了覆盖率时各成员的原始 `<成员>/coverage-final.json` 与测试输出 `<成员>.vitest.log`;每个成员的耗时与退出码另记在 `metrics.json` 的 `meta` 里,运行时逐个打到标准错误 |
322
+ | `coverage/` | 开了覆盖率时各成员的原始 `<成员>/coverage-final.json` 与测试输出 `<成员>.vitest.log`;每个成员的耗时与退出码另记在 `metrics.json` 的 `meta` 里,运行时逐个打到标准错误;并行时的耗时含与别的成员争抢 CPU 的时间 |
289
323
 
290
324
  审讯页的网址后带成员路径可直接定位,例如 `review.html#packages/model/model-request-runtime-local`。
291
325
 
@@ -611,7 +645,7 @@ pnpm run loop:health # --out 可改产物目录
611
645
  | 块 | 内容 | 数据来源 |
612
646
  | -------------------- | -------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
613
647
  | 提交与合并的大小 | `primaryBranch` 沿第一父链最近 `health.commits` 个提交各改了几个文件(合并提交按它对第一父的改动计):中位数、最大值、最大的三个 | `git log --first-parent -m` |
614
- | 测试耗时 | 最近 `health.runs` 次**全量**运行的墙钟、提交、层、是否全过;各层的墙钟不可比,一层一条走向线 | `<主检出>/tmp/test-ledger/*/*/ledger.json`(`OMNE_TEST_LEDGER_HOME` 可改根);全量运行是 `meta.base` 为 null 的那些(`run --all`,或计划判为全量的 `pnpm run check` 测试一步),可以只跑一层(`pnpm run check` 的测试一步快、慢两层各记一份),层取 `meta.tier`,没有这一栏的旧账本按两层;受影响范围的运行带基线,不计入 |
648
+ | 测试耗时 | 最近 `health.runs` 次**全量**运行的墙钟、提交、层、是否全过;各层的墙钟不可比,一层一条走向线 | `<主检出>/tmp/test-ledger/*/*/ledger.json`(`OMNE_TEST_LEDGER_HOME` 可改根);全量运行是 `meta.base` 为 null 的那些(`run --all`,或计划判为全量的 `pnpm run check` 测试一步),可以只跑一层(`pnpm run check` 的测试一步快、慢两层各记一份),层取 `meta.tier`,没有这一栏的旧账本按两层;受影响范围的运行带基线,不计入;含缓存命中(`meta.cache.hits` 非空)的账本只列实际跑了的成员,墙钟不代表一次全量,也不计入 |
615
649
  | 债的走向 | 每个指标一条小折线(虚线是提醒线与处置线,蓝点是最新值)、最新值与最新带位;当前或曾经处于处置的成员,各项预算的读数走向 | `trend.jsonl`;同一提交多条取最后一条,按提交时间排 |
616
650
  | 对照表条数 | 五类各多少条、不合约定的行数、「现状」以「待建」开头的行数 | `docs/clean-loop.md`,与回路状态同一份解析 |
617
651
  | 传感器最近一次有数据 | 每个指标最近一条带着它的值的快照是哪个提交、什么时候;从没有过数据的标出 | `trend.jsonl` |
@@ -53,6 +53,14 @@ export interface CommitTouch {
53
53
  }
54
54
  /** 纯函数:给碰过验收文件的提交与未提交的改动,判断这把锁有没有被破。 */
55
55
  export declare function judge(touches: readonly CommitTouch[], uncommitted: readonly string[], config: AcceptanceLockConfig): Pick<LockReport, 'commits' | 'violations'>;
56
+ /**
57
+ * 范围里每个提交改到的路径,一次 `git log` 读完(逐个提交调 `diff-tree` 在 Windows 上一个提交要二三十毫秒)。
58
+ * 与逐个调 `git diff-tree --name-only --no-renames -r <-m|--cc> <提交>` 列出的路径相同:
59
+ * `-m` 让合并提交相对每个父提交各列一次(`log.diffMerges=separate` 钉住 `-m` 的含义,免得用户配置把它改成只比第一父),
60
+ * 同一提交的几段在这里合并;`--cc` 只列与每个父提交都不同的路径。`log.showRoot=false` 让根提交像 `diff-tree`
61
+ * 不加 `--root` 时那样不列路径;`--no-show-signature` 不让签名校验的输出混进来。
62
+ */
63
+ export declare function namesByCommit(root: string, range: string, integration: boolean): Map<string, Set<string>>;
56
64
  /** 读 Git:基线到当前工作树之间,验收文件发生了什么、谁改的。 */
57
65
  export declare function inspect(root: string, base: string, config: AcceptanceLockConfig, head?: string, integration?: boolean): LockReport;
58
66
  export declare function render(report: LockReport, config: AcceptanceLockConfig): string[];
@@ -1 +1 @@
1
- {"version":3,"file":"lock.d.ts","sourceRoot":"","sources":["../../src/acceptance/lock.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lock.d.ts","sourceRoot":"","sources":["../../src/acceptance/lock.ts"],"names":[],"mappings":"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"}
@@ -41,12 +41,16 @@ export function isAcceptancePath(path, config) {
41
41
  /** 模板生成的验收入口占位:验收目录里的 README.md、index.md 仍带这一行标记时,只是占位,不是验收内容。 */
42
42
  export const PLACEHOLDER_MARKER = '<!-- documentation:placeholder -->';
43
43
  const ENTRY_NAMES = new Set(['README.md', 'index.md']);
44
+ /** 只有 README.md、index.md 可能是占位;别的验收文件判断前不必读内容。 */
45
+ function isEntryName(path) {
46
+ return ENTRY_NAMES.has(path.slice(path.lastIndexOf('/') + 1));
47
+ }
44
48
  /**
45
49
  * 纯函数:这个验收文件在这次变化里是否只是模板占位。`content` 取变化后的内容,删除时取变化前的内容;
46
50
  * 读不到内容(undefined)不算占位,照常计入。
47
51
  */
48
52
  export function isPlaceholderEntry(path, content) {
49
- if (!ENTRY_NAMES.has(path.slice(path.lastIndexOf('/') + 1)) || content === undefined)
53
+ if (!isEntryName(path) || content === undefined)
50
54
  return false;
51
55
  return content.split('\n').some(line => line.trim() === PLACEHOLDER_MARKER);
52
56
  }
@@ -104,6 +108,45 @@ function contentAt(root, revision, path) {
104
108
  throw error;
105
109
  }
106
110
  }
111
+ /**
112
+ * 一批 `<版本>:<路径>` 的内容,一次 `git cat-file --batch` 读完,与逐个 `contentAt` 相同:不存在的为 undefined,
113
+ * 读出的去掉末尾空白(同 `git()`;`git show <版本>:<路径>` 给文件的也是原始内容)。不是文件的对象按工具错误报出。
114
+ */
115
+ function contentsAt(root, specs) {
116
+ const found = new Map();
117
+ const unique = [...new Set(specs)];
118
+ if (unique.length === 0)
119
+ return found;
120
+ const output = execFileSync('git', ['cat-file', '--batch'], {
121
+ env: repositoryEnv(process.env),
122
+ cwd: root,
123
+ input: unique.map(spec => `${spec}\n`).join(''),
124
+ maxBuffer: 256 * 1024 * 1024,
125
+ stdio: ['pipe', 'pipe', 'pipe'],
126
+ });
127
+ let offset = 0;
128
+ for (const spec of unique) {
129
+ const end = output.indexOf(0x0a, offset);
130
+ if (end < 0)
131
+ throw new Error(`git cat-file --batch 的输出在 ${spec} 处中断`);
132
+ const header = output.subarray(offset, end).toString('utf8');
133
+ offset = end + 1;
134
+ if (header === `${spec} missing`) {
135
+ found.set(spec, undefined);
136
+ continue;
137
+ }
138
+ const object = /^[0-9a-f]+ blob (\d+)$/u.exec(header);
139
+ if (object === null)
140
+ throw new Error(`读 ${spec} 时认不出的 git cat-file 输出:${header}`);
141
+ const size = Number(object[1]);
142
+ found.set(spec, output
143
+ .subarray(offset, offset + size)
144
+ .toString('utf8')
145
+ .trimEnd());
146
+ offset += size + 1;
147
+ }
148
+ return found;
149
+ }
107
150
  function worktreeContent(root, path) {
108
151
  try {
109
152
  return readFileSync(join(root, path), 'utf8');
@@ -151,27 +194,63 @@ function uncommittedPaths(root, config) {
151
194
  .filter(path => !isPlaceholderEntry(path, worktreeContent(root, path) ?? contentAt(root, 'HEAD', path)))
152
195
  .sort();
153
196
  }
197
+ const COMMIT_MARK = '\u001e';
198
+ /**
199
+ * 范围里每个提交改到的路径,一次 `git log` 读完(逐个提交调 `diff-tree` 在 Windows 上一个提交要二三十毫秒)。
200
+ * 与逐个调 `git diff-tree --name-only --no-renames -r <-m|--cc> <提交>` 列出的路径相同:
201
+ * `-m` 让合并提交相对每个父提交各列一次(`log.diffMerges=separate` 钉住 `-m` 的含义,免得用户配置把它改成只比第一父),
202
+ * 同一提交的几段在这里合并;`--cc` 只列与每个父提交都不同的路径。`log.showRoot=false` 让根提交像 `diff-tree`
203
+ * 不加 `--root` 时那样不列路径;`--no-show-signature` 不让签名校验的输出混进来。
204
+ */
205
+ export function namesByCommit(root, range, integration) {
206
+ const output = git(root, [
207
+ '-c',
208
+ 'log.showRoot=false',
209
+ '-c',
210
+ 'log.diffMerges=separate',
211
+ 'log',
212
+ '--no-show-signature',
213
+ `--format=${COMMIT_MARK}%H`,
214
+ '--name-only',
215
+ '--no-renames',
216
+ '-r',
217
+ ...(integration ? ['--cc'] : ['-m']),
218
+ range,
219
+ ]);
220
+ const names = new Map();
221
+ for (const block of output.split(COMMIT_MARK)) {
222
+ const [sha, ...paths] = block.split('\n');
223
+ if (sha === undefined || sha === '')
224
+ continue;
225
+ const seen = names.get(sha) ?? new Set();
226
+ for (const path of paths)
227
+ if (path !== '')
228
+ seen.add(path);
229
+ names.set(sha, seen);
230
+ }
231
+ return names;
232
+ }
154
233
  function touchesSince(root, mergeBase, config, head = 'HEAD', integration = false) {
155
- const touches = [];
156
- for (const record of readCommits(root, `${mergeBase}..${head}`)) {
157
- // `-m` 让合并提交相对每个父提交各列一次,路径去重后即「这个提交带进来的验收改动」。
158
- const names = git(root, [
159
- 'diff-tree',
160
- '--no-commit-id',
161
- '--name-only',
162
- '--no-renames',
163
- '-r',
164
- ...(integration ? ['--cc'] : ['-m']),
165
- record.sha,
166
- ]);
167
- const files = [...new Set(lines(names))]
168
- .filter(path => isAcceptancePath(path, config))
169
- .filter(path => !isPlaceholderEntry(path, contentAt(root, record.sha, path) ?? contentAt(root, `${record.sha}^`, path)))
234
+ const range = `${mergeBase}..${head}`;
235
+ const names = namesByCommit(root, range, integration);
236
+ // 合并提交相对每个父提交的路径已去重,即「这个提交带进来的验收改动」。
237
+ const touched = readCommits(root, range).map(record => ({
238
+ record,
239
+ files: [...(names.get(record.sha) ?? [])].filter(path => isAcceptancePath(path, config)),
240
+ }));
241
+ // 占位只看入口文件:变化后的内容,删掉的取父提交里的。两批各一次 git 调用读完。
242
+ const entries = touched.flatMap(({ record, files }) => files.filter(isEntryName).map(path => ({ sha: record.sha, path })));
243
+ const after = contentsAt(root, entries.map(({ sha, path }) => `${sha}:${path}`));
244
+ const before = contentsAt(root, entries
245
+ .filter(({ sha, path }) => after.get(`${sha}:${path}`) === undefined)
246
+ .map(({ sha, path }) => `${sha}^:${path}`));
247
+ const content = (sha, path) => after.get(`${sha}:${path}`) ?? before.get(`${sha}^:${path}`);
248
+ return touched.flatMap(({ record, files }) => {
249
+ const kept = files
250
+ .filter(path => !isEntryName(path) || !isPlaceholderEntry(path, content(record.sha, path)))
170
251
  .sort();
171
- if (files.length > 0)
172
- touches.push({ record, files });
173
- }
174
- return touches;
252
+ return kept.length > 0 ? [{ record, files: kept }] : [];
253
+ });
175
254
  }
176
255
  /** 读 Git:基线到当前工作树之间,验收文件发生了什么、谁改的。 */
177
256
  export function inspect(root, base, config, head = 'HEAD', integration = false) {
@@ -1 +1 @@
1
- {"version":3,"file":"lock.js","sourceRoot":"","sources":["../../src/acceptance/lock.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lock.js","sourceRoot":"","sources":["../../src/acceptance/lock.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"constraints.d.ts","sourceRoot":"","sources":["../../src/arch/constraints.ts"],"names":[],"mappings":"AAMA,OAAO,EAEL,KAAK,uBAAuB,EAK5B,KAAK,gBAAgB,EACrB,KAAK,eAAe,EAErB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAEL,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACvB,MAAM,aAAa,CAAA;AAEpB,eAAO,MAAM,eAAe,uCAAuC,CAAA;AACnE,eAAO,MAAM,sBAAsB,uDAAuD,CAAA;AAC1F,eAAO,MAAM,gBAAgB,uGAAqD,CAAA;AA+BlF,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAW7C;AAyCD;;;GAGG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,gBAAgB,GAAG,MAAM,CAWzD;AA4JD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,uBAAuB,CAmCtE;AAUD,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,GAAG,eAAe,CAGxF;AAED,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,kBAAkB,GAC3B,eAAe,CASjB;AAGD,eAAO,MAAM,eAAe,SAAU,MAAM,WAAW,MAAM,KAAG,OACoB,CAAA;AAEpF,MAAM,MAAM,iBAAiB,GACzB;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACnD;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,uBAAuB,CAAA;CAAE,CAAA;AAChG;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,GAAE,MAAqB,GAAG,iBAAiB,CAKpF;AAiDD,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAOzF;AA6BD,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,uBAAuB,CAAC,eAAe,CAAC,EACvD,SAAS,EAAE,MAAM,GAChB,MAAM,CAiBR;AA6GD,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,uBAAuB,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CA0BxF;AACD,wBAAgB,MAAM,CACpB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,SAAS,gBAAgB,EAAE,GACjC,gBAAgB,GAAG,SAAS,CAkB9B"}
1
+ {"version":3,"file":"constraints.d.ts","sourceRoot":"","sources":["../../src/arch/constraints.ts"],"names":[],"mappings":"AAMA,OAAO,EAEL,KAAK,uBAAuB,EAK5B,KAAK,gBAAgB,EACrB,KAAK,eAAe,EAErB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAEL,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACvB,MAAM,aAAa,CAAA;AAEpB,eAAO,MAAM,eAAe,uCAAuC,CAAA;AACnE,eAAO,MAAM,sBAAsB,uDAAuD,CAAA;AAC1F,eAAO,MAAM,gBAAgB,uGAAqD,CAAA;AA+BlF,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAW7C;AAyCD;;;GAGG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,gBAAgB,GAAG,MAAM,CAWzD;AA4JD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,uBAAuB,CAmCtE;AAUD,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,GAAG,eAAe,CAGxF;AAED,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,kBAAkB,GAC3B,eAAe,CASjB;AAGD,eAAO,MAAM,eAAe,SAAU,MAAM,WAAW,MAAM,KAAG,OACoB,CAAA;AAEpF,MAAM,MAAM,iBAAiB,GACzB;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACnD;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,uBAAuB,CAAA;CAAE,CAAA;AAChG;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,GAAE,MAAqB,GAAG,iBAAiB,CAKpF;AAiDD,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAOzF;AA8BD,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,uBAAuB,CAAC,eAAe,CAAC,EACvD,SAAS,EAAE,MAAM,GAChB,MAAM,CAiBR;AA6GD,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,uBAAuB,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CA0BxF;AACD,wBAAgB,MAAM,CACpB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,SAAS,gBAAgB,EAAE,GACjC,gBAAgB,GAAG,SAAS,CAkB9B"}
@@ -1,6 +1,6 @@
1
1
  import { lstatSync, readFileSync, realpathSync } from 'node:fs';
2
2
  import { createHash } from 'node:crypto';
3
- import { isAbsolute, join, posix, relative } from 'node:path';
3
+ import { isAbsolute, join, posix, relative, sep } from 'node:path';
4
4
  import { fileAt, git } from '../core/git.js';
5
5
  import { runnerRoot } from '../core/subject.js';
6
6
  import { memberOf } from '../deps/graph.js';
@@ -363,7 +363,8 @@ function versionReader(root, source) {
363
363
  else if (lstatSync(join(root, path), { throwIfNoEntry: false }) !== undefined) {
364
364
  const actual = realpathSync(join(root, path));
365
365
  const contained = relative(realpathSync(root), actual);
366
- if (isAbsolute(contained) || contained === '..' || contained.startsWith('../'))
366
+ // `relative` 用平台分隔符:Windows 上越界是 `..\x`,不是 `../x`。
367
+ if (isAbsolute(contained) || contained === '..' || contained.startsWith(`..${sep}`))
367
368
  throw new Error(`Architecture input escapes checkout: ${path}`);
368
369
  text = readFileSync(actual, 'utf8');
369
370
  }
@@ -1 +1 @@
1
- {"version":3,"file":"constraints.js","sourceRoot":"","sources":["../../src/arch/constraints.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"constraints.js","sourceRoot":"","sources":["../../src/arch/constraints.ts"],"names":[],"mappings":"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"}
@@ -22,7 +22,11 @@ export interface GroupCycleJudgement {
22
22
  }
23
23
  /** runner 的例外;runner 没有 `constraints.json` 或文件是 schema 1、2 时没有例外。 */
24
24
  export declare function runnerGroupCycleExceptions(constraints: RunnerConstraints): readonly ArchitectureGroupCycleException[];
25
- export declare function judgeGroupCycles(findings: readonly DependencyFinding[], exceptions: readonly ArchitectureGroupCycleException[]): GroupCycleJudgement;
25
+ /**
26
+ * `judgeUnused` 为假时不报没用上的例外:例外登记在 runner 的树里,被检树是另一棵树时,
27
+ * 登记的边不在被检树的组环里不说明例外过期。放行规则不受影响。
28
+ */
29
+ export declare function judgeGroupCycles(findings: readonly DependencyFinding[], exceptions: readonly ArchitectureGroupCycleException[], judgeUnused?: boolean): GroupCycleJudgement;
26
30
  /** 给人看的一行:哪个组环靠哪条例外的哪些边放行,带裁定链接。 */
27
31
  export declare function exceptedLine(item: ExceptedGroupCycle): string;
28
32
  //# sourceMappingURL=group-cycles.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"group-cycles.d.ts","sourceRoot":"","sources":["../../src/arch/group-cycles.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,iBAAiB,EAAe,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AACzF,OAAO,KAAK,EACV,0BAA0B,EAC1B,+BAA+B,EAChC,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAEzD,8CAA8C;AAC9C,MAAM,MAAM,0BAA0B,GAAG,iBAAiB,CAAC,8BAA8B,CAAC,CAAA;AAE1F,8BAA8B;AAC9B,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,0BAA0B,CAAA;IACzC,QAAQ,CAAC,SAAS,EAAE,+BAA+B,CAAA;CACpD;AAED,yDAAyD;AACzD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAA;IACnC,QAAQ,CAAC,QAAQ,EAAE,SAAS,YAAY,EAAE,CAAA;CAC3C;AAED,MAAM,WAAW,mBAAmB;IAClC,gCAAgC;IAChC,QAAQ,CAAC,QAAQ,EAAE,SAAS,iBAAiB,EAAE,CAAA;IAC/C,QAAQ,CAAC,QAAQ,EAAE,SAAS,kBAAkB,EAAE,CAAA;IAChD,+BAA+B;IAC/B,QAAQ,CAAC,MAAM,EAAE,SAAS,0BAA0B,EAAE,CAAA;CACvD;AAED,qEAAqE;AACrE,wBAAgB,0BAA0B,CACxC,WAAW,EAAE,iBAAiB,GAC7B,SAAS,+BAA+B,EAAE,CAE5C;AAKD,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,SAAS,iBAAiB,EAAE,EACtC,UAAU,EAAE,SAAS,+BAA+B,EAAE,GACrD,mBAAmB,CAyCrB;AAED,oCAAoC;AACpC,wBAAgB,YAAY,CAAC,IAAI,EAAE,kBAAkB,GAAG,MAAM,CAe7D"}
1
+ {"version":3,"file":"group-cycles.d.ts","sourceRoot":"","sources":["../../src/arch/group-cycles.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,iBAAiB,EAAe,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AACzF,OAAO,KAAK,EACV,0BAA0B,EAC1B,+BAA+B,EAChC,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAEzD,8CAA8C;AAC9C,MAAM,MAAM,0BAA0B,GAAG,iBAAiB,CAAC,8BAA8B,CAAC,CAAA;AAE1F,8BAA8B;AAC9B,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,0BAA0B,CAAA;IACzC,QAAQ,CAAC,SAAS,EAAE,+BAA+B,CAAA;CACpD;AAED,yDAAyD;AACzD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAA;IACnC,QAAQ,CAAC,QAAQ,EAAE,SAAS,YAAY,EAAE,CAAA;CAC3C;AAED,MAAM,WAAW,mBAAmB;IAClC,gCAAgC;IAChC,QAAQ,CAAC,QAAQ,EAAE,SAAS,iBAAiB,EAAE,CAAA;IAC/C,QAAQ,CAAC,QAAQ,EAAE,SAAS,kBAAkB,EAAE,CAAA;IAChD,+BAA+B;IAC/B,QAAQ,CAAC,MAAM,EAAE,SAAS,0BAA0B,EAAE,CAAA;CACvD;AAED,qEAAqE;AACrE,wBAAgB,0BAA0B,CACxC,WAAW,EAAE,iBAAiB,GAC7B,SAAS,+BAA+B,EAAE,CAE5C;AAKD;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,SAAS,iBAAiB,EAAE,EACtC,UAAU,EAAE,SAAS,+BAA+B,EAAE,EACtD,WAAW,GAAE,OAAc,GAC1B,mBAAmB,CAyCrB;AAED,oCAAoC;AACpC,wBAAgB,YAAY,CAAC,IAAI,EAAE,kBAAkB,GAAG,MAAM,CAe7D"}
@@ -4,7 +4,11 @@ export function runnerGroupCycleExceptions(constraints) {
4
4
  }
5
5
  const edgeKey = (edge) => `${edge.from}\u0000${edge.to}`;
6
6
  const arrow = (edge) => `${edge.from} → ${edge.to}`;
7
- export function judgeGroupCycles(findings, exceptions) {
7
+ /**
8
+ * `judgeUnused` 为假时不报没用上的例外:例外登记在 runner 的树里,被检树是另一棵树时,
9
+ * 登记的边不在被检树的组环里不说明例外过期。放行规则不受影响。
10
+ */
11
+ export function judgeGroupCycles(findings, exceptions, judgeUnused = true) {
8
12
  const registered = new Map();
9
13
  for (const exception of exceptions)
10
14
  for (const edge of exception.edges)
@@ -38,7 +42,7 @@ export function judgeGroupCycles(findings, exceptions) {
38
42
  excepted.push({ finding, released });
39
43
  }
40
44
  const unused = [];
41
- for (const exception of exceptions) {
45
+ for (const exception of judgeUnused ? exceptions : []) {
42
46
  const lost = exception.edges.filter(edge => !appearing.has(edgeKey(edge)));
43
47
  if (lost.length > 0)
44
48
  unused.push({