UNPKG

aiwg

Version:

Cognitive architecture for AI-augmented software development with structured memory, ensemble validation, and closed-loop correction. FAIR-aligned artifacts, 84% cost reduction via human-in-the-loop, standards adopted by 100+ organizations.

725 lines (674 loc) 24.6 kB
# GRADE Evidence Quality Framework Schema # Based on REF-060 GRADE (Grading of Recommendations Assessment, Development and Evaluation) # Issues: #226 (Baseline), #227 (Downgrades), #228 (Upgrades), #229 (Rationale), #230 (Citation Guidance) $schema: "https://json-schema.org/draft/2020-12/schema" $id: "https://aiwg.io/schemas/grade-evidence-quality/v1" title: "GRADE Evidence Quality Framework Schema" description: | Comprehensive evidence quality assessment framework implementing GRADE methodology for source type classification, downgrade/upgrade factors, quality rationale documentation, and quality-based citation guidance per REF-060. type: object required: - version - baseline_classification - downgrade_factors - upgrade_factors - quality_rationale - citation_guidance properties: version: type: string pattern: "^\\d+\\.\\d+\\.\\d+$" default: "1.0.0" baseline_classification: $ref: "#/$defs/BaselineClassification" downgrade_factors: $ref: "#/$defs/DowngradeFactors" upgrade_factors: $ref: "#/$defs/UpgradeFactors" quality_rationale: $ref: "#/$defs/QualityRationale" citation_guidance: $ref: "#/$defs/CitationGuidance" $defs: BaselineClassification: type: object description: "Source type baseline classification per GRADE" properties: source_types: type: object properties: peer_reviewed_journal: type: object properties: baseline: { type: string, default: "high" } description: { type: string, default: "Published in peer-reviewed venue" } conference_proceedings: type: object properties: baseline: { type: string, default: "moderate" } description: { type: string, default: "Peer-reviewed conference paper" } preprint: type: object properties: baseline: { type: string, default: "moderate" } description: { type: string, default: "arXiv, bioRxiv, etc. without peer review" } industry_blog: type: object properties: baseline: { type: string, default: "low" } description: { type: string, default: "Company blog or industry publication" } thesis: type: object properties: baseline: { type: string, default: "moderate" } description: { type: string, default: "PhD or Masters thesis" } book: type: object properties: baseline: { type: string, default: "moderate" } description: { type: string, default: "Academic textbook or monograph" } technical_report: type: object properties: baseline: { type: string, default: "low" } description: { type: string, default: "White paper or technical report" } evidence_levels: type: object properties: empirical_study: type: object properties: modifier: { type: integer, default: 0 } description: { type: string, default: "Controlled experiments with data" } systematic_review: type: object properties: modifier: { type: integer, default: 1 } description: { type: string, default: "Systematic review of multiple studies" } meta_analysis: type: object properties: modifier: { type: integer, default: 1 } description: { type: string, default: "Statistical synthesis of studies" } case_study: type: object properties: modifier: { type: integer, default: -1 } description: { type: string, default: "Single case or observational" } opinion_piece: type: object properties: modifier: { type: integer, default: -2 } description: { type: string, default: "Expert opinion without data" } tutorial: type: object properties: modifier: { type: integer, default: -1 } description: { type: string, default: "Educational content" } classification_matrix: type: array items: type: object properties: source_type: { type: string } evidence_level: { type: string } baseline_quality: { type: string } default: - { source_type: "peer_reviewed_journal", evidence_level: "empirical_study", baseline_quality: "high" } - { source_type: "peer_reviewed_journal", evidence_level: "systematic_review", baseline_quality: "high" } - { source_type: "peer_reviewed_journal", evidence_level: "meta_analysis", baseline_quality: "high" } - { source_type: "conference_proceedings", evidence_level: "empirical_study", baseline_quality: "moderate" } - { source_type: "preprint", evidence_level: "empirical_study", baseline_quality: "moderate" } - { source_type: "industry_blog", evidence_level: "case_study", baseline_quality: "low" } - { source_type: "opinion_piece", evidence_level: "opinion_piece", baseline_quality: "very_low" } DowngradeFactors: type: object description: "GRADE downgrade factors that reduce quality" properties: factors: type: object properties: risk_of_bias: type: object properties: description: type: string default: "Study design limitations, conflicts of interest" serious_examples: type: array items: { type: string } default: - "Undisclosed industry funding" - "Proprietary methods not reproducible" - "Selection bias in sample" very_serious_examples: type: array items: { type: string } default: - "Fabricated data suspected" - "Peer review manipulation" - "Retracted paper" inconsistency: type: object properties: description: type: string default: "Conflicting results across studies" serious_examples: type: array items: { type: string } default: - "Some studies show opposite effect" - "Heterogeneous effect sizes (I²>50%)" very_serious_examples: type: array items: { type: string } default: - "Majority of studies conflict" - "Cannot explain heterogeneity" indirectness: type: object properties: description: type: string default: "Evidence from different population/intervention" serious_examples: type: array items: { type: string } default: - "Different model version (GPT-3 vs GPT-4)" - "Different task domain" - "Different user population" very_serious_examples: type: array items: { type: string } default: - "Completely different technology" - "Non-analogous use case" imprecision: type: object properties: description: type: string default: "Wide confidence intervals, small samples" serious_examples: type: array items: { type: string } default: - "Sample size 10-30" - "Wide confidence intervals crossing null" - "High variance in results" very_serious_examples: type: array items: { type: string } default: - "Sample size <10" - "Single participant" - "No variance reported" publication_bias: type: object properties: description: type: string default: "Missing negative results" serious_examples: type: array items: { type: string } default: - "Only positive results published" - "Funnel plot asymmetry" very_serious_examples: type: array items: { type: string } default: - "Known suppressed negative studies" - "Selective reporting confirmed" severity_impacts: type: object properties: serious: type: object properties: levels_reduced: { type: integer, default: 1 } symbol: { type: string, default: "⊖" } very_serious: type: object properties: levels_reduced: { type: integer, default: 2 } symbol: { type: string, default: "⊖⊖" } UpgradeFactors: type: object description: "GRADE upgrade factors for observational studies" properties: eligibility: type: string default: "Only applies to observational studies starting at LOW baseline" factors: type: object properties: large_effect: type: object properties: description: type: string default: "Large magnitude of effect" serious_threshold: type: string default: "RR > 2 or < 0.5 (2x-5x effect)" very_serious_threshold: type: string default: "RR > 5 or < 0.2 (>5x effect)" aiwg_examples: type: array items: { type: string } default: - "90% vs 10% baseline (9x effect)" - "Cohen's d > 2.0" - "Effect size clearly above noise" dose_response: type: object properties: description: type: string default: "Clear relationship between exposure and outcome" serious_threshold: type: string default: "Monotonic trend across levels" very_serious_threshold: type: string default: "Strong linear relationship (R² > 0.8)" aiwg_examples: type: array items: { type: string } default: - "Quality improves with each prompt iteration" - "More context = better output" plausible_confounding: type: object properties: description: type: string default: "Confounders would reduce observed effect" serious_threshold: type: string default: "Plausible confounders identified" very_serious_threshold: type: string default: "Demonstrated reduction after controlling" aiwg_examples: type: array items: { type: string } default: - "Selection bias would reduce, not inflate, effect" - "Conservative measurement approach" severity_impacts: type: object properties: serious: type: object properties: levels_increased: { type: integer, default: 1 } symbol: { type: string, default: "⊕" } very_serious: type: object properties: levels_increased: { type: integer, default: 2 } symbol: { type: string, default: "⊕⊕" } QualityRationale: type: object description: "Systematic quality rationale documentation" properties: required_elements: type: array items: { type: string } default: - rationale - evidence - reviewer - date assessment_schema: type: object properties: baseline: type: object properties: level: { type: string, enum: ["high", "moderate", "low", "very_low"] } rationale: { type: string } assessed_by: { type: string } assessed_date: { type: string, format: "date" } downgrades_applied: type: array items: type: object properties: factor: { type: string } severity: { type: string, enum: ["serious", "very_serious"] } rationale: { type: string } evidence: { type: string } reviewer: { type: string } upgrades_applied: type: array items: type: object properties: factor: { type: string } magnitude: { type: string, enum: ["serious", "very_serious"] } rationale: { type: string } evidence: { type: string } reviewer: { type: string } final_quality: type: object properties: level: { type: string, enum: ["high", "moderate", "low", "very_low"] } calculation: { type: string } confidence: { type: string } notes: { type: string } decision_tree: type: array items: { type: string } default: - "1. Determine baseline quality (source type + evidence level)" - "2. Assess each downgrade factor (5 factors)" - "3. Assess each upgrade factor (3 factors, only if observational)" - "4. Calculate final quality (baseline ± adjustments)" - "5. Document calculation and confidence" CitationGuidance: type: object description: "Quality-based citation language guidance" properties: quality_language_mapping: type: object properties: high: type: object properties: certainty: { type: string, default: "High certainty" } verbs: type: array items: { type: string } default: - "shows" - "demonstrates" - "establishes" - "confirms" phrases: type: array items: { type: string } default: - "Research shows that..." - "Studies demonstrate..." - "Evidence establishes..." - "X improves Y" example: type: string default: "Voice consistency shows significant quality improvements (Cohen d=2.1, p<0.001) [REF-043]." moderate: type: object properties: certainty: { type: string, default: "Moderate certainty" } verbs: type: array items: { type: string } default: - "suggests" - "indicates" - "supports" phrases: type: array items: { type: string } default: - "Research suggests that..." - "Studies indicate..." - "Evidence supports..." - "X appears to improve Y" example: type: string default: "Voice profiles suggest improved consistency, though effect sizes vary [REF-018]." low: type: object properties: certainty: { type: string, default: "Low certainty" } verbs: type: array items: { type: string } default: - "may indicate" - "preliminary" - "limited" phrases: type: array items: { type: string } default: - "Preliminary evidence indicates..." - "Early studies suggest..." - "X may improve Y" - "Limited evidence shows..." example: type: string default: "Prompt iteration may improve output quality, though sample sizes remain small [REF-009]." very_low: type: object properties: certainty: { type: string, default: "Very low certainty" } verbs: type: array items: { type: string } default: - "insufficient" - "unclear" - "anecdotal" phrases: type: array items: { type: string } default: - "Evidence is insufficient to..." - "Unclear whether..." - "Anecdotal reports suggest..." example: type: string default: "While some practitioners report benefits, evidence remains insufficient [REF-014]." recommendation: type: string default: "Consider not citing at all" validation_rules: type: array items: type: object properties: condition: { type: string } severity: { type: string } message: { type: string } default: - condition: "HIGH evidence + weak language" severity: "info" message: "Consider strengthening claim to match evidence quality" - condition: "LOW evidence + strong language" severity: "critical" message: "Over-confident claim - weaken language or remove citation" - condition: "VERY_LOW evidence + any definitive claim" severity: "critical" message: "Evidence insufficient for this claim" # Paper metadata schema with GRADE fields paper_metadata: type: object required: - source_type - evidence_level - baseline_quality properties: source_type: type: string enum: [peer_reviewed_journal, conference_proceedings, preprint, industry_blog, thesis, book, technical_report] evidence_level: type: string enum: [empirical_study, systematic_review, meta_analysis, case_study, opinion_piece, tutorial] baseline_quality: type: string enum: [high, moderate, low, very_low] quality_assessment: type: object properties: baseline: type: object properties: level: { type: string } rationale: { type: string } assessed_by: { type: string } assessed_date: { type: string } downgrades: type: array items: type: object properties: factor: { type: string } severity: { type: string } rationale: { type: string } evidence: { type: string } upgrades: type: array items: type: object properties: factor: { type: string } magnitude: { type: string } rationale: { type: string } evidence: { type: string } final: type: object properties: level: { type: string } calculation: { type: string } # CLI commands cli_commands: quality_assess: command: "aiwg research quality-assess <ref-id>" description: "Assess evidence quality for a paper" options: - name: "--baseline" description: "Set baseline quality" - name: "--downgrade" description: "Apply downgrade factor" - name: "--upgrade" description: "Apply upgrade factor" quality_report: command: "aiwg research quality-report" description: "Generate quality assessment report" options: - name: "--summary" description: "Summary statistics only" citation_check: command: "aiwg citation-check <file>" description: "Check citation language against quality" # Agent protocol agent_protocol: assess_baseline: description: "Determine baseline quality from source type" steps: - identify_source_type - identify_evidence_level - lookup_baseline_quality - document_rationale - return_baseline_assessment apply_downgrades: description: "Assess and apply downgrade factors" steps: - for_each_downgrade_factor: - check_if_present - if_present: - determine_severity - document_rationale_and_evidence - calculate_impact - sum_downgrade_levels - return_downgrade_assessment apply_upgrades: description: "Assess and apply upgrade factors (observational only)" steps: - check_upgrade_eligibility - if_eligible: - for_each_upgrade_factor: - check_if_present - if_present: - determine_magnitude - document_rationale_and_evidence - calculate_impact - sum_upgrade_levels - return_upgrade_assessment calculate_final_quality: description: "Calculate final quality level" steps: - get_baseline_level - subtract_downgrade_levels - add_upgrade_levels - clamp_to_valid_range - document_calculation - return_final_quality validate_citation_language: description: "Check citation language matches quality" steps: - extract_citation_quality - extract_claim_language - lookup_allowed_language - check_alignment - if_misaligned: - generate_warning - suggest_alternative - return_validation_result # Storage storage: quality_assessments: ".aiwg/research/quality/" assessment_index: ".aiwg/research/quality/index.json" # Research targets (from REF-060 GRADE) research_targets: baseline_classification: "GRADE-style source type baseline" downgrade_tracking: "Five downgrade factors with rationale" upgrade_tracking: "Three upgrade factors for observational studies" rationale_documentation: "Transparent quality decision trail" citation_guidance: "Quality-based hedging language" # Example quality assessment example_assessment: | --- Quality Assessment: Baseline: Level: high Rationale: "Peer-reviewed empirical study in top-tier NLP venue" Assessed By: @jmagly Assessed Date: 2026-01-25 Downgrades Applied: - Factor: risk-of-bias Severity: serious Rationale: "Industry-funded, proprietary training data" Evidence: "Funding section p.2; Data description p.4" Reviewer: @jmagly - Factor: indirectness Severity: serious Rationale: "Study used GPT-3.5, we need GPT-4 evidence" Evidence: "Model section p.4" Reviewer: @jmagly Upgrades Applied: - Factor: large-effect Magnitude: very-serious Rationale: "90% improvement vs 10% baseline (9x effect)" Evidence: "Table 3 p.15; Cohen d=2.8" Reviewer: @jmagly Final Quality: Level: moderate Calculation: "HIGH (baseline) - serious (bias) - serious (indirectness) + very-serious (large effect) = MODERATE" Confidence: "High confidence in assessment" Notes: "Effect size compensates for methodological limitations" --- # References references: research: - "@.aiwg/research/findings/REF-060-grade-quality-evidence.md" implementation: - "#226" - "#227" - "#228" - "#229" - "#230" related: - "@.aiwg/research/corpus/" - "@agentic/code/addons/voice-framework/docs/" - "@agentic/code/agents/writing-validator.md"