CtrlK
BlogDocsLog inGet started
Tessl Logo

tessleng/agent-insight-experiment

Scan a repository to surface actionable findings about agent performance. Analyzes source code, git history, GitHub data, agent logs, and agent context, then synthesizes cross-referenced findings with targeted actions informed by Tessl product awareness. Supports incremental multi-developer contributions and produces a self-contained HTML report.

70

Quality

88%

Does it follow best practices?

Impact

No eval scenarios have been run

SecuritybySnyk

Advisory

Suggest reviewing before use

Overview
Quality
Evals
Security
Files

apex-taxonomy.mdreferences/

APEX Taxonomy — Agent Performance EXperiment

A classification system for insights about how repository characteristics affect coding agent performance. Use this taxonomy to categorize findings — it is a shared language for reports, not a checklist.

Each insight should be assigned exactly one category code (e.g., KCG) and one subcategory code (e.g., KCG-1). If an insight genuinely doesn't fit any existing subcategory, create a new one under the most appropriate parent category and note it as novel.

The taxonomy has five categories: Knowledge Gap (KCG), Conflicting Signals (CAS), Structural Complexity (SCX), Recurrent Failure (RAF), and Tooling Gap (TCG).


Category 1: Knowledge Gap (KCG)

The agent lacks information it needs to perform well. These are the most directly fixable issues — the information exists somewhere, it just hasn't been made available to the agent.

CodeSubcategoryDescription
KCG-1Undocumented internal APIsInternal libraries, packages, or modules with public APIs but no documentation, JSDoc, docstrings, or usage examples. Includes libraries absent from training data where the agent has no prior knowledge to fall back on.
KCG-2Undocumented patternsArchitectural patterns, conventions, or coding standards followed in practice but never written down.
KCG-3Tribal knowledgeKnow-how that lives in people's heads — deployment tricks, debugging procedures, historical context for design decisions, known gotchas — that isn't captured anywhere.
KCG-4Missing type informationAbsent or incomplete type definitions, interface contracts, or schema definitions that would help the agent understand data shapes and function signatures.
KCG-5Stale documentationDocumentation that was once accurate but no longer reflects the current state of the code, actively misleading the agent.
KCG-6Missing onboarding contextMissing or incomplete setup instructions, build procedures, test commands, or deployment guides that a new contributor (human or agent) would need.
KCG-7Undocumented dangersDangerous patterns or operations (destructive commands, irreversible side effects, risky APIs, data-loss footguns) that are not flagged anywhere — the "unguarded risk" problem.

Category 2: Conflicting Signals (CAS)

The agent receives contradictory or unclear guidance from the codebase, making it uncertain which approach is correct.

CodeSubcategoryDescription
CAS-1Contradictory context filesAgent configuration files (.cursor/rules, AGENTS.md, CLAUDE.md, .claude/settings, etc.) giving conflicting instructions about the same topic.
CAS-2Inconsistent code patternsThe same logical operation implemented differently across the codebase — multiple error handling strategies, auth patterns, data access approaches.
CAS-3Conflicting naming conventionsInconsistent naming in the same codebase — camelCase vs snake_case in the same language, different terms for the same concept.
CAS-4Stale inline commentsComments or inline documentation that contradict the actual code behavior, pointing the agent in the wrong direction.
CAS-5Ambiguous module boundariesUnclear ownership or responsibility boundaries between modules, making it hard to know where changes belong.
CAS-6Conflicting configurationsStyle, lint, or build configurations that disagree with each other or with documented standards.

Category 3: Structural Complexity (SCX)

Repository characteristics — code structure, context organisation, and navigability — that make it inherently harder for agents to navigate, reason about, and make correct changes.

CodeSubcategoryDescription
SCX-1Deep circular dependenciesCircular imports or tightly coupled dependency chains that make it hard to understand the impact of changes.
SCX-2Non-obvious build processBuild, test, or deployment processes that require non-obvious steps not apparent from the project structure.
SCX-3Unclear navigationConfusing code or context organisation, non-obvious cross-project or cross-module relationships, unclear monorepo layout.
SCX-4High couplingComponents tightly coupled together that can't be understood or modified in isolation, requiring the agent to hold too much context.
SCX-5Implicit configurationImportant behavior controlled by environment variables, feature flags, magic strings, or runtime configuration not visible in the code.
SCX-6Complex metaprogrammingCode generation, macros, decorators, or metaprogramming that obscures actual runtime behavior.
SCX-7Reinvented wheelsCustom implementations of functionality available as well-supported third-party packages. The agent has no docs or community knowledge to draw on for these.
SCX-8Undocumented complexityAreas that are genuinely complex (non-trivial algorithms, subtle invariants, performance-critical paths) with no documentation surfacing that complexity — the "hidden complexity" problem. Optional: use when the complexity itself is unavoidable but the lack of signposting is the issue.
SCX-9Redundant conventionsContext content that restates knowledge the agent already has: standard language conventions, linter-enforced rules, or generic best-practice platitudes. Takes up context budget without changing agent output.

Category 4: Recurrent Failure (RAF)

Patterns where agents demonstrably and repeatedly struggle, visible from behavioral data (agent logs, PR history, CI results).

CodeSubcategoryDescription
RAF-1Repeated area mistakesThe agent consistently makes errors in specific files, modules, or functional areas.
RAF-2CI failures post agentTests or CI checks that frequently fail after agent-made changes, suggesting the agent doesn't understand the test contract.
RAF-3Persistent pattern errorsSpecific patterns the agent consistently gets wrong — using old APIs, forgetting required steps, misusing internal utilities.
RAF-4Excessive iterationTasks requiring many back-and-forth cycles or corrections before reaching a correct solution.
RAF-5Frequently reverted changesAgent-authored code that is frequently reverted or substantially rewritten during review.
RAF-6User frustration signalsCorrections, expressions of frustration, or abandoned conversations visible in agent logs.

Category 5: Tooling Gap (TCG)

Issues with the agent's environment, configuration, and tool setup that limit its effectiveness.

CodeSubcategoryDescription
TCG-1Missing context filesAgent configuration files that are absent, incomplete, or too vague to be useful.
TCG-2Missing tool integrationsMCP servers, extensions, or tools that would help the agent but aren't configured.
TCG-3Missing skills and rulesOpportunities for skills or rules that would prevent recurring mistakes or handle common tasks more reliably.
TCG-4Build environment complexityComplex environment setup that makes it hard for agents to run builds, tests, or tools.
TCG-5Cross tool inconsistencyDifferent agent tools (Cursor, Claude Code, etc.) receiving different or conflicting context, leading to inconsistent team experiences.
TCG-6Unowned contentContext files with no clear maintainer — nobody responsible for keeping them accurate — making drift and staleness likely over time.

Usage Notes

  • Not every data source can populate every category. Source code analysis will find KCG, CAS, SCX, TCG but not RAF. Agent logs are strong for RAF but weaker for SCX. This asymmetry is the point of the experiment.
  • Prefer specificity over breadth. An insight that says "the auth library is undocumented" with file paths and examples is far more valuable than "there are documentation gaps in the codebase."
  • One insight per distinct issue. Don't bundle multiple unrelated problems into a single insight, even if they share a category.
  • Novel subcategories are welcome. If you find something that doesn't fit, create a new subcategory code (e.g., KCG-8) and explain it. Note it as "novel": true in the report.

references

apex-taxonomy.md

findings-schema.md

insight-report-schema.md

report-template.html

tessl-product-context.md

README.md

tile.json