Wiki source code of Requirements

Version 1.16 by Robert Schaub on 2026/02/08 08:27

Hide last authors
Robert Schaub 1.5 1 = Requirements =
2
Robert Schaub 1.15 3 **This page defines Roles, Content States, Rules, and System Requirements for FactHarbor.** **Core Philosophy:** Invest in system improvement, not manual data correction. When AI makes errors, improve the algorithm and re-process automatically. == Navigation == * **[[User Needs>>Archive.FactHarbor 2026\.01\.20.Specification.Requirements.User Needs.WebHome]]** - What users need from FactHarbor (drives these requirements)
Robert Schaub 1.5 4
Robert Schaub 1.1 5 * **This page** - How we fulfill those needs through system design (% class="box infomessage" %)
6 (((
Robert Schaub 1.15 7 **How to read this page:** 1. **User Needs drive Requirements**: See [[User Needs>>Archive.FactHarbor 2026\.01\.20.Specification.Requirements.User Needs.WebHome]] for what users need
Robert Schaub 1.1 8 2. **Requirements define implementation**: This page shows how we fulfill those needs
9 3. **Functional Requirements (FR)**: Specific features and capabilities
10 4. **Non-Functional Requirements (NFR)**: Quality attributes (performance, security, etc.) Each requirement references which User Needs it fulfills.
Robert Schaub 1.5 11 )))== 1. Roles == **Fulfills**: UN-12 (Submit claims), UN-13 (Cite verdicts), UN-14 (API access) FactHarbor uses three simple roles plus a reputation system. === 1.1 Reader === **Who**: Anyone (no login required) **Can**:
Robert Schaub 1.1 12 * Browse and search claims
13 * View scenarios, evidence, verdicts, and confidence scores
14 * Flag issues or errors
15 * Use filters, search, and visualization tools
16 * Submit claims automatically (new claims added if not duplicates) **Cannot**:
17 * Modify content
18 * Access edit history details **User Needs served**: UN-1 (Trust assessment), UN-2 (Claim verification), UN-3 (Article summary with FactHarbor analysis summary), UN-4 (Social media fact-checking), UN-5 (Source tracing), UN-7 (Evidence transparency), UN-8 (Understanding disagreement), UN-12 (Submit claims), UN-17 (In-article highlighting) === 1.2 Contributor === **Who**: Registered users (earns reputation through contributions) **Can**:
19 * Everything a Reader can do
20 * Edit claims, evidence, and scenarios
21 * Add sources and citations
22 * Suggest improvements to AI-generated content
23 * Participate in discussions
24 * Earn reputation points for quality contributions **Reputation System**:
25 * New contributors: Limited edit privileges
26 * Established contributors (established reputation): Full edit access
27 * Trusted contributors (substantial reputation): Can approve certain changes
28 * Reputation earned through: Accepted edits, helpful flags, quality contributions
29 * Reputation lost through: Reverted edits, invalid flags, abuse **Cannot**:
30 * Delete or hide content (only moderators)
31 * Override moderation decisions **User Needs served**: UN-13 (Cite and contribute) === 1.3 Moderator === **Who**: Trusted community members with proven track record, appointed by governance board **Can**:
32 * Review flagged content
33 * Hide harmful or abusive content
34 * Resolve disputes between contributors
35 * Issue warnings or temporary bans
36 * Make final decisions on content disputes
37 * Access full audit logs **Cannot**:
38 * Change governance rules
39 * Permanently ban users without board approval
40 * Override technical quality gates **Note**: Small team (3-5 initially), supported by automated moderation tools. === 1.4 Domain Trusted Contributors (Optional, Task-Specific) === **Who**: Subject matter specialists invited for specific high-stakes disputes **Not a permanent role**: Contacted externally when needed for contested claims in their domain **When used**:
41 * Medical claims with life/safety implications
42 * Legal interpretations with significant impact
43 * Scientific claims with high controversy
44 * Technical claims requiring specialized knowledge **Process**:
45 * Moderator identifies need for expert input
46 * Contact expert externally (don't require them to be users)
47 * Trusted Contributor provides written opinion with sources
48 * Opinion added to claim record
49 * Trusted Contributor acknowledged in claim **User Needs served**: UN-16 (Expert validation status) == 2. Content States == **Fulfills**: UN-1 (Trust indicators), UN-16 (Review status transparency) FactHarbor uses two content states. Focus is on transparency and confidence scoring, not gatekeeping. === 2.1 Published === **Status**: Visible to all users **Includes**:
50 * AI-generated analyses (default state)
51 * User-contributed content
52 * Edited/improved content **Quality Indicators** (displayed with content):
53 * **Confidence Score**: 0-100% (AI's confidence in analysis)
54 * **Source Quality Score**: 0-100% (based on source track record)
55 * **Controversy Flag**: If high dispute/edit activity
56 * **Completeness Score**: % of expected fields filled
57 * **Last Updated**: Date of most recent change
58 * **Edit Count**: Number of revisions
59 * **Review Status**: AI-generated / Human-reviewed / Expert-validated **Automatic Warnings**:
60 * Confidence < 60%: "Low confidence - use caution"
61 * Source quality < 40%: "Sources may be unreliable"
62 * High controversy: "Disputed - multiple interpretations exist"
63 * Medical/Legal/Safety domain: "Seek professional advice" **User Needs served**: UN-1 (Trust score), UN-9 (Methodology transparency), UN-15 (Evolution timeline), UN-16 (Review status) === 2.2 Hidden === **Status**: Not visible to regular users (only to moderators) **Reasons**:
64 * Spam or advertising
65 * Personal attacks or harassment
66 * Illegal content
67 * Privacy violations
68 * Deliberate misinformation (verified)
69 * Abuse or harmful content **Process**:
70 * Automated detection flags for moderator review
71 * Moderator confirms and hides
72 * Original author notified with reason
73 * Can appeal to board if disputes moderator decision **Note**: Content is hidden, not deleted (for audit trail) == 3. Contribution Rules == === 3.1 All Contributors Must === * Provide sources for factual claims
74 * Use clear, neutral language in FactHarbor's own summaries
75 * Respect others and maintain civil discourse
76 * Accept community feedback constructively
77 * Focus on improving quality, not protecting ego === 3.2 AKEL (AI System) === **AKEL is the primary system**. Human contributions supplement and train AKEL. **AKEL Must**:
78 * Mark all outputs as AI-generated
79 * Display confidence scores prominently
80 * Provide source citations
81 * Flag uncertainty clearly
82 * Identify contradictions in evidence
83 * Learn from human corrections **When AKEL Makes Errors**:
Robert Schaub 1.5 84
Robert Schaub 1.1 85 1. Capture the error pattern (what, why, how common)
86 2. Improve the system (better prompt, model, validation)
87 3. Re-process affected claims automatically
88 4. Measure improvement (did quality increase?) **Human Role**: Train AKEL through corrections, not replace AKEL === 3.3 Contributors Should === * Improve clarity and structure
Robert Schaub 1.5 89
Robert Schaub 1.1 90 * Add missing sources
91 * Flag errors for system improvement
92 * Suggest better ways to present information
93 * Participate in quality discussions === 3.4 Moderators Must === * Be impartial
94 * Document moderation decisions
95 * Respond to appeals promptly
96 * Use automated tools to scale efforts
97 * Focus on abuse/harm, not routine quality control == 4. Quality Standards == **Fulfills**: UN-5 (Source reliability), UN-6 (Publisher track records), UN-7 (Evidence transparency), UN-9 (Methodology transparency) === 4.1 Source Requirements === **Track Record Over Credentials**:
98 * Sources evaluated by historical accuracy
99 * Correction policy matters
100 * Independence from conflicts of interest
101 * Methodology transparency **Source Quality Database**:
102 * Automated tracking of source accuracy
103 * Correction frequency
104 * Reliability score (updated continuously)
105 * Users can see source track record **No automatic trust** for government, academia, or media - all evaluated by track record. **User Needs served**: UN-5 (Source provenance), UN-6 (Publisher reliability) === 4.2 Claim Requirements === * Clear subject and assertion
106 * Verifiable with available information
107 * Sourced (or explicitly marked as needing sources)
108 * Neutral language in FactHarbor summaries
109 * Appropriate context provided **User Needs served**: UN-2 (Claim extraction and verification) === 4.3 Evidence Requirements === * Publicly accessible (or explain why not)
110 * Properly cited with attribution
111 * Relevant to claim being evaluated
112 * Original source preferred over secondary **User Needs served**: UN-7 (Evidence transparency) === 4.4 Confidence Scoring === **Automated confidence calculation based on**:
113 * Source quality scores
114 * Evidence consistency
115 * Contradiction detection
116 * Completeness of analysis
117 * Historical accuracy of similar claims **Thresholds**:
118 * < 40%: Too low to publish (needs improvement)
119 * 40-60%: Published with "Low confidence" warning
120 * 60-80%: Published as standard
121 * 80-100%: Published as "High confidence" **User Needs served**: UN-1 (Trust assessment), UN-9 (Methodology transparency) == 5. Automated Risk Scoring == **Fulfills**: UN-10 (Manipulation detection), UN-16 (Appropriate review level) **Replace manual risk tiers with continuous automated scoring**. === 5.1 Risk Score Calculation === **Factors** (weighted algorithm):
122 * **Domain sensitivity**: Medical, legal, safety auto-flagged higher
123 * **Potential impact**: Views, citations, spread
124 * **Controversy level**: Flags, disputes, edit wars
125 * **Uncertainty**: Low confidence, contradictory evidence
126 * **Source reliability**: Track record of sources used **Score**: 0-100 (higher = more risk) === 5.2 Automated Actions === * **Score > 80**: Flag for moderator review before publication
127 * **Score 60-80**: Publish with prominent warnings
128 * **Score 40-60**: Publish with standard warnings
129 * **Score < 40**: Publish normally **Continuous monitoring**: Risk score recalculated as new information emerges **User Needs served**: UN-10 (Detect manipulation tactics), UN-16 (Review status) == 6. System Improvement Process == **Core principle**: Fix the system, not just the data. === 6.1 Error Capture === **When users flag errors or make corrections**:
Robert Schaub 1.5 130
Robert Schaub 1.1 131 1. What was wrong? (categorize)
132 2. What should it have been?
133 3. Why did the system fail? (root cause)
134 4. How common is this pattern?
135 5. Store in ErrorPattern table (improvement queue) === 6.2 Weekly Improvement Cycle === 1. **Review**: Analyze top error patterns
136 2. **Develop**: Create fix (prompt, model, validation)
137 3. **Test**: Validate fix on sample claims
138 4. **Deploy**: Roll out if quality improves
139 5. **Re-process**: Automatically update affected claims
140 6. **Monitor**: Track quality metrics === 6.3 Quality Metrics Dashboard === **Track continuously**:
Robert Schaub 1.5 141
Robert Schaub 1.1 142 * Error rate by category
143 * Source quality distribution
144 * Confidence score trends
145 * User flag rate (issues found)
146 * Correction acceptance rate
147 * Re-work rate
148 * Claims processed per hour **Goal**: 10% monthly improvement in error rate == 7. Automated Quality Monitoring == **Replace manual audit sampling with automated monitoring**. === 7.1 Continuous Metrics === * **Source quality**: Track record database
149 * **Consistency**: Contradiction detection
150 * **Clarity**: Readability scores
151 * **Completeness**: Field validation
152 * **Accuracy**: User corrections tracked === 7.2 Anomaly Detection === **Automated alerts for**:
153 * Sudden quality drops
154 * Unusual patterns
155 * Contradiction clusters
156 * Source reliability changes
157 * User behavior anomalies === 7.3 Targeted Review === * Review only flagged items
158 * Random sampling for calibration (not quotas)
159 * Learn from corrections to improve automation == 8. Functional Requirements == This section defines specific features that fulfill user needs. === 8.1 Claim Intake & Normalization === ==== FR1 — Claim Intake ==== **Fulfills**: UN-2 (Claim extraction), UN-4 (Quick fact-checking), UN-12 (Submit claims) * Users submit claims via simple form or API
160 * Claims can be text, URL, or image
161 * Duplicate detection (semantic similarity)
162 * Auto-categorization by domain ==== FR2 — Claim Normalization ==== **Fulfills**: UN-2 (Claim verification) * Standardize to clear assertion format
163 * Extract key entities (who, what, when, where)
164 * Identify claim type (factual, predictive, evaluative)
165 * Link to existing similar claims ==== FR3 — Claim Classification ==== **Fulfills**: UN-11 (Filtered research) * Domain: Politics, Science, Health, etc.
166 * Type: Historical fact, current stat, prediction, etc.
167 * Risk score: Automated calculation
168 * Complexity: Simple, moderate, complex === 8.2 Scenario System === ==== FR4 — Scenario Generation ==== **Fulfills**: UN-2 (Context-dependent verification), UN-3 (Article summary with FactHarbor analysis summary), UN-8 (Understanding disagreement) **Automated scenario creation**:
169 * AKEL analyzes claim and generates likely scenarios (use-cases and contexts)
170 * Each scenario includes: assumptions, definitions, boundaries, evidence context
171 * Users can flag incorrect scenarios
172 * System learns from corrections **Key Concept**: Scenarios represent different interpretations or contexts (e.g., "Clinical trials with healthy adults" vs. "Real-world data with diverse populations") ==== FR5 — Evidence Linking ==== **Fulfills**: UN-5 (Source tracing), UN-7 (Evidence transparency) * Automated evidence discovery from sources
173 * Relevance scoring
174 * Contradiction detection
175 * Source quality assessment ==== FR6 — Scenario Comparison ==== **Fulfills**: UN-3 (Article summary with FactHarbor analysis summary), UN-8 (Understanding disagreement) * Side-by-side comparison interface
176 * Highlight key differences between scenarios
177 * Show evidence supporting each scenario
178 * Display confidence scores per scenario === 8.3 Verdicts & Analysis === ==== FR7 — Automated Verdicts ==== **Fulfills**: UN-1 (Trust score), UN-2 (Verification verdicts), UN-3 (Article summary with FactHarbor analysis summary), UN-13 (Cite verdicts) * AKEL generates verdict based on evidence within each scenario
179 * **Likelihood range** displayed (e.g., "0.70-0.85 (likely true)") - NOT binary true/false
180 * **Uncertainty factors** explicitly listed (e.g., "Small sample sizes", "Long-term effects unknown")
181 * Confidence score displayed prominently
182 * Source quality indicators shown
183 * Contradictions noted
184 * Uncertainty acknowledged **Key Innovation**: Detailed probabilistic verdicts with explicit uncertainty, not binary judgments ==== FR8 — Time Evolution ==== **Fulfills**: UN-15 (Verdict evolution timeline) * Claims and verdicts update as new evidence emerges
185 * Version history maintained for all verdicts
186 * Changes highlighted
187 * Confidence score trends visible
188 * Users can see "as of date X, what did we know?" === 8.4 User Interface & Presentation === ==== FR12 — Two-Panel Summary View (Article Summary with FactHarbor Analysis Summary) ==== **Fulfills**: UN-3 (Article Summary with FactHarbor Analysis Summary) **Purpose**: Provide side-by-side comparison of what a document claims vs. FactHarbor's complete analysis of its credibility **Left Panel: Article Summary**:
189 * Document title, source, and claimed credibility
190 * "The Big Picture" - main thesis or position change
191 * "Key Findings" - structured summary of document's main claims
192 * "Reasoning" - document's explanation for positions
193 * "Conclusion" - document's bottom line **Right Panel: FactHarbor Analysis Summary**:
194 * FactHarbor's independent source credibility assessment
195 * Claim-by-claim verdicts with confidence scores
196 * Methodology assessment (strengths, limitations)
197 * Overall verdict on document quality
198 * Analysis ID for reference **Design Principles**:
199 * No scrolling required - both panels visible simultaneously
200 * Visual distinction between "what they say" and "FactHarbor's analysis"
201 * Color coding for verdicts (supported, uncertain, refuted)
202 * Confidence percentages clearly visible
203 * Mobile responsive (panels stack vertically on small screens) **Implementation Notes**:
204 * Generated automatically by AKEL for every analyzed document
205 * Updates when verdict evolves (maintains version history)
206 * Exportable as standalone summary report
207 * Shareable via permanent URL ==== FR13 — In-Article Claim Highlighting ==== **Fulfills**: UN-17 (In-article claim highlighting) **Purpose**: Enable readers to quickly assess claim credibility while reading by visually highlighting factual claims with color-coded indicators ==== Visual Example: Article with Highlighted Claims ==== (% class="box" %)
208 (((
Robert Schaub 1.5 209 **Article: "New Study Shows Benefits of Mediterranean Diet"** A recent study published in the Journal of Nutrition has revealed new findings about the Mediterranean diet.
210
211 (% class="box successmessage" style="margin:10px 0;" %)
Robert Schaub 1.1 212 (((
213 🟢 **Researchers found that Mediterranean diet followers had a 25% lower risk of heart disease compared to control groups** (% style="font-size:0.9em; color:#666;" %)
214 ↑ WELL SUPPORTED • 87% confidence
215 [[Click for evidence details →]]
Robert Schaub 1.5 216
217
218 )))
219
220 The study, which followed 10,000 participants over five years, showed significant improvements in cardiovascular health markers.
221
222 (% class="box warningmessage" style="margin:10px 0;" %)
Robert Schaub 1.1 223 (((
224 🟡 **Some experts believe this diet can completely prevent heart attacks** (% style="font-size:0.9em; color:#666;" %)
225 ↑ UNCERTAIN • 45% confidence
226 Overstated - evidence shows risk reduction, not prevention
227 [[Click for details →]]
Robert Schaub 1.5 228
229
230 )))
231
232 Dr. Maria Rodriguez, lead researcher, recommends incorporating more olive oil, fish, and vegetables into daily meals.
233
234 (% class="box errormessage" style="margin:10px 0;" %)
Robert Schaub 1.1 235 (((
236 🔴 **The study proves that saturated fats cause heart disease** (% style="font-size:0.9em; color:#666;" %)
237 ↑ REFUTED • 15% confidence
238 Claim not supported by study design; correlation ≠ causation
239 [[Click for counter-evidence →]]
Robert Schaub 1.5 240
241
242 )))
243
244 Participants also reported feeling more energetic and experiencing better sleep quality, though these were secondary measures.
245 )))**Legend:**
Robert Schaub 1.1 246 * 🟢 = Well-supported claim (confidence ≥75%)
247 * 🟡 = Uncertain claim (confidence 40-74%)
248 * 🔴 = Refuted/unsupported claim (confidence <40%)
249 * Plain text = Non-factual content (context, opinions, recommendations) ==== Tooltip on Hover/Click ==== (% class="box infomessage" %)
250 (((
251 **FactHarbor Analysis** **Claim:**
252 "Researchers found that Mediterranean diet followers had a 25% lower risk of heart disease" **Verdict:** WELL SUPPORTED
253 **Confidence:** 87% **Evidence Summary:**
Robert Schaub 1.5 254
Robert Schaub 1.1 255 * Meta-analysis of 12 RCTs confirms 23-28% risk reduction
256 * Consistent findings across multiple populations
257 * Published in peer-reviewed journal (high credibility) **Uncertainty Factors:**
258 * Exact percentage varies by study (20-30% range) [[View Full Analysis →]]
Robert Schaub 1.5 259 )))**Color-Coding System**:
Robert Schaub 1.1 260 * **Green**: Well-supported claims (confidence ≥75%, strong evidence)
261 * **Yellow/Orange**: Uncertain claims (confidence 40-74%, conflicting or limited evidence)
262 * **Red**: Refuted or unsupported claims (confidence <40%, contradicted by evidence)
Robert Schaub 1.5 263 * **Gray/Neutral**: Non-factual content (opinions, questions, procedural text) ==== Interactive Highlighting Example (Detailed View) ====
264
Robert Schaub 1.1 265 |=**Article Text**|=**Status**|=**Analysis**
Robert Schaub 1.5 266 |(((
267 A recent study published in the Journal of Nutrition has revealed new findings about the Mediterranean diet.
268 )))|(% style="text-align:center;" %)Plain text|(% style="font-style:italic; color:#888;" %)Context - no highlighting
269 |(((
270 //Researchers found that Mediterranean diet followers had a 25% lower risk of heart disease compared to control groups//
271 )))|(% style="background-color:#D4EDDA; text-align:center; padding:8px;" %)🟢 **WELL SUPPORTED**|(((
Robert Schaub 1.1 272 **87% confidence** Meta-analysis of 12 RCTs confirms 23-28% risk reduction [[View Full Analysis]]
273 )))
Robert Schaub 1.5 274 |(((
275 The study, which followed 10,000 participants over five years, showed significant improvements in cardiovascular health markers.
276 )))|(% style="text-align:center;" %)Plain text|(% style="font-style:italic; color:#888;" %)Methodology - no highlighting
277 |(((
278 //Some experts believe this diet can completely prevent heart attacks//
279 )))|(% style="background-color:#FFF3CD; text-align:center; padding:8px;" %)🟡 **UNCERTAIN**|(((
Robert Schaub 1.1 280 **45% confidence** Overstated - evidence shows risk reduction, not prevention [[View Details]]
281 )))
Robert Schaub 1.5 282 |(((
283 Dr. Rodriguez recommends incorporating more olive oil, fish, and vegetables into daily meals.
284 )))|(% style="text-align:center;" %)Plain text|(% style="font-style:italic; color:#888;" %)Recommendation - no highlighting
285 |(((
286 //The study proves that saturated fats cause heart disease//
287 )))|(% style="background-color:#F8D7DA; text-align:center; padding:8px;" %)🔴 **REFUTED**|(((
Robert Schaub 1.1 288 **15% confidence** Claim not supported by study; correlation ≠ causation [[View Counter-Evidence]]
Robert Schaub 1.5 289 )))**Design Notes:**
290
Robert Schaub 1.1 291 * Highlighted claims use italics to distinguish from plain text
292 * Color backgrounds match XWiki message box colors (success/warning/error)
293 * Status column shows verdict prominently
294 * Analysis column provides quick summary with link to details **User Actions**:
295 * **Hover** over highlighted claim → Tooltip appears
296 * **Click** highlighted claim → Detailed analysis modal/panel
297 * **Toggle** button to turn highlighting on/off
298 * **Keyboard**: Tab through highlighted claims **Interaction Design**:
299 * Hover/click on highlighted claim → Show tooltip with: * Claim text * Verdict (e.g., "WELL SUPPORTED") * Confidence score (e.g., "85%") * Brief evidence summary * Link to detailed analysis
300 * Toggle highlighting on/off (user preference)
301 * Adjustable color intensity for accessibility **Technical Requirements**:
302 * Real-time highlighting as page loads (non-blocking)
303 * Claim boundary detection (start/end of assertion)
304 * Handle nested or overlapping claims
305 * Preserve original article formatting
306 * Work with various content formats (HTML, plain text, PDFs) **Performance Requirements**:
307 * Highlighting renders within 500ms of page load
308 * No perceptible delay in reading experience
309 * Efficient DOM manipulation (avoid reflows) **Accessibility**:
310 * Color-blind friendly palette (use patterns/icons in addition to color)
311 * Screen reader compatible (ARIA labels for claim credibility)
312 * Keyboard navigation to highlighted claims **Implementation Notes**:
313 * Claims extracted and analyzed by AKEL during initial processing
314 * Highlighting data stored as annotations with byte offsets
315 * Client-side rendering of highlights based on verdict data
316 * Mobile responsive (tap instead of hover) === 8.5 Workflow & Moderation === ==== FR9 — Publication Workflow ==== **Fulfills**: UN-1 (Fast access to verified content), UN-16 (Clear review status) **Simple flow**:
Robert Schaub 1.5 317
Robert Schaub 1.1 318 1. Claim submitted
319 2. AKEL processes (automated)
320 3. If confidence > threshold: Publish (labeled as AI-generated)
321 4. If confidence < threshold: Flag for improvement
322 5. If risk score > threshold: Flag for moderator **No multi-stage approval process** ==== FR10 — Moderation ==== **Focus on abuse, not routine quality**:
Robert Schaub 1.5 323
Robert Schaub 1.1 324 * Automated abuse detection
325 * Moderators handle flags
326 * Quick response to harmful content
327 * Minimal involvement in routine content ==== FR11 — Audit Trail ==== **Fulfills**: UN-14 (API access to histories), UN-15 (Evolution tracking) * All edits logged
328 * Version history public
329 * Moderation decisions documented
330 * System improvements tracked == 9. Non-Functional Requirements == === 9.1 NFR1 — Performance === **Fulfills**: UN-4 (Fast fact-checking), UN-11 (Responsive filtering) * Claim processing: < 30 seconds
331 * Search response: < 2 seconds
332 * Page load: < 3 seconds
333 * 99% uptime === 9.2 NFR2 — Scalability === **Fulfills**: UN-14 (API access at scale) * Handle 10,000 claims initially
334 * Scale to 1M+ claims
335 * Support 100K+ concurrent users
336 * Automated processing scales linearly === 9.3 NFR3 — Transparency === **Fulfills**: UN-7 (Evidence transparency), UN-9 (Methodology transparency), UN-13 (Citable verdicts), UN-15 (Evolution visibility) * All algorithms open source
337 * All data exportable
338 * All decisions documented
339 * Quality metrics public === 9.4 NFR4 — Security & Privacy === * Follow [[Privacy Policy>>FactHarbor.Organisation.How-We-Work-Together.Privacy-Policy]]
340 * Secure authentication
341 * Data encryption
342 * Regular security audits === 9.5 NFR5 — Maintainability === * Modular architecture
343 * Automated testing
344 * Continuous integration
345 * Comprehensive documentation === NFR11: AKEL Quality Assurance Framework === **Fulfills:** AI safety, IFCN methodology transparency **Specification:** Multi-layer AI quality gates to detect hallucinations, low-confidence results, and logical inconsistencies. ==== Quality Gate 1: Claim Extraction Validation ==== **Purpose:** Ensure extracted claims are factual assertions (not opinions/predictions) **Checks:**
Robert Schaub 1.5 346
Robert Schaub 1.1 347 1. **Factual Statement Test:** Is this verifiable? (Yes/No)
348 2. **Opinion Detection:** Contains hedging language? ("I think", "probably", "best")
349 3. **Future Prediction Test:** Makes claims about future events?
350 4. **Specificity Score:** Contains specific entities, numbers, dates? **Thresholds:**
Robert Schaub 1.5 351
Robert Schaub 1.1 352 * Factual: Must be "Yes"
353 * Opinion markers: <2 hedging phrases
354 * Specificity: ≥3 specific elements **Action if Failed:** Flag as "Non-verifiable", do NOT generate verdict ==== Quality Gate 2: Evidence Relevance Validation ==== **Purpose:** Ensure AI-linked evidence actually relates to claim **Checks:**
Robert Schaub 1.5 355
Robert Schaub 1.1 356 1. **Semantic Similarity Score:** Evidence vs. claim (embeddings)
357 2. **Entity Overlap:** Shared people/places/things?
358 3. **Topic Relevance:** Discusses claim subject? **Thresholds:**
Robert Schaub 1.5 359
Robert Schaub 1.1 360 * Similarity: ≥0.6 (cosine similarity)
361 * Entity overlap: ≥1 shared entity
362 * Topic relevance: ≥0.5 **Action if Failed:** Discard irrelevant evidence ==== Quality Gate 3: Scenario Coherence Check ==== **Purpose:** Validate scenario assumptions are logical and complete **Checks:**
Robert Schaub 1.5 363
Robert Schaub 1.1 364 1. **Completeness:** All required fields populated
365 2. **Internal Consistency:** Assumptions don't contradict
366 3. **Distinguishability:** Scenarios meaningfully different **Thresholds:**
Robert Schaub 1.5 367
Robert Schaub 1.1 368 * Required fields: 100%
369 * Contradiction score: <0.3
370 * Scenario similarity: <0.8 **Action if Failed:** Merge duplicates, reduce confidence -20% ==== Quality Gate 4: Verdict Confidence Assessment ==== **Purpose:** Only publish high-confidence verdicts **Checks:**
Robert Schaub 1.5 371
Robert Schaub 1.1 372 1. **Evidence Count:** Minimum 2 sources
373 2. **Source Quality:** Average reliability ≥0.6
374 3. **Evidence Agreement:** Supporting vs. contradicting ≥0.6
375 4. **Uncertainty Factors:** Hedging in reasoning **Confidence Tiers:**
Robert Schaub 1.5 376
Robert Schaub 1.1 377 * **HIGH (80-100%):** ≥3 sources, ≥0.7 quality, ≥80% agreement
378 * **MEDIUM (50-79%):** ≥2 sources, ≥0.6 quality, ≥60% agreement
379 * **LOW (0-49%):** <2 sources OR low quality/agreement
380 * **INSUFFICIENT:** <2 sources → DO NOT PUBLISH **Implementation Phases:**
381 * **POC1:** Gates 1 & 4 only (basic validation)
382 * **POC2:** All 4 gates (complete framework)
383 * **V1.0:** Hardened with <5% hallucination rate **Acceptance Criteria:**
384 * ✅ All gates operational
385 * ✅ Hallucination rate <5%
386 * ✅ Quality metrics public === NFR12: Security Controls === **Fulfills:** Production readiness, legal compliance **Requirements:**
Robert Schaub 1.5 387
Robert Schaub 1.1 388 1. **Input Validation:** SQL injection, XSS, CSRF prevention
389 2. **Rate Limiting:** 5 analyses per minute per IP
390 3. **Authentication:** Secure sessions, API key rotation
391 4. **Data Protection:** HTTPS, encryption, backups
392 5. **Security Audit:** Penetration testing, GDPR compliance **Milestone:** Beta 0 (essential), V1.0 (complete) **BLOCKER** === NFR13: Quality Metrics Transparency === **Fulfills:** IFCN transparency, user trust **Public Metrics:**
Robert Schaub 1.5 393
Robert Schaub 1.1 394 * Quality gates performance
395 * Evidence quality stats
396 * Hallucination rate
397 * User feedback **Milestone:** POC2 (internal), Beta 0 (public), V1.0 (real-time) == 10. Requirements Priority Matrix ==
398
399 This table shows all functional and non-functional requirements ordered by urgency and priority.
400
401 **Note:** Implementation phases (POC1, POC2, Beta 0, V1.0) are defined in [[POC Requirements>>FactHarbor.Specification.POC.Requirements]] and [[Implementation Roadmap>>FactHarbor.Implementation-Roadmap.WebHome]], not in this priority matrix.
402
403 **Priority Levels:**
Robert Schaub 1.5 404
Robert Schaub 1.1 405 * **CRITICAL** - System doesn't work without it, or major safety/legal risk
406 * **HIGH** - Core functionality, essential for success
407 * **MEDIUM** - Important but not blocking
408 * **LOW** - Nice to have, can be deferred
409
410 **Urgency Levels:**
Robert Schaub 1.5 411
Robert Schaub 1.1 412 * **HIGH** - Immediate need (critical for proof of concept)
413 * **MEDIUM** - Important but not immediate
414 * **LOW** - Future enhancement
415
416 |= ID |= Title |= Priority |= Urgency |= Reason (for HIGH priority/urgency)
Robert Schaub 1.5 417 | **HIGH URGENCY** |||||\\
Robert Schaub 1.1 418 | **FR1** | Claim Intake | CRITICAL | HIGH | System entry point - cannot process claims without it
419 | **FR5** | Evidence Collection | CRITICAL | HIGH | Core fact-checking functionality - no evidence = no verdict
420 | **FR7** | Verdict Computation | CRITICAL | HIGH | The output users see - core value proposition
421 | **NFR11** | Quality Assurance Framework | CRITICAL | HIGH | Prevents AI hallucinations - FactHarbor's key differentiator
422 | **FR2** | Claim Normalization | HIGH | HIGH | Standardizes AI input for reliable processing
423 | **FR3** | Claim Classification | HIGH | HIGH | Identifies factual vs non-factual claims - essential quality gate
424 | **FR4** | Scenario Generation | HIGH | HIGH | Handles ambiguous claims - key methodology innovation
425 | **FR6** | Evidence Evaluation | HIGH | HIGH | Source quality directly impacts verdict credibility
Robert Schaub 1.5 426 | **MEDIUM URGENCY** |||||\\
Robert Schaub 1.1 427 | **NFR12** | Security Controls | CRITICAL | MEDIUM | —
428 | **FR9** | Corrections | HIGH | MEDIUM | IFCN requirement - mandatory for credibility
429 | **FR44** | ClaimReview Schema | HIGH | MEDIUM | Search engine visibility - MUST for V1.0 discovery
430 | **FR45** | Corrections Notification | HIGH | MEDIUM | IFCN compliance - required for corrections transparency
431 | **FR48** | Safety Framework | HIGH | MEDIUM | Prevents harm to contributors - legal and ethical requirement
432 | **NFR3** | Transparency | HIGH | MEDIUM | Core principle - essential for trust and credibility
433 | **NFR13** | Quality Metrics | HIGH | MEDIUM | Monitoring and transparency - IFCN compliance
434 | **FR8** | User Contribution | MEDIUM | MEDIUM | —
435 | **FR10** | Publishing | MEDIUM | MEDIUM | —
436 | **FR13** | API | MEDIUM | MEDIUM | —
437 | **FR46** | Image Verification | MEDIUM | MEDIUM | —
438 | **FR47** | Archive.org Integration | MEDIUM | MEDIUM | —
439 | **FR54** | Evidence Deduplication | MEDIUM | MEDIUM | —
440 | **NFR1** | Performance | MEDIUM | MEDIUM | —
441 | **NFR2** | Scalability | MEDIUM | MEDIUM | —
442 | **NFR4** | Security & Privacy | MEDIUM | MEDIUM | —
443 | **NFR5** | Maintainability | MEDIUM | MEDIUM | —
Robert Schaub 1.5 444 | **LOW URGENCY** |||||\\
Robert Schaub 1.1 445 | **FR11** | Social Sharing | LOW | LOW | —
446 | **FR12** | Notifications | LOW | LOW | —
447 | **FR49** | A/B Testing | LOW | LOW | —
448 | **FR50** | OSINT Toolkit Integration | LOW | LOW | —
449 | **FR51** | Video Verification System | LOW | LOW | —
450 | **FR52** | Interactive Detection Training | LOW | LOW | —
451 | **FR53** | Cross-Organizational Sharing | LOW | LOW | —
452
453 **Total:** 32 requirements (24 Functional, 8 Non-Functional)
454
455 **Notes:**
Robert Schaub 1.5 456
Robert Schaub 1.1 457 * Reason column: Only populated for HIGH priority or HIGH urgency items
458 * MEDIUM and LOW priority items use "—" (no specific reason needed)
459
460 **See also:**
Robert Schaub 1.5 461
Robert Schaub 1.1 462 * [[POC Requirements>>FactHarbor.Specification.POC.Requirements]] - POC1 scope and simplifications
463 * [[Implementation Roadmap>>FactHarbor.Implementation-Roadmap.WebHome]] - Phase-by-phase implementation plan
Robert Schaub 1.15 464 * [[User Needs>>Archive.FactHarbor 2026\.01\.20.Specification.Requirements.User Needs.WebHome]] - Foundation that drives these requirements
Robert Schaub 1.1 465
466 === 10.1 User Needs Priority ===
467
468 User Needs (UN) are the foundation that drives functional and non-functional requirements. They are not independently prioritized; instead, their priority is inherited from the FR/NFR requirements they drive.
469
470 |= ID |= Title |= Drives Requirements
471 | **UN-1** | Trust Assessment at a Glance | Multiple FR/NFR
472 | **UN-2** | Claim Extraction and Verification | FR1-7
473 | **UN-3** | Article Summary with FactHarbor Analysis Summary | FR4
474 | **UN-4** | Social Media Fact-Checking | FR1, FR4
475 | **UN-5** | Source Provenance and Track Records | FR6
476 | **UN-6** | Publisher Reliability History | FR6
477 | **UN-7** | Evidence Transparency | NFR3
478 | **UN-8** | Understanding Disagreement and Consensus | FR4
479 | **UN-9** | Methodology Transparency | NFR3, NFR11
480 | **UN-10** | Manipulation Tactics Detection | FR48
481 | **UN-11** | Filtered Research | FR3
482 | **UN-12** | Submit Unchecked Claims | FR8
483 | **UN-13** | Cite FactHarbor Verdicts | FR10
484 | **UN-14** | API Access for Integration | FR13
485 | **UN-15** | Verdict Evolution Timeline | FR7
486 | **UN-16** | AI vs. Human Review Status | FR9
487 | **UN-17** | In-Article Claim Highlighting | FR1
488 | **UN-26** | Search Engine Visibility | FR44
489 | **UN-27** | Visual Claim Verification | FR46
490 | **UN-28** | Safe Contribution Environment | FR48
491
492 **Total:** 20 User Needs
493
494 **Note:** Each User Need inherits priority from the requirements it drives. For example, UN-2 (Claim Extraction and Verification) drives FR1-7, which are CRITICAL/HIGH priority, therefore UN-2 is also critical to the project.
495
Robert Schaub 1.5 496 == 11. MVP Scope ==
497
498 **Phase 1 : Read-Only MVP** Build:
499
Robert Schaub 1.1 500 * Automated claim analysis
501 * Confidence scoring
502 * Source evaluation
503 * Browse/search interface
504 * User flagging system **Goal**: Prove AI quality before adding user editing **User Needs fulfilled in Phase 1**: UN-1, UN-2, UN-3, UN-4, UN-5, UN-6, UN-7, UN-8, UN-9, UN-12 **Phase 2 : User Contributions** Add only if needed:
505 * Simple editing (Wikipedia-style)
506 * Reputation system
507 * Basic moderation
508 * In-article claim highlighting (FR13) **Additional User Needs fulfilled**: UN-13, UN-17 **Phase 3 : Refinement** * Continuous quality improvement
509 * Feature additions based on real usage
510 * Scale infrastructure **Additional User Needs fulfilled**: UN-14 (API access), UN-15 (Full evolution tracking) **Deferred**:
511 * Federation (until multiple successful instances exist)
512 * Complex contribution workflows (focus on automation)
513 * Extensive role hierarchy (keep simple) == 12. Success Metrics == **System Quality** (track weekly):
514 * Error rate by category (target: -10%/month)
515 * Average confidence score (target: increase)
516 * Source quality distribution (target: more high-quality)
517 * Contradiction detection rate (target: increase) **Efficiency** (track monthly):
518 * Claims processed per hour (target: increase)
519 * Human hours per claim (target: decrease)
520 * Automation coverage (target: >90%)
521 * Re-work rate (target: <5%) **User Satisfaction** (track quarterly):
522 * User flag rate (issues found)
523 * Correction acceptance rate (flags valid)
524 * Return user rate
525 * Trust indicators (surveys) **User Needs Metrics** (track quarterly):
526 * UN-1: % users who understand trust scores
527 * UN-4: Time to verify social media claim (target: <30s)
528 * UN-7: % users who access evidence details
529 * UN-8: % users who view multiple scenarios
530 * UN-15: % users who check evolution timeline
Robert Schaub 1.15 531 * UN-17: % users who enable in-article highlighting; avg. time spent on highlighted vs. non-highlighted articles == 13. Requirements Traceability == For full traceability matrix showing which requirements fulfill which user needs, see: * [[User Needs>>Archive.FactHarbor 2026\.01\.20.Specification.Requirements.User Needs.WebHome]] - Section 8 includes comprehensive mapping tables == 14. Related Pages == **Non-Functional Requirements (see Section 9):**
Robert Schaub 1.1 532 * [[NFR11 — AKEL Quality Assurance Framework>>#NFR11]]
533 * [[NFR12 — Security Controls>>#NFR12]]
534 * [[NFR13 — Quality Metrics Transparency>>#NFR13]] **Other Requirements:**
Robert Schaub 1.15 535 * [[User Needs>>Archive.FactHarbor 2026\.01\.20.Specification.Requirements.User Needs.WebHome]]
Robert Schaub 1.5 536 * \\
Robert Schaub 1.15 537 * [[Gap Analysis>>FactHarbor.Specification.Requirements.GapAnalysis]] * **[[User Needs>>Archive.FactHarbor 2026\.01\.20.Specification.Requirements.User Needs.WebHome]]** - What users need (drives these requirements)
Robert Schaub 1.13 538 * [[Architecture>>Archive.FactHarbor 2026\.01\.20.Specification.Architecture.WebHome]] - How requirements are implemented
Robert Schaub 1.14 539 * [[Data Model>>Archive.FactHarbor 2026\.01\.20.Specification.Data Model.WebHome]] - Data structures supporting requirements
Robert Schaub 1.16 540 * [[Workflows>>Archive.FactHarbor 2026\.01\.20.Specification.Workflows.WebHome]] - User interaction workflows
Robert Schaub 1.12 541 * [[AKEL>>Archive.FactHarbor 2026\.01\.20.Specification.AI Knowledge Extraction Layer (AKEL).WebHome]] - AI system fulfilling automation requirements
Robert Schaub 1.11 542 * [[Global Rules>>Archive.FactHarbor 2026\.01\.20.Organisation.How-We-Work-Together.GlobalRules.WebHome]]
Robert Schaub 1.1 543 * [[Privacy Policy>>FactHarbor.Organisation.How-We-Work-Together.Privacy-Policy]] = V0.9.70 Additional Requirements = == Functional Requirements (Additional) == === FR44: ClaimReview Schema Implementation === Generate valid ClaimReview structured data for Google/Bing visibility. **Schema.org Mapping:**
544 * 80-100% likelihood → 5 (Highly Supported)
545 * 60-79% → 4 (Supported)
546 * 40-59% → 3 (Mixed)
547 * 20-39% → 2 (Questionable)
548 * 0-19% → 1 (Refuted) **Milestone:** V1.0 === FR45: User Corrections Notification System === Notify users when analyses are corrected. **Mechanisms:**
Robert Schaub 1.5 549
Robert Schaub 1.1 550 1. In-page banner (30 days)
551 2. Public correction log
552 3. Email notifications (opt-in)
553 4. RSS/API feed **Milestone:** Beta 0 (basic), V1.0 (complete) **BLOCKER** === FR46: Image Verification System === **Methods:**
554 1. Reverse image search
555 2. EXIF metadata analysis
556 3. Manipulation detection (basic)
557 4. Context verification **Milestone:** Beta 0 (basic), V1.0 (extended) === FR47: Archive.org Integration === Auto-save evidence sources to Wayback Machine. **Milestone:** Beta 0 === FR48: Safety Framework for Contributors === Protect contributors from harassment and legal threats. **Milestone:** V1.1 === FR49: A/B Testing Framework === Test AKEL approaches and UI designs systematically. **Milestone:** V1.0 === FR50-FR53: Future Enhancements (V2.0+) === * **FR50:** OSINT Toolkit Integration
Robert Schaub 1.5 558
Robert Schaub 1.1 559 * **FR51:** Video Verification System
560 * **FR52:** Interactive Detection Training
561 * **FR53:** Cross-Organizational Sharing **Milestone:** V2.0+ (12-18 months post-launch)
Robert Schaub 1.5 562
Robert Schaub 1.1 563 === FR54: Evidence Deduplication ===
564
565 **Fulfills:** Accurate evidence counting, quality metrics
566
567 **Purpose:** Avoid counting the same source multiple times when it appears in different forms.
568
569 **Specification:**
570
571 **Deduplication Logic:**
572
573 1. **URL Normalization:**
574
Robert Schaub 1.5 575 * Remove tracking parameters (?utm_source=...)
576 * Normalize http/https
577 * Normalize www/non-www
578 * Handle redirects
579
Robert Schaub 1.1 580 2. **Content Similarity:**
581
Robert Schaub 1.5 582 * If two sources have >90% text similarity → Same source
583 * If one is subset of other → Same source
584 * Use fuzzy matching for minor differences
585
Robert Schaub 1.1 586 3. **Cross-Domain Syndication:**
587
Robert Schaub 1.5 588 * Detect wire service content (AP, Reuters)
589 * Mark as single source if syndicated
590 * Count original publication only
591
Robert Schaub 1.1 592 **Display:**
593
594 {{code}}
595 Evidence Sources (3 unique, 5 total):
596 1. Original Article (NYTimes)
597 - Also appeared in: WashPost, Guardian (syndicated)
598 2. Research Paper (Nature)
599 3. Official Statement (WHO)
600 {{/code}}
601
602 **Acceptance Criteria:**
Robert Schaub 1.5 603
Robert Schaub 1.1 604 * ✅ Duplicate URLs recognized
605 * ✅ Syndicated content detected
606 * ✅ Evidence count shows "unique" vs "total"
607
608 **Milestone:** POC2, Beta 0
609
Robert Schaub 1.5 610 == Enhanced Existing Requirements ==
611
612 ~=== FR7: Automated Verdicts (Enhanced with Quality Gates) === **POC1+ Enhancement:** After AKEL generates verdict, it passes through quality gates: {{code}}Workflow:
Robert Schaub 1.1 613 1. Extract claims ↓
614 2. [GATE 1] Validate fact-checkable ↓
615 3. Generate scenarios ↓
616 4. Generate verdicts ↓
617 5. [GATE 4] Validate confidence ↓
Robert Schaub 1.5 618 6. Display to user{{/code}} **Updated Verdict States:**
619
Robert Schaub 1.1 620 * PUBLISHED
621 * INSUFFICIENT_EVIDENCE
622 * NON_FACTUAL_CLAIM
623 * PROCESSING
Robert Schaub 1.5 624 * ERROR === FR4: Analysis Summary (Enhanced with Quality Metadata) === **POC1+ Enhancement:** Display quality indicators: {{code}}Analysis Summary: Verifiable Claims: 3/5 High Confidence Verdicts: 1 Medium Confidence: 2 Evidence Sources: 12 Avg Source Quality: 0.73 Quality Score: 8.5/10{{/code}}