Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: basecamp/console1984
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: master
Choose a base ref
...
head repository: basecamp/console1984
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: ruby-4-support
Choose a head ref
Checking mergeability… Don’t worry, you can still create the pull request.
  • 2 commits
  • 10 files changed
  • 1 contributor

Commits on Feb 7, 2026

  1. Backfill tests: constant assignment is caught by validators

    Both ForbiddenConstantReferenceValidation and ForbiddenReopeningValidation
    check constant_assignments but neither had test coverage for that path.
    flavorjones committed Feb 7, 2026
    Configuration menu
    Copy the full SHA
    91fbeb2 View commit details
    Browse the repository at this point in the history
  2. Use Prism for Ruby source parsing on Ruby >= 3.3

    The whitequark/parser gem does not support Ruby 3.4+ syntax and will
    not be updated. On Ruby 4.0 it falls back to its Ruby 3.3 parser,
    meaning it cannot parse new syntax like logical operators at line
    beginning.
    
    Prism, which is bundled with Ruby 3.3+, provides a translation layer
    (Prism::Translation::ParserCurrent) that is a drop-in replacement for
    Parser::CurrentRuby. It produces the same Parser::AST::Node objects, so
    CommandParser (which inherits from Parser::AST::Processor) continues to
    work unchanged.
    
    Two new methods on Console1984:
    
    - require_ruby_parser_dependencies: loads parser+prism on Ruby >= 3.3,
      or parser/current on older Rubies. Called by .command_parser.rb itself
      rather than requiring the supervisor to manage load ordering.
    
    - ruby_parser: returns the appropriate parser class for the running
      Ruby version.
    
    On older Rubies (< 3.3), everything continues to use the parser gem
    as before.
    flavorjones committed Feb 7, 2026
    Configuration menu
    Copy the full SHA
    e0aa43b View commit details
    Browse the repository at this point in the history
Loading