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
Code Modularization
No module boundary enforcement tools found; Bazel provides build modularity but not architectural enforcement
02
Cyclomatic Complexity
No evidence of complexity analysis tools like gocyclo in linting configuration or CI workflows
03
Dead Code Detection
No dead code detection tools (knip, vulture, deadcode) found in CI workflows or build configuration

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