API
The top-level package exports a curated public API suitable for notebook/script use:
StudyFactorFactorKindLevelConstraintConditionBlockRunBudgetSeedPolicyProblemPacketRecipeStudyConfigPromptFramingConfigOptimizationBenchmarkConfigAgentArchitectureComparisonConfigGrammarScaffoldConfigHumanVsAgentProcessConfigDiversityAndExplorationConfigHypothesisOutcomeSpecAnalysisPlanRunSpecRunResultBenchmarkBundleideation_bundleoptimization_bundlegrammar_problem_bundlehuman_vs_agent_bundlebuild_prompt_framing_studybuild_optimization_benchmark_studybuild_agent_architecture_comparison_studybuild_grammar_scaffold_studybuild_human_vs_agent_process_studybuild_diversity_and_exploration_studybuild_designgenerate_doematerialize_conditionsrun_studyresume_studyexport_analysis_tablesrender_markdown_summaryrender_methods_scaffoldrender_codebookrender_significance_briefwrite_markdown_reportvalidate_study
Public API exports for design-research-experiments.
- class design_research_experiments.AgentArchitectureComparisonConfig(study_id=None, title=None, description=None, authors=None, rationale=None, tags=None, hypotheses=None, factors=None, blocks=None, constraints=None, design_spec=None, outcomes=None, analysis_plans=None, run_budget=None, seed_policy=None, output_dir=None, provenance_metadata=None, notes=None, problem_ids=None, agent_specs=None, primary_outcomes=None, secondary_outcomes=None, bundle=None)[source]
Bases:
RecipeStudyConfigOverrides for the agent architecture comparison recipe.
- class design_research_experiments.AnalysisPlan(analysis_plan_id, hypothesis_ids, tests, outcomes=(), covariates=(), random_effects=(), filters=<factory>, multiple_comparison_policy='none', plots=(), export_tables=(), notes='')[source]
Bases:
objectMapping from hypotheses to downstream analyses.
- analysis_plan_id
- covariates
- export_tables
- filters
- hypothesis_ids
- multiple_comparison_policy
- notes
- outcomes
- plots
- random_effects
- tests
- class design_research_experiments.BenchmarkBundle(bundle_id, name, description, problem_ids, agent_specs, metadata=<factory>)[source]
Bases:
objectNamed bundle of agent/problem defaults for a study recipe.
- agent_specs
- bundle_id
- description
- metadata
- name
- problem_ids
- class design_research_experiments.Block(name, levels, metadata=<factory>)[source]
Bases:
objectBlocking structure for design-of-experiments materialization.
- levels
- metadata
- name
- class design_research_experiments.Condition(condition_id, factor_assignments, block_assignments, metadata=<factory>, admissible=True, constraint_messages=<factory>)[source]
Bases:
objectOne realized treatment combination.
- Parameters:
condition_id – Stable condition ID.
factor_assignments – Materialized factor assignments.
block_assignments – Materialized block assignments.
metadata – Optional metadata payload.
admissible – Constraint admissibility flag.
constraint_messages – Constraint warning/error messages.
- admissible
- block_assignments
- condition_id
- constraint_messages
- factor_assignments
- metadata
- class design_research_experiments.Constraint(constraint_id, description, expression=None, callable_ref=None, severity=ConstraintSeverity.ERROR)[source]
Bases:
objectAdmissibility rule over factor and block assignments.
- Parameters:
constraint_id – Stable identifier for this constraint.
description – Human-readable description.
expression – Optional safe expression string.
callable_ref – Optional module:callable reference.
severity – Whether violation should fail or warn.
- callable_ref
- constraint_id
- description
- expression
- severity
- class design_research_experiments.DiversityAndExplorationConfig(study_id=None, title=None, description=None, authors=None, rationale=None, tags=None, hypotheses=None, factors=None, blocks=None, constraints=None, design_spec=None, outcomes=None, analysis_plans=None, run_budget=None, seed_policy=None, output_dir=None, provenance_metadata=None, notes=None, problem_ids=None, agent_specs=None, primary_outcomes=None, secondary_outcomes=None, bundle=None)[source]
Bases:
RecipeStudyConfigOverrides for the diversity and exploration recipe.
- class design_research_experiments.Factor(name, description, kind=FactorKind.MANIPULATED, levels=(), dtype=None, default=None, metadata=<factory>)[source]
Bases:
objectDefinition of one experimental factor.
- Parameters:
name – Stable factor identifier.
description – Human-readable description.
kind – Factor type.
levels – Allowed level set.
dtype – Optional value type hint.
default – Optional default level value.
metadata – Optional metadata payload.
- default
- description
- dtype
- kind
- levels
- metadata
- name
- class design_research_experiments.FactorKind(*values)[source]
Bases:
StrEnumClassification for an experimental factor.
- BLOCKED = 'blocked'
- MANIPULATED = 'manipulated'
- MEASURED = 'measured'
- NUISANCE = 'nuisance'
- class design_research_experiments.GrammarScaffoldConfig(study_id=None, title=None, description=None, authors=None, rationale=None, tags=None, hypotheses=None, factors=None, blocks=None, constraints=None, design_spec=None, outcomes=None, analysis_plans=None, run_budget=None, seed_policy=None, output_dir=None, provenance_metadata=None, notes=None, problem_ids=None, agent_specs=None, primary_outcomes=None, secondary_outcomes=None, bundle=None)[source]
Bases:
RecipeStudyConfigOverrides for the grammar scaffold recipe.
- class design_research_experiments.HumanVsAgentProcessConfig(study_id=None, title=None, description=None, authors=None, rationale=None, tags=None, hypotheses=None, factors=None, blocks=None, constraints=None, design_spec=None, outcomes=None, analysis_plans=None, run_budget=None, seed_policy=None, output_dir=None, provenance_metadata=None, notes=None, problem_ids=None, agent_specs=None, primary_outcomes=None, secondary_outcomes=None, bundle=None)[source]
Bases:
RecipeStudyConfigOverrides for the human-vs-agent process recipe.
- class design_research_experiments.Hypothesis(hypothesis_id, label, statement, kind=HypothesisKind.EFFECT, independent_vars=(), dependent_vars=(), moderators=(), mediators=(), contrast=None, direction=HypothesisDirection.DIFFERENT, minimum_effect_of_interest=None, linked_analysis_plan_id=None, notes='')[source]
Bases:
objectMachine-readable research claim.
- contrast
- dependent_vars
- direction
- hypothesis_id
- independent_vars
- kind
- label
- linked_analysis_plan_id
- mediators
- minimum_effect_of_interest
- moderators
- notes
- statement
- class design_research_experiments.Level(name, value, label=None, metadata=<factory>)[source]
Bases:
objectOne admissible level/value for a factor.
- Parameters:
name – Stable level identifier.
value – Encoded level value.
label – Optional display label.
metadata – Optional metadata payload.
- label
- metadata
- name
- value
- class design_research_experiments.OptimizationBenchmarkConfig(study_id=None, title=None, description=None, authors=None, rationale=None, tags=None, hypotheses=None, factors=None, blocks=None, constraints=None, design_spec=None, outcomes=None, analysis_plans=None, run_budget=None, seed_policy=None, output_dir=None, provenance_metadata=None, notes=None, problem_ids=None, agent_specs=None, primary_outcomes=None, secondary_outcomes=None, bundle=None)[source]
Bases:
RecipeStudyConfigOverrides for the optimization benchmark recipe.
- class design_research_experiments.OutcomeSpec(name, source_table, column, aggregation, derivation=None, primary=False, expected_type='float', missing_data_policy='drop', description='')[source]
Bases:
objectOutcome definition mapped to source tables and derivations.
- aggregation
- column
- derivation
- description
- expected_type
- missing_data_policy
- name
- primary
- source_table
- class design_research_experiments.ProblemPacket(problem_id, family, brief, payload=<factory>, metadata=<factory>, evaluator=None)[source]
Bases:
objectNormalized executable problem payload.
- brief
- evaluator
- family
- metadata
- payload
- problem_id
- class design_research_experiments.PromptFramingConfig(study_id=None, title=None, description=None, authors=None, rationale=None, tags=None, hypotheses=None, factors=None, blocks=None, constraints=None, design_spec=None, outcomes=None, analysis_plans=None, run_budget=None, seed_policy=None, output_dir=None, provenance_metadata=None, notes=None, problem_ids=None, agent_specs=None, primary_outcomes=None, secondary_outcomes=None, bundle=None)[source]
Bases:
RecipeStudyConfigOverrides for the prompt framing recipe.
- class design_research_experiments.RecipeStudyConfig(study_id=None, title=None, description=None, authors=None, rationale=None, tags=None, hypotheses=None, factors=None, blocks=None, constraints=None, design_spec=None, outcomes=None, analysis_plans=None, run_budget=None, seed_policy=None, output_dir=None, provenance_metadata=None, notes=None, problem_ids=None, agent_specs=None, primary_outcomes=None, secondary_outcomes=None, bundle=None)[source]
Bases:
objectShared typed overrides for recipe study construction.
Any field set to
Nonekeeps the recipe default. Any field set to a non-Nonevalue replaces that section of the study definition wholesale.- agent_specs
- analysis_plans
- authors
- blocks
- bundle
- constraints
- description
- design_spec
- factors
- hypotheses
- notes
- outcomes
- output_dir
- primary_outcomes
- problem_ids
- provenance_metadata
- rationale
- run_budget
- secondary_outcomes
- seed_policy
- study_id
- tags
- title
- class design_research_experiments.RunBudget(replicates=1, max_runs=None, parallelism=1, fail_fast=False)[source]
Bases:
objectExecution budget controls for one study.
- Parameters:
replicates – Number of run replicates for each unit.
max_runs – Optional upper bound on total runs.
parallelism – Local worker count.
fail_fast – Stop after first failure when True.
- fail_fast
- max_runs
- parallelism
- replicates
- class design_research_experiments.RunResult(run_id, status, outputs=<factory>, metrics=<factory>, evaluator_outputs=<factory>, cost=0.0, latency=0.0, trace_refs=<factory>, artifact_refs=<factory>, error_info=None, provenance_info=<factory>, observations=<factory>, run_spec=None, started_at=None, ended_at=None)[source]
Bases:
objectNormalized result bundle for one run.
- artifact_refs
- cost
- ended_at
- error_info
- evaluator_outputs
- latency
- metrics
- observations
- outputs
- provenance_info
- run_id
- run_spec
- started_at
- status
- trace_refs
- class design_research_experiments.RunSpec(run_id, study_id, condition_id, problem_id, replicate, seed, agent_spec_ref, problem_spec_ref, execution_metadata=<factory>)[source]
Bases:
objectOne executable run specification.
- agent_spec_ref
- condition_id
- execution_metadata
- problem_id
- problem_spec_ref
- replicate
- run_id
- seed
- study_id
- class design_research_experiments.SeedPolicy(base_seed=0, strategy='condition_replicate', per_run_offset=9973)[source]
Bases:
objectDeterministic seed policy for run generation.
- Parameters:
base_seed – Study-wide base seed.
strategy – Seed derivation strategy name.
per_run_offset – Numeric offset mixed into each run seed.
- base_seed
- derive_seed(study_id, condition_id, replicate, salt='')[source]
Derive one deterministic per-run seed.
- per_run_offset
- strategy
- class design_research_experiments.Study(study_id, title, description, authors=(), rationale='', tags=(), hypotheses=(), factors=(), blocks=(), constraints=(), design_spec=<factory>, outcomes=(), analysis_plans=(), run_budget=<factory>, seed_policy=<factory>, output_dir=None, provenance_metadata=<factory>, notes='', problem_ids=(), agent_specs=(), primary_outcomes=(), secondary_outcomes=())[source]
Bases:
objectTop-level experiment definition.
- agent_specs
- analysis_plans
- authors
- blocks
- constraints
- description
- design_spec
- factors
- hypotheses
- notes
- outcomes
- output_dir
- primary_outcomes
- problem_ids
- provenance_metadata
- rationale
- run_budget
- secondary_outcomes
- seed_policy
- study_id
- tags
- title
- design_research_experiments.build_agent_architecture_comparison_study(config=None)[source]
Build a study comparing agent architecture choices across prompt difficulty.
- design_research_experiments.build_design(study, design_spec=None)[source]
Build study conditions for the configured design.
- design_research_experiments.build_diversity_and_exploration_study(config=None)[source]
Build a study evaluating diversity and exploration outcomes.
- design_research_experiments.build_grammar_scaffold_study(config=None)[source]
Build a study comparing unconstrained and grammar-guided generation.
- design_research_experiments.build_human_vs_agent_process_study(config=None)[source]
Build a study comparing human-only, AI-assisted, and hybrid teams.
- design_research_experiments.build_optimization_benchmark_study(config=None)[source]
Build a benchmark study for optimization generalization and learning effects.
- design_research_experiments.build_prompt_framing_study(config=None)[source]
Build an ideation study with framing and prompt manipulation.
- design_research_experiments.export_analysis_tables(study, *, conditions, run_results, output_dir=None, include_sqlite=False, validate_with_analysis_package=False)[source]
Export canonical analysis tables aligned with downstream workflows.
- design_research_experiments.generate_doe(*, kind, factors, n_samples=None, seed=0, center_points=0, replicates=1, randomize=True, block_randomization_key=None)[source]
Generate and summarize a DOE table for migration from drcutils-style workflows.
- design_research_experiments.grammar_problem_bundle()[source]
Return a default grammar-scaffold benchmark bundle.
- design_research_experiments.human_vs_agent_bundle()[source]
Return a default human-vs-agent teaming benchmark bundle.
- design_research_experiments.ideation_bundle()[source]
Return a default ideation-focused benchmark bundle.
- design_research_experiments.materialize_conditions(factors, blocks=None, constraints=None, *, seed=None, randomize=False, counterbalance=False)[source]
Materialize admissible conditions from factors, blocks, and constraints.
- design_research_experiments.optimization_bundle()[source]
Return a default optimization-focused benchmark bundle.
- design_research_experiments.render_codebook(study, conditions)[source]
Render a simple codebook of factors, blocks, and condition IDs.
- design_research_experiments.render_markdown_summary(study, run_results)[source]
Render a compact markdown summary for one completed study.
- design_research_experiments.render_methods_scaffold(study)[source]
Render a methods-section scaffold for manuscript drafting.
- design_research_experiments.render_significance_brief(analysis_rows)[source]
Render a short significance/effect-size brief from analysis outputs.
- design_research_experiments.resume_study(study, *, conditions=None, agent_factories=None, problem_registry=None, parallelism=None, checkpoint=True, include_sqlite=False)[source]
Resume a study from checkpointed run results.
- design_research_experiments.run_study(study, *, conditions=None, agent_factories=None, problem_registry=None, parallelism=None, dry_run=False, resume=False, checkpoint=True, include_sqlite=False)[source]
Run a study end-to-end and export canonical artifacts.