A systematic methodology for conducting rigorous AI research through structured argumentation
The IDA Framework (Investigative Discourse Analysis) provides a systematic methodology for conducting rigorous, reproducible, and transparent AI research. It transforms informal research conversations into structured arguments with explicit evidence chains, verification pathways, and testable claims.
- Rigor First: Every claim requires explicit evidence and justification
- Reproducibility: Research should be verifiable by others
- Transparency: Assumptions and limitations must be stated upfront
- Iterative Refinement: Arguments improve through peer review and testing
Modern AI research faces critical challenges:
- 🔴 Irreproducibility Crisis: Many AI papers cannot be reproduced
- 🔴 Vague Claims: Sweeping statements without rigorous backing
- 🔴 Hidden Assumptions: Implicit assumptions that undermine validity
- 🔴 Weak Argumentation: Logical leaps and insufficient evidence
- 🔴 Publication Bias: Positive results overrepresented
IDA Framework provides:
CLAIM: [What you're asserting]
EVIDENCE: [Supporting data/experiments]
WARRANT: [Why evidence supports claim]
COUNTERARGUMENTS: [Alternative explanations]
LIMITATIONS: [Scope and constraints]
- Evidence chain validation
- Assumption auditing
- Reproducibility checklist
- Peer review templates
- Argumentation completeness score
- Evidence strength rating
- Reproducibility index
- Transparency grade
pip install ida-frameworkfrom ida import Argument, EvidenceChain, Validator
# Create a structured argument
arg = Argument(
claim="Fine-tuning LLMs on domain data improves task accuracy by 15%",
evidence=[
Evidence(
type="experimental",
description="Controlled A/B test on 10k samples",
source="experiments/finetune_results.csv"
)
],
warrant="Consistent improvement across 5 different domains and 3 model sizes",
counterarguments=[
"Improvement may be due to overfitting",
"Sample size may be insufficient for generalization"
],
limitations=[
"Limited to English language",
"Tested only on classification tasks"
]
)
# Validate argument structure
validator = Validator()
results = validator.validate(arg)
print(f"Argument Quality Score: {results.quality_score}/100")
print(f"Evidence Strength: {results.evidence_strength}")
print(f"Missing Elements: {results.missing_elements}")
# Generate reproducibility checklist
checklist = arg.generate_reproducibility_checklist()
print(checklist)ida-framework/
├── src/
│ └── ida/
│ ├── __init__.py
│ ├── argument.py # Argument structure and validation
│ ├── evidence.py # Evidence types and chains
│ ├── validator.py # Argumentation quality checks
│ ├── reproducibility.py # Reproducibility protocols
│ ├── templates.py # Research templates
│ └── metrics.py # Quality metrics
├── examples/
│ ├── basic_argument.py
│ ├── evidence_chain.py
│ └── full_research_workflow.py
├── tests/
│ ├── test_argument.py
│ ├── test_validator.py
│ └── test_reproducibility.py
└── docs/
├── methodology.md
├── best_practices.md
└── templates.md
from ida import Claim, Hypothesis
hypothesis = Hypothesis(
statement="Retrieval-Augmented Generation (RAG) reduces hallucination in LLMs",
assumptions=[
"Hallucination defined as factually incorrect statements",
"Using verified knowledge base as retrieval source"
],
testable_predictions=[
"Fact-checking score improves by >20%",
"Citation accuracy increases"
]
)from ida import ExperimentDesign
design = ExperimentDesign(
hypothesis=hypothesis,
methodology="Controlled experiment with baseline vs RAG-enhanced model",
sample_size=5000,
control_variables=["model size", "temperature", "prompt format"],
metrics=["factual accuracy", "citation precision", "response quality"]
)from ida import Evidence, EvidenceChain
chain = EvidenceChain()
chain.add_evidence(
Evidence(
type="experimental",
description="RAG model achieves 87% fact accuracy vs 65% baseline",
source="experiments/rag_evaluation.csv",
confidence=0.95,
sample_size=5000
)
)
chain.add_evidence(
Evidence(
type="statistical",
description="p-value < 0.001 for difference in means",
source="analysis/statistical_tests.ipynb"
)
)from ida import Counterargument, Rebuttal
counter = Counterargument(
statement="Improvement may be due to knowledge base quality, not RAG itself",
strength="strong"
)
rebuttal = Rebuttal(
counterargument=counter,
response="Controlled for KB quality by using same KB with different retrieval strategies",
evidence=Evidence(
type="experimental",
description="Ablation study isolating retrieval mechanism",
source="experiments/ablation_study.csv"
)
)from ida import ResearchArtifact
artifact = ResearchArtifact(
hypothesis=hypothesis,
design=design,
evidence_chain=chain,
counterarguments=[counter],
rebuttals=[rebuttal]
)
# Export to various formats
artifact.export_markdown("research_paper.md")
artifact.export_latex("research_paper.tex")
artifact.generate_reproducibility_package("reproducibility/")ida-framework/
├── src/ida/
│ ├── core/
│ │ ├── argument.py
│ │ ├── claim.py
│ │ ├── evidence.py
│ │ └── hypothesis.py
│ ├── validation/
│ │ ├── validator.py
│ │ ├── checkers.py
│ │ └── metrics.py
│ ├── reproducibility/
│ │ ├── protocols.py
│ │ ├── checklists.py
│ │ └── artifacts.py
│ └── templates/
│ ├── research_templates.py
│ ├── paper_templates.py
│ └── review_templates.py
├── examples/
│ ├── notebooks/
│ │ ├── getting_started.ipynb
│ │ ├── full_research_workflow.ipynb
│ │ └── peer_review_example.ipynb
│ └── scripts/
│ ├── basic_argument.py
│ ├── evidence_chain.py
│ └── validation_demo.py
├── tests/
│ ├── unit/
│ ├── integration/
│ └── validation/
├── docs/
│ ├── methodology.md
│ ├── best_practices.md
│ ├── templates.md
│ └── api_reference.md
└── benchmarks/
├── argumentation_quality/
└── reproducibility_metrics/
- Automatic argument structure detection
- Logical fallacy identification
- Evidence strength assessment
- Assumption extraction
- Completeness checking
- Internal consistency verification
- Evidence-claim alignment
- Reproducibility audit
- Argumentation completeness score (0-100)
- Evidence strength rating (weak/moderate/strong)
- Reproducibility index (bronze/silver/gold)
- Transparency grade (A-F)
- Research paper templates
- Experiment design templates
- Peer review templates
- Replication study templates
- Version-controlled arguments
- Collaborative review workflows
- Evidence sharing and validation
- Dispute resolution protocols
Every IDA argument must pass:
- Claim Clarity: Is the claim specific and testable?
- Evidence Sufficiency: Is there adequate supporting evidence?
- Warrant Strength: Does evidence logically support the claim?
- Assumption Transparency: Are all assumptions explicit?
- Counterargument Coverage: Are alternatives considered?
- Limitation Disclosure: Are constraints clearly stated?
- Reproducibility: Can others replicate the work?
- Citation Completeness: Are all sources properly cited?
# Structure a research paper argument
from ida import AcademicPaper
paper = AcademicPaper(
title="Impact of Data Augmentation on Model Robustness",
research_question="Does synthetic data improve adversarial robustness?"
)
paper.add_hypothesis(...)
paper.add_experiment_design(...)
paper.add_results(...)
paper.generate_paper("output/paper.pdf")# Review a research argument
from ida import PeerReview
review = PeerReview(research_artifact)
review.check_reproducibility()
review.verify_evidence_chains()
review.assess_argumentation_quality()
review.generate_review_report("review.md")# Structure a grant proposal
from ida import GrantProposal
proposal = GrantProposal(
hypothesis="Federated learning can enable privacy-preserving medical AI",
significance="Addresses critical barrier to medical AI adoption"
)
proposal.add_preliminary_data(...)
proposal.add_methodology(...)
proposal.generate_proposal("grant_proposal.pdf")We welcome contributions that enhance rigor and reproducibility in AI research!
Priority areas:
- Additional argument templates
- Validation algorithms
- Integration with research tools (LaTeX, Jupyter, etc.)
- Case studies and examples
See CONTRIBUTING.md for guidelines.
If you use IDA Framework in your research, please cite:
@software{ida_framework,
title={IDA Framework: Systematic Methodology for Rigorous AI Research},
author={Mohamad Al-zawahreh},
year={2025},
url={https://github.com/merchantmoh-debug/ida-framework},
doi={10.5281/zenodo.17876660}
}MIT License - see LICENSE file for details.
-
Full paper: https://doi.org/10.5281/zenodo.17876660
-
Documentation: docs/
-
Examples: examples/
-
Issue Tracker: GitHub Issues
Built on principles from:
- Toulmin's argumentation model
- Scientific reproducibility standards
- Evidence-based research methodology
- Open science practices
Research with rigor. Argue with evidence. Advance with confidence.