Conversation
…s implementation Introduce a comprehensive ExecPlan markdown file detailing the design, constraints, risks, and staged plan for implementing the `unused-relation` semantic lint rule. This new document covers auditing prerequisites, locking contract tests, implementing the lint semantics, integrating it into the lint catalog, documentation updates, and verification steps, ensuring a structured and maintainable approach for detecting declared but unused relations. Co-authored-by: devboxerhub[bot] <devboxerhub[bot]@users.noreply.github.com>
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
Reviewer's GuideAdds a new ExecPlan documentation file that defines a staged, test-first implementation strategy for an Sequence diagram for compilation with unused-relation diagnosticssequenceDiagram
actor Developer
participant Engine
participant Parser
participant Normalizer
participant SemanticAnalyzer
participant LintCatalog
participant UnusedRelationRule
participant DiagnosticReport
Developer->>Engine: compile_yaml(config)
Engine->>Parser: parse(input)
Parser-->>Engine: ast
Engine->>Normalizer: normalize(ast)
Normalizer-->>Engine: normalized_ast
Engine->>SemanticAnalyzer: analyze_relations(normalized_ast)
SemanticAnalyzer->>LintCatalog: run_lints(resolved_relations, usage_sites)
LintCatalog->>UnusedRelationRule: check_unused_relations(resolved_relations, usage_sites)
UnusedRelationRule-->>LintCatalog: unused_relation_diagnostics
LintCatalog-->>SemanticAnalyzer: semantic_lint_diagnostics
SemanticAnalyzer-->>Engine: semantic_diagnostics
Engine->>DiagnosticReport: build(diagnostics)
DiagnosticReport-->>Developer: json_with_unused_relation_diagnostics
File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
Summary
Changes
docs/execplans/4-1-1-implement-unused-relation-diagnostics.mdRationale
unused-relationlint in a repository that currently has stubbed engine surfaces and no semantic analysis yet. Ensures alignment with existing diagnostic contracts and ensures future work is well-scoped and testable.Plan of work (high-level)
E_SEMPAI_UNUSED_RELATION) and ensure serde/Display behavior stays compatible with the existing contract.Verification / Test plan
Notes
◳ Generated by DevBoxer ◰
ℹ️ Tag @devboxerhub to ask questions and address PR feedback
📎 Task: https://www.devboxer.com/task/ad6124ee-1841-45a3-a7e1-115315fba15c
Summary by Sourcery
Documentation:
unused-relationsemantic lint rule.