Concepts
What Is A Problem?
A problem is a typed research task definition with a stable identifier, metadata, and optional evaluation behavior. Problems can be descriptive (prompt packets) or executable (candidate generation and scoring).
Problem Families
Family |
Use when |
|---|---|
Text |
Prompt-driven ideation or human-subjects tasks |
Decision |
Options, criteria, and explicit evaluation rules are central |
Optimization |
Objective/constraint benchmarking is required |
Grammar |
Sequential constructive action and state transitions are central |
MCP |
The task must interact with external tool backends |
Text problems support lightweight and human-readable study tasks. Decision problems are useful when alternatives and criteria are explicit. Optimization problems support algorithmic benchmarking. Grammar problems support process-level analysis of constructive behavior. MCP-backed problems bridge packaged task contracts to external runtime systems.
Computable Problems
ComputableProblem extends the base Problem contract with executable
operations such as evaluate and solve. These methods provide comparable
interfaces across families while preserving domain-specific logic.
Evaluators and Solution Objects
Evaluators normalize performance outputs into explicit metrics. Solution objects capture candidate structure so generated outputs and scores can be audited or replayed.
Metadata and Citations
Problem metadata is treated as first-class data, including taxonomy and citation records. This supports transparent reporting and reproducibility.
Feature Flags and Capability Discovery
Some families require optional dependencies. Feature flags and package extras make capability availability explicit at runtime.