Road object model: compose state, capabilities, identity, and verbs - #4
blackboxprogramming wants to merge 9 commits into
Conversation
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 70b32d8e8c
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
blackboxprogramming
left a comment
There was a problem hiding this comment.
Requesting a fresh review of the latest Road action-envelope and object-permission changes.
blackboxprogramming
left a comment
There was a problem hiding this comment.
@codex review
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: f0ea7961ab
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| # mistaken for an empty permission requirement. | ||
|
|
||
| fun action(actor, verb, target, input, requires, source): | ||
| return { |
There was a problem hiding this comment.
Keep the runnable action example parseable
Running python3 roadc.py run examples/route_actions.road fails here with SyntaxError: Unexpected token INDENT at 8:9: the current parser does not accept newline/indent tokens inside a dict literal. The tests mask this because their copy of action places the entire dict on one line, so this newly added example cannot produce either advertised envelope; use supported single-line syntax or add multiline-literal parsing and execute the actual example in a test.
Useful? React with 👍 / 👎.
blackboxprogramming
left a comment
There was a problem hiding this comment.
@codex review
Fresh pass requested on the latest Road object model and complete road-action/0.1 envelope examples/tests.
|
Codex Review: Didn't find any major issues. Already looking forward to the next diff. Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
What this adds
examples/road_objects.roadobject model built only from RoadC features the interpreter already supportsROAD_OBJECT_MODEL.mddescribing how Road can define its own object semantics while Python remains an implementation substrateexamples/route_actions.roadimplementing complete Roadroad-action/0.1envelopes as plain Road datarequires,authority, andprovenancefields aligned with the canonical Road contractWhy
RoadC already supports lists, dicts, sets, tuples, functions, member access, and functions as values. This change composes those primitives into a usable object model and aligns the implementation with the canonical
Road -> RoadOS -> Roadiesaction boundary.The repo already contains
TypeDefinition/TypeFieldAST nodes and a parser stub. The next compiler/runtime step is to wire documentedtype Device:syntax into this same runtime model so type syntax becomes sugar over explicit Road data instead of a second incompatible object system.Scope
The core parser/interpreter behavior is unchanged in this PR. The new tests lock down semantics already supported by the interpreter and define the target contract for the next type/runtime work.
Review follow-up
The earlier P2 review finding is fixed and resolved:
status()now enforces the device'sstatuspermission and a denied read does not write a history event.