Skip to content

feat(receiver): bridge signed phases through the fixed Shuttle CLI - #26

Merged
scbrown merged 2 commits into
mainfrom
harding/6vf-shuttle-process
Oct 15, 2026
Merged

scbrown merged 2 commits into
mainfrom
harding/6vf-shuttle-process

Conversation

@scbrown

@scbrown scbrown commented Oct 15, 2026

Copy link
Copy Markdown
Collaborator

The scheduled receiver has a signed-port protocol, but Shuttle lives in a separate Python environment. Add an opt-in fixed-argv CLI implementation for Shuttle's four scheduled phases. It pins local config bytes and passes the same opened descriptor, requires existing keys, bounds phase time and receipt output, and refuses an unverified exit-zero response.

Real subprocess controls exercise each phase, replay without a second execution callback, changed config bytes and pathname, symlink/FIFO custody, wrong scope/slot/run, nonzero/timeout and malformed receipts. The CLI is an explicit fixture; live signing/registration/read-back remains the installed Shuttle SDK's responsibility.

Validation: full suite 231 tests plus 25 subtests passed, then all 13 process controls including the added pathname-replacement control passed. Both HOME guards saw 157 paths and five UID resources untouched. Ruff, offline wheel build and isolated wheel imports passed. Same presence probe changed absent->present while the receiver positive control stayed true. Replayed demo: recording, timing; reproduce python scripts/demo-shuttle-process.py.

No scheduler, asynchronous execution handoff, background worker or runtime activation. Long CVE execution still requires a separate handoff and installed child-survival acceptance. Rollback: normal source revert while preserving claims/outboxes. No release, install, keys or cron changes.

Bead: aegis-6vf

Overlap preflight: b25fde9c0bd9b1fb0fcfc30a1dc3c2f904bc43379a94d8957276b4fc1cbd1271

  • PR feat: package Chaski with releases, docs and event verification #14 @ 3cb9699: independent — Historical packaging proposal14 retained untouched. Current main already has packaging; this proposal adds only the new process-port module to its explicit module list. No absorption or release activation.
  • PR chore(main): release 0.2.0 #25 @ 456df27: independent — Release proposal25 changes package version and changelog; this source proposal changes only module inclusion, no version/tag/release action. Release publisher must refresh exact source normally; not bundled here.

@scbrown
scbrown merged commit 87157ea into main Oct 15, 2026
5 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.

1 participant