Factory.ai
All Reports

zap

Go

Strong Build System

zap reaches Level 3 with 80% Build System pass rate. Currently becoming autonomous-capable with 27/59 criteria passing (46%). Key areas for improvement include the opportunities listed below.

Strengths

01
Build System (80%)
Includes Build Cmd Doc, Deps Pinned, Fast Ci Feedback.
02
Code Modularization
Go's internal/ package provides compiler-enforced boundaries; repo uses internal/ directories
03
Dead Code Detection
staticcheck enabled in .golangci.yml includes unused code detection

Opportunities

01
Cyclomatic Complexity
Add complexity analysis to identify and refactor overly complex functions.
02
Feature Flag Infrastructure
Add feature flags to enable safer deployments and gradual rollouts.
03
Integration Tests Exist
Add integration tests to verify component interactions and catch issues unit tests miss.

All Criteria

Style & Validation6/12 (50%)
✓code_modularizationGo's internal/ package provides compiler-enforced boundaries; repo uses internal/ directories
✗cyclomatic_complexityNo complexity analysis tools configured (gocyclo, go-critic complexity rules, etc.)
✓dead_code_detectionstaticcheck enabled in .golangci.yml includes unused code detection
✗duplicate_code_detectionNo jscpd, PMD CPD, or duplication detection tools found
✓formattergofumpt configured in .golangci.yml linters
✗large_file_detectionNo Git hooks, CI jobs, .gitattributes with LFS, or linter rules to detect/prevent large files
✓lint_config.golangci.yml exists with golangci-lint configured (errcheck, gosimple, govet, etc.)
—n_plus_one_detectionLogging library without database/ORM usage; skippable
✗naming_consistencyNo explicit naming convention rules in golangci-lint or documented conventions
✗pre_commit_hooksNo .pre-commit-config.yaml or Husky found
✓strict_typingGo is strictly typed by default; compiler enforces type safety
✗tech_debt_trackingTODO/FIXME comments exist but no tooling tracks them (no CI scanner, no linter enforcement)
✓type_checkGo has type checking built-in; project compiles without errors
Build System8/10 (80%)
✗agentic_developmentNo evidence of agent co-authorship in git log, no CI workflows invoking agents, no agent config
—automated_pr_reviewSnyk and Codecov run as status checks but don't generate code review comments; skippable criterion
✓build_cmd_docMakefile and CONTRIBUTING.md document 'make test' and 'make lint' commands
—build_performance_trackingNo build caching or metrics tracking found; skippable criterion
—dead_feature_flag_detectionNo feature flag infrastructure exists; prerequisite failed; skippable
—deployment_frequencyThis is a library, not a deployed service; releases exist but criterion is about deployments; skippable
✓deps_pinnedgo.sum exists and is committed, pinning all dependencies
✓fast_ci_feedbackCI completes in ~1-4 minutes (analyzed multiple PRs via gh API), well under 10 minute threshold
✗feature_flag_infrastructureNo LaunchDarkly, Statsig, Unleash, GrowthBook, or custom feature flag system found
—heavy_dependency_detectionLibrary/backend, not a bundled application; skippable
—monorepo_toolingSingle-application repository; skippable for non-monorepos
—progressive_rolloutLibrary repository, not an infrastructure repo with deployments; skippable
✓release_automationGitHub releases are created automatically (10+ releases found via gh CLI)
✓release_notes_automationCHANGELOG.md is maintained and GitHub releases are created regularly
—rollback_automationLibrary repository, not an infrastructure repo; skippable
✓single_command_setupCONTRIBUTING.md documents 'make test' and 'make lint' as setup commands
✓unused_dependencies_detection'go mod tidy' runs in CI (Makefile tidy-lint target) ensuring only used deps in go.mod
✓vcs_cli_toolsgh CLI is installed and authenticated (verified with 'gh auth status')
—version_drift_detectionSingle-application repository; skippable for non-monorepos
Testing5/7 (71%)
—flaky_test_detectionNo retry configuration or flaky test tracking tools found; skippable
✗integration_tests_existNo cypress/, playwright.config.ts, or integration/ test directories found
✓test_coverage_thresholds.codecov.yml has 95% target coverage and Codecov status checks run on PRs
✓test_isolationMany tests use t.Parallel() for parallel execution (found in logger_test.go, array_test.go)
✓test_naming_conventionsGo enforces *_test.go convention (built-in); tests follow this pattern
✗test_performance_trackingNo test duration tracking or test analytics platforms configured
✓unit_tests_existExtensive *_test.go files throughout codebase (143 Go files, many are tests)
✓unit_tests_runnableTests runnable (verified with 'go test -race ./... -run=^$' completed successfully)
Documentation3/6 (50%)
✗agents_mdNo AGENTS.md file exists in repository root
—agents_md_validationAGENTS.md doesn't exist; prerequisite failed; skippable
—api_schema_docsThis is a library, not an API service; skippable
✓automated_doc_generationMakefile has 'updatereadme' target that generates README from .readme.tmpl template
✓documentation_freshnessCONTRIBUTING.md was modified within last 180 days (verified via git log)
✓readmeREADME.md exists with comprehensive setup, usage instructions, and examples
✗service_flow_documentedNo architecture diagrams (.mermaid, .puml) or service dependency docs found
✗skillsNo skills directories found (.factory/skills/, .skills/, .claude/skills/)
Dev Environment0/2 (0%)
—database_schemaLogging library without databases; skippable
✗devcontainerNo .devcontainer/devcontainer.json found
—devcontainer_runnableNo devcontainer exists; skippable
✗env_templateNo .env.example file found; as a library, environment variables may not be needed
—local_services_setupNo docker-compose.yml; library without external service dependencies; skippable
Debugging & Observability2/9 (22%)
✗alerting_configuredNo PagerDuty, OpsGenie, or alerting rules; library context
—circuit_breakersLibrary without external service dependencies; skippable
✓code_quality_metricsCodecov integration tracks coverage metrics with 95% target; runs on all PRs
✗deployment_observabilityNo monitoring dashboard links or deployment notifications found
✗distributed_tracingNo trace ID or request ID propagation implementation found
✗error_tracking_contextualizedNo Sentry, Bugsnag, or Rollbar found; library context
—health_checksLibrary, not a deployed service; skippable
✗metrics_collectionNo metrics/telemetry instrumentation (Prometheus, Datadog, etc.) found
✗profiling_instrumentationNo APM tools or continuous profiling configured
✗runbooks_documentedNo runbooks or links to incident response documentation found in README/docs
✓structured_loggingThis IS a structured logging library (zap itself)
Security2/7 (29%)
—automated_security_reviewSnyk runs in PRs but unclear if it generates review reports vs just status checks; skippable
—branch_protectionRequires GitHub admin API access to verify branch protection rules (skipped).
✗codeownersNo CODEOWNERS file found in root or .github/
—dast_scanningLibrary, not a deployed web service; skippable
✓dependency_update_automationDependabot configured in .github/dependabot.yml for GitHub Actions and tools submodule
✓gitignore_comprehensive.gitignore properly excludes build artifacts (*.exe, *.test, *.prof), /bin, and OS files
✗log_scrubbingNo documented log sanitization configuration or guidelines for library users
—pii_handlingLogging library infrastructure, not an app processing user data; skippable
—privacy_complianceLogging library without end-user data collection; skippable
—secret_scanningRequires GitHub admin API access to verify secret scanning configuration (skipped).
✗secrets_managementNo cloud secrets manager integration, SOPS, or encrypted secrets; library context
Task Discovery1/4 (25%)
✗backlog_healthMost open issues lack labels (checked 30 via gh CLI); poor labeling despite descriptive titles
✗issue_labeling_systemChecked 30 open issues via gh CLI; most have no labels, no consistent system
✓issue_templates.github/ISSUE_TEMPLATE/ exists with bug_report.md and feature_request.md
✗pr_templatesNo .github/pull_request_template.md found
Product & Analytics0/2 (0%)
✗error_to_insight_pipelineNo Sentry-GitHub integration or error-to-issue automation found
✗product_analytics_instrumentationNo Mixpanel, Amplitude, PostHog, Heap, or GA4; library context

Ready to build the software of the future?

Start building

Arrow Right Icon