Factory.ai
All Reports

HTTPX

Python

Strong Testing

HTTPX reaches Level 3 with 57% Testing pass rate. Currently becoming autonomous-capable with 26/58 criteria passing (45%). Key areas for improvement include the opportunities listed below.

Strengths

01
Dead Code Detection
Ruff configured with rules like F401 for unused import detection
02
Formatter
Ruff format configured and used in scripts/check for code formatting
03
Lint Config
Ruff linter configured in pyproject.toml with select/ignore rules for code quality checks

Opportunities

01
Cyclomatic Complexity
No complexity analysis tools configured - no lizard, radon, or ruff complexity rules
02
Duplicate Code Detection
No duplicate code detection tools like jscpd or SonarQube found
03
Large File Detection
No large file detection - no git hooks, LFS config, or CI checks for file size

All Criteria

Style & Validation5/11 (45%)
code_modularizationSkipped - small Python library with clear module structure, enforcement tooling not needed
cyclomatic_complexityNo complexity analysis tools configured - no lizard, radon, or ruff complexity rules
dead_code_detectionRuff configured with rules like F401 for unused import detection
duplicate_code_detectionNo duplicate code detection tools like jscpd or SonarQube found
formatterRuff format configured and used in scripts/check for code formatting
large_file_detectionNo large file detection - no git hooks, LFS config, or CI checks for file size
lint_configRuff linter configured in pyproject.toml with select/ignore rules for code quality checks
n_plus_one_detectionSkipped - library without database/ORM usage, N+1 detection not applicable
naming_consistencyNo naming convention enforcement found in ruff config or other linters
pre_commit_hooksNo pre-commit hooks found - no .pre-commit-config.yaml or husky configuration
strict_typingmypy strict mode enabled via strict=true in pyproject.toml [tool.mypy] section
tech_debt_trackingTODO comments found in code but no automated tracking or CI scanner configured
type_checkmypy configured with strict=true in pyproject.toml for strict type checking
Build System6/11 (55%)
agentic_developmentNo agent co-authorship in git log - only human Co-authored-by entries found
automated_pr_reviewSkipped - no automated review generation detected in recent PRs, only human reviews
build_cmd_docBuild/install documented in README and CONTRIBUTING.md via scripts/install and scripts/build
build_performance_trackingSkipped - no build caching, metrics export, or performance optimization evidence found
dead_feature_flag_detectionSkipped - prerequisite feature_flag_infrastructure not configured
deployment_frequencyInfrequent releases (2 in last 30 days), publish workflow runs on tags not frequent deploys
deps_pinnedDependencies pinned with == in requirements.txt for reproducible builds
fast_ci_feedbackCI completes in ~1-2 minutes based on statusCheckRollup timestamps from recent PRs
feature_flag_infrastructureNo feature flag system found - LaunchDarkly, Statsig, etc. not configured
heavy_dependency_detectionSkipped - Python library without bundling, not applicable
monorepo_toolingSkipped - single-application repository, not a monorepo
progressive_rolloutSkipped - library project, not an infrastructure repo with canary deployments
release_automationAutomated release via publish.yml workflow that publishes to PyPI on git tags
release_notes_automationCHANGELOG.md maintained manually - no semantic-release or automated changelog tools
rollback_automationSkipped - library project, not an infrastructure repo with rollback capability
single_command_setupCONTRIBUTING.md documents single command setup: scripts/install
unused_dependencies_detectionNo unused dependency detection tools like deptry or depcheck configured
vcs_cli_toolsgh CLI installed and authenticated, verified via gh auth status
version_drift_detectionSkipped - single-application repository, version drift detection not applicable
Testing4/7 (57%)
flaky_test_detectionSkipped - no pytest-rerunfailures or flaky test tracking detected
integration_tests_existOnly unit tests found, no integration/e2e test directories or playwright/cypress config
test_coverage_thresholdsCoverage threshold enforced at 100% via scripts/coverage --fail-under=100
test_isolationNo test parallelization configured - no pytest-xdist or parallel execution
test_naming_conventionsPytest default test_*.py naming convention consistently used throughout tests/
test_performance_trackingNo test timing output configured - no --durations flag or test analytics platforms
unit_tests_existComprehensive test suite in tests/ directory with test_*.py files
unit_tests_runnableTests runnable via scripts/test which executes coverage run -m pytest
Documentation3/6 (50%)
agents_mdNo AGENTS.md file at repository root to document agent-specific workflows
agents_md_validationSkipped - prerequisite agents_md file does not exist
api_schema_docsSkipped - HTTP client library without API endpoints, OpenAPI/GraphQL not applicable
automated_doc_generationmkdocs configured with mkautodoc plugin for automated documentation generation
documentation_freshnessKey docs updated in last 180 days: README.md, CONTRIBUTING.md modified recently
readmeREADME.md exists with comprehensive setup, usage, and feature documentation
service_flow_documentedNo architecture diagrams or service flow documentation found in docs/
skillsNo skills configured - no .factory/skills/, .skills/, or .claude/skills/ directories
Dev Environment1/2 (50%)
database_schemaSkipped - no database usage, library project without data persistence
devcontainerNo .devcontainer/devcontainer.json configuration found
devcontainer_runnableSkipped - no devcontainer exists to validate
env_templateEnvironment variables documented in docs/environment_variables.md (no .env.example needed)
local_services_setupSkipped - library without external service dependencies like databases
Debugging & Observability1/8 (13%)
alerting_configuredNo alerting infrastructure - PagerDuty, OpsGenie, or custom alerting rules not found
circuit_breakersSkipped - library IS the HTTP client, circuit breakers at application layer
code_quality_metricsCoverage metrics tracked via coverage.py with 100% threshold enforced in CI
deployment_observabilityNo deployment monitoring dashboards or notification integrations documented
distributed_tracingNo OpenTelemetry or trace ID propagation implementation found
error_tracking_contextualizedNo error tracking services configured - Sentry, Bugsnag, Rollbar not found
health_checksSkipped - library not a deployed service, health checks not applicable
metrics_collectionNo metrics instrumentation found - no Datadog, Prometheus, CloudWatch integrations
profiling_instrumentationSkipped - no APM or continuous profiling tools configured
runbooks_documentedNo runbooks or incident response documentation found or referenced
structured_loggingUses Python standard logging, not structured logging library like structlog/loguru
Security4/7 (57%)
automated_security_reviewSkipped - code scanning API returned 403 unauthorized, cannot verify SAST configuration
branch_protectionRequires GitHub admin API access to verify branch protection rules (skipped).
codeownersNo CODEOWNERS file in root or .github/ directory
dast_scanningSkipped - library not a web service, DAST scanning not applicable
dependency_update_automationDependabot configured in .github/dependabot.yml for Python and GitHub Actions
gitignore_comprehensiveComprehensive .gitignore excludes __pycache__, .env*, build/, dist/, IDE configs, .DS_Store
log_scrubbingPassword masking implemented in _config.py __repr__ to prevent credential leakage
pii_handlingSkipped - library does not process personal/user data
privacy_complianceSkipped - library without end-user data collection, privacy compliance not applicable
secret_scanningRequires GitHub admin API access to verify secret scanning configuration (skipped).
secrets_managementEnvironment variables documented, .env* properly gitignored, GitHub Actions secrets used
Task Discovery2/4 (50%)
backlog_healthOnly 38% of issues have both descriptive titles and labels, below 70% threshold
issue_labeling_systemPoor labeling - only 38% of open issues have labels, inconsistent label usage
issue_templates.github/ISSUE_TEMPLATE/ directory exists with structured issue templates
pr_templates.github/PULL_REQUEST_TEMPLATE.md exists with checklist and contribution guidelines
Product & Analytics0/2 (0%)
error_to_insight_pipelineNo error-to-issue automation or Sentry-GitHub integration configured
product_analytics_instrumentationNo product analytics - Mixpanel, Amplitude, PostHog, Heap, GA4 not configured

start building

Ready to build the software of the future?

Start building

Arrow Right Icon