Repository navigation
feat: an operation says it amends the target it names (greenhouse decisions/0596) - #73
Merged
Merged
Conversation
…isions/0596) The intent contract's line was drawn by the verb: an operation that creates its named target is not asked «you did not name it», one that selects an existing target is. The record drew it elsewhere: of 34 times a house asked a person to confirm an edit, 28 were about a class that same session had brought into the house. An operation can now declare that it amends what its target names. The session's floor reads from that session's own record where the target came from, and asks about everything the record does not say. The declaration defaults to false, needs a named target, and cannot sit beside createsNamedTarget: both contradictions are refused where they are written.
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.
An operation can declare that it amends the target it names. Nothing in this package acts on it: it is a contract, and the session's floor in milpa/app-runtime is who reads it (greenhouse decisions/0596, decided by Rod on 2026-10-07).
Why
The intent contract asks a person before an operation touches a target the request does not name.
createsNamedTargetdrew its line by the verb: an operation that creates its named target is not asked, one that selects an existing target is. The record of the lab's houses drew it elsewhere: of 34 times a house asked a person to confirm anedit, 28 were about a class that same session had brought into the house a moment before, and not one about a class the record shows in the house from before the session. Nothing the person already had was being selected.So the target of an operation that declares
amendsNamedTargetis named when the session's own record says where it came from: the session brought it into the house and it is still what the session left, or the call repairs a proposal of that same session. What the record does not say keeps being asked.What it does
Operation::$amendsNamedTarget,falseby default — fail-closed: silence keeps the question.namedTarget, and declaring it besidecreatesNamedTarget.How it was checked
AnOperationSaysItAmendsItsNamedTargetTest(7).scripts/lab/edit-1143/mutants.py command).Landing
This goes first: getmilpa/devtools declares it on
editand getmilpa/app-runtime reads it. Both read it defensively and are green on the publishedmilpa/command, so nothing breaks while it waits.