Skip to content

Bump rails-ai-context from 5.21.3 to 5.24.0 - #187

Merged
github-actions[bot] merged 1 commit into
mainfrom
dependabot/bundler/rails-ai-context-5.24.0
Aug 20, 2026
Merged

github-actions[bot] merged 1 commit into
mainfrom
dependabot/bundler/rails-ai-context-5.24.0

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Aug 20, 2026

Copy link
Copy Markdown
Contributor

Bumps rails-ai-context from 5.21.3 to 5.24.0.

Release notes

Sourced from rails-ai-context's releases.

v5.24.0

Fixed

Defects found by a QA round against GitLab, OpenProject, Canvas LMS, Discourse and Mastodon. Every one of them exits 0.

  • The commands that read the app degrade the way tool does. context, inspect, facts, preset, watch and init called a bare boot guard, so on a repo you have just cloned - the case an agent most needs a CLAUDE.md for, and the case least likely to boot - every tool answered and the command that writes the files exited 1 having written nothing. init was worse: it writes its config files first, so a boot failure left the app half set up and called that a failure. They allow the static tier now and each takes --no-boot; doctor still fails, because diagnosing the boot is its job. Writing under --no-boot then exposed its own bug - the context writer asked Rails.application for the output directory, which raises NameError on the path where Rails is never loaded at all.
  • tool --list reads the app's config when the app cannot boot. Boot is what normally loads .rails-ai-context.yml, so the listing fell back to the gem's defaults: on Mastodon it advertised 45 tools while the MCP server offered 43 and the CLI itself answered Unknown tool 'query' for one it had just listed.
  • search_extensions is documented as the fallback's list, which is what it is. Making ripgrep honour it did make the two backends agree, and it cost the reach that makes the tool useful: on Mastodon gem 'devise' went from 5 results to none, because a Gemfile carries no listed extension - and the same for a Rakefile, a .md, a .sql. The docs, the attr comment and the line the install generator writes now say plainly that the list is the Ruby fallback's and that ripgrep searches every file.
  • A table the replay cannot name is not reported. Canvas has a migration that calls create_table table_name do |t| with a local computed at run time; the replay kept the entry under a nil key, and the first serializer to sort the table names took the whole context run down. Reachable only once context could enter the static tier at all.
  • Coverage says nothing when there is nothing to measure against. With a default_locale the app configures but ships no file for, every locale scored zero and all of them were named as untranslated.
  • A mixin in a nested concerns directory is not a model. The skip only saw the top-level concerns/ that Rails autoloads, so OpenProject's app/models/queries/operators/concerns contributed four mixins to a model count of 978 where the app has 974. A nested concerns/ is an ordinary namespace, though, so the directory name alone does not decide it: a file there that declares a class is a model like any other.
  • docs/COMPATIBILITY.md describes the static tier the gem actually has. It said 6 introspectors answer without a booted app and "the other 34 have no static path", naming eight examples - all of which answer. The real split is 23 files-only, 9 alternate-source and 8 runtime-only: 32 of 40. A guard spec derives all three lists from INTROSPECTOR_MAP.

... (truncated)

Changelog

Sourced from rails-ai-context's changelog.

[5.24.0] - 2026-08-17

Fixed

Defects found by a QA round against GitLab, OpenProject, Canvas LMS, Discourse and Mastodon. Every one of them exits 0.

  • The commands that read the app degrade the way tool does. context, inspect, facts, preset, watch and init called a bare boot guard, so on a repo you have just cloned - the case an agent most needs a CLAUDE.md for, and the case least likely to boot - every tool answered and the command that writes the files exited 1 having written nothing. init was worse: it writes its config files first, so a boot failure left the app half set up and called that a failure. They allow the static tier now and each takes --no-boot; doctor still fails, because diagnosing the boot is its job. Writing under --no-boot then exposed its own bug - the context writer asked Rails.application for the output directory, which raises NameError on the path where Rails is never loaded at all.
  • tool --list reads the app's config when the app cannot boot. Boot is what normally loads .rails-ai-context.yml, so the listing fell back to the gem's defaults: on Mastodon it advertised 45 tools while the MCP server offered 43 and the CLI itself answered Unknown tool 'query' for one it had just listed.
  • search_extensions is documented as the fallback's list, which is what it is. Making ripgrep honour it did make the two backends agree, and it cost the reach that makes the tool useful: on Mastodon gem 'devise' went from 5 results to none, because a Gemfile carries no listed extension - and the same for a Rakefile, a .md, a .sql. The docs, the attr comment and the line the install generator writes now say plainly that the list is the Ruby fallback's and that ripgrep searches every file.
  • A table the replay cannot name is not reported. Canvas has a migration that calls create_table table_name do |t| with a local computed at run time; the replay kept the entry under a nil key, and the first serializer to sort the table names took the whole context run down. Reachable only once context could enter the static tier at all.
  • Coverage says nothing when there is nothing to measure against. With a default_locale the app configures but ships no file for, every locale scored zero and all of them were named as untranslated.
  • A mixin in a nested concerns directory is not a model. The skip only saw the top-level concerns/ that Rails autoloads, so OpenProject's app/models/queries/operators/concerns contributed four mixins to a model count of 978 where the app has 974. A nested concerns/ is an ordinary namespace, though, so the directory name alone does not decide it: a file there that declares a class is a model like any other.
  • docs/COMPATIBILITY.md describes the static tier the gem actually has. It said 6 introspectors answer without a booted app and "the other 34 have no static path", naming eight examples - all of which answer. The real split is 23 files-only, 9 alternate-source and 8 runtime-only: 32 of 40. A guard spec derives all three lists from INTROSPECTOR_MAP.

... (truncated)

Commits
  • d4b9e4f QA round 8: a name never rebuilds a path (#158)
  • 6c82c5a a model's table comes from its file, not from its name
  • cf4a6fe the install path's files require their own stdlib
  • c00679d the CLI doc names the static tier and the flag that enters it
  • fc0e743 the cache section reports numbers, not the store object
  • e65ec08 the changelog says the abstract-class rule shipped
  • 13f7e49 one derivation, one read, and an abstract class is not a model
  • fe79569 a name never rebuilds a path: the file travels with the class
  • 9b61f85 the last three consumers read the carried file, and a commented locale is not...
  • 1d97703 the changelog says what shipped, and a dead guard comes back out
  • Additional commits viewable in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [rails-ai-context](https://github.com/crisnahine/rails-ai-context) from 5.21.3 to 5.24.0.
- [Release notes](https://github.com/crisnahine/rails-ai-context/releases)
- [Changelog](https://github.com/crisnahine/rails-ai-context/blob/main/CHANGELOG.md)
- [Commits](crisnahine/rails-ai-context@v5.21.3...v5.24.0)

---
updated-dependencies:
- dependency-name: rails-ai-context
  dependency-version: 5.24.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file minor ruby Pull requests that update ruby code labels Aug 20, 2026
@github-actions github-actions Bot added the auto-merge-enabled Auto-merge was enabled by workflow label Aug 20, 2026
@github-actions
github-actions Bot merged commit 42a0a28 into main Aug 20, 2026
8 of 9 checks passed
@dependabot
dependabot Bot deleted the dependabot/bundler/rails-ai-context-5.24.0 branch August 20, 2026 12:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

auto-merge-enabled Auto-merge was enabled by workflow dependencies Pull requests that update a dependency file minor ruby Pull requests that update ruby code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants