Skip to content

Historical pre-upgrade audit record: runtime, security, CI, deployment, and evidence gaps #7

Description

@CoreyLeath-code

Historical record: This issue documents problems recorded before the repository's audit/upgrade work. Checked items mean a merged PR reports the item remediated; they are not a substitute for re-validating the current default branch. The scope is the evidence in linked commits and PRs—not a claim that every historical defect has been discovered.

Baseline and remediation timeline

Earliest documented pre-upgrade baseline: d5f059c.

Repository and deployment

  • No coherent local run path; README referenced nonexistent directories.
  • CI workflow filename was malformed.
  • Compose was incomplete and lacked a valid top-level service stack.
  • Most services had no Dockerfiles, health checks, dependency ordering, or local database schema.
  • Render configuration was a stub.
  • Docker build context lacked a .dockerignore, risking inclusion of VCS data, environment files, Terraform state, and unrelated artifacts.

Remediated in PR #1 and PR #4.

Correctness, security, and runtime

  • API modules imported a nonexistent core.* namespace.
  • Tests imported the wrong application and failed during collection.
  • Authentication used literal admin/admin credentials.
  • Backend forced CUDA and could crash on CPU-only hosts.
  • MLflow work and heavyweight model loading occurred at import/startup.
  • An LLM route loaded synchronously and lacked a safe CPU/error path.
  • Database-write exceptions were silently swallowed.
  • Required API/test dependencies were absent, and importing the API required PyTorch.

Remediated in PR #2 and PR #3.

CI and research evidence

  • Pytest invocation depended on a user-local binary being on PATH.
  • README badges referenced the former repository owner.
  • README mixed targets and one-off smoke measurements with insufficient claim boundaries.
  • No deterministic, versioned PSI/KS benchmark artifact or enforced quality/schema regression gate existed.
  • Benchmark reporting omitted a consolidated latency distribution, throughput, memory, classification metrics, provenance, and limitations.

Remediated in PR #4, PR #5, and PR #6.

Follow-up verification

  • Re-run the full polyglot stack and CI on current main.
  • Confirm secrets/templates remain excluded from images.
  • Confirm current badges and benchmark links use CoreyLeath-code/SentinelAI.
  • Reassess the still-limited focused API coverage recorded during the documentation audit.

Remediation record — August 2026

Problem

The inference API treated a missing API_BEARER_TOKEN as authorization success, leaving the production-like endpoint open when configuration was incomplete.

Upgrade

PR #15 makes production authorization fail closed when the bearer-token configuration is missing and adds regression coverage for the production and development paths.

Verification

The PR-head GitHub Actions checks passed across the configured workflow set.

Remaining boundary

This closes the missing-token bypass; it does not replace broader identity, secret-rotation, rate-limit, or deployment-authorization controls.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions