import type { RepoProfile, HarnessPlan } from './analyze-repo.js'; /** * Composite classifier — joins the languages + structural signals into a * single underscore-delimited tag. Deterministic; the same profile always * produces the same tag (we sort the inputs). */ export declare function classifyRepoType(p: RepoProfile): string; /** * Maps the analyze-repo plan + profile into the four canonical maintenance * roles the user named in the roadmap. Always returns a stable, deduplicated * subset of ["maintainer","tester","security","release"]. */ export declare function resolveAgentTopology(profile: RepoProfile, plan: HarnessPlan): string[]; export type McpSurface = 'local_default_deny' | 'local_permissive' | 'remote' | 'off'; export interface McpRisk { surface: McpSurface; numeric: number; } export declare function scoreMcpRisk(profile: RepoProfile, plan: HarnessPlan): McpRisk; /** * Test confidence is a soft heuristic — we can't actually run the tests * (the analyze-repo invariant forbids code execution), so we score based on * REAL filesystem evidence a test directory exists (profile.hasVerifiedTestFiles, * populated in analyze-repo.ts from a tests/__tests__/test dir scan), not just * that a language/manifest was detected. * * Before Dream Cycle 2026-08-25, this credited `testCommands.length > 0` * directly — but testCommands is inferred purely from language/manifest * presence (e.g. a `pyproject.toml` unconditionally pushes 'pytest'), so a * repo with a test-capable manifest and zero actual test files still scored * 0.5-0.8. External research (arXiv:2606.18168, arXiv:2607.18057; SWE-bench's * real-execution harness; the kodustech/agent-readiness OSS scorer) confirms * this "manifest implies tests" shortcut is a known, actively-flagged failure * mode. This package's own sibling `score.ts::scoreTestCoverage` already * weights real directory evidence as its largest single component (50/100, * vs. 25 each for a declared npm-test script and CI, which still apply * independently) — narrower parity than "requires" it outright, but this * candidate moves genome-scorers.ts's weaker, purely-inferred version toward * that same real-evidence-first shape rather than claiming full agreement. * * Without verified test files, CI alone earns only a small "infra exists but * unconfirmed" credit rather than the prior full test-command credit. */ export declare function scoreTestConfidence(profile: RepoProfile): number; /** * Publish readiness — how close is this repo to being npm-publishable as a * package today? Conservative score; releases need everything. */ export declare function scorePublishReadiness(profile: RepoProfile, plan: HarnessPlan): number; //# sourceMappingURL=genome-scorers.d.ts.map