aiwg
Version:
Deployment tool and support utility for AI context. Copies agents, skills, commands, rules, and behaviors into the paths each AI platform reads (Claude Code, Codex, Copilot, Cursor, Warp, OpenClaw, and 6 more) so one source of truth works across 10 platfo
1,207 lines (915 loc) • 77.9 kB
Markdown
# Non-Functional Requirements: AIWG Research Framework
**Project**: AIWG Research Framework
**Framework ID**: research-complete
**Version**: 1.0.0
**Document ID**: NFR-RF-001
**Created**: 2026-01-25
**Status**: Draft for Review
**Document Type**: Non-Functional Requirements Specification
## References
- @$AIWG_ROOT/agentic/code/frameworks/research-complete/inception/vision-document.md - Success metrics and quality goals
- @$AIWG_ROOT/agentic/code/frameworks/research-complete/inception/initial-risk-assessment.md - Risk mitigation requirements
- @$AIWG_ROOT/agentic/code/frameworks/research-complete/inception/solution-profile.md - Technical architecture and capabilities
- @$AIWG_ROOT/agentic/code/frameworks/research-complete/inception/project-intake.md - Project scope and constraints
- @.aiwg/research/research-framework-findings.md - Research foundation and standards basis
- @$AIWG_ROOT/agentic/code/frameworks/sdlc-complete/README.md - AIWG framework patterns
---
## 1. Executive Summary
### 1.1 Purpose
This document specifies the non-functional requirements (NFRs) for the AIWG Research Framework, defining quality attributes, performance targets, compliance standards, and operational constraints that govern how the system performs its functions rather than what functions it performs.
### 1.2 Scope
**Covered NFR Categories**:
- Performance (response times, throughput, scalability)
- Reliability (uptime, data integrity, recovery)
- Security (API key protection, data privacy, input validation)
- Usability (learning curve, error messages, documentation)
- Maintainability (code quality, test coverage, documentation standards)
- Compatibility (AIWG integration, external tool support, standards compliance)
- Compliance (FAIR principles, W3C PROV, OAIS alignment)
**Out of Scope**:
- Functional requirements (what system does) - covered in use cases
- Implementation details - covered in architecture document
- Test cases - covered in test strategy
### 1.3 NFR Relationship to Quality Goals
| Vision Goal | NFR Category | Key Requirements |
|-------------|--------------|------------------|
| 60%+ time savings | Performance, Usability | NFR-RF-P-001 (search <10s), NFR-RF-U-001 (<1 hour learning) |
| 100% FAIR compliance | Compliance | NFR-RF-CMP-001 through NFR-RF-CMP-004 (F1-F4) |
| 99%+ citation accuracy | Reliability | NFR-RF-R-002 (data integrity), NFR-RF-P-005 (validation) |
| <1 hour learning curve | Usability | NFR-RF-U-001, NFR-RF-U-002, NFR-RF-U-003 |
| <5 min to find papers | Performance | NFR-RF-P-001, NFR-RF-P-002 |
### 1.4 Priority Framework
**Priority Levels**:
- **Must Have (M)**: Critical for v1.0 release, system unusable without
- **Should Have (S)**: Important for v1.0, but workarounds exist
- **Could Have (C)**: Desirable for v1.0, may defer to v1.1+
- **Won't Have (W)**: Explicitly out of scope for v1.0
---
## 2. Performance Requirements
### NFR-RF-P-001: API Search Response Time
**ID**: NFR-RF-P-001
**Title**: Semantic Scholar API Search Response Time
**Category**: Performance
**Priority**: Must Have
**Requirement Statement**:
The Discovery Agent SHALL return initial search results from Semantic Scholar API within 10 seconds for 95% of searches under normal network conditions.
**Rationale**:
- Vision target: <5 min to find papers (includes search + review time)
- User testing: >10s perceived as slow, abandonment risk
- API baseline: Semantic Scholar median 2-3s, 95th percentile 8s
- Risk mitigation: Fast discovery critical for user adoption (Risk A-01)
**Acceptance Criteria**:
- [ ] 95% of API searches complete within 10 seconds (p95 latency)
- [ ] Median search latency <3 seconds
- [ ] Timeout at 30 seconds with graceful error message
- [ ] Response time logged for monitoring
- [ ] Caching reduces repeat search latency to <1 second
**Measurement Method**:
- Instrumented timing in Discovery Agent
- Logged to `.aiwg/research/provenance/performance-metrics.json`
- Automated test suite with mock API and real API validation
- Monthly performance report generation
**Traceability**:
- @$AIWG_ROOT/agentic/code/frameworks/research-complete/inception/vision-document.md - Section 9.1 (Efficiency Metrics)
- @$AIWG_ROOT/agentic/code/frameworks/research-complete/inception/initial-risk-assessment.md - Risk T-02 (API Rate Limits)
---
### NFR-RF-P-002: Batch Processing Throughput
**ID**: NFR-RF-P-002
**Title**: Screening and Acquisition Batch Processing
**Category**: Performance
**Priority**: Must Have
**Requirement Statement**:
The system SHALL process screening decisions for at least 100 papers per hour (manual review time excluded) and acquire PDFs at a rate of at least 20 papers per hour.
**Rationale**:
- PRISMA systematic reviews: 200-500 papers screened
- Vision target: 60% time reduction vs. manual (100 hours → 40 hours)
- Batch operations needed for efficiency
- Risk mitigation: Manual effort reduction (Risk A-04)
**Acceptance Criteria**:
- [ ] Screening automation processes 100+ papers/hour (API calls, relevance ranking)
- [ ] PDF acquisition completes 20+ downloads/hour (network permitting)
- [ ] Metadata extraction processes 50+ papers/hour
- [ ] Quality scoring processes 30+ papers/hour
- [ ] Batch operations resumable after interruption (no re-processing)
**Measurement Method**:
- Timed batch processing logs
- Throughput metrics in performance reports
- User survey: "How many papers did you process in X hours?"
**Traceability**:
- @$AIWG_ROOT/agentic/code/frameworks/research-complete/inception/vision-document.md - Section 9.1 (Efficiency Metrics)
- @$AIWG_ROOT/agentic/code/frameworks/research-complete/inception/initial-risk-assessment.md - Risk A-04 (Manual Effort)
---
### NFR-RF-P-003: Concurrent Operation Limits
**ID**: NFR-RF-P-003
**Title**: Maximum Concurrent Research Operations
**Category**: Performance
**Priority**: Should Have
**Requirement Statement**:
The system SHALL support at least 3 concurrent research operations (e.g., search + acquisition + summarization) without performance degradation exceeding 20%.
**Rationale**:
- Solo developer use case: Single user, but parallel tasks common
- Multi-project use case: matric-memory + matric-eval simultaneously
- Resource efficiency: Avoid sequential bottlenecks
**Acceptance Criteria**:
- [ ] 3 concurrent operations maintain >80% of single-operation performance
- [ ] No deadlocks or race conditions in concurrent access to artifacts
- [ ] File locking prevents data corruption during concurrent writes
- [ ] Progress indicators update independently for each operation
- [ ] Resource usage (memory, CPU) stays below 2GB RAM, 50% CPU for 3 operations
**Measurement Method**:
- Automated tests with concurrent operations
- Performance profiling under concurrent load
- Resource monitoring (memory, CPU usage)
**Traceability**:
- @$AIWG_ROOT/agentic/code/frameworks/research-complete/inception/solution-profile.md - Section 4.4 (Technology Stack)
---
### NFR-RF-P-004: Knowledge Graph Query Performance
**ID**: NFR-RF-P-004
**Title**: Citation Network and Concept Graph Queries
**Category**: Performance
**Priority**: Could Have
**Requirement Statement**:
Knowledge graph queries (citation network traversal, concept relationships) SHALL complete within 5 seconds for corpora up to 1,000 papers.
**Rationale**:
- Vision scale: 100-1,000 paper corpora typical
- Graph algorithms complexity: O(n²) worst case for centrality
- User expectation: Interactive exploration, not batch processing
- Risk mitigation: Scalability concerns (Risk T-04)
**Acceptance Criteria**:
- [ ] Citation network queries (find related papers) <5s for 1,000-paper corpus
- [ ] Concept graph queries (find related concepts) <5s for 500-concept graph
- [ ] Author network queries (collaboration patterns) <5s for 200-author network
- [ ] Graph visualization rendering <10s for networks up to 500 nodes
- [ ] Performance degrades gracefully for larger corpora (progress indicators)
**Measurement Method**:
- Benchmark queries on test corpora (100, 500, 1,000 papers)
- Profile graph algorithms (centrality, community detection)
- User testing: perceived query speed
**Traceability**:
- @$AIWG_ROOT/agentic/code/frameworks/research-complete/inception/initial-risk-assessment.md - Risk T-04 (Knowledge Graph Scalability)
---
### NFR-RF-P-005: LLM Summarization Latency
**ID**: NFR-RF-P-005
**Title**: AI Summary Generation Response Time
**Category**: Performance
**Priority**: Must Have
**Requirement Statement**:
LLM-powered summarization SHALL generate summaries for papers within 30 seconds for 90% of cases, with maximum timeout of 2 minutes.
**Rationale**:
- Vision target: <5 min/paper (vs. 20 min manual)
- LLM API latency: Claude typically 10-20s for medium-length prompts
- User expectation: Near-instant for short papers, tolerable wait for long papers
- Risk mitigation: Fast summarization critical for adoption (Risk A-04)
**Acceptance Criteria**:
- [ ] 90% of summaries complete within 30 seconds
- [ ] Median summarization time <15 seconds
- [ ] Maximum timeout 2 minutes, with graceful degradation (partial summary)
- [ ] Progress indicator shows LLM processing status
- [ ] Batch summarization queues requests, processes in background
**Measurement Method**:
- Logged summarization latency per paper
- Performance dashboard tracking p50, p90, p95, p99
- User survey: "Was summarization speed acceptable?"
**Traceability**:
- @$AIWG_ROOT/agentic/code/frameworks/research-complete/inception/vision-document.md - Section 9.1 (Efficiency Metrics: 20 min → <5 min)
---
## 3. Scalability Requirements
### NFR-RF-S-001: Source Corpus Size
**ID**: NFR-RF-S-001
**Title**: Maximum Supported Paper Corpus
**Category**: Scalability
**Priority**: Must Have
**Requirement Statement**:
The system SHALL support corpora of at least 1,000 papers without requiring specialized infrastructure (graph databases, distributed systems), with graceful degradation up to 5,000 papers.
**Rationale**:
- Vision use case: Typical systematic reviews 100-500 papers
- Advanced use case: Multi-year research programs 1,000+ papers
- Obsidian baseline: 8,000 notes / 64,000 links proven scalable
- Risk mitigation: Avoid early scalability limits (Risk T-04)
**Acceptance Criteria**:
- [ ] 1,000-paper corpus: All operations functional, no performance degradation >50%
- [ ] 5,000-paper corpus: Discovery and acquisition functional, knowledge graph may degrade
- [ ] Artifact storage: <10GB for 1,000 papers (PDFs + metadata + notes)
- [ ] Search/filter operations: <10s for 1,000-paper corpus
- [ ] Export operations: <5 min for full corpus export (BibTeX, Obsidian)
**Measurement Method**:
- Benchmark testing with synthetic 1,000-paper corpus
- Storage size monitoring
- Performance profiling at scale
- User testing with real corpora
**Traceability**:
- @$AIWG_ROOT/agentic/code/frameworks/research-complete/inception/vision-document.md - Section 11.2 (External Dependencies)
- @.aiwg/research/research-framework-findings.md - Obsidian scaling (8K notes)
---
### NFR-RF-S-002: Network Graph Size Limits
**ID**: NFR-RF-S-002
**Title**: Citation and Concept Network Capacity
**Category**: Scalability
**Priority**: Should Have
**Requirement Statement**:
Citation networks SHALL support at least 2,000 nodes (papers) and 10,000 edges (citations) with interactive query performance (<10s). Concept graphs SHALL support at least 1,000 concepts with 5,000 relationships.
**Rationale**:
- Citation network growth: 1,000 papers × 2 citations/paper average = 2,000 edges
- Concept extraction: ~5-10 concepts per paper × 1,000 papers = 5,000-10,000 concepts
- Graph algorithm complexity: Community detection O(n²), centrality O(n³)
- Vision goal: Reveal hidden connections at scale
**Acceptance Criteria**:
- [ ] Citation network: 2,000 nodes, 10,000 edges, queries <10s
- [ ] Concept graph: 1,000 concepts, 5,000 relationships, queries <10s
- [ ] Author network: 500 authors, 2,000 collaborations, queries <10s
- [ ] Visualization rendering: <30s for networks up to 500 visible nodes
- [ ] Graph export: Neo4j, RDF formats supported for advanced analysis
**Measurement Method**:
- Synthetic graph benchmarks (controlled node/edge counts)
- Query performance testing (centrality, community detection, path finding)
- Visualization rendering time measurement
**Traceability**:
- @$AIWG_ROOT/agentic/code/frameworks/research-complete/inception/solution-profile.md - Section 3.4 (Integration: Knowledge Graphs)
---
### NFR-RF-S-003: Storage Growth Projections
**ID**: NFR-RF-S-003
**Title**: Artifact Storage Capacity Planning
**Category**: Scalability
**Priority**: Could Have
**Requirement Statement**:
The system SHALL document expected storage growth rates and provide warnings when artifact directories exceed 80% of recommended limits.
**Rationale**:
- Corpus growth over time: Research programs accumulate papers continuously
- Storage planning: Avoid unexpected disk space exhaustion
- Performance degradation: Large directories slow file operations
- OAIS archival planning: Long-term preservation requires capacity estimates
**Acceptance Criteria**:
- [ ] Storage estimates documented: 10MB/paper average (PDF + metadata + notes)
- [ ] 1,000-paper corpus: ~10GB estimated, 15GB maximum
- [ ] Storage monitoring: Automated checks report usage vs. limits
- [ ] Warnings: Alert at 80% capacity, error at 95%
- [ ] Archival guidance: Recommend offline storage or compression for corpora >5,000 papers
**Measurement Method**:
- Storage size tracking in provenance logs
- Automated capacity reports (weekly)
- User notification system for warnings
**Traceability**:
- @$AIWG_ROOT/agentic/code/frameworks/research-complete/inception/solution-profile.md - Section 5.4 (Phase 4: OAIS)
---
## 4. Reliability Requirements
### NFR-RF-R-001: System Uptime (CLI Tool Context)
**ID**: NFR-RF-R-001
**Title**: Framework Availability and Error Recovery
**Category**: Reliability
**Priority**: Must Have
**Requirement Statement**:
The framework SHALL gracefully handle transient failures (network outages, API unavailability) with automatic retry logic (3 attempts, exponential backoff) and clear error messages. Critical operations SHALL be resumable without data loss.
**Rationale**:
- CLI tool context: Not SaaS, "uptime" means error resilience
- Vision risk: API rate limits, network issues common (Risk T-02)
- User expectation: Long-running operations (batch acquisition) must be resilient
- Data integrity: Partial failures should not corrupt artifacts
**Acceptance Criteria**:
- [ ] Transient network errors: Automatic retry 3 times with exponential backoff (1s, 2s, 4s)
- [ ] API rate limits: Graceful backoff, queue requests, resume when limits reset
- [ ] Interrupted operations: Resumable from checkpoint (batch acquisition, summarization)
- [ ] Error messages: Clear, actionable guidance (not stack traces)
- [ ] No data corruption: Partial writes rolled back or completed on resume
**Measurement Method**:
- Fault injection testing (simulate network failures, API errors)
- User testing with interrupted operations
- Error log analysis for clarity and actionability
**Traceability**:
- @$AIWG_ROOT/agentic/code/frameworks/research-complete/inception/initial-risk-assessment.md - Risk T-02 (API Rate Limits)
---
### NFR-RF-R-002: Data Integrity Guarantees
**ID**: NFR-RF-R-002
**Title**: Artifact Integrity and Consistency
**Category**: Reliability
**Priority**: Must Have
**Requirement Statement**:
All research artifacts (PDFs, metadata, provenance logs) SHALL have integrity verification via checksums (SHA-256). Metadata updates SHALL be atomic or transactional to prevent partial writes.
**Rationale**:
- Vision goal: 99%+ citation accuracy requires data integrity
- FAIR principle: Integrity (part of Accessibility)
- OAIS requirement: Fixity information for archival
- Risk mitigation: Prevent corruption, enable verification (Risk Q-04)
**Acceptance Criteria**:
- [ ] SHA-256 checksums generated for all PDFs and metadata files
- [ ] Checksums stored in `.aiwg/research/provenance/checksums.json`
- [ ] Integrity checks on file read: Warn if checksum mismatch
- [ ] Atomic writes: Metadata updates complete fully or roll back (no partial states)
- [ ] Provenance logs: Immutable append-only, checksummed
**Measurement Method**:
- Automated integrity checks on all artifact reads
- Fault injection: Corrupt file, verify detection
- Checksum validation reports
**Traceability**:
- @$AIWG_ROOT/agentic/code/frameworks/research-complete/inception/vision-document.md - Section 9.2 (Quality Metrics: 99%+ citation accuracy)
- @.aiwg/research/research-framework-findings.md - OAIS fixity information
---
### NFR-RF-R-003: Recovery Procedures
**ID**: NFR-RF-R-003
**Title**: Backup and Disaster Recovery
**Category**: Reliability
**Priority**: Should Have
**Requirement Statement**:
The system SHALL provide automated backup procedures for all research artifacts and document recovery steps for common failure scenarios (corrupted metadata, lost PDFs, incomplete operations).
**Rationale**:
- Research value: Months of work in corpus, loss unacceptable
- Git-based: Version control provides some recovery, but not complete
- User guidance: Solo developers need clear recovery instructions
- OAIS archival: Preservation planning includes backup strategy
**Acceptance Criteria**:
- [ ] Backup procedure documented: Git + `.aiwg/research/` directory snapshot
- [ ] Recovery documentation: Step-by-step for corrupted metadata, lost files
- [ ] Automated backup script provided (optional, user-triggered)
- [ ] Restore validation: Checksums verify backup integrity
- [ ] Disaster recovery SLA: <1 hour to restore from backup (user effort)
**Measurement Method**:
- User testing: Follow recovery procedures, measure time and success rate
- Automated backup validation tests
- Documentation review: Clarity and completeness
**Traceability**:
- @$AIWG_ROOT/agentic/code/frameworks/research-complete/inception/solution-profile.md - Section 3.5 (Archival)
---
## 5. Security Requirements
### NFR-RF-SEC-001: API Key Protection
**ID**: NFR-RF-SEC-001
**Title**: Secure API Credential Management
**Category**: Security
**Priority**: Must Have
**Requirement Statement**:
API keys (Semantic Scholar, LLM services) SHALL be stored in environment variables or secure configuration files (mode 600), NEVER committed to version control. All API calls SHALL use HTTPS.
**Rationale**:
- Risk mitigation: API key exposure (Risk S-01)
- Security best practice: Prevent credential leaks in git history
- AIWG token security rules: Heredoc pattern, mode 600 files
- User trust: Framework must handle credentials securely
**Acceptance Criteria**:
- [ ] API keys loaded from environment variables or `~/.aiwg/config/api-keys.env` (mode 600)
- [ ] Default `.gitignore` excludes API key files
- [ ] Error message if API key file has insecure permissions (not mode 600)
- [ ] All API calls use HTTPS, reject HTTP
- [ ] Documentation: Clear guidance on API key setup and security
**Measurement Method**:
- Security audit: Grep codebase for hardcoded keys
- File permission validation tests
- User onboarding: Verify API key setup instructions followed
**Traceability**:
- @$AIWG_ROOT/agentic/code/frameworks/research-complete/inception/initial-risk-assessment.md - Risk S-01 (API Key Exposure)
- @$AIWG_ROOT/agentic/code/frameworks/sdlc-complete/rules/token-security.md - Token security patterns
---
### NFR-RF-SEC-002: Data Privacy in Shared Corpus
**ID**: NFR-RF-SEC-002
**Title**: Sensitive Data Protection
**Category**: Security
**Priority**: Should Have
**Requirement Statement**:
The system SHALL provide warnings when committing to shared repositories (research-papers repo) and document guidelines for identifying sensitive data (proprietary research, confidential sources).
**Rationale**:
- Risk mitigation: Data privacy in shared corpus (Risk S-02)
- Shared corpus use case: research-papers repo across projects
- Legal liability: Prevent accidental exposure of confidential data
- User awareness: Many users unfamiliar with data privacy risks
**Acceptance Criteria**:
- [ ] Pre-commit hook warns: "Review for sensitive data before sharing"
- [ ] Documentation: Guidelines for identifying sensitive data (proprietary, embargoed)
- [ ] `.aiwg/research/config/privacy-checklist.md` template provided
- [ ] No automated privacy scanning (false positives, complexity), rely on user judgment
- [ ] Shared corpus best practice: Public papers only, separate private corpus
**Measurement Method**:
- User testing: Do users understand privacy warnings?
- Documentation review: Clarity of privacy guidelines
- Community feedback: Any privacy incidents reported?
**Traceability**:
- @$AIWG_ROOT/agentic/code/frameworks/research-complete/inception/initial-risk-assessment.md - Risk S-02 (Data Privacy)
---
### NFR-RF-SEC-003: Input Validation
**ID**: NFR-RF-SEC-003
**Title**: User Input Sanitization
**Category**: Security
**Priority**: Must Have
**Requirement Statement**:
All user inputs (search queries, file paths, metadata) SHALL be validated and sanitized to prevent injection attacks (command injection, path traversal, XSS in markdown).
**Rationale**:
- Security best practice: Never trust user input
- Markdown rendering: XSS risk in literature notes if rendered in web UI
- File operations: Path traversal could access files outside `.aiwg/research/`
- Command execution: API calls, shell commands must sanitize inputs
**Acceptance Criteria**:
- [ ] Search queries: Sanitize special characters before API calls
- [ ] File paths: Validate within `.aiwg/research/` directory, reject `../` traversal
- [ ] Markdown content: Escape HTML/JavaScript in user-generated notes if web-rendered
- [ ] Metadata fields: Validate format (DOI, year, author names)
- [ ] No `eval()` or unsafe execution of user-provided code
**Measurement Method**:
- Security testing: Attempt injection attacks (command, path, XSS)
- Code review: Identify input validation gaps
- Automated static analysis (linting rules)
**Traceability**:
- @$AIWG_ROOT/agentic/code/frameworks/research-complete/inception/solution-profile.md - Section 7.1 (Technical Risks)
---
### NFR-RF-SEC-004: Malicious PDF Protection
**ID**: NFR-RF-SEC-004
**Title**: PDF Security Scanning
**Category**: Security
**Priority**: Could Have
**Requirement Statement**:
The system SHOULD provide optional integration with PDF security scanning tools to detect malicious PDFs before processing, with clear user warnings about risks.
**Rationale**:
- Risk mitigation: Malicious PDFs (Risk S-03, very low likelihood but high impact)
- PDF parsers: Potential exploit vectors
- User awareness: Inform users of risks, provide opt-in mitigation
- Not mandatory: Low priority given rarity, avoid complexity
**Acceptance Criteria**:
- [ ] Documentation: Warn users of PDF risks from untrusted sources
- [ ] Optional integration: Command to scan PDFs with ClamAV or similar
- [ ] Default behavior: No scanning (user responsibility)
- [ ] Warning on acquisition: "Only download from trusted sources"
- [ ] Quarantine option: Isolate suspicious PDFs for manual review
**Measurement Method**:
- User awareness testing: Do users understand PDF risks?
- Integration testing: Verify optional scanning tools work if enabled
- Community feedback: Any malware incidents reported?
**Traceability**:
- @$AIWG_ROOT/agentic/code/frameworks/research-complete/inception/initial-risk-assessment.md - Risk S-03 (Malicious PDFs)
---
## 6. Usability Requirements
### NFR-RF-U-001: Learning Curve
**ID**: NFR-RF-U-001
**Title**: Time to Proficiency for Basic Tasks
**Category**: Usability
**Priority**: Must Have
**Requirement Statement**:
New users SHALL achieve proficiency in basic research tasks (search, acquire, summarize) within 1 hour of onboarding, as measured by completion of quick-start tutorial and user self-assessment.
**Rationale**:
- Vision goal: <1 hour learning curve
- Risk mitigation: Steep learning curve (Risk A-01)
- User expectation: Developers want quick onboarding, not academic training
- Adoption critical: Users abandon if too complex
**Acceptance Criteria**:
- [ ] Quick-start tutorial: Completable in <30 minutes
- [ ] First search task: Successful discovery within 5 minutes of setup
- [ ] First acquisition: Download and metadata extraction within 10 minutes
- [ ] First summary: AI-generated summary within 15 minutes
- [ ] User self-assessment: >70% report "confident in basic tasks" after 1 hour
**Measurement Method**:
- User testing: Time to complete quick-start (n=10 users)
- Self-assessment survey: Confidence in basic tasks (1-5 scale)
- Task completion rate: % successfully completing each task
**Traceability**:
- @$AIWG_ROOT/agentic/code/frameworks/research-complete/inception/vision-document.md - Section 9.5 (User Satisfaction: <1 hour learning curve)
- @$AIWG_ROOT/agentic/code/frameworks/research-complete/inception/initial-risk-assessment.md - Risk A-01 (Steep Learning Curve)
---
### NFR-RF-U-002: Error Message Quality
**ID**: NFR-RF-U-002
**Title**: Clear, Actionable Error Guidance
**Category**: Usability
**Priority**: Must Have
**Requirement Statement**:
All error messages SHALL provide clear explanations of what went wrong and actionable steps to resolve, with links to documentation where appropriate. Technical stack traces SHALL NOT be shown to users by default.
**Rationale**:
- User frustration: Cryptic errors cause abandonment
- Solo developer support burden: Good errors reduce support requests
- Learning curve: Errors are teaching moments
- Risk mitigation: Reduce perceived complexity (Risk A-01)
**Acceptance Criteria**:
- [ ] Error format: "What happened" + "Why" + "How to fix" + "Learn more (link)"
- [ ] No stack traces in user-facing errors (log to file instead)
- [ ] Common errors documented: API rate limits, network failures, invalid metadata
- [ ] Error codes provided for reference (e.g., "ERR-API-001: Rate limit exceeded")
- [ ] User testing: >80% understand error message and know how to proceed
**Measurement Method**:
- Error message review: Evaluate against format template
- User testing: Present errors, ask "What would you do next?"
- Support ticket analysis: Are errors mentioned frequently? Unclear?
**Traceability**:
- @$AIWG_ROOT/agentic/code/frameworks/research-complete/inception/vision-document.md - Section 9.5 (User Satisfaction: Documentation Quality 4.5/5)
---
### NFR-RF-U-003: Documentation Completeness
**ID**: NFR-RF-U-003
**Title**: Comprehensive User Guidance
**Category**: Usability
**Priority**: Must Have
**Requirement Statement**:
User documentation SHALL cover 100% of user-facing workflows (discovery, acquisition, documentation, integration, archival) with examples, templates, and troubleshooting guides. API documentation SHALL cover 100% of public interfaces.
**Rationale**:
- Vision goal: User satisfaction 4.5/5 on documentation quality
- Learning curve: Good docs critical for self-service
- Support burden: Comprehensive docs reduce support requests
- Risk mitigation: Poor docs compound steep learning curve (Risk A-01)
**Acceptance Criteria**:
- [ ] User guide: Covers all 5 lifecycle stages with step-by-step instructions
- [ ] Quick-start: <30 min tutorial for basic tasks
- [ ] Templates: Provided for search strategies, quality criteria, notes
- [ ] Examples: Real-world use cases (matric-memory professionalization)
- [ ] Troubleshooting: Common errors and solutions documented
- [ ] API docs: 100% of public functions, classes, CLI commands documented
- [ ] User rating: >80% rate documentation 4/5 or higher
**Measurement Method**:
- Documentation coverage audit: Checklist of required topics
- User survey: Documentation quality rating (1-5 scale)
- Task completion without docs: Can users self-serve?
**Traceability**:
- @$AIWG_ROOT/agentic/code/frameworks/research-complete/inception/vision-document.md - Section 9.5 (Documentation Quality 4.5/5)
---
### NFR-RF-U-004: Progressive Disclosure
**ID**: NFR-RF-U-004
**Title**: Incremental Complexity Exposure
**Category**: Usability
**Priority**: Should Have
**Requirement Statement**:
The system SHALL support tiered workflow complexity levels (Quick, Standard, Rigorous), allowing users to start simple and progressively adopt advanced features (PRISMA, GRADE, Zettelkasten) as needed.
**Rationale**:
- Risk mitigation: Too academic for developers (Risk A-03)
- User diversity: Developers want quick start, researchers want rigor
- Adoption strategy: Value early, commitment later
- Flexibility: Users choose appropriate effort level
**Acceptance Criteria**:
- [ ] Quick mode: Discovery + acquisition only, minimal metadata
- [ ] Standard mode: + AI summaries, basic quality scoring, literature notes
- [ ] Rigorous mode: + PRISMA protocol, GRADE scoring, Zettelkasten synthesis
- [ ] Mode selection: CLI flag or config file setting
- [ ] Feature unlocking: Tutorials introduce advanced features after basics mastered
- [ ] User survey: >70% report "appropriate complexity for my needs"
**Measurement Method**:
- User testing: Track which modes users select
- Feature usage analytics: % using advanced features
- User survey: Perceived complexity appropriateness
**Traceability**:
- @$AIWG_ROOT/agentic/code/frameworks/research-complete/inception/initial-risk-assessment.md - Risk A-03 (Too Academic for Developers)
---
## 7. Maintainability Requirements
### NFR-RF-M-001: Code Quality Standards
**ID**: NFR-RF-M-001
**Title**: Code Maintainability and Readability
**Category**: Maintainability
**Priority**: Must Have
**Requirement Statement**:
All code SHALL follow TypeScript/JavaScript best practices with ESLint rules enforced, maintain cyclomatic complexity <15 per function, and include inline comments for complex logic.
**Rationale**:
- Solo developer: Code maintainability critical (no team to ask)
- Long-term sustainability: Framework will evolve over years
- Community contributions: Clear code lowers contribution barrier
- Risk mitigation: Technical debt from rushed implementation (Risk R-01)
**Acceptance Criteria**:
- [ ] ESLint rules enforced in CI/CD pipeline (no warnings)
- [ ] Cyclomatic complexity <15 per function (SonarQube or similar)
- [ ] Functions <50 lines (guideline, exceptions allowed with justification)
- [ ] Inline comments for non-obvious logic (algorithm explanations)
- [ ] TypeScript: Strict mode enabled, no `any` types (exceptions documented)
**Measurement Method**:
- Automated linting in CI/CD (fail on warnings)
- Complexity analysis (SonarQube, CodeClimate)
- Code review checklist for complexity and comments
**Traceability**:
- @$AIWG_ROOT/agentic/code/frameworks/research-complete/inception/vision-document.md - Section 5.2 (Secondary Objectives: Minimize Maintenance)
---
### NFR-RF-M-002: Test Coverage Targets
**ID**: NFR-RF-M-002
**Title**: Automated Test Coverage
**Category**: Maintainability
**Priority**: Must Have
**Requirement Statement**:
The codebase SHALL maintain at least 90% test coverage (line coverage) with 100% coverage of critical paths (API integration, data integrity, provenance logging). All tests SHALL pass before merging to main branch.
**Rationale**:
- Vision goal: 90%+ code coverage, automated testing
- Solo developer: Tests prevent regressions when changing code
- Critical operations: Data integrity, provenance cannot fail
- Risk mitigation: Technical debt, insufficient testing (Risk R-01)
**Acceptance Criteria**:
- [ ] Overall line coverage: ≥90%
- [ ] Critical path coverage: 100% (API calls, checksums, provenance logs)
- [ ] Unit tests: ≥80% coverage per module
- [ ] Integration tests: Cover all agent workflows end-to-end
- [ ] CI/CD: Tests run on every commit, block merge if failing
- [ ] Coverage reports generated and tracked over time
**Measurement Method**:
- Coverage tool: Jest with Istanbul or c8
- Automated coverage reports in CI/CD
- Coverage trend tracking (dashboard or reports)
**Traceability**:
- @$AIWG_ROOT/agentic/code/frameworks/research-complete/inception/vision-document.md - Section 5.2 (Minimize Maintenance: 90%+ coverage)
---
### NFR-RF-M-003: Documentation Standards
**ID**: NFR-RF-M-003
**Title**: Code and API Documentation Requirements
**Category**: Maintainability
**Priority**: Must Have
**Requirement Statement**:
All public functions, classes, and CLI commands SHALL have JSDoc/TSDoc comments describing purpose, parameters, return values, and exceptions. Documentation SHALL be auto-generated from code comments.
**Rationale**:
- API discoverability: Users and contributors need reference docs
- Code maintainability: Self-documenting code reduces cognitive load
- Automation: Docs stay synchronized with code changes
- Community contributions: Clear APIs enable extensions
**Acceptance Criteria**:
- [ ] 100% of public APIs documented with JSDoc/TSDoc
- [ ] CLI command help text generated from code comments
- [ ] API reference auto-generated (TypeDoc or similar)
- [ ] Examples included in function docs where appropriate
- [ ] CI/CD: Fail if public API undocumented (linting rule)
**Measurement Method**:
- Automated doc linting (check for missing JSDoc)
- Doc generation in CI/CD (verify successful build)
- Manual review: Are docs clear and helpful?
**Traceability**:
- @$AIWG_ROOT/agentic/code/frameworks/research-complete/inception/vision-document.md - Section 9.5 (Documentation Quality)
---
### NFR-RF-M-004: Change Management
**ID**: NFR-RF-M-004
**Title**: Version Control and Release Process
**Category**: Maintainability
**Priority**: Should Have
**Requirement Statement**:
All changes SHALL follow semantic versioning (MAJOR.MINOR.PATCH), with CHANGELOG.md maintained for every release. Breaking changes SHALL be documented with migration guides.
**Rationale**:
- User expectations: Predictable versioning, clear release notes
- Migration planning: Users need to know what breaks and how to fix
- Long-term maintenance: Track what changed and why
- AIWG standards: Consistent release documentation
**Acceptance Criteria**:
- [ ] Semantic versioning: MAJOR (breaking), MINOR (features), PATCH (fixes)
- [ ] CHANGELOG.md updated for every release (Keep a Changelog format)
- [ ] Breaking changes: Migration guide provided in docs
- [ ] Release notes: Posted to GitHub releases
- [ ] Deprecation policy: 1 minor version warning before removal
**Measurement Method**:
- Release checklist: Verify version, changelog, migration docs
- User feedback: Are release notes clear?
- Automated checks: Version bump matches change type
**Traceability**:
- @CLAUDE.md - Release Documentation Requirements
- @$AIWG_ROOT/agentic/code/frameworks/sdlc-complete/rules/versioning.md - CalVer format
---
## 8. Compatibility Requirements
### NFR-RF-C-001: AIWG Framework Integration
**ID**: NFR-RF-C-001
**Title**: Compatibility with AIWG Core Framework
**Category**: Compatibility
**Priority**: Must Have
**Requirement Statement**:
The Research Framework SHALL integrate seamlessly with AIWG core framework, following extension system patterns, artifact directory conventions (`.aiwg/research/`), and agent deployment mechanisms (`aiwg use research`).
**Rationale**:
- Strategic positioning: Research framework part of AIWG ecosystem
- User experience: Consistent patterns across frameworks (SDLC, marketing, research)
- Agent deployment: Standard `aiwg use` command
- Artifact management: Unified `.aiwg/` directory structure
**Acceptance Criteria**:
- [ ] Deployment: `aiwg use research` installs agents and templates
- [ ] Artifact directory: `.aiwg/research/` follows AIWG conventions
- [ ] Agent definitions: Compatible with AIWG agent registry
- [ ] Command integration: Research commands available via `aiwg research <command>`
- [ ] Documentation: Links to AIWG core docs, consistent terminology
**Measurement Method**:
- Integration testing: Deploy framework via AIWG CLI
- User testing: Verify no conflicts with SDLC or marketing frameworks
- Documentation review: Consistency with AIWG patterns
**Traceability**:
- @$AIWG_ROOT/agentic/code/frameworks/sdlc-complete/README.md - AIWG framework patterns
- @$AIWG_ROOT/docs/extensions/overview.md - Extension system architecture
---
### NFR-RF-C-002: External Tool Compatibility
**ID**: NFR-RF-C-002
**Title**: Integration with Zotero, Obsidian, Reference Managers
**Category**: Compatibility
**Priority**: Should Have
**Requirement Statement**:
The system SHALL support bidirectional data exchange with Zotero (BibTeX/RIS import/export), Obsidian (Markdown with bidirectional links), and standard reference manager formats (BibTeX, RIS, CSL-JSON).
**Rationale**:
- User workflow preservation: Don't force migration from existing tools
- Risk mitigation: Workflow disruption (Risk A-02)
- Interoperability: Users choose their preferred PKM/reference manager
- Standards compliance: BibTeX, RIS, CSL-JSON widely supported
**Acceptance Criteria**:
- [ ] Zotero export: BibTeX and RIS formats with ≥95% metadata accuracy
- [ ] Zotero import: Read BibTeX/RIS, populate `.aiwg/research/sources/`
- [ ] Obsidian export: Markdown notes with `[[wikilinks]]` preserved
- [ ] Obsidian import: Read Markdown notes, convert to framework format
- [ ] CSL-JSON support: Citation formatting via Citation Style Language
- [ ] No data loss: Round-trip export/import preserves metadata
**Measurement Method**:
- Interoperability testing: Export to Zotero, import back, verify no data loss
- Format validation: BibTeX, RIS, CSL-JSON parsers accept output
- User testing: Do users successfully integrate with existing tools?
**Traceability**:
- @$AIWG_ROOT/agentic/code/frameworks/research-complete/inception/solution-profile.md - Section 4.3 (Integration Points)
---
### NFR-RF-C-003: Standards Compliance (FAIR, PROV, OAIS)
**ID**: NFR-RF-C-003
**Title**: Adherence to Research Data Standards
**Category**: Compatibility
**Priority**: Must Have
**Requirement Statement**:
Metadata SHALL comply with FAIR principles (Findable, Accessible, Interoperable, Reusable) as measured by automated F-UJI-style assessment. Provenance logs SHALL follow W3C PROV data model. Archival packages SHALL align with OAIS reference model concepts (SIP/AIP/DIP).
**Rationale**:
- Vision goal: 100% FAIR compliance
- Academic credibility: Standards compliance required for publication
- Reproducibility: PROV enables audit trails, OAIS enables preservation
- Interoperability: Standard formats ensure long-term usability
**Acceptance Criteria**:
- [ ] FAIR compliance: ≥90% on automated F-UJI assessment
- [ ] W3C PROV: Provenance logs include Entity, Activity, Agent relationships
- [ ] OAIS alignment: Archival packages include preservation metadata (PDI)
- [ ] Standards documentation: Map framework features to FAIR/PROV/OAIS requirements
- [ ] Validation tools: Automated checks for FAIR, PROV compliance
**Measurement Method**:
- F-UJI assessment on sample corpus
- PROV validation: Logs parseable by PROV tools (PROV-O validator)
- OAIS audit: Expert review of archival package structure
- Standards compliance report included in documentation
**Traceability**:
- @$AIWG_ROOT/agentic/code/frameworks/research-complete/inception/vision-document.md - Section 9.2 (Quality Metrics: 100% FAIR)
- @.aiwg/research/research-framework-findings.md - FAIR, PROV, OAIS standards
---
### NFR-RF-C-004: Multi-Platform Support
**ID**: NFR-RF-C-004
**Title**: Cross-Platform Compatibility
**Category**: Compatibility
**Priority**: Must Have
**Requirement Statement**:
The framework SHALL run on Linux, macOS, and Windows with Node.js ≥18.20.8, with no platform-specific dependencies for core functionality.
**Rationale**:
- User diversity: Developers use all major platforms
- AIWG core: Supports multi-platform deployment
- Accessibility: Don't exclude users based on OS
- Node.js baseline: Consistent runtime across platforms
**Acceptance Criteria**:
- [ ] Core functionality works on Linux, macOS, Windows
- [ ] No hardcoded platform-specific paths (use `path.join()`)
- [ ] File operations handle platform differences (line endings, permissions)
- [ ] Automated tests run on all 3 platforms (GitHub Actions matrix)
- [ ] Documentation: Platform-specific notes where needed (e.g., Windows path escaping)
**Measurement Method**:
- CI/CD: Automated tests on Linux, macOS, Windows
- User testing: At least 1 user per platform
- Issue tracking: Platform-specific bugs rare (<5%)
**Traceability**:
- @CLAUDE.md - Platform: linux (but support all major platforms)
---
## 9. Compliance Requirements
### NFR-RF-CMP-001: FAIR Principle F1 (Findable - Persistent Identifier)
**ID**: NFR-RF-CMP-001
**Title**: F1 - Globally Unique and Persistent Identifiers
**Category**: Compliance - FAIR
**Priority**: Must Have
**Requirement Statement**:
Every research source SHALL be assigned a globally unique, persistent identifier (DOI preferred, fallback to REF-XXX framework-internal ID) that remains stable across all artifacts and references.
**Rationale**:
- FAIR F1: Data assigned globally unique and persistent identifier
- Citation accuracy: Stable IDs prevent broken references
- Cross-project reuse: research-papers repo shared across projects
- Interoperability: DOIs standard in academic publishing
**Acceptance Criteria**:
- [ ] Primary ID: DOI if available (from API or PDF metadata)
- [ ] Fallback ID: REF-XXX format (e.g., REF-042-oauth2-security-patterns)
- [ ] ID uniqueness: No duplicates within corpus (validation check)
- [ ] ID stability: Never changes once assigned (immutable)
- [ ] ID references: All citations, notes, graphs use consistent ID
**Measurement Method**:
- F-UJI assessment: Check F1 compliance (100% target)
- Automated validation: Detect duplicate IDs
- User testing: Citations remain valid after ID assignment
**Traceability**:
- @$AIWG_ROOT/agentic/code/frameworks/research-complete/inception/vision-document.md - Section 9.2 (FAIR Compliance 100%)
- @.aiwg/research/research-framework-findings.md - FAIR principles
---
### NFR-RF-CMP-002: FAIR Principle F2 (Findable - Rich Metadata)
**ID**: NFR-RF-CMP-002
**Title**: F2 - Data Described with Rich Metadata
**Category**: Compliance - FAIR
**Priority**: Must Have
**Requirement Statement**:
Every source SHALL have comprehensive metadata including title, authors, publication year, venue, DOI, abstract, keywords, and citation data, stored in machine-readable format (JSON).
**Rationale**:
- FAIR F2: Data described with rich metadata
- Discovery: Metadata enables search, filter, quality assessment
- Interoperability: Standard metadata fields across research tools
- Quality: Rich metadata supports GRADE scoring
**Acceptance Criteria**:
- [ ] Required fields: Title, authors, year, DOI (or URL), abstract
- [ ] Recommended fields: Venue, keywords, citation count, license
- [ ] Format: JSON schema defined in `.aiwg/research/config/metadata-schema.json`
- [ ] Completeness: >95% of sources have all required fields
- [ ] Validation: Automated check for missing metadata
**Measurement Method**:
- F-UJI assessment: Check F2 compliance (>90% target)
- Metadata completeness report: % with required fields
- Schema validation: All metadata files conform to schema
**Traceability**:
- @$AIWG_ROOT/agentic/code/frameworks/research-complete/inception/vision-document.md - Section 9.2 (FAIR Compliance 100%)
---
### NFR-RF-CMP-003: FAIR Principle F3 (Findable - Metadata Includes ID)
**ID**: NFR-RF-CMP-003
**Title**: F3 - Metadata Clearly References Data Identifier
**Category**: Compliance - FAIR
**Priority**: Must Have
**Requirement Statement**:
All metadata files SHALL explicitly include the persistent identifier (DOI or REF-XXX) of the source they describe, enabling bidirectional linking between data and metadata.
**Rationale**:
- FAIR F3: Metadata clearly references data identifier
- Linking: Connect metadata to PDFs, notes, citations
- Provenance: Track metadata lineage
- Validation: Detect orphaned metadata or PDFs
**Acceptance Criteria**:
- [ ] Metadata field: `"id": "DOI:10.1234/example"` or `"id": "REF-042"`
- [ ] File naming: `REF-XXX-metadata.json` matches ID in content
- [ ] Bidirectional: PDF checksums link to metadata, metadata links to PDF
- [ ] Validation: Automated check for metadata-PDF consistency
- [ ] Orphan detection: Report metadata without PDFs, PDFs without metadata
**Measurement Method**:
- F-UJI assessment: Check F3 compliance (100% target)
- Automated validation: Verify all metadata references valid PDFs
- Orphan report: List metadata/PDFs without pairs
**Traceability**:
- @$AIWG_ROOT/agentic/code/frameworks/research-complete/inception/vision-document.md - Section 9.2 (FAIR Compliance 100%)
---
### NFR-RF-CMP-004: FAIR Principle F4 (Findable - Searchable Resource)
**ID**: NFR-RF-CMP-004
**Title**: F4 - Metadata Registered in Searchable Resource
**Category**: Compliance - FAIR
**Priority**: Should Have
**Requirement Statement**:
Metadata SHALL be indexed in a searchable resource (local file-based index, optional external registry like DataCite) to enable discovery without direct file access.
**Rationale**:
- FAIR F4: Metadata registered/indexed in searchable resource
- Discovery: Users can search corpus without opening every file
- Scalability: File-based search sufficient for 1,000s of papers
- External registry: Optional for broader discoverability
**Acceptance Criteria**:
- [ ] Local index: `.aiwg/research/sources/index.json` with searchable fields (title, authors, keywords)
- [ ] Search functionality: CLI command `aiwg research search <query>` searches local index
- [ ] Index updates: Automatically updated when metadata added/modified
- [ ] Optional: Export metadata to DataCite or Zenodo for public discoverability
- [ ] Performance: Search <3s for 1,000-paper corpus
**Measurement Method**:
- F-UJI assessment: Check F4 compliance (>80% target, local index counts)
- Search performance testing: Query latency benchmarks
- User testing: Can users find papers via search?
**Traceability**:
- @$AIWG_ROOT/agentic/code/frameworks/research-complete/inception/vision-document.md - Section 9.2 (FAIR Compliance 100%)
---
### NFR-RF-CMP-005: FAIR Principle A1 (Accessible - Open Protocol)
**ID**: NFR-RF-CMP-005
**Title**: A1 - Retrievable via Standardized Protocol
**Category**: Compliance - FAIR
**Priority**: Must Have
**Requirement Statement**:
All research artifacts SHALL be accessible via standardized, open protocols (file system access, HTTPS for remote sources, Git for versioning) without proprietary tools.
**Rationale**:
- FAIR A1: Retrievable by identifier using open protocol
- Accessibility: No vendor lock-in, users own their data
- Longevity: Standard protocols persist, proprietary tools don't
- Interoperability: Any tool can access artifacts
**Acceptance Criteria**:
- [ ] Local access: Standard file system, no database required
- [ ] Remote access: PDFs accessible via HTTPS (DOI → URL resolution)
- [ ] Version control: Git provides versioned access
- [ ] No proprietary formats: Markdown, JSON, PDF (not binary databases)
- [ ] Documentation: Explain how to access artifacts without framework tools
**Measurement Method**:
- F-UJI assessment: Check A1 compliance (100% target)
- Manual test: Access artifacts without AIWG CLI (file manager, text editor)
- User testing: Can external researchers access artifacts?
**Traceability**:
- @$AIWG_ROOT/agentic/code/frameworks/research-complete/inception/vision-document.md - Section 9.2 (FAIR Compliance 100%)
---
### NFR-RF-CMP-006: FAIR Principle A2 (Accessible - Persistent Metadata)
**ID**: NFR-RF-CMP-006
**Title**: A2 - Metadata Persists Even if Data Unavailable
**Category**: Compliance - FAIR
**Priority**: Should Have
**Requirement Statement**:
Metadata SHALL remain accessible even if the original PDF is deleted or unavailable, enabling users to identify missing sources and plan re-acquisition.
**Rationale**:
- FAIR A2: Metadata accessible even when data no longer available
- Data loss resilience: Track what was deleted/lost
- Archival: Metadata provides record of corpus history
- Recovery: Metadata enables re-acquisition from DOI
**Acceptance Criteria**:
- [ ] Metadata persistence: Deleting PDF does not delete metadata (tombstone record)
- [ ] Status field: `"status": "available"` | `"deleted"` | `"unavailable"`
- [ ] Tombstone: Deleted PDFs marked, metadata retained with deletion date
- [ ] Re-acquisition: Metadata provides DOI for re-download
- [ ] Provenance: Deletion events logged in provenance
**Measurement Method**:
- F-UJI assessment: Check A2 compliance (>80% target)
- Deletion test: Delete PDF, verify metadata persists
- User testing: Can users identify and recover missing sources?
**Traceability**:
- @$AIWG_ROOT/agentic/code/frameworks/research-complete/inception/vision-document.md - Section 9.2 (FAIR Compliance 100%)
---
### NFR-RF-CMP-007: FAIR Principle I1 (Interoperable - Formal Language)
**ID**: NFR-RF-CMP-007
**Title**: I1 - Knowledge Representation in Formal Language
**Category**: Compliance - FAIR
**Priority**: Should Have
**Requirement Statement**:
Metadata and provenance SHALL use formal, standardized languages (JSON, BibTeX, RDF/Turtle for graphs) with defined schemas to enable machine processing and interoperability.
**Rationale**:
- FAIR I1: Formal, accessible, shared, broadly applicable language
- Interoperability: Standard formats work across tools
- Machine-readable: Automated processing, validation
- Longevity: Formal schemas enable future migration
**Acceptance Criteria**:
- [ ] Metadata: JSON with published schema (`.aiwg/research/config/metadata-schema.json`)
- [ ] Provenance: W3C PROV-O (RDF/Turtle or JSON-LD)
- [ ] Citations: BibTeX, CSL-JSON (standard formats)
- [ ] Knowledge graph: RDF/Turtle export option (Neo4j internal format acceptable)
- [ ] Schema versioning: Track schema changes, provide migr