From af8299a3d95c972cea030d25d814b19a25dc202e Mon Sep 17 00:00:00 2001 From: Val Alexander Date: Mon, 7 Sep 2026 02:52:50 -0500 Subject: [PATCH 1/2] fix(conformance): retain locked Chat revision for nested checkout Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .github/workflows/client-v1-conformance.yml | 35 +++++++++++++++++++++ src/client-v1-conformance-workflow.test.ts | 2 ++ 2 files changed, 37 insertions(+) diff --git a/.github/workflows/client-v1-conformance.yml b/.github/workflows/client-v1-conformance.yml index 14046183..399e35be 100644 --- a/.github/workflows/client-v1-conformance.yml +++ b/.github/workflows/client-v1-conformance.yml @@ -8851,6 +8851,8 @@ jobs: ConvertFrom-Json if ( $phase1Lock.version -ne 5 -or + $phase1Lock.chat.repository -cne 'OpenCoven/chat' -or + $phase1Lock.chat.revision -cnotmatch '^[0-9a-f]{40}$' -or $phase1Lock.harness.repository -cne 'OpenCoven/chat' -or $phase1Lock.harness.revision -cnotmatch '^[0-9a-f]{40}$' -or $phase1Lock.sdk.repository -cne 'OpenCoven/sdk' -or @@ -8864,6 +8866,39 @@ jobs: ) { throw 'The protected Windows source lock is invalid.' } + Invoke-Checked ` + -FilePath $git ` + -ArgumentList @( + '-C', + $workspace, + '-c', + 'credential.helper=', + '-c', + 'core.hooksPath=NUL', + '-c', + 'fetch.fsckObjects=true', + '-c', + 'transfer.fsckObjects=true', + '-c', + 'protocol.https.allow=always', + 'fetch', + '--quiet', + '--no-tags', + '--depth=1', + 'origin', + $phase1Lock.chat.revision + ) ` + -Label 'Chat locked revision fetch' + Invoke-Checked ` + -FilePath $git ` + -ArgumentList @( + '-C', + $workspace, + 'update-ref', + 'refs/tags/opencoven-phase1-chat', + $phase1Lock.chat.revision + ) ` + -Label 'Chat locked authority ref' Invoke-Checked ` -FilePath $git ` -ArgumentList @( diff --git a/src/client-v1-conformance-workflow.test.ts b/src/client-v1-conformance-workflow.test.ts index ed445aea..acd47704 100644 --- a/src/client-v1-conformance-workflow.test.ts +++ b/src/client-v1-conformance-workflow.test.ts @@ -2522,6 +2522,8 @@ describe('Chat-local protected Windows conformance workflow', () => { 'phase1-conformance-run-*\\cargo-home\\git', 'phase1-conformance-run-*\\pnpm-store', 'phase1-conformance-run-*\\build', + 'Chat locked revision fetch', + 'refs/tags/opencoven-phase1-chat', ]) { expect(bootstrap).toContain(required); } From d56e915f3f17b6c285bf6df99d54e1fb07a7146d Mon Sep 17 00:00:00 2001 From: Val Alexander Date: Mon, 7 Sep 2026 02:56:15 -0500 Subject: [PATCH 2/2] test(conformance): bind locked Chat checkout repair Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- docs/phase1-conformance.md | 2 +- phase1-conformance.lock.json | 10 +++++----- src/phase1-conformance-lock.test.ts | 8 ++++---- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/docs/phase1-conformance.md b/docs/phase1-conformance.md index e4f879d9..0d13b348 100644 --- a/docs/phase1-conformance.md +++ b/docs/phase1-conformance.md @@ -1097,7 +1097,7 @@ The later SDK validator repin must use these exact committed file bytes: | File | Bytes | SHA-256 | | --- | ---: | --- | -| `.github/workflows/client-v1-conformance.yml` | 463,033 | `0054e517a3c9a099bb7fd2cc509ddaaa206d90d60c3c677f611c991ce3a79374` | +| `.github/workflows/client-v1-conformance.yml` | 464,141 | `4e54fdd4912af4a7968015fe67372bddff28f178a164db840f79c41894674c0b` | | `scripts/contract-canary.mjs` | 39,346 | `63b2a95c8563143d0d748d36ef2bdbae656e7babdb23b986efca97bbbc9b8d83` | | `scripts/executable-resolution.mjs` | 9,154 | `31e3c412ff8c835f14522f36a59e91f4a4ba82913210ae8e3b4455217503f430` | | `scripts/owned-temp-directory.mjs` | 6,965 | `a9c55c85cf2b7d70310d278bafd2c8e7695d66f4ae38b9c3f1f12fce0b442095` | diff --git a/phase1-conformance.lock.json b/phase1-conformance.lock.json index b9ede87c..05551db6 100644 --- a/phase1-conformance.lock.json +++ b/phase1-conformance.lock.json @@ -18,11 +18,11 @@ }, "harness": { "repository": "OpenCoven/chat", - "revision": "667750af2ef5d2ea14ec4e825e1bd54a57e771f5" + "revision": "af8299a3d95c972cea030d25d814b19a25dc202e" }, "harnessAuthority": { - "revision": "667750af2ef5d2ea14ec4e825e1bd54a57e771f5", - "tree": "3f2fdc4db32f793cb7aec2b51938d0f838ef5454", + "revision": "af8299a3d95c972cea030d25d814b19a25dc202e", + "tree": "f84332a1d84b1de10b129adc55b08392f2e0ada8", "files": [ { "path": "scripts/phase1-conformance.mjs", @@ -146,8 +146,8 @@ }, { "path": ".github/workflows/client-v1-conformance.yml", - "blob": "140461830a547ed02659fffbe5ee0041892020e3", - "sha256": "0054e517a3c9a099bb7fd2cc509ddaaa206d90d60c3c677f611c991ce3a79374" + "blob": "399e35beea47bb74c41d63a8d7f073c87bde636c", + "sha256": "4e54fdd4912af4a7968015fe67372bddff28f178a164db840f79c41894674c0b" } ], "productionDeltas": [ diff --git a/src/phase1-conformance-lock.test.ts b/src/phase1-conformance-lock.test.ts index e9ac5e81..4396d92e 100644 --- a/src/phase1-conformance-lock.test.ts +++ b/src/phase1-conformance-lock.test.ts @@ -79,8 +79,8 @@ const committedHarnessAuthority = JSON.parse( readFileSync(resolve(projectRoot, 'phase1-conformance.lock.json'), 'utf8'), ).harnessAuthority; const expectedBehaviorAuthority = { - revision: '667750af2ef5d2ea14ec4e825e1bd54a57e771f5', - tree: '3f2fdc4db32f793cb7aec2b51938d0f838ef5454', + revision: 'af8299a3d95c972cea030d25d814b19a25dc202e', + tree: 'f84332a1d84b1de10b129adc55b08392f2e0ada8', files: [ { path: 'scripts/phase1-conformance.mjs', @@ -124,8 +124,8 @@ const expectedBehaviorAuthority = { }, { path: '.github/workflows/client-v1-conformance.yml', - blob: '140461830a547ed02659fffbe5ee0041892020e3', - sha256: '0054e517a3c9a099bb7fd2cc509ddaaa206d90d60c3c677f611c991ce3a79374', + blob: '399e35beea47bb74c41d63a8d7f073c87bde636c', + sha256: '4e54fdd4912af4a7968015fe67372bddff28f178a164db840f79c41894674c0b', }, ], } as const;