@omne-harness/repo-toolchain 0.0.3 → 0.0.4
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 +2 -2
- package/README_ZH.md +4 -2
- package/dist/acceptance/lock.d.ts +7 -0
- package/dist/acceptance/lock.d.ts.map +1 -1
- package/dist/acceptance/lock.js +45 -3
- package/dist/acceptance/lock.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
[中文说明](README_ZH.md)
|
|
4
4
|
|
|
5
|
-
`@omne-harness/repo-toolchain` is this repository's checker package. It is published on npm. It provides the rule engine, commit attribution, the dependency graph, declaration compatibility, structure metrics, actual architecture extraction, the review page and the clean loop.
|
|
5
|
+
`@omne-harness/repo-toolchain` is this repository's checker package. It is published on npm. It provides the rule engine, commit attribution, the dependency graph, declaration compatibility, structure metrics, actual architecture extraction, the review page and the clean loop. The repository pins its exact version in the catalog of `pnpm-workspace.yaml`. The root checks and the three tool members run that version from npm, not the sources in this directory. After a change here, publish a new version first, then open a PR that changes the pin. See the [development guide](../../docs/development.md#仓库工具链的版本).
|
|
6
6
|
|
|
7
7
|
Three unpublished tool members import this package through its subpaths. This package does not import them:
|
|
8
8
|
|
|
@@ -40,7 +40,7 @@ The commands (`bin`) point at `dist`. Run them from the installed package:
|
|
|
40
40
|
| `omne-metrics` | `src/metrics/cli.ts` | Structure metrics and the review page |
|
|
41
41
|
| `omne-loop-status` | `src/loop/cli.ts` | Clean loop status |
|
|
42
42
|
| `omne-loop-health` | `src/loop/health-cli.ts` | Process health page |
|
|
43
|
-
| `omne-acceptance-lock` | `src/acceptance/cli.ts` | Acceptance lock |
|
|
43
|
+
| `omne-acceptance-lock` | `src/acceptance/cli.ts` | Acceptance lock. A `README.md` or `index.md` under `acceptance/` that still has the documentation placeholder line is a template placeholder and does not count as an acceptance change |
|
|
44
44
|
| `omne-architecture` | `src/arch/cli.ts` | Actual architecture JSON |
|
|
45
45
|
|
|
46
46
|
The actual architecture extraction reads only the files of one revision. A package-name `extends` (for example `@omne-harness/repo-config/tsconfig.base.json`) points at an installed module. The extraction does not apply its options and lists it under `configuration.installedExtends` as `<config file> -> <specifier>`.
|
package/README_ZH.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
[English](README.md)
|
|
4
4
|
|
|
5
|
-
`@omne-harness/repo-toolchain` 是本仓库的检查器包,发布在 npm。它提供规则引擎、提交署名、依赖图、声明兼容、结构度量、实际架构抽取、审讯页与 clean loop
|
|
5
|
+
`@omne-harness/repo-toolchain` 是本仓库的检查器包,发布在 npm。它提供规则引擎、提交署名、依赖图、声明兼容、结构度量、实际架构抽取、审讯页与 clean loop。仓库在 `pnpm-workspace.yaml` 的 catalog 里钉它的精确版本,根目录的检查与三个工具成员都运行 npm 上的那个版本,不运行本目录的源码。改了本目录,要先发新版本,再开改钉子的 PR,见[开发指南](../../docs/development.md#仓库工具链的版本)。
|
|
6
6
|
|
|
7
7
|
三个不发布的工具成员经本包的子路径导入它,本包不引用它们:
|
|
8
8
|
|
|
@@ -76,7 +76,7 @@ pnpm --filter @omne-harness/repo-toolchain test
|
|
|
76
76
|
|
|
77
77
|
报告写成 `commit <短号>:<提交信息里的行号>`。它认的是 `src/commits.ts` 里列出的那批名字,新出现的工具要加进去;
|
|
78
78
|
它**不核对**来源 trailer 有没有写、写得对不对——哪些提交有 agent 参与,工具看不出来。
|
|
79
|
-
浅克隆时只查克隆下来的那些提交;不在 git 检出里运行时通过提示会写明「未检查」。自测:`tests/commit-attribution.spec.ts
|
|
79
|
+
浅克隆时只查克隆下来的那些提交;不在 git 检出里运行时通过提示会写明「未检查」。自测:`tests/commit-attribution.spec.ts`。本仓库已在共享历史里、不能改写的提交,由 [product-checks 的历史审计基线](../product-checks/README_ZH.md#提交署名的历史审计基线)逐条列出;本包不读基线,`attributionViolations` 照常报告全部违反。
|
|
80
80
|
|
|
81
81
|
## 验收锁
|
|
82
82
|
|
|
@@ -87,6 +87,8 @@ pnpm --filter @omne-harness/repo-toolchain test
|
|
|
87
87
|
make acceptance-lock BASE=<任务基线提交或分支>
|
|
88
88
|
```
|
|
89
89
|
|
|
90
|
+
模板生成的验收入口不算验收内容:`acceptance/` 下名为 `README.md` 或 `index.md`、变化后(删除时看变化前)仍有独立一行文档占位标记的文件,增删改都不计入;去掉标记、写入真实内容的改动照常计入(RFC-0007)。
|
|
91
|
+
|
|
90
92
|
**基线提交就是清单**:Git 按内容寻址,派发时不必另存一份哈希。工具拿基线与 HEAD 的合并点同当前工作树比,输出三样:
|
|
91
93
|
|
|
92
94
|
- 基线到当前工作树,验收文件的净变化(新增、修改、删除,含未提交与未跟踪);
|
|
@@ -10,6 +10,13 @@ export interface AcceptanceLockConfig {
|
|
|
10
10
|
export declare function parseAcceptanceLockConfig(raw: unknown): AcceptanceLockConfig;
|
|
11
11
|
export declare function readAcceptanceLockConfig(path?: string): AcceptanceLockConfig;
|
|
12
12
|
export declare function isAcceptancePath(path: string, config: AcceptanceLockConfig): boolean;
|
|
13
|
+
/** 模板生成的验收入口占位:验收目录里的 README.md、index.md 仍带这一行标记时,只是占位,不是验收内容。 */
|
|
14
|
+
export declare const PLACEHOLDER_MARKER = "<!-- documentation:placeholder -->";
|
|
15
|
+
/**
|
|
16
|
+
* 纯函数:这个验收文件在这次变化里是否只是模板占位。`content` 取变化后的内容,删除时取变化前的内容;
|
|
17
|
+
* 读不到内容(undefined)不算占位,照常计入。
|
|
18
|
+
*/
|
|
19
|
+
export declare function isPlaceholderEntry(path: string, content: string | undefined): boolean;
|
|
13
20
|
/** 提交信息里最后一条 `Agent-Role:` 的值;没有则为 undefined。 */
|
|
14
21
|
export declare function agentRole(message: string): string | undefined;
|
|
15
22
|
export interface TouchingCommit {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lock.d.ts","sourceRoot":"","sources":["../../src/acceptance/lock.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"lock.d.ts","sourceRoot":"","sources":["../../src/acceptance/lock.ts"],"names":[],"mappings":"AAQA,OAAO,EAAe,KAAK,YAAY,EAAE,MAAM,eAAe,CAAA;AAI9D,MAAM,WAAW,oBAAoB;IACnC,iCAAiC;IACjC,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAA;IACvC,kCAAkC;IAClC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,kEAAkE;IAClE,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAA;CACvC;AAYD,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,OAAO,GAAG,oBAAoB,CAU5E;AAED,wBAAgB,wBAAwB,CACtC,IAAI,GAAE,MAA8B,GACnC,oBAAoB,CAEtB;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAOpF;AAED,kEAAkE;AAClE,eAAO,MAAM,kBAAkB,uCAAuC,CAAA;AAGtE;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAGrF;AAED,iDAAiD;AACjD,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAO7D;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,gCAAgC;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAA;IACjC,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAA;IACjC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;CAC1B;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,MAAM,EAAE,OAAO,GAAG,UAAU,GAAG,SAAS,CAAA;IACjD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CACtB;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,mCAAmC;IACnC,QAAQ,CAAC,OAAO,EAAE,SAAS,UAAU,EAAE,CAAA;IACvC,0BAA0B;IAC1B,QAAQ,CAAC,OAAO,EAAE,SAAS,cAAc,EAAE,CAAA;IAC3C,6BAA6B;IAC7B,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAA;IACvC,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAA;CACvC;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAA;IAC7B,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAA;CAClC;AAED,wCAAwC;AACxC,wBAAgB,KAAK,CACnB,OAAO,EAAE,SAAS,WAAW,EAAE,EAC/B,WAAW,EAAE,SAAS,MAAM,EAAE,EAC9B,MAAM,EAAE,oBAAoB,GAC3B,IAAI,CAAC,UAAU,EAAE,SAAS,GAAG,YAAY,CAAC,CAuB5C;AAqHD,sCAAsC;AACtC,wBAAgB,OAAO,CACrB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,oBAAoB,EAC5B,IAAI,SAAS,EACb,WAAW,UAAQ,GAClB,UAAU,CAUZ;AAID,wBAAgB,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,oBAAoB,GAAG,MAAM,EAAE,CAyBjF;AAED,2EAA2E;AAC3E,wBAAgB,YAAY,CAC1B,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,MAAM,GAAG,SAAS,EAChC,MAAM,EAAE,oBAAoB;;;;;IAO7B"}
|
package/dist/acceptance/lock.js
CHANGED
|
@@ -3,6 +3,8 @@
|
|
|
3
3
|
// 交回时拿它与当前工作树比,并把这段范围里碰过验收文件的提交逐个列出、按来源 trailer 判断是不是验收的拥有者改的。
|
|
4
4
|
// 谁算拥有者、哪个目录算验收,只在仓库根 `repo-toolchain.config.json` 的 `acceptanceLock` 一节里定一次。
|
|
5
5
|
import { execFileSync } from 'node:child_process';
|
|
6
|
+
import { readFileSync } from 'node:fs';
|
|
7
|
+
import { join } from 'node:path';
|
|
6
8
|
import { repositoryEnv } from '../core/git-environment.js';
|
|
7
9
|
import { readCommits } from '../commits.js';
|
|
8
10
|
import { auditRanges, baselines } from '../core/task-context.js';
|
|
@@ -35,6 +37,18 @@ export function isAcceptancePath(path, config) {
|
|
|
35
37
|
!segments.includes('node_modules') &&
|
|
36
38
|
segments.slice(1, -1).includes(config.directory));
|
|
37
39
|
}
|
|
40
|
+
/** 模板生成的验收入口占位:验收目录里的 README.md、index.md 仍带这一行标记时,只是占位,不是验收内容。 */
|
|
41
|
+
export const PLACEHOLDER_MARKER = '<!-- documentation:placeholder -->';
|
|
42
|
+
const ENTRY_NAMES = new Set(['README.md', 'index.md']);
|
|
43
|
+
/**
|
|
44
|
+
* 纯函数:这个验收文件在这次变化里是否只是模板占位。`content` 取变化后的内容,删除时取变化前的内容;
|
|
45
|
+
* 读不到内容(undefined)不算占位,照常计入。
|
|
46
|
+
*/
|
|
47
|
+
export function isPlaceholderEntry(path, content) {
|
|
48
|
+
if (!ENTRY_NAMES.has(path.slice(path.lastIndexOf('/') + 1)) || content === undefined)
|
|
49
|
+
return false;
|
|
50
|
+
return content.split('\n').some(line => line.trim() === PLACEHOLDER_MARKER);
|
|
51
|
+
}
|
|
38
52
|
/** 提交信息里最后一条 `Agent-Role:` 的值;没有则为 undefined。 */
|
|
39
53
|
export function agentRole(message) {
|
|
40
54
|
let role;
|
|
@@ -77,6 +91,23 @@ function git(root, args) {
|
|
|
77
91
|
function lines(text) {
|
|
78
92
|
return text.split('\n').filter(line => line !== '');
|
|
79
93
|
}
|
|
94
|
+
/** 某个版本里的文件内容;不存在时为 undefined。 */
|
|
95
|
+
function contentAt(root, revision, path) {
|
|
96
|
+
try {
|
|
97
|
+
return git(root, ['show', `${revision}:${path}`]);
|
|
98
|
+
}
|
|
99
|
+
catch {
|
|
100
|
+
return undefined;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
function worktreeContent(root, path) {
|
|
104
|
+
try {
|
|
105
|
+
return readFileSync(join(root, path), 'utf8');
|
|
106
|
+
}
|
|
107
|
+
catch {
|
|
108
|
+
return undefined;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
80
111
|
const STATUS = { A: 'added', M: 'modified', D: 'deleted', T: 'modified' };
|
|
81
112
|
function changesSince(root, mergeBase, config, head = 'HEAD') {
|
|
82
113
|
const changes = [];
|
|
@@ -91,13 +122,20 @@ function changesSince(root, mergeBase, config, head = 'HEAD') {
|
|
|
91
122
|
const status = STATUS[code];
|
|
92
123
|
if (path === undefined || status === undefined)
|
|
93
124
|
throw new Error(`认不出的 git diff 行:${line}`);
|
|
94
|
-
if (isAcceptancePath(path, config))
|
|
125
|
+
if (!isAcceptancePath(path, config))
|
|
126
|
+
continue;
|
|
127
|
+
const content = status === 'deleted'
|
|
128
|
+
? contentAt(root, mergeBase, path)
|
|
129
|
+
: head === 'HEAD'
|
|
130
|
+
? worktreeContent(root, path)
|
|
131
|
+
: contentAt(root, head, path);
|
|
132
|
+
if (!isPlaceholderEntry(path, content))
|
|
95
133
|
changes.push({ status, path });
|
|
96
134
|
}
|
|
97
135
|
for (const path of head === 'HEAD'
|
|
98
136
|
? lines(git(root, ['ls-files', '--others', '--exclude-standard']))
|
|
99
137
|
: [])
|
|
100
|
-
if (isAcceptancePath(path, config))
|
|
138
|
+
if (isAcceptancePath(path, config) && !isPlaceholderEntry(path, worktreeContent(root, path)))
|
|
101
139
|
changes.push({ status: 'added', path });
|
|
102
140
|
return changes.sort((a, b) => a.path.localeCompare(b.path));
|
|
103
141
|
}
|
|
@@ -106,6 +144,7 @@ function uncommittedPaths(root, config) {
|
|
|
106
144
|
const untracked = lines(git(root, ['ls-files', '--others', '--exclude-standard']));
|
|
107
145
|
return [...new Set([...tracked, ...untracked])]
|
|
108
146
|
.filter(path => isAcceptancePath(path, config))
|
|
147
|
+
.filter(path => !isPlaceholderEntry(path, worktreeContent(root, path) ?? contentAt(root, 'HEAD', path)))
|
|
109
148
|
.sort();
|
|
110
149
|
}
|
|
111
150
|
function touchesSince(root, mergeBase, config, head = 'HEAD', integration = false) {
|
|
@@ -121,7 +160,10 @@ function touchesSince(root, mergeBase, config, head = 'HEAD', integration = fals
|
|
|
121
160
|
...(integration ? ['--cc'] : ['-m']),
|
|
122
161
|
record.sha,
|
|
123
162
|
]);
|
|
124
|
-
const files = [...new Set(lines(names))]
|
|
163
|
+
const files = [...new Set(lines(names))]
|
|
164
|
+
.filter(path => isAcceptancePath(path, config))
|
|
165
|
+
.filter(path => !isPlaceholderEntry(path, contentAt(root, record.sha, path) ?? contentAt(root, `${record.sha}^`, path)))
|
|
166
|
+
.sort();
|
|
125
167
|
if (files.length > 0)
|
|
126
168
|
touches.push({ record, files });
|
|
127
169
|
}
|
|
@@ -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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"}
|