Files
whetrails/handoff/overview.md
bill ab1f29269e
Some checks failed
CI / scan_ruby (push) Has been cancelled
CI / scan_js (push) Has been cancelled
CI / lint (push) Has been cancelled
CI / test (push) Has been cancelled
CI / system-test (push) Has been cancelled
Update handoff docs for completed engine layer
Mark engine as done in overview and build order. Update next-steps to
focus on test gap analysis. Add engine file map, data flow, and dev
setup quirks (Zeitwerk conflict, engine routes conflict) to architecture.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-08 20:14:19 -06:00

1.5 KiB

Whetrails — Project Handoff

What this is

A Ruby gem that makes ActiveRecord callback and validation chains visible to developers.

When a Rails developer calls .save on a model, Rails fires a chain of callbacks and validations in a specific order. These are registered in scattered places (the model file, concerns, gems) and Rails never surfaces the full picture in one place. Whetrails extracts and displays that chain: what fires, in what order, where it's defined, and under what conditions.

This is the first half of a two-part tool. The second half (not yet built) uses the extracted chain as input to a test coverage gap analyzer — showing which callbacks and validators are never exercised by the test suite.

Current state (as of 2026-06-08)

Three layers are complete:

  1. Core inspector — extracts the full chain from any ActiveRecord model class at runtime
  2. CLIwhetrails inspect <ModelName> boots the host Rails app and renders the chain to the terminal
  3. Rails engine — browser UI mounted at /whetrails, sidebar model list, lifecycle timeline with vscode source links

Build order

[DONE]  1. Gem core       lib/whetrails/inspector.rb
[DONE]  2. CLI            exe/whetrails + lib/whetrails/cli.rb
[DONE]  3. Rails engine   browser UI mounted at /whetrails
[NEXT]  4. Test gap layer  uses chain data to find uncovered callbacks/validators

Repository