@omne-harness/repo-toolchain 0.0.13 → 0.0.14

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 CHANGED
@@ -130,16 +130,22 @@ The acceptance lock preserves original role violations in `LockReport.violations
130
130
  Loop keeps each full report in `auditRanges[].acceptance`. Its acceptance hard line contains only unresolved findings.
131
131
  Both text reports show original violations and approvals. Other Loop hard lines still apply.
132
132
 
133
- The artifact contains only the fixed [D010 decision](https://github.com/nemori-ai/omne-harness-lite/issues/638#issuecomment-6367449357).
134
- It covers commit `48ad37d292796326d65055a75e8a1fde44fe4233` and `packages/agent/agent/acceptance/README.md`.
135
- The tool checks real Git objects, one parent, exact blobs, and all bytes from `git diff --no-ext-diff --no-textconv --no-color --binary -U3 --src-prefix=a/ --dst-prefix=b/ --text`.
133
+ The artifact contains a read-only list of fixed decisions in `src/acceptance/historical-approvals.data.ts`. The checker in `src/acceptance/historical-approvals.ts` reads only this list.
134
+ Each entry covers one commit and one protected path. A commit with more protected paths has one entry for each path.
135
+ 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`.
136
+ 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`.
137
+ 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.
138
+ 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.
139
+ 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`.
140
+ 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.
136
141
  The call fixes `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`, and `attr.tree` (the empty tree). It removes `GIT_DIFF_OPTS` and `GIT_ATTR_SOURCE` from its environment and sets `GIT_ATTR_NOSYSTEM=1`. Repository size and these settings do not change the bytes.
137
- Known limits: a funcname, xfuncname or `binary` attribute in `info/attributes`, a `.gitattributes` file in the worktree on Git older than 2.43, and an object prefix collision change the bytes. D010 then does not receive approval. These cases fail as a rejection, never as a false approval.
138
- Ordinary documents in that historical commit do not prevent approval. An additional protected path cannot receive this approval.
142
+ Known limits: a funcname, xfuncname or `binary` attribute in `info/attributes`, a `.gitattributes` file in the worktree on Git older than 2.43, and an object prefix collision change the bytes. The entry then does not receive approval. These cases fail as a rejection, never as a false approval.
143
+ Ordinary documents in a historical commit do not prevent approval. The protected paths that the lock lists for a commit must be exactly the paths registered for that commit. One more or one less path gives no approval for that commit.
144
+ When the path sets are equal but the fingerprint of one entry does not match, only that entry gets no approval. The other entries of the commit are approved. The path of the failed entry stays an unresolved violation, so the CLI still exits 1.
139
145
  Uncommitted edits, future developer commits, and fingerprint or decision mismatches still fail.
140
146
  Git read failures remain tool errors. Configuration, environment variables, arguments, and supplied URLs cannot authorize changes.
141
147
  No runtime GitHub request is required. Adoption trusts the reviewed artifact and its npm integrity.
142
148
  Source tests alone do not establish that consumers installed the release.
143
149
 
144
150
  Regression tests are in `tests/acceptance-lock.spec.ts` and `tests/loop-strict.spec.ts`.
145
- The real history cases require this repository's D010 Git objects.
151
+ The real history cases require the Git objects of the registered commits in this repository.
package/README_ZH.md CHANGED
@@ -137,12 +137,16 @@ pnpm run acceptance:lock --base <任务基线提交或分支>
137
137
  Loop 的 `auditRanges[].acceptance` 保留完整报告,`hardLines.acceptanceLock.violations` 只列未解决项。
138
138
  Loop 的 Markdown 同时显示原始违规和批准决定;其他硬线照常判断。
139
139
 
140
- 当前制品只包含 [D010 的固定决定](https://github.com/nemori-ai/omne-harness-lite/issues/638#issuecomment-6367449357)。
141
- 它只批准提交 `48ad37d292796326d65055a75e8a1fde44fe4233` 中的 `packages/agent/agent/acceptance/README.md` 改动。
142
- 工具读取真实 Git 对象,核对完整提交、唯一父提交、受保护路径、旧新 blob 和完整二进制 diff 的 SHA-256。该 diff 使用 `git diff --no-ext-diff --no-textconv --no-color --binary -U3 --src-prefix=a/ --dst-prefix=b/ --text`。
140
+ 固定决定编进 `src/acceptance/historical-approvals.data.ts` 的只读列表(核对器 `src/acceptance/historical-approvals.ts` 只读这份列表),每条对应一个提交里的一个受保护路径;一个提交改了几个受保护路径,就登记几条。
141
+ [D010 的决定](https://github.com/nemori-ai/omne-harness-lite/issues/638#issuecomment-6367449357)批准提交 `48ad37d292796326d65055a75e8a1fde44fe4233` 中的 `packages/agent/agent/acceptance/README.md` 改动。
142
+ [#769 的决定](https://github.com/nemori-ai/omne-harness-lite/issues/769#issuecomment-6411908205)批准提交 `19f457a15`、`9f3967cc5`、`69bdedfab`、`837d333fd`、`14b0fcfcb`、`06acd53ca` 中的 27 个路径改动。
143
+ 没有任务上下文时,验收锁把合并提交与每个父提交分别比较(`git diff-tree -m`),与任一父提交不同的路径都列出。有任务上下文时它用 `--cc`,只列与所有父提交都不同的路径,干净合并因此不列路径。#769 的六个提交里有四个是这样的合并。
144
+ 登记约定是:合并提交的条目写该路径有变化的那一个父提交。工具不核对这条约定,只核对所写父提交是该提交的父提交之一。
145
+ 工具读取真实 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`。
143
146
  调用固定 `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`。仓库大小与这些配置不会改变字节。
144
- 已知限制:`info/attributes` 中的 funcname、xfuncname 或 `binary` 属性,Git 2.43 以前版本下工作树里的 `.gitattributes`,以及对象前缀碰撞,会改变字节,D010 因此不获批准。这些情况的失败方向是拒绝,不会误批准。
145
- 其他普通文档可以在原提交中一起修改;多一个受保护验收路径不能命中例外。
147
+ 已知限制:`info/attributes` 中的 funcname、xfuncname 或 `binary` 属性,Git 2.43 以前版本下工作树里的 `.gitattributes`,以及对象前缀碰撞,会改变字节,该条因此不获批准。这些情况的失败方向是拒绝,不会误批准。
148
+ 其他普通文档可以在原提交中一起修改。验收锁为一个提交列出的受保护路径必须恰好等于为它登记的路径,多一个或少一个,这个提交一条都不批准。
149
+ 路径集合相等、但其中一条的指纹不符时,只有那一条不批准,该提交的其他条目照常批准;不符那条的路径仍是未解决违规,CLI 仍退出 1。
146
150
  未提交改动、未来 developer 提交和任一指纹或决定不匹配仍失败。Git 读取失败退出 2。
147
151
  仓库配置、环境变量、CLI 参数和外部 URL 都不能新增批准;运行时不访问 GitHub。
148
152
  批准记录随受审查的工具制品发布,安装版本与 npm integrity 是采用边界,源码测试通过不代表已安装修复。
@@ -1,14 +1,21 @@
1
- export interface HistoricalApproval {
2
- readonly commit: string;
3
- readonly parent: string;
4
- readonly path: string;
5
- readonly oldBlob: string;
6
- readonly newBlob: string;
7
- readonly diffSha256: string;
8
- readonly decisionUrl: string;
9
- }
10
- /** Internal matcher: it can recognize the compiled decision, never authorize a new one. */
1
+ import { type HistoricalApproval } from './historical-approvals.data.ts';
2
+ type ApprovalList = readonly HistoricalApproval[];
3
+ /** Internal matcher: it can recognize a compiled decision, never authorize a new one. */
11
4
  export declare function matchHistoricalApproval(candidate: Partial<HistoricalApproval>, protectedPaths: readonly string[]): HistoricalApproval | undefined;
12
- /** Read immutable Git objects; errors propagate to the caller as tool failures. */
13
- export declare function inspectHistoricalApproval(root: string, commit: string, protectedPaths: readonly string[]): HistoricalApproval | undefined;
5
+ /**
6
+ * Read the change of one path between a parent and a commit from immutable Git objects. The
7
+ * compiled constants come from this same function; errors propagate as tool failures.
8
+ */
9
+ export declare function observeHistoricalChange(root: string, commit: string, parent: string, path: string): Pick<HistoricalApproval, 'oldBlob' | 'newBlob' | 'diffSha256'>;
10
+ /**
11
+ * Test seam only: the same check over a given list. Production code calls
12
+ * inspectHistoricalApproval, which always passes the compiled list; no repository input reaches here.
13
+ */
14
+ export declare function inspectAgainst(list: ApprovalList, root: string, commit: string, protectedPaths: readonly string[]): readonly HistoricalApproval[];
15
+ /**
16
+ * The compiled approvals that match this commit's protected paths exactly, one for each path.
17
+ * Read immutable Git objects; errors propagate to the caller as tool failures.
18
+ */
19
+ export declare function inspectHistoricalApproval(root: string, commit: string, protectedPaths: readonly string[]): readonly HistoricalApproval[];
20
+ export {};
14
21
  //# sourceMappingURL=historical-approvals.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"historical-approvals.d.ts","sourceRoot":"","sources":["../../src/acceptance/historical-approvals.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;CAC7B;AAsED,2FAA2F;AAC3F,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,OAAO,CAAC,kBAAkB,CAAC,EACtC,cAAc,EAAE,SAAS,MAAM,EAAE,GAChC,kBAAkB,GAAG,SAAS,CAYhC;AAED,mFAAmF;AACnF,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,SAAS,MAAM,EAAE,GAChC,kBAAkB,GAAG,SAAS,CAqChC"}
1
+ {"version":3,"file":"historical-approvals.d.ts","sourceRoot":"","sources":["../../src/acceptance/historical-approvals.ts"],"names":[],"mappings":"AAGA,OAAO,EAIL,KAAK,kBAAkB,EACxB,MAAM,gCAAgC,CAAA;AA2DvC,KAAK,YAAY,GAAG,SAAS,kBAAkB,EAAE,CAAA;AAqCjD,yFAAyF;AACzF,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,OAAO,CAAC,kBAAkB,CAAC,EACtC,cAAc,EAAE,SAAS,MAAM,EAAE,GAChC,kBAAkB,GAAG,SAAS,CAEhC;AAwCD;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,GACX,IAAI,CAAC,kBAAkB,EAAE,SAAS,GAAG,SAAS,GAAG,YAAY,CAAC,CAWhE;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,YAAY,EAClB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,SAAS,MAAM,EAAE,GAChC,SAAS,kBAAkB,EAAE,CAyB/B;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,SAAS,MAAM,EAAE,GAChC,SAAS,kBAAkB,EAAE,CAE/B"}
@@ -0,0 +1,22 @@
1
+ export interface HistoricalApproval {
2
+ readonly commit: string;
3
+ /**
4
+ * The parent that the change is registered against. The tool checks only that it is one of the
5
+ * commit's parents. By registration convention a merge entry names the one parent where the path
6
+ * differs. That convention is not checked. The lock lists such a path only in its `-m` listing
7
+ * (no task context); its `--cc` listing (task context) shows no paths for a clean merge.
8
+ */
9
+ readonly parent: string;
10
+ readonly path: string;
11
+ /** NULL_OBJECT_ID when the path does not exist on that side, as `git diff --raw` reports it. */
12
+ readonly oldBlob: string;
13
+ readonly newBlob: string;
14
+ readonly diffSha256: string;
15
+ readonly decisionUrl: string;
16
+ }
17
+ /** Git's null object id: the side of a change where the path does not exist. */
18
+ export declare const NULL_OBJECT_ID = "0000000000000000000000000000000000000000";
19
+ export declare const HISTORICAL_APPROVALS: readonly HistoricalApproval[];
20
+ /** Each (commit, path) has at most one entry; a duplicate is an artifact defect, not a choice. */
21
+ export declare function assertUniqueApprovals(list: readonly HistoricalApproval[]): void;
22
+ //# sourceMappingURL=historical-approvals.data.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"historical-approvals.data.d.ts","sourceRoot":"","sources":["../../src/acceptance/historical-approvals.data.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB;;;;;OAKG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,gGAAgG;IAChG,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;CAC7B;AAED,gFAAgF;AAChF,eAAO,MAAM,cAAc,6CAA6C,CAAA;AAWxE,eAAO,MAAM,oBAAoB,EAAE,SAAS,kBAAkB,EAuQ7D,CAAA;AAED,kGAAkG;AAClG,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,SAAS,kBAAkB,EAAE,GAAG,IAAI,CAI/E"}
@@ -0,0 +1,280 @@
1
+ // Compiled historical acceptance-lock approvals. Only the reviewed tool artifact owns this list.
2
+ // Repository inputs, configuration, environment variables and arguments cannot add approvals.
3
+ /** Git's null object id: the side of a change where the path does not exist. */
4
+ export const NULL_OBJECT_ID = '0000000000000000000000000000000000000000';
5
+ const D010_DECISION = 'https://github.com/nemori-ai/omne-harness-lite/issues/638#issuecomment-6367449357';
6
+ const ISSUE_769_DECISION = 'https://github.com/nemori-ai/omne-harness-lite/issues/769#issuecomment-6411908205';
7
+ const MODEL_ACCEPTANCE = 'packages/model/model/acceptance';
8
+ const TRANSPORT_ACCEPTANCE = 'packages/model/pi-ai-transport/acceptance';
9
+ // One entry for each (commit, path). A commit receives approval only when the protected paths that
10
+ // the lock lists for it are exactly the paths registered here for that commit.
11
+ export const HISTORICAL_APPROVALS = Object.freeze([
12
+ // D010.
13
+ {
14
+ commit: '48ad37d292796326d65055a75e8a1fde44fe4233',
15
+ parent: 'e7aab8ec73002713d2ef6486401816850c984fb1',
16
+ path: 'packages/agent/agent/acceptance/README.md',
17
+ oldBlob: 'f7fac2fc21bfceb51c3dd84542b866eb7bb12c89',
18
+ newBlob: 'fbf0d08732f5d2004c3d63cff6c8be11442da99b',
19
+ diffSha256: 'eee5be00ebfdf300db6978cb2981a1b989dcd977846fc3de2669bb835edf3a2c',
20
+ decisionUrl: D010_DECISION,
21
+ },
22
+ // #769: six commits from 2026-10-20 to 10-23 that entered the track through the gate of that time.
23
+ // 19f457a15: #645 sync merge; the path differs only from its first parent.
24
+ {
25
+ commit: '19f457a1501aca70baae7ff573bddb86089c93ae',
26
+ parent: '2726a8c8bd3b04f65bab4785dbcca21e02f87024',
27
+ path: 'packages/agent/agent/acceptance/README.md',
28
+ oldBlob: 'f7fac2fc21bfceb51c3dd84542b866eb7bb12c89',
29
+ newBlob: 'fbf0d08732f5d2004c3d63cff6c8be11442da99b',
30
+ diffSha256: 'eee5be00ebfdf300db6978cb2981a1b989dcd977846fc3de2669bb835edf3a2c',
31
+ decisionUrl: ISSUE_769_DECISION,
32
+ },
33
+ // 9f3967cc5: #461 member documents.
34
+ {
35
+ commit: '9f3967cc5ec8e8eda4febfacaff50f78d5206b2b',
36
+ parent: '26b6c74e1b15f126425e2996475b7ab1fd043d5b',
37
+ path: `${TRANSPORT_ACCEPTANCE}/README.md`,
38
+ oldBlob: '4e52eb364f0a3705da54151aad66f004c2cd81e7',
39
+ newBlob: '7d7ef9306e63e823440f53aa381222b882348908',
40
+ diffSha256: '9c9113dc168f423ebfcaa86610e6af0953accc2be1c306c3170a0fb32041b37c',
41
+ decisionUrl: ISSUE_769_DECISION,
42
+ },
43
+ {
44
+ commit: '9f3967cc5ec8e8eda4febfacaff50f78d5206b2b',
45
+ parent: '26b6c74e1b15f126425e2996475b7ab1fd043d5b',
46
+ path: `${TRANSPORT_ACCEPTANCE}/fixtures/README.md`,
47
+ oldBlob: '794b57ae3902e48c9408080b31ab9f7df82da57d',
48
+ newBlob: '201cd7fd2a5160e3fa13391b77c4f144670a9827',
49
+ diffSha256: '5f8b1849be2b5e6fadc76da56d23f97ad7210987e464cb08e96dc923a8b1bf05',
50
+ decisionUrl: ISSUE_769_DECISION,
51
+ },
52
+ {
53
+ commit: '9f3967cc5ec8e8eda4febfacaff50f78d5206b2b',
54
+ parent: '26b6c74e1b15f126425e2996475b7ab1fd043d5b',
55
+ path: `${TRANSPORT_ACCEPTANCE}/fixtures/index.md`,
56
+ oldBlob: 'ccda51f9fcb999a06188bb3db4738843e85e4785',
57
+ newBlob: '2d59e565bcfde009603448b85ba181f0311aa25e',
58
+ diffSha256: '98fecd235050e1b89b1dfdc0f06531bb8540b2f8842a64e6a3d86ad413368a01',
59
+ decisionUrl: ISSUE_769_DECISION,
60
+ },
61
+ {
62
+ commit: '9f3967cc5ec8e8eda4febfacaff50f78d5206b2b',
63
+ parent: '26b6c74e1b15f126425e2996475b7ab1fd043d5b',
64
+ path: `${TRANSPORT_ACCEPTANCE}/index.md`,
65
+ oldBlob: '4a1bd66b5b76a23377c9664ab5d56cb550899d6e',
66
+ newBlob: '7a62b98257b47f48709a8532222c25d116943ecf',
67
+ diffSha256: '3b449877945335d1a5981587d3b47e0b4798207bb5d6345c6a6a5cca904773f9',
68
+ decisionUrl: ISSUE_769_DECISION,
69
+ },
70
+ // 69bdedfab: toolchain sync merge; the paths differ only from its first parent.
71
+ {
72
+ commit: '69bdedfabc097585cea516ccec8a6ba1d58003ae',
73
+ parent: '3f10ac0d71f69677e6dd4d05def905231a64a298',
74
+ path: `${MODEL_ACCEPTANCE}/PD-model-invocation.admission-rejection.acceptance.ts`,
75
+ oldBlob: NULL_OBJECT_ID,
76
+ newBlob: 'b551f1a762c9e83840ae998682ba7a39a42d45b4',
77
+ diffSha256: 'f92510e714308d2540480963ba3116ecf81075cfa11163acf822b00be211a3bf',
78
+ decisionUrl: ISSUE_769_DECISION,
79
+ },
80
+ {
81
+ commit: '69bdedfabc097585cea516ccec8a6ba1d58003ae',
82
+ parent: '3f10ac0d71f69677e6dd4d05def905231a64a298',
83
+ path: `${MODEL_ACCEPTANCE}/PD-model-invocation.credential-denied.acceptance.ts`,
84
+ oldBlob: NULL_OBJECT_ID,
85
+ newBlob: '5d6a46b9b123f1b6e288cfa9a6e641cb4bba62ec',
86
+ diffSha256: '98a4277048d8e2974e1b24b27a626b6e3c44ef676caeb0e34c95b4f695f65a47',
87
+ decisionUrl: ISSUE_769_DECISION,
88
+ },
89
+ {
90
+ commit: '69bdedfabc097585cea516ccec8a6ba1d58003ae',
91
+ parent: '3f10ac0d71f69677e6dd4d05def905231a64a298',
92
+ path: `${MODEL_ACCEPTANCE}/PD-model-invocation.success.acceptance.ts`,
93
+ oldBlob: NULL_OBJECT_ID,
94
+ newBlob: '6c27d0afec06d242af3ee8b9c5251fe506a28b26',
95
+ diffSha256: 'd65fda5375aeff38adf0f69d74c5afbbe44a4fc5572df73b8655ff683c5003ec',
96
+ decisionUrl: ISSUE_769_DECISION,
97
+ },
98
+ {
99
+ commit: '69bdedfabc097585cea516ccec8a6ba1d58003ae',
100
+ parent: '3f10ac0d71f69677e6dd4d05def905231a64a298',
101
+ path: `${MODEL_ACCEPTANCE}/README.md`,
102
+ oldBlob: 'ccae451371a1a19003fb2199b3dc5378727cceb0',
103
+ newBlob: 'ff535d6769178c43d4d387858b2960dc6d8cb3c2',
104
+ diffSha256: 'dd95dd737a8bda058a4f7bc74e025941127603146e5c38d169eb534511a75870',
105
+ decisionUrl: ISSUE_769_DECISION,
106
+ },
107
+ {
108
+ commit: '69bdedfabc097585cea516ccec8a6ba1d58003ae',
109
+ parent: '3f10ac0d71f69677e6dd4d05def905231a64a298',
110
+ path: `${MODEL_ACCEPTANCE}/fixtures/README.md`,
111
+ oldBlob: '201cd7fd2a5160e3fa13391b77c4f144670a9827',
112
+ newBlob: '4a1b17f21cfbf8fbd8a6cc122ff19f2eae11f7f1',
113
+ diffSha256: '513c5d79ca30afc0dc9554eb2e550ef1418a901e0bff7c862f9427d3a1a0a36b',
114
+ decisionUrl: ISSUE_769_DECISION,
115
+ },
116
+ {
117
+ commit: '69bdedfabc097585cea516ccec8a6ba1d58003ae',
118
+ parent: '3f10ac0d71f69677e6dd4d05def905231a64a298',
119
+ path: `${MODEL_ACCEPTANCE}/fixtures/index.md`,
120
+ oldBlob: '2d59e565bcfde009603448b85ba181f0311aa25e',
121
+ newBlob: 'ed72fe68040bf9c69b89999730e8bf8e80a25527',
122
+ diffSha256: 'a31effc46dc4509db3bb42cfddc602da2a5bb46d4e10136abe9f77000af6a896',
123
+ decisionUrl: ISSUE_769_DECISION,
124
+ },
125
+ {
126
+ commit: '69bdedfabc097585cea516ccec8a6ba1d58003ae',
127
+ parent: '3f10ac0d71f69677e6dd4d05def905231a64a298',
128
+ path: `${MODEL_ACCEPTANCE}/fixtures/runtime.ts`,
129
+ oldBlob: NULL_OBJECT_ID,
130
+ newBlob: '24be28c8765e1be3f2434fda6671733cc9db806b',
131
+ diffSha256: '3f060dd7ca4889d726756752cb48dc2c6e423ef69367030ae0139949b79bbd79',
132
+ decisionUrl: ISSUE_769_DECISION,
133
+ },
134
+ {
135
+ commit: '69bdedfabc097585cea516ccec8a6ba1d58003ae',
136
+ parent: '3f10ac0d71f69677e6dd4d05def905231a64a298',
137
+ path: `${MODEL_ACCEPTANCE}/index.md`,
138
+ oldBlob: '7a62b98257b47f48709a8532222c25d116943ecf',
139
+ newBlob: '83ededfe813614539c63c521f263498ca6a14a6c',
140
+ diffSha256: '0ca167590ccedbff242697ac7f7bb707e9afc57b36ec2a0d5a2a3db360735140',
141
+ decisionUrl: ISSUE_769_DECISION,
142
+ },
143
+ // 837d333fd: toolchain sync merge; the paths differ only from its first parent.
144
+ {
145
+ commit: '837d333fdac65e6d2f7b62f7bd4bf73c066c857d',
146
+ parent: 'cced1ffbfaec385e05d4d8466fea659c4ab8cfbc',
147
+ path: `${MODEL_ACCEPTANCE}/PD-model-invocation.admission-rejection.acceptance.ts`,
148
+ oldBlob: NULL_OBJECT_ID,
149
+ newBlob: 'b551f1a762c9e83840ae998682ba7a39a42d45b4',
150
+ diffSha256: 'f92510e714308d2540480963ba3116ecf81075cfa11163acf822b00be211a3bf',
151
+ decisionUrl: ISSUE_769_DECISION,
152
+ },
153
+ {
154
+ commit: '837d333fdac65e6d2f7b62f7bd4bf73c066c857d',
155
+ parent: 'cced1ffbfaec385e05d4d8466fea659c4ab8cfbc',
156
+ path: `${MODEL_ACCEPTANCE}/PD-model-invocation.credential-denied.acceptance.ts`,
157
+ oldBlob: NULL_OBJECT_ID,
158
+ newBlob: '5d6a46b9b123f1b6e288cfa9a6e641cb4bba62ec',
159
+ diffSha256: '98a4277048d8e2974e1b24b27a626b6e3c44ef676caeb0e34c95b4f695f65a47',
160
+ decisionUrl: ISSUE_769_DECISION,
161
+ },
162
+ {
163
+ commit: '837d333fdac65e6d2f7b62f7bd4bf73c066c857d',
164
+ parent: 'cced1ffbfaec385e05d4d8466fea659c4ab8cfbc',
165
+ path: `${MODEL_ACCEPTANCE}/PD-model-invocation.success.acceptance.ts`,
166
+ oldBlob: NULL_OBJECT_ID,
167
+ newBlob: '6c27d0afec06d242af3ee8b9c5251fe506a28b26',
168
+ diffSha256: 'd65fda5375aeff38adf0f69d74c5afbbe44a4fc5572df73b8655ff683c5003ec',
169
+ decisionUrl: ISSUE_769_DECISION,
170
+ },
171
+ {
172
+ commit: '837d333fdac65e6d2f7b62f7bd4bf73c066c857d',
173
+ parent: 'cced1ffbfaec385e05d4d8466fea659c4ab8cfbc',
174
+ path: `${MODEL_ACCEPTANCE}/README.md`,
175
+ oldBlob: 'ccae451371a1a19003fb2199b3dc5378727cceb0',
176
+ newBlob: 'ff535d6769178c43d4d387858b2960dc6d8cb3c2',
177
+ diffSha256: 'dd95dd737a8bda058a4f7bc74e025941127603146e5c38d169eb534511a75870',
178
+ decisionUrl: ISSUE_769_DECISION,
179
+ },
180
+ {
181
+ commit: '837d333fdac65e6d2f7b62f7bd4bf73c066c857d',
182
+ parent: 'cced1ffbfaec385e05d4d8466fea659c4ab8cfbc',
183
+ path: `${MODEL_ACCEPTANCE}/fixtures/README.md`,
184
+ oldBlob: '201cd7fd2a5160e3fa13391b77c4f144670a9827',
185
+ newBlob: '4a1b17f21cfbf8fbd8a6cc122ff19f2eae11f7f1',
186
+ diffSha256: '513c5d79ca30afc0dc9554eb2e550ef1418a901e0bff7c862f9427d3a1a0a36b',
187
+ decisionUrl: ISSUE_769_DECISION,
188
+ },
189
+ {
190
+ commit: '837d333fdac65e6d2f7b62f7bd4bf73c066c857d',
191
+ parent: 'cced1ffbfaec385e05d4d8466fea659c4ab8cfbc',
192
+ path: `${MODEL_ACCEPTANCE}/fixtures/index.md`,
193
+ oldBlob: '2d59e565bcfde009603448b85ba181f0311aa25e',
194
+ newBlob: 'ed72fe68040bf9c69b89999730e8bf8e80a25527',
195
+ diffSha256: 'a31effc46dc4509db3bb42cfddc602da2a5bb46d4e10136abe9f77000af6a896',
196
+ decisionUrl: ISSUE_769_DECISION,
197
+ },
198
+ {
199
+ commit: '837d333fdac65e6d2f7b62f7bd4bf73c066c857d',
200
+ parent: 'cced1ffbfaec385e05d4d8466fea659c4ab8cfbc',
201
+ path: `${MODEL_ACCEPTANCE}/fixtures/runtime.ts`,
202
+ oldBlob: NULL_OBJECT_ID,
203
+ newBlob: '24be28c8765e1be3f2434fda6671733cc9db806b',
204
+ diffSha256: '3f060dd7ca4889d726756752cb48dc2c6e423ef69367030ae0139949b79bbd79',
205
+ decisionUrl: ISSUE_769_DECISION,
206
+ },
207
+ {
208
+ commit: '837d333fdac65e6d2f7b62f7bd4bf73c066c857d',
209
+ parent: 'cced1ffbfaec385e05d4d8466fea659c4ab8cfbc',
210
+ path: `${MODEL_ACCEPTANCE}/index.md`,
211
+ oldBlob: '7a62b98257b47f48709a8532222c25d116943ecf',
212
+ newBlob: '83ededfe813614539c63c521f263498ca6a14a6c',
213
+ diffSha256: '0ca167590ccedbff242697ac7f7bb707e9afc57b36ec2a0d5a2a3db360735140',
214
+ decisionUrl: ISSUE_769_DECISION,
215
+ },
216
+ // 14b0fcfcb: Node engine merge for #549; the paths differ only from its second parent.
217
+ {
218
+ commit: '14b0fcfcb1effda5d41f40bc5293c51eee5c4b6e',
219
+ parent: '6dd1fefa1dcb6646d4221d01767220e2bfc04b05',
220
+ path: `${MODEL_ACCEPTANCE}/PD-model-invocation.admission-rejection.acceptance.ts`,
221
+ oldBlob: 'b551f1a762c9e83840ae998682ba7a39a42d45b4',
222
+ newBlob: '7958c50949fd3f71b9a279479d31e2b38410c024',
223
+ diffSha256: 'f6e347c3266316b46a56ad2c722edd5754bc09b6a788ff49ce500d2b5ec4049f',
224
+ decisionUrl: ISSUE_769_DECISION,
225
+ },
226
+ {
227
+ commit: '14b0fcfcb1effda5d41f40bc5293c51eee5c4b6e',
228
+ parent: '6dd1fefa1dcb6646d4221d01767220e2bfc04b05',
229
+ path: `${MODEL_ACCEPTANCE}/PD-model-invocation.credential-denied.acceptance.ts`,
230
+ oldBlob: '5d6a46b9b123f1b6e288cfa9a6e641cb4bba62ec',
231
+ newBlob: '81292c76bf84dd2bf6537d4750ab695ae531bbf1',
232
+ diffSha256: 'a9d32bea1d10639c350b371383fc238ebece299096566f1df6150e9d09df393f',
233
+ decisionUrl: ISSUE_769_DECISION,
234
+ },
235
+ {
236
+ commit: '14b0fcfcb1effda5d41f40bc5293c51eee5c4b6e',
237
+ parent: '6dd1fefa1dcb6646d4221d01767220e2bfc04b05',
238
+ path: `${MODEL_ACCEPTANCE}/PD-model-invocation.success.acceptance.ts`,
239
+ oldBlob: '6c27d0afec06d242af3ee8b9c5251fe506a28b26',
240
+ newBlob: '6e9d8a5c0b0758713b2c7e4d670d303fd1f6a5e1',
241
+ diffSha256: '9f70ab6cf123d62b3520e418ff9afc43e46f238e277a74372084c63c20bcf9cd',
242
+ decisionUrl: ISSUE_769_DECISION,
243
+ },
244
+ // 06acd53ca: toolchain merge for #549; the paths differ only from its second parent.
245
+ {
246
+ commit: '06acd53ca13e66fc7867a7daec0ff7683c2ee6ac',
247
+ parent: 'ec0de1dba1f7e02cdbef6f35815c23f41c5a9b68',
248
+ path: `${MODEL_ACCEPTANCE}/PD-model-invocation.admission-rejection.acceptance.ts`,
249
+ oldBlob: 'b551f1a762c9e83840ae998682ba7a39a42d45b4',
250
+ newBlob: '946519832b6a863cb94ce967f7d07370cfa567d8',
251
+ diffSha256: '810c035f8358fb4a6293d01e9fc4ff95c2cab2e7363592a310038898fda6ad6c',
252
+ decisionUrl: ISSUE_769_DECISION,
253
+ },
254
+ {
255
+ commit: '06acd53ca13e66fc7867a7daec0ff7683c2ee6ac',
256
+ parent: 'ec0de1dba1f7e02cdbef6f35815c23f41c5a9b68',
257
+ path: `${MODEL_ACCEPTANCE}/PD-model-invocation.credential-denied.acceptance.ts`,
258
+ oldBlob: '5d6a46b9b123f1b6e288cfa9a6e641cb4bba62ec',
259
+ newBlob: '81292c76bf84dd2bf6537d4750ab695ae531bbf1',
260
+ diffSha256: 'a9d32bea1d10639c350b371383fc238ebece299096566f1df6150e9d09df393f',
261
+ decisionUrl: ISSUE_769_DECISION,
262
+ },
263
+ {
264
+ commit: '06acd53ca13e66fc7867a7daec0ff7683c2ee6ac',
265
+ parent: 'ec0de1dba1f7e02cdbef6f35815c23f41c5a9b68',
266
+ path: `${MODEL_ACCEPTANCE}/PD-model-invocation.success.acceptance.ts`,
267
+ oldBlob: '6c27d0afec06d242af3ee8b9c5251fe506a28b26',
268
+ newBlob: '6e9d8a5c0b0758713b2c7e4d670d303fd1f6a5e1',
269
+ diffSha256: '9f70ab6cf123d62b3520e418ff9afc43e46f238e277a74372084c63c20bcf9cd',
270
+ decisionUrl: ISSUE_769_DECISION,
271
+ },
272
+ ].map(approval => Object.freeze(approval)));
273
+ /** Each (commit, path) has at most one entry; a duplicate is an artifact defect, not a choice. */
274
+ export function assertUniqueApprovals(list) {
275
+ const keys = new Set(list.map(item => `${item.commit}\0${item.path}`));
276
+ if (keys.size !== list.length)
277
+ throw new Error('Historical acceptance approvals contain a duplicate (commit, path) entry');
278
+ }
279
+ assertUniqueApprovals(HISTORICAL_APPROVALS);
280
+ //# sourceMappingURL=historical-approvals.data.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"historical-approvals.data.js","sourceRoot":"","sources":["../../src/acceptance/historical-approvals.data.ts"],"names":[],"mappings":"AAAA,iGAAiG;AACjG,8FAA8F;AAmB9F,gFAAgF;AAChF,MAAM,CAAC,MAAM,cAAc,GAAG,0CAA0C,CAAA;AAExE,MAAM,aAAa,GACjB,mFAAmF,CAAA;AACrF,MAAM,kBAAkB,GACtB,mFAAmF,CAAA;AACrF,MAAM,gBAAgB,GAAG,iCAAiC,CAAA;AAC1D,MAAM,oBAAoB,GAAG,2CAA2C,CAAA;AAExE,mGAAmG;AACnG,+EAA+E;AAC/E,MAAM,CAAC,MAAM,oBAAoB,GAAkC,MAAM,CAAC,MAAM,CAC9E;IACE,QAAQ;IACR;QACE,MAAM,EAAE,0CAA0C;QAClD,MAAM,EAAE,0CAA0C;QAClD,IAAI,EAAE,2CAA2C;QACjD,OAAO,EAAE,0CAA0C;QACnD,OAAO,EAAE,0CAA0C;QACnD,UAAU,EAAE,kEAAkE;QAC9E,WAAW,EAAE,aAAa;KAC3B;IACD,mGAAmG;IACnG,2EAA2E;IAC3E;QACE,MAAM,EAAE,0CAA0C;QAClD,MAAM,EAAE,0CAA0C;QAClD,IAAI,EAAE,2CAA2C;QACjD,OAAO,EAAE,0CAA0C;QACnD,OAAO,EAAE,0CAA0C;QACnD,UAAU,EAAE,kEAAkE;QAC9E,WAAW,EAAE,kBAAkB;KAChC;IACD,oCAAoC;IACpC;QACE,MAAM,EAAE,0CAA0C;QAClD,MAAM,EAAE,0CAA0C;QAClD,IAAI,EAAE,GAAG,oBAAoB,YAAY;QACzC,OAAO,EAAE,0CAA0C;QACnD,OAAO,EAAE,0CAA0C;QACnD,UAAU,EAAE,kEAAkE;QAC9E,WAAW,EAAE,kBAAkB;KAChC;IACD;QACE,MAAM,EAAE,0CAA0C;QAClD,MAAM,EAAE,0CAA0C;QAClD,IAAI,EAAE,GAAG,oBAAoB,qBAAqB;QAClD,OAAO,EAAE,0CAA0C;QACnD,OAAO,EAAE,0CAA0C;QACnD,UAAU,EAAE,kEAAkE;QAC9E,WAAW,EAAE,kBAAkB;KAChC;IACD;QACE,MAAM,EAAE,0CAA0C;QAClD,MAAM,EAAE,0CAA0C;QAClD,IAAI,EAAE,GAAG,oBAAoB,oBAAoB;QACjD,OAAO,EAAE,0CAA0C;QACnD,OAAO,EAAE,0CAA0C;QACnD,UAAU,EAAE,kEAAkE;QAC9E,WAAW,EAAE,kBAAkB;KAChC;IACD;QACE,MAAM,EAAE,0CAA0C;QAClD,MAAM,EAAE,0CAA0C;QAClD,IAAI,EAAE,GAAG,oBAAoB,WAAW;QACxC,OAAO,EAAE,0CAA0C;QACnD,OAAO,EAAE,0CAA0C;QACnD,UAAU,EAAE,kEAAkE;QAC9E,WAAW,EAAE,kBAAkB;KAChC;IACD,gFAAgF;IAChF;QACE,MAAM,EAAE,0CAA0C;QAClD,MAAM,EAAE,0CAA0C;QAClD,IAAI,EAAE,GAAG,gBAAgB,wDAAwD;QACjF,OAAO,EAAE,cAAc;QACvB,OAAO,EAAE,0CAA0C;QACnD,UAAU,EAAE,kEAAkE;QAC9E,WAAW,EAAE,kBAAkB;KAChC;IACD;QACE,MAAM,EAAE,0CAA0C;QAClD,MAAM,EAAE,0CAA0C;QAClD,IAAI,EAAE,GAAG,gBAAgB,sDAAsD;QAC/E,OAAO,EAAE,cAAc;QACvB,OAAO,EAAE,0CAA0C;QACnD,UAAU,EAAE,kEAAkE;QAC9E,WAAW,EAAE,kBAAkB;KAChC;IACD;QACE,MAAM,EAAE,0CAA0C;QAClD,MAAM,EAAE,0CAA0C;QAClD,IAAI,EAAE,GAAG,gBAAgB,4CAA4C;QACrE,OAAO,EAAE,cAAc;QACvB,OAAO,EAAE,0CAA0C;QACnD,UAAU,EAAE,kEAAkE;QAC9E,WAAW,EAAE,kBAAkB;KAChC;IACD;QACE,MAAM,EAAE,0CAA0C;QAClD,MAAM,EAAE,0CAA0C;QAClD,IAAI,EAAE,GAAG,gBAAgB,YAAY;QACrC,OAAO,EAAE,0CAA0C;QACnD,OAAO,EAAE,0CAA0C;QACnD,UAAU,EAAE,kEAAkE;QAC9E,WAAW,EAAE,kBAAkB;KAChC;IACD;QACE,MAAM,EAAE,0CAA0C;QAClD,MAAM,EAAE,0CAA0C;QAClD,IAAI,EAAE,GAAG,gBAAgB,qBAAqB;QAC9C,OAAO,EAAE,0CAA0C;QACnD,OAAO,EAAE,0CAA0C;QACnD,UAAU,EAAE,kEAAkE;QAC9E,WAAW,EAAE,kBAAkB;KAChC;IACD;QACE,MAAM,EAAE,0CAA0C;QAClD,MAAM,EAAE,0CAA0C;QAClD,IAAI,EAAE,GAAG,gBAAgB,oBAAoB;QAC7C,OAAO,EAAE,0CAA0C;QACnD,OAAO,EAAE,0CAA0C;QACnD,UAAU,EAAE,kEAAkE;QAC9E,WAAW,EAAE,kBAAkB;KAChC;IACD;QACE,MAAM,EAAE,0CAA0C;QAClD,MAAM,EAAE,0CAA0C;QAClD,IAAI,EAAE,GAAG,gBAAgB,sBAAsB;QAC/C,OAAO,EAAE,cAAc;QACvB,OAAO,EAAE,0CAA0C;QACnD,UAAU,EAAE,kEAAkE;QAC9E,WAAW,EAAE,kBAAkB;KAChC;IACD;QACE,MAAM,EAAE,0CAA0C;QAClD,MAAM,EAAE,0CAA0C;QAClD,IAAI,EAAE,GAAG,gBAAgB,WAAW;QACpC,OAAO,EAAE,0CAA0C;QACnD,OAAO,EAAE,0CAA0C;QACnD,UAAU,EAAE,kEAAkE;QAC9E,WAAW,EAAE,kBAAkB;KAChC;IACD,gFAAgF;IAChF;QACE,MAAM,EAAE,0CAA0C;QAClD,MAAM,EAAE,0CAA0C;QAClD,IAAI,EAAE,GAAG,gBAAgB,wDAAwD;QACjF,OAAO,EAAE,cAAc;QACvB,OAAO,EAAE,0CAA0C;QACnD,UAAU,EAAE,kEAAkE;QAC9E,WAAW,EAAE,kBAAkB;KAChC;IACD;QACE,MAAM,EAAE,0CAA0C;QAClD,MAAM,EAAE,0CAA0C;QAClD,IAAI,EAAE,GAAG,gBAAgB,sDAAsD;QAC/E,OAAO,EAAE,cAAc;QACvB,OAAO,EAAE,0CAA0C;QACnD,UAAU,EAAE,kEAAkE;QAC9E,WAAW,EAAE,kBAAkB;KAChC;IACD;QACE,MAAM,EAAE,0CAA0C;QAClD,MAAM,EAAE,0CAA0C;QAClD,IAAI,EAAE,GAAG,gBAAgB,4CAA4C;QACrE,OAAO,EAAE,cAAc;QACvB,OAAO,EAAE,0CAA0C;QACnD,UAAU,EAAE,kEAAkE;QAC9E,WAAW,EAAE,kBAAkB;KAChC;IACD;QACE,MAAM,EAAE,0CAA0C;QAClD,MAAM,EAAE,0CAA0C;QAClD,IAAI,EAAE,GAAG,gBAAgB,YAAY;QACrC,OAAO,EAAE,0CAA0C;QACnD,OAAO,EAAE,0CAA0C;QACnD,UAAU,EAAE,kEAAkE;QAC9E,WAAW,EAAE,kBAAkB;KAChC;IACD;QACE,MAAM,EAAE,0CAA0C;QAClD,MAAM,EAAE,0CAA0C;QAClD,IAAI,EAAE,GAAG,gBAAgB,qBAAqB;QAC9C,OAAO,EAAE,0CAA0C;QACnD,OAAO,EAAE,0CAA0C;QACnD,UAAU,EAAE,kEAAkE;QAC9E,WAAW,EAAE,kBAAkB;KAChC;IACD;QACE,MAAM,EAAE,0CAA0C;QAClD,MAAM,EAAE,0CAA0C;QAClD,IAAI,EAAE,GAAG,gBAAgB,oBAAoB;QAC7C,OAAO,EAAE,0CAA0C;QACnD,OAAO,EAAE,0CAA0C;QACnD,UAAU,EAAE,kEAAkE;QAC9E,WAAW,EAAE,kBAAkB;KAChC;IACD;QACE,MAAM,EAAE,0CAA0C;QAClD,MAAM,EAAE,0CAA0C;QAClD,IAAI,EAAE,GAAG,gBAAgB,sBAAsB;QAC/C,OAAO,EAAE,cAAc;QACvB,OAAO,EAAE,0CAA0C;QACnD,UAAU,EAAE,kEAAkE;QAC9E,WAAW,EAAE,kBAAkB;KAChC;IACD;QACE,MAAM,EAAE,0CAA0C;QAClD,MAAM,EAAE,0CAA0C;QAClD,IAAI,EAAE,GAAG,gBAAgB,WAAW;QACpC,OAAO,EAAE,0CAA0C;QACnD,OAAO,EAAE,0CAA0C;QACnD,UAAU,EAAE,kEAAkE;QAC9E,WAAW,EAAE,kBAAkB;KAChC;IACD,uFAAuF;IACvF;QACE,MAAM,EAAE,0CAA0C;QAClD,MAAM,EAAE,0CAA0C;QAClD,IAAI,EAAE,GAAG,gBAAgB,wDAAwD;QACjF,OAAO,EAAE,0CAA0C;QACnD,OAAO,EAAE,0CAA0C;QACnD,UAAU,EAAE,kEAAkE;QAC9E,WAAW,EAAE,kBAAkB;KAChC;IACD;QACE,MAAM,EAAE,0CAA0C;QAClD,MAAM,EAAE,0CAA0C;QAClD,IAAI,EAAE,GAAG,gBAAgB,sDAAsD;QAC/E,OAAO,EAAE,0CAA0C;QACnD,OAAO,EAAE,0CAA0C;QACnD,UAAU,EAAE,kEAAkE;QAC9E,WAAW,EAAE,kBAAkB;KAChC;IACD;QACE,MAAM,EAAE,0CAA0C;QAClD,MAAM,EAAE,0CAA0C;QAClD,IAAI,EAAE,GAAG,gBAAgB,4CAA4C;QACrE,OAAO,EAAE,0CAA0C;QACnD,OAAO,EAAE,0CAA0C;QACnD,UAAU,EAAE,kEAAkE;QAC9E,WAAW,EAAE,kBAAkB;KAChC;IACD,qFAAqF;IACrF;QACE,MAAM,EAAE,0CAA0C;QAClD,MAAM,EAAE,0CAA0C;QAClD,IAAI,EAAE,GAAG,gBAAgB,wDAAwD;QACjF,OAAO,EAAE,0CAA0C;QACnD,OAAO,EAAE,0CAA0C;QACnD,UAAU,EAAE,kEAAkE;QAC9E,WAAW,EAAE,kBAAkB;KAChC;IACD;QACE,MAAM,EAAE,0CAA0C;QAClD,MAAM,EAAE,0CAA0C;QAClD,IAAI,EAAE,GAAG,gBAAgB,sDAAsD;QAC/E,OAAO,EAAE,0CAA0C;QACnD,OAAO,EAAE,0CAA0C;QACnD,UAAU,EAAE,kEAAkE;QAC9E,WAAW,EAAE,kBAAkB;KAChC;IACD;QACE,MAAM,EAAE,0CAA0C;QAClD,MAAM,EAAE,0CAA0C;QAClD,IAAI,EAAE,GAAG,gBAAgB,4CAA4C;QACrE,OAAO,EAAE,0CAA0C;QACnD,OAAO,EAAE,0CAA0C;QACnD,UAAU,EAAE,kEAAkE;QAC9E,WAAW,EAAE,kBAAkB;KAChC;CACF,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAC3C,CAAA;AAED,kGAAkG;AAClG,MAAM,UAAU,qBAAqB,CAAC,IAAmC;IACvE,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;IACtE,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,MAAM;QAC3B,MAAM,IAAI,KAAK,CAAC,0EAA0E,CAAC,CAAA;AAC/F,CAAC;AAED,qBAAqB,CAAC,oBAAoB,CAAC,CAAA"}
@@ -1,16 +1,7 @@
1
1
  import { execFileSync } from 'node:child_process';
2
2
  import { createHash } from 'node:crypto';
3
3
  import { repositoryEnv } from '../core/git-environment.js';
4
- // The reviewed tool artifact owns this decision. Repository inputs cannot add approvals.
5
- const D010 = Object.freeze({
6
- commit: '48ad37d292796326d65055a75e8a1fde44fe4233',
7
- parent: 'e7aab8ec73002713d2ef6486401816850c984fb1',
8
- path: 'packages/agent/agent/acceptance/README.md',
9
- oldBlob: 'f7fac2fc21bfceb51c3dd84542b866eb7bb12c89',
10
- newBlob: 'fbf0d08732f5d2004c3d63cff6c8be11442da99b',
11
- diffSha256: 'eee5be00ebfdf300db6978cb2981a1b989dcd977846fc3de2669bb835edf3a2c',
12
- decisionUrl: 'https://github.com/nemori-ai/omne-harness-lite/issues/638#issuecomment-6367449357',
13
- });
4
+ import { HISTORICAL_APPROVALS, NULL_OBJECT_ID, assertUniqueApprovals, } from './historical-approvals.data.js';
14
5
  // Fixed diff settings: the same Git objects must give the same bytes under any user or repository
15
6
  // configuration that these settings cover. core.abbrev=8 matches the abbreviation length at
16
7
  // approval time. Do not use --full-index: it changes the bytes and so the approved digest.
@@ -62,49 +53,112 @@ function fingerprintEnv(base) {
62
53
  const { GIT_DIFF_OPTS: _diffOptions, GIT_ATTR_SOURCE: _attributeSource, ...env } = repositoryEnv(base);
63
54
  return { ...env, GIT_ATTR_NOSYSTEM: '1' };
64
55
  }
65
- /** Internal matcher: it can recognize the compiled decision, never authorize a new one. */
66
- export function matchHistoricalApproval(candidate, protectedPaths) {
67
- return protectedPaths.length === 1 &&
68
- protectedPaths[0] === D010.path &&
69
- candidate.commit === D010.commit &&
70
- candidate.parent === D010.parent &&
71
- candidate.path === D010.path &&
72
- candidate.oldBlob === D010.oldBlob &&
73
- candidate.newBlob === D010.newBlob &&
74
- candidate.diffSha256 === D010.diffSha256 &&
75
- candidate.decisionUrl === D010.decisionUrl
76
- ? D010
56
+ /** The protected paths of the commit are exactly the registered ones: one more or one less fails. */
57
+ function coversExactly(list, commit, protectedPaths) {
58
+ const registered = new Set(list.filter(item => item.commit === commit).map(item => item.path));
59
+ const listed = new Set(protectedPaths);
60
+ return (registered.size > 0 &&
61
+ listed.size === protectedPaths.length &&
62
+ listed.size === registered.size &&
63
+ protectedPaths.every(path => registered.has(path)));
64
+ }
65
+ function matchAgainst(list, candidate, protectedPaths) {
66
+ const approval = list.find(item => item.commit === candidate.commit && item.path === candidate.path);
67
+ return approval !== undefined &&
68
+ coversExactly(list, approval.commit, protectedPaths) &&
69
+ candidate.parent === approval.parent &&
70
+ candidate.oldBlob === approval.oldBlob &&
71
+ candidate.newBlob === approval.newBlob &&
72
+ candidate.diffSha256 === approval.diffSha256 &&
73
+ candidate.decisionUrl === approval.decisionUrl
74
+ ? approval
77
75
  : undefined;
78
76
  }
79
- /** Read immutable Git objects; errors propagate to the caller as tool failures. */
80
- export function inspectHistoricalApproval(root, commit, protectedPaths) {
81
- if (commit !== D010.commit || protectedPaths.length !== 1 || protectedPaths[0] !== D010.path)
82
- return undefined;
83
- const git = (args, env = repositoryEnv(process.env)) => execFileSync('git', args, {
77
+ /** Internal matcher: it can recognize a compiled decision, never authorize a new one. */
78
+ export function matchHistoricalApproval(candidate, protectedPaths) {
79
+ return matchAgainst(HISTORICAL_APPROVALS, candidate, protectedPaths);
80
+ }
81
+ function gitIn(root) {
82
+ return (args, env = repositoryEnv(process.env)) => execFileSync('git', args, {
84
83
  cwd: root,
85
84
  env,
86
85
  maxBuffer: 256 * 1024 * 1024,
87
86
  stdio: ['ignore', 'pipe', 'pipe'],
88
87
  });
89
- const objectId = (type, revision) => {
90
- const bytes = git(['cat-file', type, revision]);
91
- return createHash('sha1').update(`${type} ${bytes.length}\0`).update(bytes).digest('hex');
92
- };
93
- if (objectId('commit', commit) !== D010.commit || objectId('commit', D010.parent) !== D010.parent)
94
- return undefined;
95
- const identity = git(['show', '-s', '--format=%H %P', commit]).toString('utf8').trim();
96
- if (identity !== `${D010.commit} ${D010.parent}`)
88
+ }
89
+ function hashObject(type, bytes) {
90
+ return createHash('sha1').update(`${type} ${bytes.length}\0`).update(bytes).digest('hex');
91
+ }
92
+ /** Hash the object bytes again, so a Git replacement object cannot pass as the original. */
93
+ function objectId(git, type, revision) {
94
+ return hashObject(type, git(['cat-file', type, revision]));
95
+ }
96
+ /** The parents written in the commit object itself, read from bytes whose hash was checked. */
97
+ function verifiedParents(git, commit) {
98
+ const bytes = git(['cat-file', 'commit', commit]);
99
+ if (hashObject('commit', bytes) !== commit)
97
100
  return undefined;
98
- return matchHistoricalApproval({
99
- commit,
100
- parent: D010.parent,
101
- path: D010.path,
102
- oldBlob: objectId('blob', `${D010.parent}:${D010.path}`),
103
- newBlob: objectId('blob', `${commit}:${D010.path}`),
101
+ const header = bytes.toString('utf8').split('\n\n', 1)[0] ?? '';
102
+ return header.split('\n').flatMap(line => {
103
+ const parent = /^parent ([0-9a-f]{40})$/u.exec(line)?.[1];
104
+ return parent === undefined ? [] : [parent];
105
+ });
106
+ }
107
+ /** The blob at `revision:path`, or NULL_OBJECT_ID when the tree has no such path. */
108
+ function blobAt(git, revision, path) {
109
+ if (git(['ls-tree', revision, '--', path]).length === 0)
110
+ return NULL_OBJECT_ID;
111
+ return objectId(git, 'blob', `${revision}:${path}`);
112
+ }
113
+ /**
114
+ * Read the change of one path between a parent and a commit from immutable Git objects. The
115
+ * compiled constants come from this same function; errors propagate as tool failures.
116
+ */
117
+ export function observeHistoricalChange(root, commit, parent, path) {
118
+ const git = gitIn(root);
119
+ return {
120
+ oldBlob: blobAt(git, parent, path),
121
+ newBlob: blobAt(git, commit, path),
104
122
  diffSha256: createHash('sha256')
105
- .update(git([...FINGERPRINT_DIFF_ARGS, D010.parent, commit, '--', D010.path], fingerprintEnv(process.env)))
123
+ .update(git([...FINGERPRINT_DIFF_ARGS, parent, commit, '--', path], fingerprintEnv(process.env)))
106
124
  .digest('hex'),
107
- decisionUrl: D010.decisionUrl,
108
- }, protectedPaths);
125
+ };
126
+ }
127
+ /**
128
+ * Test seam only: the same check over a given list. Production code calls
129
+ * inspectHistoricalApproval, which always passes the compiled list; no repository input reaches here.
130
+ */
131
+ export function inspectAgainst(list, root, commit, protectedPaths) {
132
+ assertUniqueApprovals(list);
133
+ if (!coversExactly(list, commit, protectedPaths))
134
+ return [];
135
+ const git = gitIn(root);
136
+ const parents = verifiedParents(git, commit);
137
+ if (parents === undefined)
138
+ return [];
139
+ return list
140
+ .filter(item => item.commit === commit)
141
+ .flatMap(approval => {
142
+ // The candidate takes the registered parent, so these two checks are the only parent guards.
143
+ if (!parents.includes(approval.parent))
144
+ return [];
145
+ if (objectId(git, 'commit', approval.parent) !== approval.parent)
146
+ return [];
147
+ const matched = matchAgainst(list, {
148
+ commit,
149
+ parent: approval.parent,
150
+ path: approval.path,
151
+ ...observeHistoricalChange(root, commit, approval.parent, approval.path),
152
+ decisionUrl: approval.decisionUrl,
153
+ }, protectedPaths);
154
+ return matched === undefined ? [] : [matched];
155
+ });
156
+ }
157
+ /**
158
+ * The compiled approvals that match this commit's protected paths exactly, one for each path.
159
+ * Read immutable Git objects; errors propagate to the caller as tool failures.
160
+ */
161
+ export function inspectHistoricalApproval(root, commit, protectedPaths) {
162
+ return inspectAgainst(HISTORICAL_APPROVALS, root, commit, protectedPaths);
109
163
  }
110
164
  //# sourceMappingURL=historical-approvals.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"historical-approvals.js","sourceRoot":"","sources":["../../src/acceptance/historical-approvals.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"historical-approvals.js","sourceRoot":"","sources":["../../src/acceptance/historical-approvals.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { type HistoricalApproval } from './historical-approvals.ts';
1
+ import type { HistoricalApproval } from './historical-approvals.data.ts';
2
2
  import { type CommitRecord } from '../commits.ts';
3
3
  export interface AcceptanceLockConfig {
4
4
  /** 成员所在的根目录;只有它们下面的验收目录受这把锁管。 */
@@ -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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"}
@@ -179,12 +179,7 @@ export function inspect(root, base, config, head = 'HEAD', integration = false)
179
179
  const uncommitted = head === 'HEAD' ? uncommittedPaths(root, config) : [];
180
180
  const touches = touchesSince(root, mergeBase, config, head, integration);
181
181
  const original = judge(touches, uncommitted, config);
182
- const approvedExceptions = original.commits.flatMap(commit => {
183
- if (commit.allowed)
184
- return [];
185
- const approval = inspectHistoricalApproval(root, commit.sha, commit.files);
186
- return approval === undefined ? [] : [approval];
187
- });
182
+ const approvedExceptions = original.commits.flatMap(commit => commit.allowed ? [] : inspectHistoricalApproval(root, commit.sha, commit.files));
188
183
  const unresolvedTouches = touches.flatMap(touch => {
189
184
  const files = touch.files.filter(path => !approvedExceptions.some(item => item.commit === touch.record.sha && item.path === path));
190
185
  return files.length === 0 ? [] : [{ ...touch, files }];
@@ -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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@omne-harness/repo-toolchain",
3
- "version": "0.0.13",
3
+ "version": "0.0.14",
4
4
  "type": "module",
5
5
  "description": "仓库工具链:规则引擎、提交署名、依赖图、声明兼容、契约 API 快照、结构度量、实际架构抽取与 clean loop",
6
6
  "license": "UNLICENSED",