Skip to content

feat: complete the Action bootstrap flow - #10

Merged
attomus-gh merged 1 commit into
mainfrom
feat/action-bootstrap-v1-2026-08-05
Aug 5, 2026
Merged

feat: complete the Action bootstrap flow#10
attomus-gh merged 1 commit into
mainfrom
feat/action-bootstrap-v1-2026-08-05

Conversation

@attomus-gh

Copy link
Copy Markdown
Contributor

Summary

  • generate X25519 and Ed25519 identity material, a signed pre-key, and 100 one-time pre-keys in the runner
  • register the public bundle through the ADR-0166 bootstrap endpoint
  • seal the complete private device state with the repository secret-storage public key and write SEMAFORE_DEVICE_KEY
  • refuse existing device-secret overwrite and avoid retrying the one-time registration request
  • replace the bootstrap scaffold status and setup example with the working flow

GitHub token requirement

The built-in GITHUB_TOKEN cannot receive repository Secrets permission. Bootstrap therefore requires an explicit fine-grained PAT or GitHub App installation token scoped to the target repository with Secrets: write. The README instructs operators to revoke the temporary token and delete its repository secret after bootstrap.

Tests

  • server bootstrap request validates against the byte-identical sf-server contract schema
  • generated public and private key material is cross-checked, including Ed25519 signature verification
  • GitHub sealed-box ciphertext is decrypted in-test to prove the stored value round-trips
  • existing-secret refusal, GitHub auth failure, malformed public-key response, post-registration write failure, secret-size bound, and one-shot no-retry behavior are covered

Verification

  • npm ci
  • npm run verify: 6 files and 23 tests pass; audit reports 0 vulnerabilities
  • NODE_ENV=test node import of the committed bundle
  • actionlint over repository workflows
  • action metadata YAML parse
  • gitleaks detect --no-banner -v --redact: no leaks
  • git diff --check

Harness and release gate

No sf-test-harness executable change is included. The Action tests exercise the exact server contract and real crypto locally; a real staging bootstrap, notify delivery, and execute run remain required before the Marketplace release. This PR does not claim staging proof.

@attomus-gh
attomus-gh marked this pull request as ready for review August 5, 2026 12:57
@attomus-gh
attomus-gh merged commit 405ad60 into main Aug 5, 2026
1 check passed
@attomus-gh
attomus-gh deleted the feat/action-bootstrap-v1-2026-08-05 branch August 5, 2026 12:57
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.

1 participant