Skip to content

Project pinned schedule slots and validate fixed child outcomes - #29

Closed
scbrown wants to merge 2 commits into
harding/6vf-async-receiverfrom
harding/6vf-fixed-executor
Closed

scbrown wants to merge 2 commits into
harding/6vf-async-receiverfrom
harding/6vf-fixed-executor

Conversation

@scbrown

@scbrown scbrown commented Oct 15, 2026 •

Copy link
Copy Markdown
Collaborator

A pinned declaration catalogue can now produce the current eligible UTC slot and next check, and a fixed trusted child command can return an explicit outcome through a bounded descriptor. Missing identities refuse before altering the outbox; exit zero without a valid result remains unknown. Hold and failure stay distinct, and durable receiver replay does not execute the child twice.

This draft is stacked on #28 at 0b4a0eb, which itself depends on #26. Neither parent proposal is duplicated or changed. Parent landing, retargeting/current CI, normal risk classification and one independent post-green review remain required. No runtime activation, release, signing key, schedule, credential or cron change is included.

The projection supports fixed elapsed intervals with explicit activation cutoff, never historical catch-up. The executor fixes argv, cwd, explicit environment and descriptor variable locally. It validates actual process exit plus bounded JSON, drains/discards bounded logs, times out ordinary process groups, and retains unknown execution rather than retrying. It does not provide immutable artifact admission, kernel containment, parent-session survival or signed outcome metadata; those remain surrounding receiver/supervisor responsibilities.

Validation:49 executor and 49 projection focused tests; full 376 tests plus 25subtests pass. Exhaustive exit-code/JSON-order invariants, actual temporary subprocesses, timeout cleanup and durable no-repeat cases. Watched HOME/resource surfaces unchanged; this is not a general hermeticity certification. Ruff, isolated wheel imports and exact committed source/wheel bytes pass.

Demo: on head f4a755d, run python scripts/demo-scheduled-projection.py and python scripts/demo-fixed-outcome-executor.py. Relative to base 0b4a0eb both modules were absent while receiver identity control remained present; candidate projection emits 2 slots from 3 observations and retains the outbox on missing identity. Actual isolated child processes show succeeded (0), hold (0), failed (7), and unknown on missing result. These are source fixtures, not installed service acceptance. Download and replay the small retained recordings with scriptreplay: projection output, timing; executor output, timing. Playback verified locally; small sanitized fixtures retained in established docs/demos directory.

Tracks aegis-6vf.

Bead: aegis-6vf

Overlap preflight: 39adef7e7e971d7933e3cb072bbef5a9d2588bdddd85f2689cafbd10dd7c792a

@scbrown

scbrown commented Oct 15, 2026

Copy link
Copy Markdown
Collaborator Author

Folded into #31 (aegis-6vf, operator ruling: no stacked drafts). #31's head bfd3d44 contains this branch's commits plus main; review and merge happen there.

@scbrown scbrown closed this Oct 15, 2026
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