Repository navigation
fix: source:read, source:page and test judge a path by which house it belongs to - #154
Merged
Merged
Conversation
rodrigoteamx
force-pushed
the
fix/source-read-not-runtime-state
branch
2 times, most recently
from
October 13, 2026 02:15
72c0896 to
de3038c
Compare
…solves to These three operations return a file's content by path and declare no scope, so one rule answers for all of them: which house is this path from, and is it that house's source, its state, or a test? The rules now identify the file a path resolves to — by device and inode — rather than matching how the path was written, so two spellings of one file get one answer. - A copy of the house (a trial, an exercise, a boot candidate under var/) is read like a house of its own: its source is source, its own var/ and storage/ are state, including inside a copy. - A read does not hand back a file the house keeps a secret in: the rule the house keeps names those files, and it is asked about the file each path resolves to; a file whose directory cannot be listed is withheld. - `test` runs only a test: a .php file or a directory under the house's (or a copy's) tests/, and refuses any other path. SourcePath resolves a path to its stored-name form and SecretFiles asks the house's secret-file rule over it; SourceReadHandler/SourcePageHandler keep calling isHouseState, and TestHandler routes its path through isTest. Tests cover the rule, the copy cases, letter case, a directory, a numeric directory name, an unlistable directory, and that a real test still runs.
rodrigoteamx
force-pushed
the
fix/source-read-not-runtime-state
branch
from
October 13, 2026 15:30
58d4775 to
ce84d46
Compare
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.
These three operations return a file's content by path and declare no scope, so one rule answers for all of them: which house is this path from, and is it that house's source or its state? — asked case-insensitively, as the house's secret-file rule already is.
var/) is read like a house of its own: its source is source, its ownvar//storage/is state. So an agent can read the source of its own trial copy, while the running house's state stays refused — on every path, including inside a copy.testruns only a test: a.phpfile or a directory under the house's (or a copy's)tests/, and refuses any other path.SourcePath::isHouseStategains the copy-aware rule,SourcePath::isTestis added,SourceReadHandler/SourcePageHandlerkeep callingisHouseState, andTestHandlerroutes its path throughisTest. Tests cover the rule and its spellings (copy source, a copy's own state, a nested copy, letter case,.., links, a directory merely namedcopy, absolute and/procpaths) and that a real test still runs.Acta: getmilpa/greenhouse decisions/0618 (D20, D22)