NameLast commit messageLast commit date
..
evalsfeat: PRR catalog prompt context, Pill chunking, eval harness & CI7 months ago
scenariosfeat: PRR catalog prompt context, Pill chunking, eval harness & CI7 months ago
split-execfeat(prr): rotation skip, path dismissal, verification cache, conflict and pill docs7 months ago
split-rewrite-planfeat(prr): rotation skip, path dismissal, verification cache, conflict and pill docs7 months ago
test-utilsfeat: PRR catalog prompt context, Pill chunking, eval harness & CI7 months ago
bot-author-normalize.test.tsfeat(github): normalize bot author labels for ic-* dedup + debug7 months ago
bot-prediction-heuristics.test.tsRestructure to shared/tools/types; Prompts Log Run improvements + build fix8 months ago
branch-ref-fetch.test.tsfix(git): one-shot HTTPS push URL; pill scope; PRR workflow & tests7 months ago
chronic-failure-threshold.test.tsfeat(prr): providers, rotation, merge/thread UX, and docs6 months ago
coderabbit-meta-comment.test.tsfix(prr): path accounting, dedup clusters, final-audit uncertain, docs7 months ago
consolidate-duplicate-path.test.tsfix(prr): path accounting, dedup clusters, final-audit uncertain, docs7 months ago
contributor-sheet.test.tsfeat(prr): providers, rotation, merge/thread UX, and docs6 months ago
debug-issue-table.test.tsfeat(prr): providers, rotation, merge/thread UX, and docs6 months ago
dedup-group-overlap.test.tsfeat(prr): pill sweep — dedup overlap, thread 422, scan cache, session skip persist7 months ago
dependency-graph.test.tsfix(prr): apply PR #6 review follow-ups for state, blast radius, and LLM paths2 months ago
dismiss-duplicate-cluster.test.tsfix(prr): apply PR #6 review follow-ups for state, blast radius, and LLM paths2 months ago
dismissed-issues-dedupe.test.tsfix(prr): submodules, state load parity, audits, and operator UX7 months ago
duplicate-cluster-ids.test.tsfix(prr): path accounting, dedup clusters, final-audit uncertain, docs7 months ago
elizacloud-final-audit-fallback.test.tsfeat(prr): providers, rotation, merge/thread UX, and docs6 months ago
elizacloud-gateway-fallback.test.tsfix(prr): apply PR #6 review follow-ups for state, blast radius, and LLM paths2 months ago
elizacloud-retry-policy.test.tsfeat(prr): providers, rotation, merge/thread UX, and docs6 months ago
elizacloud-server-error-retries.test.tsfix(prr): apply PR #6 review follow-ups for state, blast radius, and LLM paths2 months ago
final-audit-snippet.test.tsfeat(babylon): dependency graph, prompt budget, conflict and state fixes7 months ago
final-audit-uncertain.test.tsfix(prr): path accounting, dedup clusters, final-audit uncertain, docs7 months ago
fix-verification.test.tsTighten conservative verification for lifecycle issues8 months ago
fixed-issue-title.test.tsfix(prr): path accounting, dedup clusters, final-audit uncertain, docs7 months ago
get-llm-api-request-timeout.test.tsfix(prr): apply PR #6 review follow-ups for state, blast radius, and LLM paths2 months ago
git-commit-message.test.tsfix(git): one-shot HTTPS push URL; pill scope; PRR workflow & tests7 months ago
git-commit-scan-cache.test.tsfix(prr): submodules, state load parity, audits, and operator UX7 months ago
git-conflict-lock-defer.test.tsfix(conflicts): defer JS lock regen until package.json clean; submodule via index7 months ago
git-conflict-resolution-prompts.test.tsfix(prr): apply PR #6 review follow-ups for state, blast radius, and LLM paths2 months ago
git-diff-base-ref.test.tsfeat(prr): providers, rotation, merge/thread UX, and docs6 months ago
git-fetch-timeout-ms.test.tsfix(git): one-shot HTTPS push URL; pill scope; PRR workflow & tests7 months ago
git-latent-merge-probe.test.tsfix(prr): apply PR #6 review follow-ups for state, blast radius, and LLM paths2 months ago
git-path-at-head.test.tsfix(prr): path accounting, dedup clusters, final-audit uncertain, docs7 months ago
git-push-auth-url.test.tsfix(git): use x-access-token:token format for HTTPS push URL7 months ago
git-submodule-path.test.tsfix(prr): submodules, state load parity, audits, and operator UX7 months ago
github-api-errors.test.tsdocs: GitHub API failure logging (CHANGELOG, DEVELOPMENT); test logGitHubApiFailure with 4047 months ago
github-api-get-pr-info-mergeable-poll.test.tsfeat(prr): providers, rotation, merge/thread UX, and docs6 months ago
github-api-parser.test.tsfeat(prr): bot review ingestion dedup, cross-file LLM dedup, dedup-v2 cache7 months ago
github-pr-mergeable.test.tsfeat(prr): providers, rotation, merge/thread UX, and docs6 months ago
has-conflict-markers.test.tsfix(elizacloud): fail fast on oversize LLM complete; GitHub errors helper7 months ago
IMPLEMENTATION_AUDIT.mdfeat: PRR catalog prompt context, Pill chunking, eval harness & CI7 months ago
issue-analysis.test.tsfeat(prr): pill sweep — dedup overlap, thread 422, scan cache, session skip persist7 months ago
issue-comment-dedup.test.tsfeat(github): normalize bot author labels for ic-* dedup + debug7 months ago
lesson-forbid-path.test.tsfix(prr): path accounting, dedup clusters, final-audit uncertain, docs7 months ago
lessons-normalize.test.tsRestructure to shared/tools/types; Prompts Log Run improvements + build fix8 months ago
lessons.test.tsAudit consolidation, scoped prompt/response slug, docs tidy, pill & state fixes7 months ago
llm-api-runner-provider.test.tsfeat(prr): providers, rotation, merge/thread UX, and docs6 months ago
llm-issue-existence.test.tsfeat(prr): rotation skip, path dismissal, verification cache, conflict and pill docs7 months ago
mark-verified-cluster.test.tsfix(prr): dedup cluster queue accounting and recovery parity7 months ago
mark-verified-shortcircuit.test.tsfeat(prr): rotation skip, path dismissal, verification cache, conflict and pill docs7 months ago
migration-journal-path.test.tsfix(prr): path accounting, dedup clusters, final-audit uncertain, docs7 months ago
model-catalog.test.tsfeat(prr): rotation skip, path dismissal, verification cache, conflict and pill docs7 months ago
model-context-limits.test.tsfix(prr): apply PR #6 review follow-ups for state, blast radius, and LLM paths2 months ago
model-name-validation.test.tsfeat(prr): providers, rotation, merge/thread UX, and docs6 months ago
nested-conflict-chunks.test.tsfeat(prr): rotation skip, path dismissal, verification cache, conflict and pill docs7 months ago
nested-conflict-markers.test.tsfeat(prr): rotation skip, path dismissal, verification cache, conflict and pill docs7 months ago
no-changes-already-fixed-cluster.test.tsfix(prr): dedup cluster queue accounting and recovery parity7 months ago
non-actionable-comments.test.tsHedged visibility + weak-identifier stale retargeting; docs and WHYs8 months ago
normalize-lesson-text.test.tsAudit consolidation, scoped prompt/response slug, docs tidy, pill & state fixes7 months ago
normalizeLessonText.direct.test.tsAudit consolidation, scoped prompt/response slug, docs tidy, pill & state fixes7 months ago
normalizeLessonText.test.tsRestructure to shared/tools/types; Prompts Log Run improvements + build fix8 months ago
nvidia-openrouter-providers.test.tsfeat(prr): providers, rotation, merge/thread UX, and docs6 months ago
ollama-lmstudio-providers.test.tsfeat(prr): providers, rotation, merge/thread UX, and docs6 months ago
openai-chat-content.test.tsfeat(elizacloud): skip Qwen 14B, normalize OpenAI content, doc skip table7 months ago
outdated-model-advice.test.tsfix(prr): dedup cluster queue accounting and recovery parity7 months ago
parse-plan-plain-bullets.test.tsfeat(prr): providers, rotation, merge/thread UX, and docs6 months ago
parse-result-code.test.tsRestructure to shared/tools/types; Prompts Log Run improvements + build fix8 months ago
path-utils.test.tsfix(prr): apply PR #6 review follow-ups for state, blast radius, and LLM paths2 months ago
pill-parse-json.test.tsPRR: final-audit cleanup, logging, llm-api injection, thread replies, UX7 months ago
pill-provider-defaults.test.tsfeat(prr): providers, rotation, merge/thread UX, and docs6 months ago
pill-tool-repo-scope.test.tsfix(git): one-shot HTTPS push URL; pill scope; PRR workflow & tests7 months ago
pluralize.test.tsfix(prr): path accounting, dedup clusters, final-audit uncertain, docs7 months ago
prompt-budget.test.tsfix(prr): apply PR #6 review follow-ups for state, blast radius, and LLM paths2 months ago
prompt-log-empty-stats.test.tsfix(prr): apply PR #6 review follow-ups for state, blast radius, and LLM paths2 months ago
prr-runtime-meta.test.tsfeat(babylon): dependency graph, prompt budget, conflict and state fixes7 months ago
README.mdfeat: PRR catalog prompt context, Pill chunking, eval harness & CI7 months ago
redact-url.test.tsfix(prr): apply PR #6 review follow-ups for state, blast radius, and LLM paths2 months ago
reporter-aar.test.tsRestructure to shared/tools/types; Prompts Log Run improvements + build fix8 months ago
reporter-no-queue-exit.test.tsfeat(prr): providers, rotation, merge/thread UX, and docs6 months ago
reporter-sanitize.test.tsfeat(prr): providers, rotation, merge/thread UX, and docs6 months ago
resolve-tracked-path-pr-files.test.tsfix(prr): path accounting, dedup clusters, final-audit uncertain, docs7 months ago
review-body-normalize.test.tsfeat(prr): bot review ingestion dedup, cross-file LLM dedup, dedup-v2 cache7 months ago
rotation-lmstudio-fallback.test.tsfeat(prr): providers, rotation, merge/thread UX, and docs6 months ago
rotation-openrouter-nvidia-env-keys.test.tsfeat(prr): providers, rotation, merge/thread UX, and docs6 months ago
run-with-concurrency.test.tsfix(git): one-shot HTTPS push URL; pill scope; PRR workflow & tests7 months ago
session-model-skip.test.tsfix(prr): apply PR #6 review follow-ups for state, blast radius, and LLM paths2 months ago
severity-stale-inline-sort.test.tsfeat(prr): Cycle 80 audit follow-ups — stale bot queue, path hints, log UX7 months ago
solvability-missing-path-body-hint.test.tsfeat(prr): Cycle 80 audit follow-ups — stale bot queue, path hints, log UX7 months ago
solvability-pr-comment.test.tsfix: AAR bucket explanation + broader meta-rollup solvability7 months ago
solvability-submodule.test.tsfix(prr): submodules, state load parity, audits, and operator UX7 months ago
split-rewrite-plan-first-parent-paths.test.tsfeat(prr): providers, rotation, merge/thread UX, and docs6 months ago
state-load-normalization.test.tsfix(prr): apply PR #6 review follow-ups for state, blast radius, and LLM paths2 months ago
state-load-repair-persist.test.tsfeat(prr): providers, rotation, merge/thread UX, and docs6 months ago
state-transitions.test.tsfix(prr): apply PR #6 review follow-ups for state, blast radius, and LLM paths2 months ago
test-path-inference.test.tsfix(prr): apply PR #6 review follow-ups for state, blast radius, and LLM paths2 months ago
thread-replies.test.tsfeat(prr): providers, rotation, merge/thread UX, and docs6 months ago
thread-working-reactions.test.tsfeat(prr): providers, rotation, merge/thread UX, and docs6 months ago
verification-heuristics-final-audit.test.tsfix(prr): apply PR #6 review follow-ups for state, blast radius, and LLM paths2 months ago
README.md

Test Framework

This directory contains the comprehensive test framework for PRR and related tools.

Structure

Unit Tests (tests/)

Existing unit tests for pure functions, parsers, formatters.

Integration Tests (tests/)

Subsystem tests with mocks (git ops, LLM client).

Evals (tests/evals/)

Evaluation framework for stochastic tools - measures actual performance with real LLMs.

  • benchmark/ - Golden datasets for each tool
  • runner/ - Eval execution engine
  • prr/, pill/, split-plan/, story/ - Tool-specific eval tests

See tests/evals/README.md for details.

Scenario Tests (tests/scenarios/)

Mock-based scenario tests for workflow correctness.

  • helpers/ - Assertions and workflow execution helpers
  • fixtures/ - Test repository fixtures
  • *.scenario.ts - Scenario test files

Test Utilities (tests/test-utils/)

Shared utilities for all tests.

  • github-mock.ts - Mock GitHub API
  • git-helpers.ts - Git repository setup
  • llm-mock.ts - Mock LLM client
  • scenario-builder.ts - Scenario construction

Deterministic Tool Tests

  • tests/split-rewrite-plan/ - Tests for split-rewrite-plan (git operations)
  • tests/split-exec/ - Tests for split-exec (git operations, PR creation)

Running Tests

# All tests
npm test

# Unit tests only
npm test -- tests/ --run

# Scenario tests
npm test -- tests/scenarios/ --run

# Evals (requires API keys)
npm run eval -- run -t prr -b simple-fix

Testing Strategy

  1. Unit tests (fast, deterministic): Pure functions, parsers, formatters
  2. Scenario tests (medium speed, mocked): Workflow integration with mocks
  3. Evals (slower, stochastic): Real tool runs on benchmark datasets with actual LLMs