Skip to content

merchantmoh-debug/ida-framework

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 

Repository files navigation

IDA Framework

License Python

A systematic methodology for conducting rigorous AI research through structured argumentation


Overview

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.

Core Philosophy

  • 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

The Problem

Modern AI research faces critical challenges:

  1. 🔴 Irreproducibility Crisis: Many AI papers cannot be reproduced
  2. 🔴 Vague Claims: Sweeping statements without rigorous backing
  3. 🔴 Hidden Assumptions: Implicit assumptions that undermine validity
  4. 🔴 Weak Argumentation: Logical leaps and insufficient evidence
  5. 🔴 Publication Bias: Positive results overrepresented

The Solution

IDA Framework provides:

1. Structured Argument Templates

CLAIM: [What you're asserting]
EVIDENCE: [Supporting data/experiments]
WARRANT: [Why evidence supports claim]
COUNTERARGUMENTS: [Alternative explanations]
LIMITATIONS: [Scope and constraints]

2. Verification Protocols

  • Evidence chain validation
  • Assumption auditing
  • Reproducibility checklist
  • Peer review templates

3. Quality Metrics

  • Argumentation completeness score
  • Evidence strength rating
  • Reproducibility index
  • Transparency grade

Quick Start

Installation

pip install ida-framework

Basic Usage

from 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)

Architecture

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

Example: Research Workflow

Step 1: Formulate Initial Claim

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"
    ]
)

Step 2: Design Evidence Collection

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"]
)

Step 3: Build Evidence Chain

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"
    )
)

Step 4: Address Counterarguments

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"
    )
)

Step 5: Generate Research Artifact

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/")

Repository Structure

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/

Features

🔍 Argument Analysis

  • Automatic argument structure detection
  • Logical fallacy identification
  • Evidence strength assessment
  • Assumption extraction

✅ Validation Tools

  • Completeness checking
  • Internal consistency verification
  • Evidence-claim alignment
  • Reproducibility audit

📊 Quality Metrics

  • Argumentation completeness score (0-100)
  • Evidence strength rating (weak/moderate/strong)
  • Reproducibility index (bronze/silver/gold)
  • Transparency grade (A-F)

📝 Template Library

  • Research paper templates
  • Experiment design templates
  • Peer review templates
  • Replication study templates

🤝 Collaboration Features

  • Version-controlled arguments
  • Collaborative review workflows
  • Evidence sharing and validation
  • Dispute resolution protocols

Validation Checklist

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?

Use Cases

1. Academic Research

# 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")

2. Peer Review

# 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")

3. Grant Proposals

# 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")

Contributing

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.


Citation

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}
}

License

MIT License - see LICENSE file for details.


Links


Acknowledgments

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.

About

A systematic methodology for conducting rigorous AI research through structured argumentation

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published