Repository navigation
Add verified comment mutation verb - #2821
EHotwagner wants to merge 6 commits into
Conversation
|
No description provided. |
|
✅ This PR stays inside the touch-set its issue declared. |
|
{ |
|
{ |
|
{ |
|
{"acceptedExceptions":[],"baseSha":null,"claimGeneration":null,"critic":"smew-a11b","diffAuditReceipts":[],"diffAuditRequired":true,"digest":"da1634a44d64c0e76b577b21f76e4a77516d2584e385e40fa19a15fde9ff5394","headSha":"23d870543b8f9406980c0a295be5e7c4e5a6e6ec","initialReview":null,"kind":"initial","policyVersion":"structured-decisions/1","precedingReview":null,"previousDigest":null,"revision":1,"round":0,"routeApplicability":"meaningful","routeEvidence":["Built exact head 23d8705 with dotnet build src/FS.GG.Coord.Cli/FS.GG.Coord.Cli.fsproj -c Release: succeeded with 0 warnings and 0 errors; restored focused artifact digest sha256:494e1347dd7fee59a71855038c1f4566ea99b5a2fbf2b9da80448e24ab63de86.","Executed the built fsgg-coord-engine against tests/coord-engine-e2e/stateful_server.py: create on FS.GG.SDD#43 returned comment id 900, then amend targeting FS.GG.SDD#42 with id 900 exited 1.","Compared the declared target thread FS.GG.SDD#42 with the actual owner thread FS.GG.SDD#43 for the same explicit comment id 900, using the production POST/PATCH/readback route across the loopback HTTP transport.","CHANGES REQUIRED: amendVerifiedComment PATCHes the repository-global comment-id endpoint before proving that the id belongs to the declared target; the command reported failure because #42 lacked id 900, but #43\u0027s comment had already been replaced byte-for-byte with spec.md (2570 UTF-8 bytes, sha256:62be9c175b09c27d8e3ac1bc57d106038994fd6cea5f90824af11718a2e62ba6). Validate target ownership before PATCH and add a cross-thread negative control that proves zero mutation. Also, exact-head fsgg-sdd ship reported coherent:false and would update ship-verdict.json by adding sourcesDigest; refresh and commit the generated view so the claimed noChange/coherent:true handoff is reproducible. Surrounding checks green: focused 6/6, full CLI 517/517, parity 648/648 with 0 not measured, readback inversion 2/6 red then restored 6/6 with DLL digest restored, recency-guidance inversion red then restored, skill quality/projections current, coherent set 0.72.0 across all three packages, generated manifests current, ship-verdict provenance checker green, and verify-paths OK. Verification: built production-route commands and exact-head checks executed in detached worktree /tmp/fsgg-2753-critic-2E9XES."],"schema":"fsgg.coord.review-decision/v2","subject":"#2753/pr/2821","succession":null,"timestamp":"2026-08-22T06:35:35Z","verdict":"changes-required"} |
|
{ |
|
{"schema":"fsgg.coord.review-wait/v1","event":"enter","item":"#2753","claimGeneration":"5378256922","reviewGeneration":"2a9f4ed557e653a67b831606459049590f32217b:repair-confirmation:1","kind":"repair-confirmation","enteredAt":"2026-08-22T06:58:56Z","expiresAt":"2026-08-22T10:58:56Z","evidenceRef":"https://github.com/FS-GG/.github/pull/2821#issuecomment-5378525324"} |
|
{"schema":"fsgg.coord.review-wait/v1","event":"cancel","reviewGeneration":"2a9f4ed557e653a67b831606459049590f32217b:repair-confirmation:1","at":"2026-08-22T07:00:25Z","evidenceRef":"https://github.com/FS-GG/.github/actions/runs/32558328592/job/96995922391"} |
|
{"schema":"fsgg.coord.review-wait/v1","event":"enter","item":"#2753","claimGeneration":"5378256922","reviewGeneration":"1bf7a59de8c61f2b8daf4728dbc92c10b71411ec:repair-confirmation:1","kind":"repair-confirmation","enteredAt":"2026-08-22T07:04:47Z","expiresAt":"2026-08-22T11:04:47Z","evidenceRef":"https://github.com/FS-GG/.github/pull/2821#issuecomment-5378525324"} |
|
{"acceptedExceptions":[],"baseSha":null,"claimGeneration":null,"critic":"shrike-5d1d","diffAuditReceipts":[],"diffAuditRequired":false,"digest":"d11fff2250e8f8cc3b3a27b41ad7f3b4d3ab0af047c12472879373ebd4b98698","headSha":"1bf7a59de8c61f2b8daf4728dbc92c10b71411ec","initialReview":"https://github.com/FS-GG/.github/pull/2821#issuecomment-5378525324","kind":"confirmation","policyVersion":"structured-decisions/1","precedingReview":"https://github.com/FS-GG/.github/pull/2821#issuecomment-5378525324","previousDigest":"da1634a44d64c0e76b577b21f76e4a77516d2584e385e40fa19a15fde9ff5394","revision":2,"round":1,"routeApplicability":"meaningful","routeEvidence":["Built exact head 1bf7a59 from detached worktree /tmp/fsgg-review-2753-shrike-5d1d; the production CLI build succeeded with 0 warnings and 0 errors. Verification: dotnet build src/FS.GG.Coord.Cli/FS.GG.Coord.Cli.fsproj -c Release; git rev-parse HEAD.","Executed the built fsgg-coord-engine against tests/coord-engine-e2e/stateful_server.py: create on FS.GG.SDD#43 returned comment id 900; amend targeting FS.GG.SDD#42 with that id exited 1 before PATCH. Verification: FSGG_GITHUB_API_BASE loopback invocation of src/FS.GG.Coord.Cli/bin/Release/net10.0/fsgg-coord-engine comment create/amend in /tmp/fsgg-review-2753-shrike-5d1d.","Compared the declared target thread FS.GG.SDD#42 with the actual owner thread FS.GG.SDD#43 for comment id 900: the mutation ledger stayed count=0 and #43 remained owner-thread-original. Removing the pre-PATCH ownership check made the same compiled-route assertion report count=1 and after=cross-thread-replacement, and made the named focused test red. Verification: timeout 8 bash tests/coord-engine-e2e/writes.sh and dotnet test --filter FullyQualifiedName |
|
{ |
FSGG-Worker: finch-023b
|
{ |
|
{"acceptedExceptions":[],"baseSha":null,"claimGeneration":null,"critic":"merlin-acef","diffAuditReceipts":[],"diffAuditRequired":false,"digest":"450626024fa111d09a1a0f6f10b42fbe32832e343a921589dde796e39b1ae214","headSha":"10ba94239a170b28611e085883394fbb96984639","initialReview":"https://github.com/FS-GG/.github/pull/2821#issuecomment-5378525324","kind":"confirmation","policyVersion":"structured-decisions/1","precedingReview":"https://github.com/FS-GG/.github/pull/2821#issuecomment-5379421133","previousDigest":"d11fff2250e8f8cc3b3a27b41ad7f3b4d3ab0af047c12472879373ebd4b98698","revision":3,"round":2,"routeApplicability":"meaningful","routeEvidence":["Built exact head 10ba942 in detached worktree /tmp/fsgg-2753-merlin-acef-15EFkU; the production CLI build succeeded with 0 warnings and 0 errors. Verification: git rev-parse HEAD; dotnet build src/FS.GG.Coord.Cli/FS.GG.Coord.Cli.fsproj -c Release.","Executed the built fsgg-coord-engine over the hermetic production HTTP route with the repository-pinned FS.GG.SDD.Cli 1.0.0 environment; the route suite completed 187 passed, 0 failed. Verification: PATH=/tmp/fsgg-sdd-merlin-acef-RxjHqa:$PATH timeout 240 bash tests/coord-engine-e2e/writes.sh in /tmp/fsgg-2753-merlin-acef-15EFkU.","Compared a comment id created on FS.GG.SDD#43 against an amend request declaring FS.GG.SDD#42: the compiled route refused before PATCH and the foreign comment remained unchanged with zero recorded mutations. Verification: the named #2753 assertion in tests/coord-engine-e2e/writes.sh reported PASS in the 187/187 run; focused CommentMutationTests reported 7 passed, 0 failed.","CHANGES REQUIRED. Prior finding 1 is repaired: exact-head BoardOps passes 230/230; removing the Comment fixture initializer produces FS0764, and removing the CommentCmd JSON-arm census case makes the named .github#1688 AC4 test fail with CommentCmd at 229/230. Verification: dotnet test tests/FS.GG.Coord.Cli.BoardOps.Tests/FS.GG.Coord.Cli.BoardOps.Tests.fsproj -c Release at exact head; the two one-at-a-time mutations in /tmp/fsgg-2753-mutation-merlin-acef-qYzVzn, followed by git diff --exit-code after restoration. Prior finding 2 remains materially unresolved as a releaseability contradiction: pinned FS.GG.SDD.Cli 1.0.0 ship is coherent/noChange only with sourcesDigest present, but the repository provenance gate refuses that exact generated file; exact-head CI provenance job 97011192498 is red for the same reason. Verification: fsgg-sdd ship --work 2753-comment-mutation-verb --json returned outcome=noChange/coherent=true; python3 scripts/check-ship-verdict-provenance.py exited 1 naming readiness/2753-comment-mutation-verb/ship-verdict.json; https://github.com/FS-GG/.github/actions/runs/32564562596/job/97011192498. The same generator-versus-local-policy cause and automated --fix route are already recorded in .github#2393, so no duplicate issue was filed. Verification: gh search over repo:FS-GG/.github for sourcesDigest and #2393. Declared paths are complete for all 47 changed files, with two generated manifests admitted by policy; the coherent-set 0.72.0 release obligation is declared on this exact head. Verification: FSGG_WORKER=merlin-acef scripts/fsgg-coord verify-paths --pr 2821 --repo .github --issue .github#2753 returned FSGG-PATHS OK; gh api repos/FS-GG/.github/pulls/2821/files?per_page=100 --paginate returned 47 files; https://github.com/FS-GG/.github/pull/2821#issuecomment-5378388343."],"schema":"fsgg.coord.review-decision/v2","subject":"FS-GG/.github#2753/pr/2821","succession":null,"timestamp":"2026-08-22T09:29:31Z","verdict":"changes-required"} |
|
{ |
FSGG-Worker: finch-023b
|
{ |
|
{"acceptedExceptions":[],"baseSha":null,"claimGeneration":null,"critic":"wren-be10","diffAuditReceipts":[],"diffAuditRequired":false,"digest":"e6a85de4e613b030637ab90100f6e1d7e16b292bed42ab7b893c0febbfafd457","headSha":"3c3b5da759037fb7b466b5011ec2b842cca3c722","initialReview":"https://github.com/FS-GG/.github/pull/2821#issuecomment-5378525324","kind":"confirmation","policyVersion":"structured-decisions/1","precedingReview":"https://github.com/FS-GG/.github/pull/2821#issuecomment-5379553301","previousDigest":"450626024fa111d09a1a0f6f10b42fbe32832e343a921589dde796e39b1ae214","revision":4,"round":3,"routeApplicability":"meaningful","routeEvidence":["Built exact head 3c3b5da in detached worktree /tmp/fsgg-2753-wren-be10-t8lk1D; the production CLI build succeeded with 0 warnings and 0 errors. Verification: git rev-parse HEAD; dotnet build src/FS.GG.Coord.Cli/FS.GG.Coord.Cli.fsproj -c Release.","Executed the built fsgg-coord-engine through the hermetic production HTTP route with FS.GG.SDD.Cli 1.0.0 first on PATH; the complete route suite finished 187 passed, 0 failed. Verification: PATH=/tmp/fsgg-sdd-1.0-wren-be10-Jp1SRx:$PATH timeout 300 bash tests/coord-engine-e2e/writes.sh in /tmp/fsgg-2753-wren-be10-t8lk1D.","Compared a comment id created on FS.GG.SDD#43 against an amend request declaring FS.GG.SDD#42: the exact-head compiled route refused before PATCH and the foreign comment stayed unchanged with zero recorded mutations. Removing amendVerifiedComment\u0027s pre-PATCH ownership census made the focused suite fail 2/7, including the named cross-thread refusal. Verification: the named #2753 assertion in the 187/187 route run; dotnet test --filter FullyQualifiedName~CommentMutationTests in /tmp/fsgg-2753-inv-owner-wren-be10-1UlP5M.","CHANGES REQUIRED; ordinary round 3 is exhausted. Prior finding 1 is repaired: BoardOps passes 230/230; deleting the Implementations.Comment fixture initializer produces FS0764, and deleting the CommentCmd JSON-arm dispatcher makes the named #1688 AC4 test fail at 229/230. Verification: exact-head BoardOps run plus one-at-a-time runs in /tmp/fsgg-2753-inv-fixture-wren-be10-66KnKS and /tmp/fsgg-2753-inv-census-wren-be10-5cyXem. Prior finding 2 is repaired under closed #2393\u0027s accepted local boundary: pinned fsgg-sdd 1.0.0 re-adds sourcesDigest and reports coherent=false from the stripped exact head, the bare provenance gate reds, --fix strips it, and git diff --exit-code then proves byte-identical return to the exact head; the shipped provenance suite is 8/8 and the repository census is 40 clean. Verification: generation/bare-check/--fix sequence in /tmp/fsgg-2753-sddfix-wren-be10-2CWaHB; #2393. Material finding 1: the exact-head engine job fails four kernel command-surface gates because CommentCmd was added to the DU but omitted from the pinned surface/write-ness inventories (175 passed, 4 failed); the same exact test reproduces locally. Verification: https://github.com/FS-GG/.github/actions/runs/32565255453/job/97012889299; dotnet test tests/FS.GG.Coord.Cli.Kernel.Tests/FS.GG.Coord.Cli.Kernel.Tests.fsproj -c Release; tests/FS.GG.Coord.Cli.Kernel.Tests/CommandSurfaceTests.fs:171,203,475; tests/FS.GG.Coord.Cli.Kernel.Tests/OptionsTests.fs:946. Material finding 2: declared-closes is red because PR-body line 17 says \u0060closed #2393\u0060, which GitHub parses as an undeclared closing reference; reword without a closing keyword. Verification: https://github.com/FS-GG/.github/actions/runs/32565276976/job/97012956699; gh api repos/FS-GG/.github/pulls/2821 --jq .body; existing root-cause records #643 and #684, so no duplicate issue was filed. Current declared paths cover all 47 changed files, with two generated manifests admitted by policy, but the kernel-test repair paths are not presently declared. Verification: FSGG_WORKER=wren-be10 scripts/fsgg-coord verify-paths --pr 2821 --repo .github --issue .github#2753 returned FSGG-PATHS OK; gh api repos/FS-GG/.github/pulls/2821/files?per_page=100 --paginate returned 47; issue #2753 live Paths. Architecture-map, coherent-set 0.72.0, package, projection, mutation-sweep, skill, and provenance checks are green; claim-generation is separately red in the designed pre-authorization state. The exact-head coherent-set release obligation is declared. Verification: gh pr checks 2821 --repo FS-GG/.github; Directory.Build.props:439; https://github.com/FS-GG/.github/pull/2821#issuecomment-5378388343."],"schema":"fsgg.coord.review-decision/v2","subject":"FS-GG/.github#2753/pr/2821","succession":null,"timestamp":"2026-08-22T09:50:28Z","verdict":"changes-required"} |
|
{ |
|
Ordinary independent-review confirmation rounds 1-3 are exhausted. Closing without merge for the single automatic repair phase. Trigger evidence: round-3 changes-required record #2821 (comment) and completed wait #2821 (comment). The exhausted counter is not reset or reused. |
|
exhausted-head: 3c3b5da |
|
{"acceptedExceptions":[],"baseSha":null,"claimGeneration":null,"critic":"wren-be10","diffAuditReceipts":[],"diffAuditRequired":false,"digest":"56d6e820286e7afb77a00c29a8c5c2fd7ed66c2eddbd8edf144bd9b58a6af962","headSha":"3c3b5da759037fb7b466b5011ec2b842cca3c722","initialReview":"https://github.com/FS-GG/.github/pull/2821#issuecomment-5378525324","kind":"escalation","policyVersion":"structured-decisions/1","precedingReview":"https://github.com/FS-GG/.github/pull/2821#issuecomment-5379633126","previousDigest":"e6a85de4e613b030637ab90100f6e1d7e16b292bed42ab7b893c0febbfafd457","revision":5,"round":3,"routeApplicability":"not-meaningful","routeEvidence":["Ordinary exhaustion authority only: this escalation records the validated initial plus confirmation rounds 1, 2, and 3 chain and authorizes entry to the separately scoped repair phase; it does not review runtime behavior."],"schema":"fsgg.coord.review-decision/v2","subject":"#2753/pr/2821","succession":null,"timestamp":"2026-08-22T10:03:30Z","verdict":"changes-required"} |
|
Fresh-worker repair phase is active in successor PR #2826. Predecessor PR #2821 remains unmerged and its ordinary three-round counter is not reused. Structured escalation: #2821 (comment) (comment Repair-phase receipt: exhausted PR |
Closes #2753
Summary
comment create/ explicit-idcomment amendcommand with no edit-last formgh api ... -f body=@filemutationVerification
dotnet build src/FS.GG.Coord.Cli/FS.GG.Coord.Cli.fsproj -c Release— succeeded with 0 warnings and 0 errorsdotnet test tests/FS.GG.Coord.Cli.BoardOps.Tests/FS.GG.Coord.Cli.BoardOps.Tests.fsproj -c Release— 230 passed, 0 faileddotnet test tests/FS.GG.Coord.Cli.Tests/FS.GG.Coord.Cli.Tests.fsproj -c Release --filter FullyQualifiedName~CommentMutationTests— 7 passed, 0 failedbash tests/ship-verdict-provenance/run.sh— 8 passed, 0 failedpython3 scripts/check-ship-verdict-provenance.py— 40 shipped verdicts cleanFS.GG.SDD.Cli1.0.0ship --work 2753-comment-mutation-verb --jsonreportedoutcome:noChange,coherent:true,shipReady; the repository's shippedscripts/check-ship-verdict-provenance.py --fixthen applied closed fsgg-sdd ship unconditionally re-adds sourcesDigest; .github's #2208 gate is satisfied only by an unenforced manual strip (reproduced on PR #2387/#2249) #2393's accepted local policy by stripping the generator-addedsourcesDigestImplementations.Commentfixture initializer failed compilation with FS0764; restoring it returned BoardOps to 230/230 greenCommentCmdfrom the JSON-arm census made the named.github#1688 AC4coverage test fail and nameCommentCmd; restoring it returned BoardOps to 230/230 greenSDD evidence is committed under
work/2753-comment-mutation-verb/andreadiness/2753-comment-mutation-verb/. The generation-then---fixsequence preserves the pinned producer reading while committing the repository-accepted no-sourcesDigestview.