fix(release): harden supervised FSKit runner execution - #1927
Merged
Merged
Conversation
Signed-off-by: Joshua J. Bouw <[email protected]>
Contributor
There was a problem hiding this comment.
🟢 Approval recommended
The focused release-runner changes are consistent with the linked issue and have appropriate regression coverage.
Pull request overview
Hardens the local supervised FSKit certification runner while preserving existing acceptance checks.
Changes:
- Prevents detached stdout holders from blocking command completion.
- Enforces private directories and exact runner/helper source verification.
- Adds regression tests and clarifies certification limitations.
File summaries
| File | Description |
|---|---|
scripts/certify_fskit_local.py |
Hardens execution, directories, logging, and source verification. |
scripts/test_supervised_fskit.py |
Adds regression coverage for the hardened behavior. |
release/SUPERVISED-FSKIT.md |
Documents source guards and attestation limitations. |
Review details
- Files reviewed: 3/3 changed files
- Comments generated: 0
- Review effort level: Balanced (auto)
Note
Copilot is running an experiment and ran this review at Balanced.
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Signed-off-by: Joshua J. Bouw <[email protected]>
Signed-off-by: Joshua J. Bouw <[email protected]>
joshuajbouw
marked this pull request as ready for review
September 13, 2026 01:29
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.
Linked Issue
Closes #1926
Summary
Harden supervised FSKit evidence generation and correct the native test's disproved dirty-state timing assumption. This explicitly changes the canonical native acceptance test prospectively; it does not retroactively certify v2026.9.2.
Changes
Verification
python3 scripts/test_supervised_fskit.py: 19 tests PASS.bash scripts/ci/test-release-contracts.sh: PASS.git diff --check: PASS.Test Plan
Run the executable regressions and release contracts in CI. No native certification is claimed by these tests. The prior native diagnostic on released binaries traced three successful FSKit sync callbacks before status queries and verified write/deletion persistence. That evidence motivates this test correction; it is not an execution of this corrected canonical runner.
Claim Limits
The v2026.9.2 certification correction records that the tagged runner did not pass and a non-canonical receipt was used. The native diagnosis explains the reproduced dirty-state discrepancy. This patch does not recertify that release. Runner hashes bind the claimed program but are not independent execution attestation; the supervised gate still relies on the operator's truthful approval. No tag, release, channel, app installation or live-home changes are included.
AI / Tool Assistance
Assisted-by: Codex
Implementation, correction of the evidence record, and executable regressions.
Checklist