Skip to content

Critical issues: malformed requirements, hardcoded/mock data, unused config, and missing safeguards #1

@MUBENDIRAN

Description

@MUBENDIRAN

Description

I identified several concrete issues affecting reliability, correctness, and production readiness:

  1. Broken Dependency Installation
    requirements.txt is incorrectly formatted (numbered like Markdown).
    This causes pip install -r requirements.txt to fail.

Expected: Plain dependency list
Impact: Project cannot be set up properly

  1. Mock / Hardcoded Data in Core Logic
    src/json_report_generator.py generates simulated output (fake timestamps, account data).
    This bypasses actual processed data.

Expected: Output should strictly reflect processed input data
Impact: Misleading results, not production-ready

  1. Unused Configuration Parameter
    cost_increase_alert_percent is read in analyzer.py but never used.

Expected: Threshold should drive anomaly detection
Impact: Configuration is misleading / ineffective

  1. Division by Zero Risk
    In src/cost_processor.py, first_cost can be 0, leading to division by zero.

Suggested Fix:

if first_cost == 0:
percentage_change = 0

Impact: Runtime crash

  1. Sensitive Data in Config
    config.yaml contains real email addresses.

Expected: Use environment variables or .env
Impact: Security and privacy risk

  1. Hardcoded S3 URL in Frontend
    script.js uses a fixed S3 endpoint.

Expected: Config-driven or environment-based URL
Impact: Poor portability and reuse

  1. Weak CI Pipeline
    .github/workflows/deploy.yml only builds and pushes Docker image
    No:
    tests
    linting
    type checking

Impact: No quality gate before deployment

  1. Overuse of Broad Exception Handling
    Multiple except Exception: blocks hide root causes

Expected: Catch specific exceptions and log details
Impact: Debugging becomes difficult

Metadata

Metadata

Assignees

Labels

wontfixThis will not be worked on

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions