AcqualyticsAcqualytics
Assurance · The method

Ten domains

Every domain scored and evidenced. Each finding is a count or a pass/fail check you can reproduce.

01

Scale & composition

72/100Low

Covers: Codebase size, duplication, and how much is generated filler versus unique product logic.

Finding: 380K lines across 99 backend modules and 3,474 files — but 40–50% AI-assisted and 20+ duplicated grids inflate the total.

02

Development practice & provenance

58/100Moderate

Covers: How code is written and validated — and whether history matches what was reported delivered.

Finding: 40–50% AI-assisted (27–29% documented); commit messages instructed to omit AI attribution — provenance is obscured.

03

Dependency & lock-in

15/100Critical

Covers: Whether the client can obtain and run every critical component without the vendor.

Finding: 63 private vantage/* PHP packages plus @vantage npm across 277 files; the vendor owns the repo, registry and CI/CD image.

04

Secrets & credential exposure

41/100High

Covers: Credentials committed to source/history and whether secrets are managed safely.

Finding: Plaintext AWS access keys (prod + staging S3) and a default admin password committed to the repo; no secrets manager.

05

Test coverage & release control

24/100Critical

Covers: Automated test coverage and whether anything gates a release.

Finding: 9 backend tests, 0 frontend, 0 E2E on 380K lines; CI runs only a TypeScript typecheck — nothing gates a release.

06

Technical debt

55/100Moderate

Covers: Accumulated shortcuts, lint/TODO density, duplication, and whether debt is tracked and paid down.

Finding: 821 lint problems, 152 TODO/FIXME across 109 files, 20+ duplicated DataGrids — debt untracked and growing.

07

Feature complexity & knowledge concentration

34/100High

Covers: Feature breadth and how concentrated system knowledge is across people — the bus factor.

Finding: 17 feature areas built by effectively one developer — bus factor of 1; onboarding docs (CLAUDE.md) target AI, not people.

08

Infrastructure & recovery

29/100High

Covers: Infrastructure-as-code, backups/DR, monitoring, and whether recovery has ever been tested.

Finding: No IaC for RDS/Elasticsearch/StarRocks/Kafka, no backup/DR, no monitoring — recovery is undocumented and untested.

09

Scalability & resilience

46/100High

Covers: Redundancy and failover on the revenue- and filing-critical path.

Finding: Mission-critical during the live federal education-funding filing window, yet infra is vendor-run with no documented failover or DR.

10

Transition risk

30/100High

Covers: How hard and costly it would be to move off the vendor, and whether a path exists.

Finding: A vendor exit needs 8–14 months and vantage/* source access; a costed, staged path now exists where none did.

Findings · evidence attached

  • Dependency & lock-in

    The backend can't be built or deployed without vendor registries: 63 private vantage/* packages plus @vantage npm.

    Impact: If the vendor pauses or departs, Northwind cannot build, deploy or recover its own software — an existential operational risk.

    composer.vantagedigital.com: 63 vantage/* packages@vantage: 277 files, 555 importsrepo: bitbucket.org/vantagedigital
    Criticalconf 98%
  • Test coverage & release control

    9 backend test files and zero frontend/E2E tests protect 380K lines; CI runs only a typecheck.

    Impact: Every change is an unguarded bet on a live production system handling regulatory filings; regressions ship silently.

    backend tests: 9frontend/E2E tests: 0CI: typecheck only — no tests, no lint
    Criticalconf 99%
  • Secrets & credential exposure

    Plaintext AWS access keys (prod + staging S3) and a default admin password were committed to the repo.

    Impact: Committed secrets can be extracted from history; each is a live breach vector until rotated and moved to a secrets manager.

    2 AWS access keys in sourcedefault admin password in a plan fileno secrets manager
    Highconf 97%
  • Infrastructure & recovery

    No IaC, backup/DR, or monitoring for RDS, Elasticsearch, StarRocks or Kafka.

    Impact: An outage or data loss has no rehearsed recovery path — restoration time is unknown and unbounded.

    no Terraform/CloudFormationno backup/DR docsno monitoring/alerting config
    Highconf 95%
  • Feature complexity & knowledge concentration

    17 feature areas were built by effectively one developer — a bus factor of 1.

    Impact: One person leaving would strand most of the system — both delivery and recovery are at risk.

    5 CLAUDE.md files (965 lines)bus factor: 1onboarding docs target AI, not humans
    Highconf 92%
  • Development practice & provenance

    Repeated missed targets (Jul → Sep → Dec 2025) before a filing-window MVP; AI attribution deliberately concealed in commits.

    Impact: Velocity outran stabilization; quality issues surface in production during the filing window rather than in review.

    missed: Jul, Sep–Oct, Dec 2025CLAUDE.md: omit Co-Authored-By
    Highconf 90%