Thanks to visit codestin.com
Credit goes to github.com

Skip to content

fix(release): harden supervised FSKit runner execution - #1927

Merged
joshuajbouw merged 3 commits into
mainfrom
fix/fskit-certification-runner
Sep 13, 2026
Merged

joshuajbouw merged 3 commits into
mainfrom
fix/fskit-certification-runner

Conversation

@joshuajbouw

@joshuajbouw joshuajbouw commented Sep 12, 2026

Copy link
Copy Markdown
Member

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

  • Capture command output through files so detached daemon stdout cannot hold the CLI wait open; retain failure and timeout logs.
  • Create disposable home and mount directories with mode 0700.
  • Check the local runner and helper against the selected Git commit before execution and receipt emission.
  • Generate schema-2 manifests with both canonical script SHA-256 hashes; require matching receipt identities at protected approval. Reject legacy schema-1 receipts.
  • Refuse receipt emission unless all required checks are literally true.
  • Require successful sync and exact write/deletion persistence across full daemon restart and remount. Native status is not required to expose a dirty interval; deterministic kernel dirty-transition tests remain unchanged.
  • Require explicit write_persistence and delete_persistence receipt fields.
  • Document mandatory failure disclosure and separation of diagnostics from canonical certification.

Verification

  • python3 scripts/test_supervised_fskit.py: 19 tests PASS.
  • bash scripts/ci/test-release-contracts.sh: PASS.
  • git diff --check: PASS.
  • The canonical filesystem journey is exercised with clean and dirty status snapshots; injected lost/corrupt writes, lost deletions, sync failure and stopped-root residue fail.
  • Changed runner hashes, wrong checkout, incomplete checks and legacy receipt identity are rejected.

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

  • Linked to an issue
  • Release test/docs-only; no product changelog fragment
  • Reviewed and tested the changes
  • Signed commit with matching Signed-off-by

Copilot AI balanced review requested due to automatic review settings September 12, 2026 20:29

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 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.

@joshuajbouw
joshuajbouw marked this pull request as ready for review September 13, 2026 01:29
@joshuajbouw
joshuajbouw merged commit e0de24a into main Sep 13, 2026
33 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Harden supervised FSKit runner execution without changing acceptance checks

2 participants