-
Notifications
You must be signed in to change notification settings - Fork 436
Add Monty REPL environment #94
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
Adds a new optional Monty-backed REPL environment to the rlm.environments routing system, along with dependency wiring and basic tests/docs so users can select environment="monty".
Changes:
- Introduce
MontyREPL(non-isolated) with stdout capture and AST-based variable persistence across code blocks. - Register the new environment type (
monty) in environment routing/types and add an optional dependency extra. - Add import-guarded tests for Monty availability and basic REPL behavior; update README installation/docs.
Reviewed changes
Copilot reviewed 7 out of 8 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
rlm/environments/monty_repl.py |
New Monty-based REPL implementation with state persistence and LM query helpers |
rlm/environments/__init__.py |
Registers "monty" in get_environment() routing |
rlm/core/types.py |
Extends EnvironmentType Literal to include "monty" |
tests/test_monty_repl.py |
Adds Monty REPL smoke tests (import-skipped if dependency missing) |
tests/test_imports.py |
Adds Monty import checks and optional-module circular import coverage |
pyproject.toml |
Adds monty optional extra dependency |
uv.lock |
Locks pydantic-monty and adds monty extra metadata |
README.md |
Documents MontyREPL and installation via optional extra |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
Copilot reviewed 9 out of 10 changed files in this pull request and generated 5 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
Addressed review comments in latest push (README grammar, stderr capture, in-block FINAL_VAR/SHOW_VARS, AssignedNameCollector walrus/match, tests, persistence guard/docstring, monty persistent completion test). Happy to resolve threads if needed. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
Copilot reviewed 9 out of 10 changed files in this pull request and generated 3 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Fix cleanup() to clear stderr_parts and reset counters, guard state restoration to avoid silently setting variables to None, remove dead final_var()/show_vars() instance methods, and add execution-level stderr capture test. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
# Conflicts: # rlm/core/types.py # rlm/environments/__init__.py
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
Copilot reviewed 9 out of 10 changed files in this pull request and generated 1 comment.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
looks awesome, can't wait! |
Why Monty?
Summary
Testing
Haiku
Tiny sandbox hums
Code whispers in quiet loops
Monty guards the sparks