README.md
pyproject.toml
src/nfr_gate/__init__.py
src/nfr_gate/config.py
src/nfr_gate/observability.py
src/nfr_gate/analysis/__init__.py
src/nfr_gate/analysis/base.py
src/nfr_gate/analysis/cli.py
src/nfr_gate/analysis/constructs.py
src/nfr_gate/analysis/diff_parser.py
src/nfr_gate/analysis/whole_file.py
src/nfr_gate/analysis/languages/__init__.py
src/nfr_gate/analysis/languages/go_analyzer.py
src/nfr_gate/analysis/languages/java_analyzer.py
src/nfr_gate/analysis/languages/python_analyzer.py
src/nfr_gate/analysis/languages/registry.py
src/nfr_gate/analysis/queries/go/error_checks.scm
src/nfr_gate/analysis/queries/go/metric_label_calls.scm
src/nfr_gate/analysis/queries/go/outbound_calls.scm
src/nfr_gate/analysis/queries/go/retry_blocks.scm
src/nfr_gate/analysis/queries/go/route_definitions.scm
src/nfr_gate/analysis/queries/go/span_calls.scm
src/nfr_gate/analysis/queries/java/exception_handlers.scm
src/nfr_gate/analysis/queries/java/metric_label_calls.scm
src/nfr_gate/analysis/queries/java/outbound_calls.scm
src/nfr_gate/analysis/queries/java/retry_blocks.scm
src/nfr_gate/analysis/queries/java/route_definitions.scm
src/nfr_gate/analysis/queries/java/span_calls.scm
src/nfr_gate/analysis/queries/python/exception_handlers.scm
src/nfr_gate/analysis/queries/python/metric_label_calls.scm
src/nfr_gate/analysis/queries/python/outbound_calls.scm
src/nfr_gate/analysis/queries/python/retry_blocks.scm
src/nfr_gate/analysis/queries/python/route_definitions.scm
src/nfr_gate/analysis/queries/python/span_calls.scm
src/nfr_gate/analysis/rules/__init__.py
src/nfr_gate/analysis/rules/ast_helpers.py
src/nfr_gate/analysis/rules/context_propagation_rule.py
src/nfr_gate/analysis/rules/correlation_id_rule.py
src/nfr_gate/analysis/rules/degradation_defined_rule.py
src/nfr_gate/analysis/rules/latency_metric_rule.py
src/nfr_gate/analysis/rules/log_severity_rule.py
src/nfr_gate/analysis/rules/metric_cardinality_rule.py
src/nfr_gate/analysis/rules/no_swallowed_exception_rule.py
src/nfr_gate/analysis/rules/outcome_metric_rule.py
src/nfr_gate/analysis/rules/registry.py
src/nfr_gate/analysis/rules/retry_backoff_rule.py
src/nfr_gate/analysis/rules/span_attributes_rule.py
src/nfr_gate/analysis/rules/span_error_status_rule.py
src/nfr_gate/analysis/rules/structured_log_rule.py
src/nfr_gate/analysis/rules/timeout_rule.py
src/nfr_gate/analysis/rules/trace_span_rule.py
src/nfr_gate/analysis/rules/go/__init__.py
src/nfr_gate/analysis/rules/go/ast_helpers.py
src/nfr_gate/analysis/rules/go/context_propagation_rule.py
src/nfr_gate/analysis/rules/go/correlation_id_rule.py
src/nfr_gate/analysis/rules/go/degradation_defined_rule.py
src/nfr_gate/analysis/rules/go/latency_metric_rule.py
src/nfr_gate/analysis/rules/go/log_severity_rule.py
src/nfr_gate/analysis/rules/go/metric_cardinality_rule.py
src/nfr_gate/analysis/rules/go/no_swallowed_exception_rule.py
src/nfr_gate/analysis/rules/go/outcome_metric_rule.py
src/nfr_gate/analysis/rules/go/retry_backoff_rule.py
src/nfr_gate/analysis/rules/go/span_attributes_rule.py
src/nfr_gate/analysis/rules/go/span_error_status_rule.py
src/nfr_gate/analysis/rules/go/structured_log_rule.py
src/nfr_gate/analysis/rules/go/timeout_rule.py
src/nfr_gate/analysis/rules/go/trace_span_rule.py
src/nfr_gate/analysis/rules/java/__init__.py
src/nfr_gate/analysis/rules/java/ast_helpers.py
src/nfr_gate/analysis/rules/java/context_propagation_rule.py
src/nfr_gate/analysis/rules/java/correlation_id_rule.py
src/nfr_gate/analysis/rules/java/degradation_defined_rule.py
src/nfr_gate/analysis/rules/java/latency_metric_rule.py
src/nfr_gate/analysis/rules/java/log_severity_rule.py
src/nfr_gate/analysis/rules/java/metric_cardinality_rule.py
src/nfr_gate/analysis/rules/java/no_swallowed_exception_rule.py
src/nfr_gate/analysis/rules/java/outcome_metric_rule.py
src/nfr_gate/analysis/rules/java/retry_backoff_rule.py
src/nfr_gate/analysis/rules/java/span_attributes_rule.py
src/nfr_gate/analysis/rules/java/span_error_status_rule.py
src/nfr_gate/analysis/rules/java/structured_log_rule.py
src/nfr_gate/analysis/rules/java/timeout_rule.py
src/nfr_gate/analysis/rules/java/trace_span_rule.py
src/nfr_gate/api/__init__.py
src/nfr_gate/api/app.py
src/nfr_gate/api/auth.py
src/nfr_gate/api/routes/__init__.py
src/nfr_gate/api/routes/dashboard.py
src/nfr_gate/api/routes/overrides.py
src/nfr_gate/api/static/dashboard.html
src/nfr_gate/ci/__init__.py
src/nfr_gate/ci/comment.py
src/nfr_gate/ci/comment_templates.py
src/nfr_gate/ci/git_diff.py
src/nfr_gate/ci/github_api.py
src/nfr_gate/ci/gitlab_api.py
src/nfr_gate/ci/live_assessment.py
src/nfr_gate/ci/mr_gate.py
src/nfr_gate/ci/override.py
src/nfr_gate/ci/pipeline.py
src/nfr_gate/ci/pr_gate.py
src/nfr_gate/domain/__init__.py
src/nfr_gate/domain/models/__init__.py
src/nfr_gate/domain/models/finding.py
src/nfr_gate/domain/models/routing.py
src/nfr_gate/domain/ports/__init__.py
src/nfr_gate/domain/ports/findings_repository.py
src/nfr_gate/infra/__init__.py
src/nfr_gate/infra/fake_findings_repository.py
src/nfr_gate/infra/postgres/__init__.py
src/nfr_gate/infra/postgres/connection.py
src/nfr_gate/infra/postgres/findings_repository.py
src/nfr_gate/llm/__init__.py
src/nfr_gate/llm/assessor.py
src/nfr_gate/llm/client.py
src/nfr_gate/llm/prompt.py
src/nfr_gate/llm/response.py
src/nfr_gate/lsp/__init__.py
src/nfr_gate/lsp/server.py
src/nfr_gate/notify/__init__.py
src/nfr_gate/notify/client.py
src/nfr_gate/notify/notify.py
src/nfr_gate/routing/__init__.py
src/nfr_gate/routing/policy.py
src/nfr_gate/routing/service_tiers.py
src/nfrgate.egg-info/PKG-INFO
src/nfrgate.egg-info/SOURCES.txt
src/nfrgate.egg-info/dependency_links.txt
src/nfrgate.egg-info/entry_points.txt
src/nfrgate.egg-info/requires.txt
src/nfrgate.egg-info/top_level.txt
src/rubric_store/__init__.py
src/rubric_store/loader.py
src/rubric_store/sync.py
src/rubric_store/definitions/logs.yaml
src/rubric_store/definitions/metrics.yaml
src/rubric_store/definitions/reliability.yaml
src/rubric_store/definitions/traces.yaml
src/rubric_store/schema/rubric.schema.yaml