fix(conformance): bind verified Chat owned-profile producer - #230
Merged
Conversation
Contributor
There was a problem hiding this comment.
🟡 Changes recommended
Unresolved workflow-verifier test coverage gaps remain around the decoder guard and mutation path.
Get a fresh assessment by requesting another Copilot review.
Pull request overview
Binds Client v1 conformance validation to the verified Chat251 merge and strengthens Windows supervisor-source verification.
Changes:
- Updates producer identities, hashes, fixtures, and contract expectations.
- Adds canonical decoded C# source validation.
- Refreshes conformance and release documentation.
File summaries
| File | Summary |
|---|---|
tests/windows-supervisor-source.spec.ts |
Updates supervisor fixture identity and codec tests. |
tests/conformance-gaps.spec.ts |
Refreshes fixtures and mutation tests. Nit (1 vote): mutations do not reach the decoded-source rejection boundary. |
tests/conformance-contract.spec.ts |
Updates expected Chat revisions. |
scripts/github-conformance-evidence.mjs |
Adds canonical supervisor-source validation. Nit (2 votes): the added rejection path is not directly exercised. |
RELEASING.md |
Documents the updated conformance authority and safeguards. |
docs/workflows/client-v1-cross-repository-conformance.md |
Refreshes workflow authority documentation. |
conformance/client-v1-cross-repository-lock.json |
Rebinds the verified Chat producer and workflow digests. |
Review details
Suppressed comments (1)
tests/conformance-gaps.spec.ts:3847
- These mutations still fail at the earlier full-bootstrap digest check (
producer.workflow.windowsBootstrapScriptSha256 !== REVIEWED_WINDOWS_BOOTSTRAP_SCRIPT_SHA256), because the synchronized digest is updated to the mutated workflow hash. ConsequentlydecodeWindowsSupervisorSourceinverifyProtectedWorkflowGraphis never reached, so this does not cover the new workflow-level decoded-source rejection boundary claimed by the PR. Add an integration path that can keep the parent hash gate satisfied while changing the block (or extract an injectable post-gate verifier) and assert that the decoded-source error is the one raised.
workflow: mutateWindowsSupervisor((source) => source.replace(
'information.SessionId == 0)',
'information.SessionId != 0)',
),
- Files reviewed: 7/15 changed files
- Comments generated: 1
- Review effort level: Lite
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Comment on lines
+1020
to
+1024
| try { | ||
| const blocks = windowsBootstrap.run.match( | ||
| /^# BEGIN bounded Windows supervisor source v1\n[\s\S]*?^# END bounded Windows supervisor source v1$/gmu, | ||
| ); | ||
| if (blocks?.length !== 1) throw new Error('Missing or repeated source block'); |
This was referenced Sep 13, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Bind the cross-repository validator to actual Chat251 merge
c487e29492c2fee5d02d630ab26cb1c6dd277f67, tree53ff360420859771de52130e7cdbef2bdf9a492a. That signed merge retains the exact head tested by all ten checks in Chat CI34732434401, including native Windows profile ownership/shared accounting/pinning/cleanup, native E2E and Phase 1 authority.Independently validate the one canonical bounded supervisor block against reviewed C# size and digest, then require the unchanged exact parent-bootstrap hash gate. Whole-workflow size and digest verification still precedes both checks. Five error-specific mutations reach the decoded-source guard through the real workflow verifier: missing/repeated block, altered decoder and two quarantine source mutations. Existing parent-hash rejection coverage remains. Refresh deterministic producer fixtures and release documentation, retaining unchanged counterpart revisions, quotas, dependency settings and fail-closed policy. SDK229 ancestry is integrated.
Validation: fresh
corepack pnpm@10.34.0 verify:repositorypassed on the actual-merge binding: 1515 tests/2 skips, coverage, package checks and three stress repetitions. Independent final review verified producer metadata, decoded fixtures, source ancestry and unchanged counterpart locks with no blockers. C# identity: 349530 bytes, SHA-256b7ec5455ad394b58cafd93cc85c7e87da37b04cdbd6f936aad0a1768432064df. The corrective head passed fresh full repository verification and independent review. All eight checks passed at6ba3ef9e6a1d7e6fdac1352f95ea81df016e42bc; CI34734167707passed its five-job matrix. Landed as signed actual mergea24d82cb6a4a087c16a677385babd9a57feda391, retaining tested tree1f74a4d157e4fde9b59e545cc61d9b24d845a368.Both validator scopes now read back actual merge
a24d82cb6a4a087c16a677385babd9a57feda391. Fresh protected run34734409422targets bound Chat mainc487e29492c2fee5d02d630ab26cb1c6dd277f67and is in progress. Platform records and attestations remain required. Ordinary CI and synthetic fixtures are not protected acceptance; no passing aggregate is claimed. Tracking: OpenCoven/chat#219, #38, OpenCoven/coven#984, cave-k0aqq.3. Preserve this chat and active worktrees.