Repository navigation
Conversation
Collaborator
Author
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.
Chaski can now construct the scheduled receiver from an exclusive opt-in
scheduledsink mapping. The ordinary consumer owns the resulting workers: it drains every constructed sink before closing its database and releasing its lease, including partial startup failures.The factory validates fixed execution policy, binds the literal versioned recipe to the signed scope manifest digest, checks pinned Shuttle configuration and ledger custody before opening state, then builds the bounded async receiver and fixed subprocess executor. Publication retries use the retained result and do not execute the child twice. Conflicting emitter protocols and changed recipes refuse before execution. Recipe hashing does not prove executable artifact bytes; approved immutable artifact custody, exact declaration/profile/query, catalogue transport and runtime activation remain separate gates.
This draft is stacked on #29 at f4a755d, with #28/#26 retained as ancestors. No parent source/review is duplicated. Parent landing, retargeting/current CI, risk classification and one independent post-green review remain required. No deployment, production configuration, key creation, graph/profile load or cron change is included.
Validation: full 407 tests plus 25 subtests pass; watched HOME/resources unchanged, without a general hermeticity claim. Real temporary subprocess/outbox tests cover delayed acknowledgement, publication-only retry, copied command policy, changed recipe/config refusal, malformed policy, startup cleanup and lease ownership during drain. Ruff, isolated wheel import, committed HEAD/source/wheel bytes and recording replay pass. Initial fixture failures (invalid duration; runner-class patch before subclass import) were corrected and retained in the work-item evidence.
Demo: base f4a755d has no configured factory, while its existing sink constructor remains a positive control. Head 305c541 routes one actual temporary child through an outbox and four phase receipts: submit acknowledges zero, terminal publication acknowledges one, and the explicit hold remains distinct. Run
python scripts/demo-scheduled-sink-factory.pywith development dependencies. Recording, timing, contract. Download the small sanitized artifacts for scriptreplay; playback verified. Signing/admission are explicit process fixtures, not live crypto or runtime acceptance. Artifacts retained in established docs/demos directory.Tracks aegis-6vf.
Bead: aegis-6vf
Overlap preflight: 563c0749f3d3f65bbe53560df690fe7bb5c6876d103e95f628c888e9fb1f52c5