bounds: bounds resolved once and re-checked between commands, run.more and extend, OUT{} as a command, and the profile error pinned - #87
Open
ohdearquant wants to merge 3 commits into
Open
ohdearquant wants to merge 3 commits into
ohdearquant wants to merge 3 commits into
Conversation
…a command, and the profile error pinned
…ber reads as spent, and a hook's rewrite of OUT{} is held to the run's outputs
…ept judges it held
A before hook's rewrite could drop a required output (_out checked
only for names off the list), and accept saw the rewrite raw, before
validation: a dict rewrite reached a typed accept as a dict and was
refused, and an invalid rewrite reached accept at all. One rule,
_held, now serves the assembled OUT{}, the rewrite, and accept, which
judges output instances and whose approved value is what leaves.
ADR-0003 D4.
Owner
Author
|
9040623: a before hook's rewrite of |
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.
Closes #28, closes #31, closes #30, closes #25.
Every bound is resolved once at run start (the profile's defaults,
max_idle,cost_budget, the context check) and time and cost are re-checked between commands, so a run that crosses a budget mid-turn ends there. A reported cost that is not a number reads as spent, not as room.run.morehas a default handler and jobs take anextendfield.OUT{}is dispatched as a command withacceptas its last before hook, and a hook's rewrite of the output is held to the run's declared outputs: a field off the list is refused, a dict is validated into the spec.RunRequesttakes its fields by name only. A profile outside the operable set, or beyond the actor's privileges, raisesProfileErrorbefore any turn, and a test pins it.ADR-0001 and ADR-0003 state what holds, with the tests named. This branch and the run branch (#83) both touch the run loop in
lionagi/actor.py; whichever merges second takes a merge of main.Suite: 100% coverage on 3.11, 3.12 and 3.14; pre-commit clean.