Skip to content

Scayid v2: Complete architecture refactor with coherence engine and full test suite - #1

Open
Scayar wants to merge 1 commit into
mainfrom
cursor/scayid-v2-refactor-72ef
Open

Scayid v2: Complete architecture refactor with coherence engine and full test suite#1
Scayar wants to merge 1 commit into
mainfrom
cursor/scayid-v2-refactor-72ef

Conversation

@Scayar

@Scayar Scayar commented Jul 5, 2026

Copy link
Copy Markdown
Owner

Summary

This PR delivers the full Scayid v2 rebuild: a clean layered architecture, local-first identity generation, intelligence features, and a comprehensive test/CI pipeline.

Architecture

  • New package layout: cli/, core/, export/, services/, config/, utils/
  • Pydantic domain models replacing the monolithic Person.__init__
  • IdentityService orchestrator with no os.chdir() or sys.exit() side effects

Intelligence

  • Coherence engine: links profession to salary, company size, industry, and interests
  • Scoring engine: completeness, coherence, realism, and threat level
  • Luhn-valid credit card generation
  • Seeded generation for reproducible identities

CLI (Typer)

  • scayid generate -g with -p, --gender, -n, -r, --seed, --theme, --offline
  • scayid batch --count N for bulk generation
  • scayid doctor for environment health checks
  • scayid version, about, banner, hack mode (-x)

Export

  • Jinja2 HTML templates: hacker, minimal, corporate
  • JSON, CSV, TXT, vCard, and QR exporters

Providers

  • Faker (default, offline-capable)
  • Web scraper (optional via --source web)

Quality

  • 19 tests passing (unit + integration)
  • 80% code coverage
  • Ruff lint clean
  • GitHub Actions CI on Python 3.10, 3.11, 3.12

Breaking changes

  • Entry point is now scayid or python -m scayid (not python scayid.py)
  • Legacy root scayid.py and core/simple.py removed
  • Incomplete -s social flag removed until properly implemented

Test plan

  • pytest --cov=scayid (19 passed, 80% coverage)
  • ruff check . (all checks passed)
  • python -m scayid generate -g --seed 42 smoke test
  • python -m scayid batch -c 2 smoke test
  • python -m scayid doctor smoke test
Open in Web Open in Cursor 

Rebuild the project from the ground up with a layered architecture:
- Faker-based local generation with optional web scraper provider
- Pydantic identity models, coherence engine, and quality scoring
- Typer CLI with generate, batch, doctor, version, and theme support
- Jinja2 HTML exporters, Luhn-valid cards, and Python API
- 19 tests with 80% coverage and GitHub Actions CI

Co-authored-by: Scayar <Scayar@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants