feat: harden fleet skill normalization workflow (E-00110)#37
Closed
andrei-hasna wants to merge 3 commits into
Closed
feat: harden fleet skill normalization workflow (E-00110)#37andrei-hasna wants to merge 3 commits into
andrei-hasna wants to merge 3 commits into
Conversation
Contributor
Author
|
Closed unmerged as blocked after the final allowed repair cycle (2/2). Exact head 3c7c8c6 has green CI, but elevated review did not produce two passes: one independent reviewer found that the structural validator accepts semantic permission variants for mutations through displaced root and selected-directory handles, violating frozen acceptance scope skills-fleet-normalization-split-v1. No third repair cycle will be started. Branch/worktree and review artifacts are preserved. Reopen only if the same frozen scope can be proven without a head change; otherwise use a separately scoped replacement task/PR with explicit semantic mutation coverage and fresh lineage. |
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.
Scope
d64671fb-1844-49a6-addd-020ee2b09ea2)8eadc06b-7276-4854-a6bc-b879866abf6f32e0d30d-e05a-45ce-9034-dfc9afeefd1de7994834-cd3e-4416-80fc-9e82bb8b59e8a08dc545-512f-43ee-a553-6231a2131c501b706c44-e2b8-4b6e-acc8-3684921471e4(completed provenance)2e1842e3-6b41-49bf-a8b4-07bccceae862(completed provenance)721ae018-1b08-4dd9-b29a-43aa524cccb3b86f7aa9-ae2b-458b-93fe-c9aed332c2dcc4256422-07de-4ac7-9b2a-e4af3be7fc9eskills-fleet-normalization-split-v13ef8d56474359d8dc8a61230872e9edf164badad3c7c8c6cc33bd1654db712a34df5ee111e0941d2Changed files
agent-skills/fleet-skill-normalization/SKILL.mdagent-skills/README.mdsrc/lib/fleet-skill-normalization-skill.test.tsThe cycle-2 repair itself changes only the tracked fleet skill and its dedicated test. README remains accurate and unchanged in this cycle.
Final-cycle reconciliation
Both exact repair-cycle-1 fail artifacts from account009 and account004 were admitted and replayed. Every child mutation now uses one fail-closed guarded operation whose admission and execution are one indivisible atomic transaction binding the exact lexical root entry and retained root identity, the exact selected-directory lexical entry and retained directory identity, and the exact allowlisted child state. A pre-check followed by mutation through a retained or displaced handle is forbidden; unavailable binding fails before mutation, and closure detection is explicitly insufficient.
The repeated selected-directory proof now covers both pre-existing and run-created directories before every child operation and at closure. Guarded absent-directory create and empty-directory rollback bind the root and selected lexical entries to returned or removed identities. Forward replacement/create, file identity and single-link checks, receipt creation, rollback compare-and-replace, and atomic compare-and-remove all execute inside the complete root-and-directory binding. Structural tests reject explicit displaced-root permission, displaced-existing-directory permission, and nearby pre-check wording that omits indivisible operation binding. All prior deterministic rendering, immutable provenance, exact allowlist/touched-ledger, returned-preimage, rollback receipt, secret-scan, and coordinator/worker separation guarantees remain intact.
The reviewer sandbox DNS gap was not treated as product scope. Live PR-head and provider-native CI are verified separately on the exact head.
Validation
bun install --frozen-lockfile(no dependency or lockfile changes)bun test src/lib/fleet-skill-normalization-skill.test.ts— 15 pass, 151 assertionsbun test— 742 pass, 0 fail, 9,882 assertionsbun run typecheckbun run buildscripts/check_skill_corpus_drift.sh --base origin/mainbun run verify:releaseorigin/main..HEADgitleaks scansDistribution and rollback
No live skill distribution, publish, release, Instructions edit, package/version/lockfile edit, generated-source edit, lifecycle-file edit, coordinator live-file edit, merge, or cleanup occurred. Before merge, rollback is closing this PR. After merge, revert exact commits
3c7c8c6cc33bd1654db712a34df5ee111e0941d2,3ef8d56474359d8dc8a61230872e9edf164badad, andb21a7df26c58e11650584cef6cc53af4dcdd8d5cin reverse landing order if preserved individually. No live Codewith copy requires rollback because none was distributed. No third repair cycle exists.