Skip to content

feat: Add method aliases - #55

Open
joshuaclayton wants to merge 17 commits into
mainfrom
add-method-aliases
Open

feat: Add method aliases#55
joshuaclayton wants to merge 17 commits into
mainfrom
add-method-aliases

Conversation

@joshuaclayton

Copy link
Copy Markdown
Member
  • feat(01-01): add alias rule model and grammar validator
  • feat(01-01): add alias rules to project configuration model
  • feat(01-01): export alias rule contracts from crate root
  • feat(01-02): add alias-aware result-based config parsing
  • feat(01-02): add default Rails method alias rules
  • fix(01-02): surface config parse failures in cli and doctor
  • feat(02-01): implement alias candidate expansion helpers
  • feat(02-01): apply alias-aware assertion matching
  • test(02-02): add alias matcher regression coverage
  • test(02-02): add no-alias project configuration regressions
  • test(03-02): harden loader alias validation assertions
  • test(03-01): harden alias rule validation coverage
  • test(03-01): expand alias matcher equivalence and one-pass coverage
  • test(03-02): expand project-level alias regression coverage
  • fix: count alias-derived usages when alias token is absent from tags
  • chore: adjust style

- add raw and compiled alias rule types with from/to grammar validation

- return typed validation errors with rule index and field metadata

- cover valid and invalid wildcard/template token parsing with unit tests
- add method_aliases to ProjectConfiguration as Vec<AliasRule>

- default method_aliases to empty for backward-compatible no-alias configs

- set loader-created configurations to empty alias rules for now
- expose alias rule model and parser/validator entrypoint

- export typed alias validation error metadata for loader/cli integration
- change ProjectConfigurations::parse to return explicit load errors

- compile and validate method_aliases with aggregated config-aware diagnostics

- add loader tests for invalid alias rows and unchanged no-alias behavior
- add be_{} mapping for *? predicates

- add have_{} mapping for has_*? predicates

- add snakecase mapping for *Validator constants
- return explicit loader errors and keep default fallback only when user config is missing

- fail normal CLI runs with actionable config-load messaging

- report doctor config-load failures as Error while keeping success status output
- add one-pass alias candidate expansion for token strings
- render alias templates with literal, capture, and snakecase parts
- cover dedupe, self-map dropping, and capture preservation in unit tests
- add alias-aware assertion and matcher entry points with compatibility wrappers
- expand both matcher and observed tokens for equality-style token assertions
- route low-likelihood and matches-if checks through configured method_aliases
- assert alias validation issues by stable fields and message fragments

- make aggregated validation checks order-independent

- cover malformed wildcard and unknown template token parsing failures
- switch invalid pattern and transform assertions to stable field/fragment checks
- add multi-error validation test covering malformed wildcard and unknown token classes
- keep aggregated validation checks order-independent to avoid brittle test failures
- add explicit wildcard/transform equivalence tests for *?, has_*?, and *Validator rules
- add deterministic one-pass candidate expansion test to prevent recursive alias chaining
- preserve and extend alias-aware equality behavior coverage without changing matcher logic
- add YAML-driven low_likelihood tests for *?, has_*?, and *Validator alias forms

- add YAML-driven codebase_config_match tests for canonical alias equivalence

- keep explicit no-alias regression checks for low-likelihood and codebase matching
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant