Factory.ai
All Reports

CockroachDB

Go

Strong Testing

CockroachDB reaches Level 4 with 100% Testing pass rate. Currently reaching production grade with 52/70 criteria passing (74%). Key areas for improvement include the opportunities listed below.

Strengths

01
Build System (92%)
Includes Agentic Development, Automated Pr Review, Build Cmd Doc.
02
Testing (100%)
Includes Flaky Test Detection, Integration Tests Exist, Test Coverage Thresholds.
03
Documentation (86%)
Includes Agents Md, Automated Doc Generation, Documentation Freshness.

Opportunities

01
Cyclomatic Complexity
Add complexity analysis to identify and refactor overly complex functions.
02
Devcontainer
Add a .devcontainer configuration to enable consistent, reproducible development environments for all contributors.
03
Env Template
Create a .env.example file documenting required environment variables to simplify onboarding.

All Criteria

Style & Validation6/12 (50%)
code_modularizationNo module boundary enforcement tools found; Bazel provides build modularity but not architectural enforcement
cyclomatic_complexityNo evidence of complexity analysis tools like gocyclo in linting configuration or CI workflows
dead_code_detectionNo dead code detection tools (knip, vulture, deadcode) found in CI workflows or build configuration
duplicate_code_detectionNo duplicate code detection tools (jscpd, PMD CPD) found in CI workflows or build process
formattercrlfmt custom formatter for Go code, Prettier configured for UI workspaces (prettier.config.js)
large_file_detection.gitattributes exists for LFS, git hooks in githooks/ directory, Bazel build system prevents oversized artifacts
lint_configGo custom linter via ./dev lint command and ESLint configured for UI workspaces (.eslintrc.json files)
n_plus_one_detectionSkipped - CockroachDB IS the database layer, N+1 detection applies to applications using databases
naming_consistencyCLAUDE.md documents naming conventions, Go stdlib naming enforced, ESLint rules for UI code
pre_commit_hooksNo .pre-commit-config.yaml or Husky configuration found in repository
strict_typingGo enforces strict typing by default, TypeScript UI has strict: true in tsconfig.json
tech_debt_trackingNo TODO/FIXME scanner in CI workflows, no linter rules enforcing TODO(TICKET-123) format
type_checkGo is statically typed by default, TypeScript configured for UI with tsconfig.json and strict mode
Build System12/13 (92%)
agentic_developmentFound Co-authored-by in recent commits, .claude/skills/ directory with commit-helper skill for AI agents
automated_pr_reviewblathers-crl bot generates automated policy reviews, test reminders, backport compliance checks on PRs
build_cmd_docCLAUDE.md documents ./dev build cockroach, ./dev build short, and all build commands clearly
build_performance_trackingBazel distributed build caching configured, CI tracks build timing via GitHub Actions metrics
dead_feature_flag_detectionSkipped - Custom cluster settings system lacks stale flag detection tooling, not a full platform like LaunchDarkly
deployment_frequencyRegular releases via gh release list, update_releases.yaml workflow automates release management daily
deps_pinnedgo.sum lockfile committed with exact dependency versions, UI has pnpm-lock.yaml
fast_ci_feedbackEssential CI workflow shows checks completing in 6-8 minutes from statusCheckRollup timing analysis
feature_flag_infrastructureCustom feature flag system via cluster settings in pkg/featureflag/ with telemetry and metrics
heavy_dependency_detectionSkipped - Not a bundled JavaScript application; Go binaries and database server don't have bundle size concerns
monorepo_toolingSkipped - Single application repository; Bazel manages internal build but not a multi-app monorepo
progressive_rolloutSkipped - Database infrastructure product, progressive rollout applies to deployed services
release_automationupdate_releases.yaml workflow automates release file updates, cluster-ui-release.yml automates UI releases
release_notes_automationcommit-helper skill enforces release note format in commits, update_releases.yaml automates release tracking
rollback_automationSkipped - Database infrastructure product, rollback automation applies to deployed services
single_command_setupCLAUDE.md documents ./dev doctor for environment verification and setup in single command
unused_dependencies_detectionNo unused dependency detection (depcheck, go mod tidy in CI) found in workflows
vcs_cli_toolsgh CLI v2.52.0 installed and authenticated (verified with gh auth status)
version_drift_detectionSkipped - Single application repository, version drift detection applies to monorepos with multiple packages
Testing8/8 (100%)
flaky_test_detection--stress flag for repeated test execution, test-failure-stale.yml workflow tracks flaky test issues
integration_tests_existpkg/acceptance/ contains acceptance tests, roachtest integration test suite, and testlogic SQL tests documented in CLAUDE.md
test_coverage_thresholdscode-cover-gen.yml and code-cover-publish.yaml workflows generate and publish coverage reports for PRs
test_isolationGo tests support -race flag for concurrency testing, parallel test execution via go test, Jest for UI
test_naming_conventionsGo standard *_test.go pattern enforced by language, Jest testMatch for UI workspaces
test_performance_trackingCI outputs test timing (--durations flags), microbenchmarks-ci.yaml workflow tracks benchmark performance
unit_tests_exist2924 *_test.go files found throughout pkg/ directory following Go standard test conventions
unit_tests_runnable./dev test pkg/[package] command documented in CLAUDE.md with flags for race detection, stress testing
Documentation6/7 (86%)
agents_mdCLAUDE.md exists at repo root (886 lines) documenting commands, architecture, workflows for AI agents
agents_md_validationNo CI job validating CLAUDE.md commands still work or automated CLAUDE.md generation/updates
api_schema_docsSkipped - CockroachDB is a SQL database with PostgreSQL wire protocol, not a REST/GraphQL API
automated_doc_generation./dev generate command creates docs, protobuf definitions, parsers; docs/generated/ contains auto-generated content
documentation_freshnessREADME.md, CLAUDE.md, and CONTRIBUTING.md all modified within last 180 days (git log verification)
readmeREADME.md exists with comprehensive setup instructions, architecture links, deployment guides
service_flow_documented19 PlantUML .puml architecture diagrams in docs/tech-notes/ and docs/RFCS/ documenting system flows
skills2 skills configured in .claude/skills/: commit-helper and backport-pr-assistant with YAML frontmatter
Dev Environment2/4 (50%)
database_schemaCockroachDB IS the database with built-in schema management, migrations in pkg/upgrade/upgrades/
devcontainerNo .devcontainer/devcontainer.json configuration found in repository
devcontainer_runnableSkipped - No devcontainer configuration exists (prerequisite devcontainer criterion not met)
env_templateNo .env.example file found; customenv.mk mentioned in .gitignore but no template provided
local_services_setupdocker-compose.yml files in pkg/acceptance/compose/ and scripts/localmetrics/ for local dependencies
Debugging & Observability9/11 (82%)
alerting_configuredPrometheus alertmanager configs in cloud/kubernetes/prometheus/alertmanager-config.yaml and monitoring/rules/
circuit_breakersgo-retryablehttp provides retries but no circuit breaker pattern library (opossum, resilience4j) found
code_quality_metricsCode coverage workflows in code-cover-gen.yml, test performance tracking in microbenchmarks-ci.yaml
deployment_observabilityMonitoring configs reference Prometheus dashboards, Grafana integration, deployment tracking via metrics
distributed_tracingOpenTelemetry integrated (go.opentelemetry.io/otel), Tracer in pkg/util/log for trace ID propagation
error_tracking_contextualizedSentry integration (github.com/getsentry/sentry-go v0.27.0) with contextual error tracking
health_checkscheckReadinessForHealthCheck endpoints in pkg/server/api_v2.go, node liveness checks for cluster health
metrics_collectionPrometheus client_golang, Datadog API client, custom metrics in pkg/server/status/ for telemetry
profiling_instrumentationComprehensive profiling in pkg/server/profiler/ (CPU, heap, goroutine, memory monitoring, active query profiling)
runbooks_documentedNo runbooks/ directory or links to runbook documentation in README/CLAUDE.md/docs/
structured_loggingCustom structured logging package at pkg/util/log/ with redaction support for safe logging
Security6/9 (67%)
automated_security_reviewRequires GitHub admin API access to verify automated security review (skipped).
branch_protectionGitHub rulesets active: tag protections, branch creation prohibition (gh api repos/.../rulesets confirmed)
codeowners.github/CODEOWNERS file exists with team assignments for code ownership
dast_scanningSkipped - CockroachDB is a database server, not a web application; DAST applies to HTTP endpoints
dependency_update_automationNo .github/dependabot.yml or renovate.json configuration found for automated dependency updates
gitignore_comprehensive.gitignore excludes customenv.mk (.env equivalent), .DS_Store, .idea/, .vscode/, build artifacts
log_scrubbingRedaction system sanitizes logs, SafeValue/SafeFormatter interfaces, redactcheck linter enforces safety
pii_handlingBuilt-in redactability system in pkg/util/log/redact.go marks safe vs unsafe data, prevents PII leakage in logs
privacy_complianceSkipped - Database infrastructure product without direct end-user data collection; privacy applies to applications using it
secret_scanningRequires GitHub admin API access to verify secret scanning configuration (skipped).
secrets_managementAWS/Azure/GCP SDK integrations in go.mod for cloud secrets, customenv.mk gitignored for local secrets
Task Discovery3/4 (75%)
backlog_healthIssues have descriptive titles >10 chars and comprehensive labels (C-, T-, O- prefixes for categorization)
issue_labeling_systemComprehensive labels: C-bug, C-test-failure, T-sql-queries, branch-master, release-blocker, O-robot
issue_templates.github/ISSUE_TEMPLATE/ contains bug_report.md, feature_request.md, performance-inquiry.md templates
pr_templatesNo .github/pull_request_template.md or PULL_REQUEST_TEMPLATE.md found in repository
Product & Analytics0/2 (0%)
error_to_insight_pipelineSentry integrated but no evidence of Sentry-GitHub issue creation automation or error-to-issue pipeline
product_analytics_instrumentationNo product analytics (Mixpanel, Amplitude) found; telemetry exists but not user behavior analytics

start building

Ready to build the software of the future?

Start building

Arrow Right Icon