Changes for page Requirements

Last modified by Robert Schaub on 2026/02/08 21:32

From version 7.1
edited by Robert Schaub
on 2025/12/23 09:47
Change comment: Imported from XAR
To version 7.4
edited by Robert Schaub
on 2026/01/20 20:25
Change comment: Renamed back-links.

Summary

Details

Page properties
Parent
... ... @@ -1,1 +1,1 @@
1 -Test.FactHarbor.Specification.WebHome
1 +Test.FactHarbor V0\.9\.76.Specification.WebHome
Content
... ... @@ -32,6 +32,7 @@
32 32  **Who**: Anyone (no login required)
33 33  
34 34  **Can**:
35 +
35 35  * Browse and search claims
36 36  * View scenarios, evidence, verdicts, and confidence scores
37 37  * Flag issues or errors
... ... @@ -39,6 +39,7 @@
39 39  * Submit claims automatically (new claims added if not duplicates)
40 40  
41 41  **Cannot**:
43 +
42 42  * Modify content
43 43  * Access edit history details
44 44  
... ... @@ -49,6 +49,7 @@
49 49  **Who**: Registered users (earns reputation through contributions)
50 50  
51 51  **Can**:
54 +
52 52  * Everything a Reader can do
53 53  * Edit claims, evidence, and scenarios
54 54  * Add sources and citations
... ... @@ -57,6 +57,7 @@
57 57  * Earn reputation points for quality contributions
58 58  
59 59  **Reputation System**:
63 +
60 60  * New contributors: Limited edit privileges
61 61  * Established contributors (established reputation): Full edit access
62 62  * Trusted contributors (substantial reputation): Can approve certain changes
... ... @@ -64,6 +64,7 @@
64 64  * Reputation lost through: Reverted edits, invalid flags, abuse
65 65  
66 66  **Cannot**:
71 +
67 67  * Delete or hide content (only moderators)
68 68  * Override moderation decisions
69 69  
... ... @@ -74,6 +74,7 @@
74 74  **Who**: Trusted community members with proven track record, appointed by governance board
75 75  
76 76  **Can**:
82 +
77 77  * Review flagged content
78 78  * Hide harmful or abusive content
79 79  * Resolve disputes between contributors
... ... @@ -82,6 +82,7 @@
82 82  * Access full audit logs
83 83  
84 84  **Cannot**:
91 +
85 85  * Change governance rules
86 86  * Permanently ban users without board approval
87 87  * Override technical quality gates
... ... @@ -95,6 +95,7 @@
95 95  **Not a permanent role**: Contacted externally when needed for contested claims in their domain
96 96  
97 97  **When used**:
105 +
98 98  * Medical claims with life/safety implications
99 99  * Legal interpretations with significant impact
100 100  * Scientific claims with high controversy
... ... @@ -101,6 +101,7 @@
101 101  * Technical claims requiring specialized knowledge
102 102  
103 103  **Process**:
112 +
104 104  * Moderator identifies need for expert input
105 105  * Contact expert externally (don't require them to be users)
106 106  * Trusted Contributor provides written opinion with sources
... ... @@ -120,11 +120,13 @@
120 120  **Status**: Visible to all users
121 121  
122 122  **Includes**:
132 +
123 123  * AI-generated analyses (default state)
124 124  * User-contributed content
125 125  * Edited/improved content
126 126  
127 127  **Quality Indicators** (displayed with content):
138 +
128 128  * **Confidence Score**: 0-100% (AI's confidence in analysis)
129 129  * **Source Quality Score**: 0-100% (based on source track record)
130 130  * **Controversy Flag**: If high dispute/edit activity
... ... @@ -134,6 +134,7 @@
134 134  * **Review Status**: AI-generated / Human-reviewed / Expert-validated
135 135  
136 136  **Automatic Warnings**:
148 +
137 137  * Confidence < 60%: "Low confidence - use caution"
138 138  * Source quality < 40%: "Sources may be unreliable"
139 139  * High controversy: "Disputed - multiple interpretations exist"
... ... @@ -146,6 +146,7 @@
146 146  **Status**: Not visible to regular users (only to moderators)
147 147  
148 148  **Reasons**:
161 +
149 149  * Spam or advertising
150 150  * Personal attacks or harassment
151 151  * Illegal content
... ... @@ -154,6 +154,7 @@
154 154  * Abuse or harmful content
155 155  
156 156  **Process**:
170 +
157 157  * Automated detection flags for moderator review
158 158  * Moderator confirms and hides
159 159  * Original author notified with reason
... ... @@ -176,6 +176,7 @@
176 176  **AKEL is the primary system**. Human contributions supplement and train AKEL.
177 177  
178 178  **AKEL Must**:
193 +
179 179  * Mark all outputs as AI-generated
180 180  * Display confidence scores prominently
181 181  * Provide source citations
... ... @@ -184,6 +184,7 @@
184 184  * Learn from human corrections
185 185  
186 186  **When AKEL Makes Errors**:
202 +
187 187  1. Capture the error pattern (what, why, how common)
188 188  2. Improve the system (better prompt, model, validation)
189 189  3. Re-process affected claims automatically
... ... @@ -214,6 +214,7 @@
214 214  === 4.1 Source Requirements ===
215 215  
216 216  **Track Record Over Credentials**:
233 +
217 217  * Sources evaluated by historical accuracy
218 218  * Correction policy matters
219 219  * Independence from conflicts of interest
... ... @@ -220,6 +220,7 @@
220 220  * Methodology transparency
221 221  
222 222  **Source Quality Database**:
240 +
223 223  * Automated tracking of source accuracy
224 224  * Correction frequency
225 225  * Reliability score (updated continuously)
... ... @@ -251,6 +251,7 @@
251 251  === 4.4 Confidence Scoring ===
252 252  
253 253  **Automated confidence calculation based on**:
272 +
254 254  * Source quality scores
255 255  * Evidence consistency
256 256  * Contradiction detection
... ... @@ -258,6 +258,7 @@
258 258  * Historical accuracy of similar claims
259 259  
260 260  **Thresholds**:
280 +
261 261  * < 40%: Too low to publish (needs improvement)
262 262  * 40-60%: Published with "Low confidence" warning
263 263  * 60-80%: Published as standard
... ... @@ -274,6 +274,7 @@
274 274  === 5.1 Risk Score Calculation ===
275 275  
276 276  **Factors** (weighted algorithm):
297 +
277 277  * **Domain sensitivity**: Medical, legal, safety auto-flagged higher
278 278  * **Potential impact**: Views, citations, spread
279 279  * **Controversy level**: Flags, disputes, edit wars
... ... @@ -300,6 +300,7 @@
300 300  === 6.1 Error Capture ===
301 301  
302 302  **When users flag errors or make corrections**:
324 +
303 303  1. What was wrong? (categorize)
304 304  2. What should it have been?
305 305  3. Why did the system fail? (root cause)
... ... @@ -318,6 +318,7 @@
318 318  === 6.3 Quality Metrics Dashboard ===
319 319  
320 320  **Track continuously**:
343 +
321 321  * Error rate by category
322 322  * Source quality distribution
323 323  * Confidence score trends
... ... @@ -343,6 +343,7 @@
343 343  === 7.2 Anomaly Detection ===
344 344  
345 345  **Automated alerts for**:
369 +
346 346  * Sudden quality drops
347 347  * Unusual patterns
348 348  * Contradiction clusters
... ... @@ -395,6 +395,7 @@
395 395  **Fulfills**: UN-2 (Context-dependent verification), UN-3 (Article summary with FactHarbor analysis summary), UN-8 (Understanding disagreement)
396 396  
397 397  **Automated scenario creation**:
422 +
398 398  * AKEL analyzes claim and generates likely scenarios (use-cases and contexts)
399 399  * Each scenario includes: assumptions, definitions, boundaries, evidence context
400 400  * Users can flag incorrect scenarios
... ... @@ -455,6 +455,7 @@
455 455  **Purpose**: Provide side-by-side comparison of what a document claims vs. FactHarbor's complete analysis of its credibility
456 456  
457 457  **Left Panel: Article Summary**:
483 +
458 458  * Document title, source, and claimed credibility
459 459  * "The Big Picture" - main thesis or position change
460 460  * "Key Findings" - structured summary of document's main claims
... ... @@ -462,6 +462,7 @@
462 462  * "Conclusion" - document's bottom line
463 463  
464 464  **Right Panel: FactHarbor Analysis Summary**:
491 +
465 465  * FactHarbor's independent source credibility assessment
466 466  * Claim-by-claim verdicts with confidence scores
467 467  * Methodology assessment (strengths, limitations)
... ... @@ -469,6 +469,7 @@
469 469  * Analysis ID for reference
470 470  
471 471  **Design Principles**:
499 +
472 472  * No scrolling required - both panels visible simultaneously
473 473  * Visual distinction between "what they say" and "FactHarbor's analysis"
474 474  * Color coding for verdicts (supported, uncertain, refuted)
... ... @@ -476,6 +476,7 @@
476 476  * Mobile responsive (panels stack vertically on small screens)
477 477  
478 478  **Implementation Notes**:
507 +
479 479  * Generated automatically by AKEL for every analyzed document
480 480  * Updates when verdict evolves (maintains version history)
481 481  * Exportable as standalone summary report
... ... @@ -502,7 +502,8 @@
502 502  (% style="font-size:0.9em; color:#666;" %)
503 503  ↑ WELL SUPPORTED • 87% confidence
504 504  [[Click for evidence details →]]
505 -(%%)
534 +
535 +
506 506  )))
507 507  
508 508  The study, which followed 10,000 participants over five years, showed significant improvements in cardiovascular health markers.
... ... @@ -515,7 +515,8 @@
515 515  ↑ UNCERTAIN • 45% confidence
516 516  Overstated - evidence shows risk reduction, not prevention
517 517  [[Click for details →]]
518 -(%%)
548 +
549 +
519 519  )))
520 520  
521 521  Dr. Maria Rodriguez, lead researcher, recommends incorporating more olive oil, fish, and vegetables into daily meals.
... ... @@ -528,7 +528,8 @@
528 528  ↑ REFUTED • 15% confidence
529 529  Claim not supported by study design; correlation ≠ causation
530 530  [[Click for counter-evidence →]]
531 -(%%)
562 +
563 +
532 532  )))
533 533  
534 534  Participants also reported feeling more energetic and experiencing better sleep quality, though these were secondary measures.
... ... @@ -535,6 +535,7 @@
535 535  )))
536 536  
537 537  **Legend:**
570 +
538 538  * 🟢 = Well-supported claim (confidence ≥75%)
539 539  * 🟡 = Uncertain claim (confidence 40-74%)
540 540  * 🔴 = Refuted/unsupported claim (confidence <40%)
... ... @@ -553,11 +553,13 @@
553 553  **Confidence:** 87%
554 554  
555 555  **Evidence Summary:**
589 +
556 556  * Meta-analysis of 12 RCTs confirms 23-28% risk reduction
557 557  * Consistent findings across multiple populations
558 558  * Published in peer-reviewed journal (high credibility)
559 559  
560 560  **Uncertainty Factors:**
595 +
561 561  * Exact percentage varies by study (20-30% range)
562 562  
563 563  [[View Full Analysis →]]
... ... @@ -564,6 +564,7 @@
564 564  )))
565 565  
566 566  **Color-Coding System**:
602 +
567 567  * **Green**: Well-supported claims (confidence ≥75%, strong evidence)
568 568  * **Yellow/Orange**: Uncertain claims (confidence 40-74%, conflicting or limited evidence)
569 569  * **Red**: Refuted or unsupported claims (confidence <40%, contradicted by evidence)
... ... @@ -573,8 +573,12 @@
573 573  
574 574  (% style="width:100%; border-collapse:collapse;" %)
575 575  |=**Article Text**|=**Status**|=**Analysis**
576 -|(((A recent study published in the Journal of Nutrition has revealed new findings about the Mediterranean diet.)))|(% style="text-align:center;" %)Plain text|(% style="font-style:italic; color:#888;" %)Context - no highlighting
577 -|(((//Researchers found that Mediterranean diet followers had a 25% lower risk of heart disease compared to control groups//)))|(% style="background-color:#D4EDDA; text-align:center; padding:8px;" %)🟢 **WELL SUPPORTED**|(((
612 +|(((
613 +A recent study published in the Journal of Nutrition has revealed new findings about the Mediterranean diet.
614 +)))|(% style="text-align:center;" %)Plain text|(% style="font-style:italic; color:#888;" %)Context - no highlighting
615 +|(((
616 +//Researchers found that Mediterranean diet followers had a 25% lower risk of heart disease compared to control groups//
617 +)))|(% style="background-color:#D4EDDA; text-align:center; padding:8px;" %)🟢 **WELL SUPPORTED**|(((
578 578  **87% confidence**
579 579  
580 580  Meta-analysis of 12 RCTs confirms 23-28% risk reduction
... ... @@ -581,8 +581,12 @@
581 581  
582 582  [[View Full Analysis]]
583 583  )))
584 -|(((The study, which followed 10,000 participants over five years, showed significant improvements in cardiovascular health markers.)))|(% style="text-align:center;" %)Plain text|(% style="font-style:italic; color:#888;" %)Methodology - no highlighting
585 -|(((//Some experts believe this diet can completely prevent heart attacks//)))|(% style="background-color:#FFF3CD; text-align:center; padding:8px;" %)🟡 **UNCERTAIN**|(((
624 +|(((
625 +The study, which followed 10,000 participants over five years, showed significant improvements in cardiovascular health markers.
626 +)))|(% style="text-align:center;" %)Plain text|(% style="font-style:italic; color:#888;" %)Methodology - no highlighting
627 +|(((
628 +//Some experts believe this diet can completely prevent heart attacks//
629 +)))|(% style="background-color:#FFF3CD; text-align:center; padding:8px;" %)🟡 **UNCERTAIN**|(((
586 586  **45% confidence**
587 587  
588 588  Overstated - evidence shows risk reduction, not prevention
... ... @@ -589,8 +589,12 @@
589 589  
590 590  [[View Details]]
591 591  )))
592 -|(((Dr. Rodriguez recommends incorporating more olive oil, fish, and vegetables into daily meals.)))|(% style="text-align:center;" %)Plain text|(% style="font-style:italic; color:#888;" %)Recommendation - no highlighting
593 -|(((//The study proves that saturated fats cause heart disease//)))|(% style="background-color:#F8D7DA; text-align:center; padding:8px;" %)🔴 **REFUTED**|(((
636 +|(((
637 +Dr. Rodriguez recommends incorporating more olive oil, fish, and vegetables into daily meals.
638 +)))|(% style="text-align:center;" %)Plain text|(% style="font-style:italic; color:#888;" %)Recommendation - no highlighting
639 +|(((
640 +//The study proves that saturated fats cause heart disease//
641 +)))|(% style="background-color:#F8D7DA; text-align:center; padding:8px;" %)🔴 **REFUTED**|(((
594 594  **15% confidence**
595 595  
596 596  Claim not supported by study; correlation ≠ causation
... ... @@ -599,6 +599,7 @@
599 599  )))
600 600  
601 601  **Design Notes:**
650 +
602 602  * Highlighted claims use italics to distinguish from plain text
603 603  * Color backgrounds match XWiki message box colors (success/warning/error)
604 604  * Status column shows verdict prominently
... ... @@ -605,6 +605,7 @@
605 605  * Analysis column provides quick summary with link to details
606 606  
607 607  **User Actions**:
657 +
608 608  * **Hover** over highlighted claim → Tooltip appears
609 609  * **Click** highlighted claim → Detailed analysis modal/panel
610 610  * **Toggle** button to turn highlighting on/off
... ... @@ -611,16 +611,18 @@
611 611  * **Keyboard**: Tab through highlighted claims
612 612  
613 613  **Interaction Design**:
664 +
614 614  * Hover/click on highlighted claim → Show tooltip with:
615 - * Claim text
616 - * Verdict (e.g., "WELL SUPPORTED")
617 - * Confidence score (e.g., "85%")
618 - * Brief evidence summary
619 - * Link to detailed analysis
666 +* Claim text
667 +* Verdict (e.g., "WELL SUPPORTED")
668 +* Confidence score (e.g., "85%")
669 +* Brief evidence summary
670 +* Link to detailed analysis
620 620  * Toggle highlighting on/off (user preference)
621 621  * Adjustable color intensity for accessibility
622 622  
623 623  **Technical Requirements**:
675 +
624 624  * Real-time highlighting as page loads (non-blocking)
625 625  * Claim boundary detection (start/end of assertion)
626 626  * Handle nested or overlapping claims
... ... @@ -628,16 +628,19 @@
628 628  * Work with various content formats (HTML, plain text, PDFs)
629 629  
630 630  **Performance Requirements**:
683 +
631 631  * Highlighting renders within 500ms of page load
632 632  * No perceptible delay in reading experience
633 633  * Efficient DOM manipulation (avoid reflows)
634 634  
635 635  **Accessibility**:
689 +
636 636  * Color-blind friendly palette (use patterns/icons in addition to color)
637 637  * Screen reader compatible (ARIA labels for claim credibility)
638 638  * Keyboard navigation to highlighted claims
639 639  
640 640  **Implementation Notes**:
695 +
641 641  * Claims extracted and analyzed by AKEL during initial processing
642 642  * Highlighting data stored as annotations with byte offsets
643 643  * Client-side rendering of highlights based on verdict data
... ... @@ -650,6 +650,7 @@
650 650  **Fulfills**: UN-1 (Fast access to verified content), UN-16 (Clear review status)
651 651  
652 652  **Simple flow**:
708 +
653 653  1. Claim submitted
654 654  2. AKEL processes (automated)
655 655  3. If confidence > threshold: Publish (labeled as AI-generated)
... ... @@ -661,6 +661,7 @@
661 661  ==== FR10 — Moderation ====
662 662  
663 663  **Focus on abuse, not routine quality**:
720 +
664 664  * Automated abuse detection
665 665  * Moderators handle flags
666 666  * Quick response to harmful content
... ... @@ -731,6 +731,7 @@
731 731  **Purpose:** Ensure extracted claims are factual assertions (not opinions/predictions)
732 732  
733 733  **Checks:**
791 +
734 734  1. **Factual Statement Test:** Is this verifiable? (Yes/No)
735 735  2. **Opinion Detection:** Contains hedging language? ("I think", "probably", "best")
736 736  3. **Future Prediction Test:** Makes claims about future events?
... ... @@ -737,6 +737,7 @@
737 737  4. **Specificity Score:** Contains specific entities, numbers, dates?
738 738  
739 739  **Thresholds:**
798 +
740 740  * Factual: Must be "Yes"
741 741  * Opinion markers: <2 hedging phrases
742 742  * Specificity: ≥3 specific elements
... ... @@ -748,11 +748,13 @@
748 748  **Purpose:** Ensure AI-linked evidence actually relates to claim
749 749  
750 750  **Checks:**
810 +
751 751  1. **Semantic Similarity Score:** Evidence vs. claim (embeddings)
752 752  2. **Entity Overlap:** Shared people/places/things?
753 753  3. **Topic Relevance:** Discusses claim subject?
754 754  
755 755  **Thresholds:**
816 +
756 756  * Similarity: ≥0.6 (cosine similarity)
757 757  * Entity overlap: ≥1 shared entity
758 758  * Topic relevance: ≥0.5
... ... @@ -764,11 +764,13 @@
764 764  **Purpose:** Validate scenario assumptions are logical and complete
765 765  
766 766  **Checks:**
828 +
767 767  1. **Completeness:** All required fields populated
768 768  2. **Internal Consistency:** Assumptions don't contradict
769 769  3. **Distinguishability:** Scenarios meaningfully different
770 770  
771 771  **Thresholds:**
834 +
772 772  * Required fields: 100%
773 773  * Contradiction score: <0.3
774 774  * Scenario similarity: <0.8
... ... @@ -780,6 +780,7 @@
780 780  **Purpose:** Only publish high-confidence verdicts
781 781  
782 782  **Checks:**
846 +
783 783  1. **Evidence Count:** Minimum 2 sources
784 784  2. **Source Quality:** Average reliability ≥0.6
785 785  3. **Evidence Agreement:** Supporting vs. contradicting ≥0.6
... ... @@ -786,6 +786,7 @@
786 786  4. **Uncertainty Factors:** Hedging in reasoning
787 787  
788 788  **Confidence Tiers:**
853 +
789 789  * **HIGH (80-100%):** ≥3 sources, ≥0.7 quality, ≥80% agreement
790 790  * **MEDIUM (50-79%):** ≥2 sources, ≥0.6 quality, ≥60% agreement
791 791  * **LOW (0-49%):** <2 sources OR low quality/agreement
... ... @@ -792,11 +792,13 @@
792 792  * **INSUFFICIENT:** <2 sources → DO NOT PUBLISH
793 793  
794 794  **Implementation Phases:**
860 +
795 795  * **POC1:** Gates 1 & 4 only (basic validation)
796 796  * **POC2:** All 4 gates (complete framework)
797 797  * **V1.0:** Hardened with <5% hallucination rate
798 798  
799 799  **Acceptance Criteria:**
866 +
800 800  * ✅ All gates operational
801 801  * ✅ Hallucination rate <5%
802 802  * ✅ Quality metrics public
... ... @@ -814,6 +814,7 @@
814 814  ==== API Security ====
815 815  
816 816  **Rate Limiting:**
884 +
817 817  * **Analysis endpoints:** 100 requests/hour per IP
818 818  * **Read endpoints:** 1,000 requests/hour per IP
819 819  * **Search:** 500 requests/hour per IP
... ... @@ -821,21 +821,24 @@
821 821  * **Burst protection:** Max 10 requests/second
822 822  
823 823  **Authentication & Authorization:**
892 +
824 824  * **API Keys:** Required for programmatic access
825 825  * **JWT tokens:** For user sessions (1-hour expiry)
826 826  * **OAuth2:** For third-party integrations
827 827  * **Role-Based Access Control (RBAC):**
828 - * Public: Read-only access to published claims
829 - * Contributor: Submit claims, provide evidence
830 - * Moderator: Review contributions, manage quality
831 - * Admin: System configuration, user management
897 +* Public: Read-only access to published claims
898 +* Contributor: Submit claims, provide evidence
899 +* Moderator: Review contributions, manage quality
900 +* Admin: System configuration, user management
832 832  
833 833  **CORS Policies:**
903 +
834 834  * Whitelist approved domains only
835 835  * No wildcard origins in production
836 836  * Credentials required for sensitive endpoints
837 837  
838 838  **Input Sanitization:**
909 +
839 839  * Validate all user input against schemas
840 840  * Sanitize HTML/JavaScript in text submissions
841 841  * Prevent SQL injection (use parameterized queries)
... ... @@ -843,11 +843,12 @@
843 843  * Max request size: 10MB
844 844  * File upload restrictions: Whitelist file types, scan for malware
845 845  
846 ----
917 +----
847 847  
848 848  ==== Data Security ====
849 849  
850 850  **Encryption at Rest:**
922 +
851 851  * Database encryption using AES-256
852 852  * Encrypted backups
853 853  * Key management via cloud provider KMS (AWS KMS, Google Cloud KMS)
... ... @@ -854,6 +854,7 @@
854 854  * Regular key rotation (90-day cycle)
855 855  
856 856  **Encryption in Transit:**
929 +
857 857  * HTTPS/TLS 1.3 only (no TLS 1.0/1.1)
858 858  * Strong cipher suites only
859 859  * HSTS (HTTP Strict Transport Security) enabled
... ... @@ -860,6 +860,7 @@
860 860  * Certificate pinning for mobile apps
861 861  
862 862  **Secure Credential Storage:**
936 +
863 863  * Passwords hashed with bcrypt (cost factor 12+)
864 864  * API keys encrypted in database
865 865  * Secrets stored in environment variables (never in code)
... ... @@ -866,12 +866,13 @@
866 866  * Use secrets manager (AWS Secrets Manager, HashiCorp Vault)
867 867  
868 868  **Data Privacy:**
943 +
869 869  * Minimal data collection (privacy by design)
870 870  * User data deletion on request (GDPR compliance)
871 871  * PII encryption in database
872 872  * Anonymize logs (no PII in log files)
873 873  
874 ----
949 +----
875 875  
876 876  ==== Application Security ====
877 877  
... ... @@ -889,6 +889,7 @@
889 889  10. **Server-Side Request Forgery:** URL validation, whitelist domains
890 890  
891 891  **Security Headers:**
967 +
892 892  * `Content-Security-Policy`: Strict CSP to prevent XSS
893 893  * `X-Frame-Options`: DENY (prevent clickjacking)
894 894  * `X-Content-Type-Options`: nosniff
... ... @@ -896,6 +896,7 @@
896 896  * `Permissions-Policy`: Restrict browser features
897 897  
898 898  **Dependency Vulnerability Scanning:**
975 +
899 899  * **Tools:** Snyk, Dependabot, npm audit, pip-audit
900 900  * **Frequency:** Daily automated scans
901 901  * **Action:** Patch critical vulnerabilities within 24 hours
... ... @@ -902,30 +902,34 @@
902 902  * **Policy:** No known high/critical CVEs in production
903 903  
904 904  **Security Audits:**
982 +
905 905  * **Internal:** Quarterly security reviews
906 906  * **External:** Annual penetration testing by certified firm
907 907  * **Bug Bounty:** Public bug bounty program (V1.1+)
908 908  * **Compliance:** SOC 2 Type II certification target (V1.5)
909 909  
910 ----
988 +----
911 911  
912 912  ==== Operational Security ====
913 913  
914 914  **DDoS Protection:**
993 +
915 915  * CloudFlare or AWS Shield
916 916  * Rate limiting at CDN layer
917 917  * Automatic IP blocking for abuse patterns
918 918  
919 919  **Monitoring & Alerting:**
999 +
920 920  * Real-time security event monitoring
921 921  * Alerts for:
922 - * Failed login attempts (>5 in 10 minutes)
923 - * API abuse patterns
924 - * Unusual data access patterns
925 - * Security scan detections
1002 +* Failed login attempts (>5 in 10 minutes)
1003 +* API abuse patterns
1004 +* Unusual data access patterns
1005 +* Security scan detections
926 926  * Integration with SIEM (Security Information and Event Management)
927 927  
928 928  **Incident Response:**
1009 +
929 929  * Documented incident response plan
930 930  * Security incident classification (P1-P4)
931 931  * On-call rotation for security issues
... ... @@ -933,16 +933,18 @@
933 933  * Public disclosure policy (coordinated disclosure)
934 934  
935 935  **Backup & Recovery:**
1017 +
936 936  * Daily encrypted backups
937 937  * 30-day retention period
938 938  * Tested recovery procedures (quarterly)
939 939  * Disaster recovery plan (RTO: 4 hours, RPO: 1 hour)
940 940  
941 ----
1023 +----
942 942  
943 943  ==== Compliance & Standards ====
944 944  
945 945  **GDPR Compliance:**
1028 +
946 946  * User consent management
947 947  * Right to access data
948 948  * Right to deletion
... ... @@ -950,6 +950,7 @@
950 950  * Privacy policy published
951 951  
952 952  **Accessibility:**
1036 +
953 953  * WCAG 2.1 AA compliance
954 954  * Screen reader compatibility
955 955  * Keyboard navigation
... ... @@ -956,6 +956,7 @@
956 956  * Alt text for images
957 957  
958 958  **Browser Support:**
1043 +
959 959  * Modern browsers only (Chrome/Edge/Firefox/Safari latest 2 versions)
960 960  * No IE11 support
961 961  
... ... @@ -970,7 +970,6 @@
970 970  * ✅ Incident response plan documented and tested
971 971  * ✅ 95% uptime over 30-day period
972 972  
973 -
974 974  === NFR13: Quality Metrics Transparency ===
975 975  
976 976  **Fulfills:** User trust, transparency, continuous improvement, IFCN methodology transparency
... ... @@ -985,16 +985,18 @@
985 985  
986 986  **Core Metrics to Display:**
987 987  
988 -**1. Verdict Quality Metrics**
1072 +* \\
1073 +** \\
1074 +**1. Verdict Quality Metrics
989 989  
990 990  **TIGERScore (Fact-Checking Quality):**
1077 +
991 991  * **Definition:** Measures how well generated verdicts match expert fact-checker judgments
992 992  * **Scale:** 0-100 (higher is better)
993 993  * **Calculation:** Using TIGERScore framework (Truth-conditional accuracy, Informativeness, Generality, Evaluativeness, Relevance)
994 994  * **Target:** Average ≥80 for production release
995 995  * **Display:**
996 -{{code}}
997 -Verdict Quality (TIGERScore):
1083 +{{code}}Verdict Quality (TIGERScore):
998 998  Overall: 84.2 ▲ (+2.1 from last month)
999 999  
1000 1000  Distribution:
... ... @@ -1002,19 +1002,18 @@
1002 1002   Good (60-80): 28%
1003 1003   Needs Improvement (<60): 5%
1004 1004  
1005 -Trend: [Graph showing improvement over time]
1006 -{{/code}}
1091 +Trend: [Graph showing improvement over time]{{/code}}
1007 1007  
1008 1008  **2. Hallucination & Faithfulness Metrics**
1009 1009  
1010 1010  **AlignScore (Faithfulness to Evidence):**
1096 +
1011 1011  * **Definition:** Measures how well verdicts align with actual evidence content
1012 1012  * **Scale:** 0-1 (higher is better)
1013 1013  * **Purpose:** Detect AI hallucinations (making claims not supported by evidence)
1014 1014  * **Target:** Average ≥0.85, hallucination rate <5%
1015 1015  * **Display:**
1016 -{{code}}
1017 -Evidence Faithfulness (AlignScore):
1102 +{{code}}Evidence Faithfulness (AlignScore):
1018 1018  Average: 0.87 ▼ (-0.02 from last month)
1019 1019  
1020 1020  Hallucination Rate: 4.2%
... ... @@ -1021,24 +1021,24 @@
1021 1021   - Claims without evidence support: 3.1%
1022 1022   - Misrepresented evidence: 1.1%
1023 1023  
1024 -Action: Prompt engineering review scheduled
1025 -{{/code}}
1109 +Action: Prompt engineering review scheduled{{/code}}
1026 1026  
1027 1027  **3. Evidence Quality Metrics**
1028 1028  
1029 1029  **Source Reliability:**
1114 +
1030 1030  * Average source quality score (0-1 scale)
1031 1031  * Distribution of high/medium/low quality sources
1032 1032  * Publisher track record trends
1033 1033  
1034 1034  **Evidence Coverage:**
1120 +
1035 1035  * Average number of sources per claim
1036 1036  * Percentage of claims with ≥2 sources (EFCSN minimum)
1037 1037  * Geographic diversity of sources
1038 1038  
1039 1039  **Display:**
1040 -{{code}}
1041 -Evidence Quality:
1126 +{{code}}Evidence Quality:
1042 1042  
1043 1043  Average Sources per Claim: 4.2
1044 1044  Claims with ≥2 sources: 94% (EFCSN compliant)
... ... @@ -1048,24 +1048,23 @@
1048 1048   Medium quality (0.5-0.8): 43%
1049 1049   Low quality (<0.5): 9%
1050 1050  
1051 -Geographic Diversity: 23 countries represented
1052 -{{/code}}
1136 +Geographic Diversity: 23 countries represented{{/code}}
1053 1053  
1054 1054  **4. Contributor Consensus Metrics** (when human reviewers involved)
1055 1055  
1056 1056  **Inter-Rater Reliability (IRR):**
1141 +
1057 1057  * **Calculation:** Cohen's Kappa or Fleiss' Kappa for multiple raters
1058 1058  * **Scale:** 0-1 (higher is better)
1059 1059  * **Interpretation:**
1060 - * >0.8: Almost perfect agreement
1061 - * 0.6-0.8: Substantial agreement
1062 - * 0.4-0.6: Moderate agreement
1063 - * <0.4: Poor agreement
1145 +* >0.8: Almost perfect agreement
1146 +* 0.6-0.8: Substantial agreement
1147 +* 0.4-0.6: Moderate agreement
1148 +* <0.4: Poor agreement
1064 1064  * **Target:** Maintain ≥0.7 (substantial agreement)
1065 1065  
1066 1066  **Display:**
1067 -{{code}}
1068 -Contributor Consensus:
1152 +{{code}}Contributor Consensus:
1069 1069  
1070 1070  Inter-Rater Reliability (IRR): 0.73 (Substantial agreement)
1071 1071   - Verdict agreement: 78%
... ... @@ -1073,10 +1073,9 @@
1073 1073   - Scenario structure agreement: 69%
1074 1074  
1075 1075  Cases requiring moderator review: 12
1076 -Moderator override rate: 8%
1077 -{{/code}}
1160 +Moderator override rate: 8%{{/code}}
1078 1078  
1079 ----
1162 +----
1080 1080  
1081 1081  ==== Quality Dashboard Implementation ====
1082 1082  
... ... @@ -1083,6 +1083,7 @@
1083 1083  **Dashboard Location:** `/quality-metrics`
1084 1084  
1085 1085  **Update Frequency:**
1169 +
1086 1086  * **POC2:** Weekly manual updates
1087 1087  * **Beta 0:** Daily automated updates
1088 1088  * **V1.0:** Real-time metrics (updated hourly)
... ... @@ -1132,7 +1132,7 @@
1132 1132  
1133 1133  {{/code}}
1134 1134  
1135 ----
1219 +----
1136 1136  
1137 1137  ==== Continuous Improvement Feedback Loop ====
1138 1138  
... ... @@ -1139,31 +1139,36 @@
1139 1139  **How Metrics Inform AKEL Improvements:**
1140 1140  
1141 1141  1. **Identify Weak Areas:**
1142 - * Low TIGERScore → Review prompt engineering
1143 - * High hallucination → Strengthen evidence grounding
1144 - * Low IRR → Clarify evaluation criteria
1145 1145  
1227 +* Low TIGERScore → Review prompt engineering
1228 +* High hallucination → Strengthen evidence grounding
1229 +* Low IRR → Clarify evaluation criteria
1230 +
1146 1146  2. **A/B Testing Integration:**
1147 - * Test prompt variations
1148 - * Measure impact on quality metrics
1149 - * Deploy winners automatically
1150 1150  
1233 +* Test prompt variations
1234 +* Measure impact on quality metrics
1235 +* Deploy winners automatically
1236 +
1151 1151  3. **Alert Thresholds:**
1152 - * TIGERScore drops below 75 → Alert team
1153 - * Hallucination rate exceeds 7% → Pause auto-publishing
1154 - * IRR below 0.6 → Moderator training needed
1155 1155  
1239 +* TIGERScore drops below 75 → Alert team
1240 +* Hallucination rate exceeds 7% → Pause auto-publishing
1241 +* IRR below 0.6 → Moderator training needed
1242 +
1156 1156  4. **Monthly Quality Reviews:**
1157 - * Analyze trends
1158 - * Identify systematic issues
1159 - * Plan prompt improvements
1160 - * Update AKEL models
1161 1161  
1162 ----
1245 +* Analyze trends
1246 +* Identify systematic issues
1247 +* Plan prompt improvements
1248 +* Update AKEL models
1163 1163  
1250 +----
1251 +
1164 1164  ==== Metric Calculation Details ====
1165 1165  
1166 1166  **TIGERScore Implementation:**
1255 +
1167 1167  * Reference: https://github.com/TIGER-AI-Lab/TIGERScore
1168 1168  * Input: Generated verdict + reference verdict (from expert)
1169 1169  * Output: 0-100 score across 5 dimensions
... ... @@ -1170,6 +1170,7 @@
1170 1170  * Requires: Test set of expert-reviewed claims (minimum 100)
1171 1171  
1172 1172  **AlignScore Implementation:**
1262 +
1173 1173  * Reference: https://github.com/yuh-zha/AlignScore
1174 1174  * Input: Generated verdict + source evidence text
1175 1175  * Output: 0-1 faithfulness score
... ... @@ -1176,11 +1176,12 @@
1176 1176  * Calculation: Semantic alignment between claim and evidence
1177 1177  
1178 1178  **Source Quality Scoring:**
1269 +
1179 1179  * Use existing source reliability database (e.g., NewsGuard, MBFC)
1180 1180  * Factor in: Publication history, corrections record, transparency
1181 1181  * Scale: 0-1 (weighted average across sources)
1182 1182  
1183 ----
1274 +----
1184 1184  
1185 1185  ==== Integration Points ====
1186 1186  
... ... @@ -1211,11 +1211,13 @@
1211 1211  == 14. Related Pages ==
1212 1212  
1213 1213  **Non-Functional Requirements (see Section 9):**
1305 +
1214 1214  * [[NFR11 — AKEL Quality Assurance Framework>>#NFR11]]
1215 1215  * [[NFR12 — Security Controls>>#NFR12]]
1216 1216  * [[NFR13 — Quality Metrics Transparency>>#NFR13]]
1217 1217  
1218 1218  **Other Requirements:**
1311 +
1219 1219  * [[User Needs>>FactHarbor.Specification.Requirements.User Needs.WebHome]]
1220 1220  * [[V1.0 Requirements>>FactHarbor.Specification.Requirements.V10.]]
1221 1221  * [[Gap Analysis>>FactHarbor.Specification.Requirements.GapAnalysis]]
... ... @@ -1224,8 +1224,8 @@
1224 1224  * [[Architecture>>FactHarbor.Specification.Architecture.WebHome]] - How requirements are implemented
1225 1225  * [[Data Model>>FactHarbor.Specification.Data Model.WebHome]] - Data structures supporting requirements
1226 1226  * [[Workflows>>FactHarbor.Specification.Workflows.WebHome]] - User interaction workflows
1227 -* [[AKEL>>FactHarbor.Specification.AI Knowledge Extraction Layer (AKEL).WebHome]] - AI system fulfilling automation requirements
1228 -* [[Global Rules>>FactHarbor.Organisation.How-We-Work-Together.GlobalRules.WebHome]]
1320 +* [[AKEL>>Archive.FactHarbor.Specification.AI Knowledge Extraction Layer (AKEL).WebHome]] - AI system fulfilling automation requirements
1321 +* [[Global Rules>>Archive.FactHarbor.Organisation.How-We-Work-Together.GlobalRules.WebHome]]
1229 1229  * [[Privacy Policy>>FactHarbor.Organisation.How-We-Work-Together.Privacy-Policy]]
1230 1230  
1231 1231  = V0.9.70 Additional Requirements =
... ... @@ -1285,6 +1285,7 @@
1285 1285  **FactHarbor-Specific Mapping:**
1286 1286  
1287 1287  **Likelihood Score to Rating Scale:**
1381 +
1288 1288  * 80-100% likelihood → 5 (Highly Supported)
1289 1289  * 60-79% likelihood → 4 (Supported)
1290 1290  * 40-59% likelihood → 3 (Mixed/Uncertain)
... ... @@ -1292,6 +1292,7 @@
1292 1292  * 0-19% likelihood → 1 (Refuted)
1293 1293  
1294 1294  **Multiple Scenarios Handling:**
1389 +
1295 1295  * If claim has multiple scenarios with different verdicts, generate **separate ClaimReview** for each scenario
1296 1296  * Add `disambiguatingDescription` field explaining scenario context
1297 1297  * Example: "Scenario: If interpreted as referring to 2023 data..."
... ... @@ -1324,7 +1324,6 @@
1324 1324  * ✅ All required fields populated with correct data types
1325 1325  * ✅ Handles multi-scenario claims correctly (separate ClaimReview per scenario)
1326 1326  
1327 -
1328 1328  === FR45: User Corrections Notification System ===
1329 1329  
1330 1330  **Fulfills:** IFCN Principle 5 (Open & Honest Corrections), EFCSN compliance
... ... @@ -1346,7 +1346,9 @@
1346 1346  
1347 1347  ==== Notification Mechanisms ====
1348 1348  
1349 -**1. In-Page Banner:**
1443 +* \\
1444 +** \\
1445 +**1. In-Page Banner:
1350 1350  
1351 1351  Display prominent banner on claim page:
1352 1352  
... ... @@ -1366,10 +1366,10 @@
1366 1366  
1367 1367  * Public changelog at `/claims/{id}/corrections`
1368 1368  * Displays for each correction:
1369 - * Date/time of correction
1370 - * What changed (before/after comparison)
1371 - * Why changed (reason if provided)
1372 - * Who made change (AKEL auto-update vs. contributor override)
1465 +* Date/time of correction
1466 +* What changed (before/after comparison)
1467 +* Why changed (reason if provided)
1468 +* Who made change (AKEL auto-update vs. contributor override)
1373 1373  
1374 1374  **3. Email Notifications (opt-in):**
1375 1375  
... ... @@ -1413,7 +1413,6 @@
1413 1413  * ✅ Mobile-responsive banner design
1414 1414  * ✅ Accessible (screen reader compatible)
1415 1415  
1416 -
1417 1417  === FR46: Image Verification System ===
1418 1418  
1419 1419  **Fulfills:** UN-27 (Visual Claim Verification)
... ... @@ -1431,23 +1431,25 @@
1431 1431  **Purpose:** Find earlier uses of the image to verify context
1432 1432  
1433 1433  **Implementation:**
1529 +
1434 1434  * Integrate APIs:
1435 - * **Google Vision AI** (reverse search)
1436 - * **TinEye** (oldest known uses)
1437 - * **Bing Visual Search** (broad coverage)
1531 +* **Google Vision AI** (reverse search)
1532 +* **TinEye** (oldest known uses)
1533 +* **Bing Visual Search** (broad coverage)
1438 1438  
1439 1439  **Process:**
1536 +
1440 1440  1. Extract image from claim or user upload
1441 1441  2. Query multiple reverse search services
1442 1442  3. Analyze results for:
1443 - * Earliest known publication
1444 - * Original context (what was it really showing?)
1445 - * Publication timeline
1446 - * Geographic spread
1447 1447  
1541 +* Earliest known publication
1542 +* Original context (what was it really showing?)
1543 +* Publication timeline
1544 +* Geographic spread
1545 +
1448 1448  **Output:**
1449 -{{code}}
1450 -Reverse Image Search Results:
1547 +{{code}}Reverse Image Search Results:
1451 1451  
1452 1452  Earliest known use: 2019-03-15 (5 years before claim)
1453 1453  Original context: "Photo from 2019 flooding in Mumbai"
... ... @@ -1460,10 +1460,9 @@
1460 1460  • 2020-07-22: Bangladesh monsoon
1461 1461  • 2024-10-15: Current claim (misattributed)
1462 1462  
1463 -[View full timeline]
1464 -{{/code}}
1560 +[View full timeline]{{/code}}
1465 1465  
1466 ----
1562 +----
1467 1467  
1468 1468  **Method 2: AI Manipulation Detection**
1469 1469  
... ... @@ -1470,36 +1470,41 @@
1470 1470  **Purpose:** Detect deepfakes, face swaps, and digital alterations
1471 1471  
1472 1472  **Implementation:**
1569 +
1473 1473  * Integrate detection services:
1474 - * **Sensity AI** (deepfake detection)
1475 - * **Reality Defender** (multimodal analysis)
1476 - * **AWS Rekognition** (face detection inconsistencies)
1571 +* **Sensity AI** (deepfake detection)
1572 +* **Reality Defender** (multimodal analysis)
1573 +* **AWS Rekognition** (face detection inconsistencies)
1477 1477  
1478 1478  **Detection Categories:**
1576 +
1479 1479  1. **Face Manipulation:**
1480 - * Deepfake face swaps
1481 - * Expression manipulation
1482 - * Identity replacement
1483 1483  
1579 +* Deepfake face swaps
1580 +* Expression manipulation
1581 +* Identity replacement
1582 +
1484 1484  2. **Image Manipulation:**
1485 - * Copy-paste artifacts
1486 - * Clone stamp detection
1487 - * Content-aware fill detection
1488 - * JPEG compression inconsistencies
1489 1489  
1585 +* Copy-paste artifacts
1586 +* Clone stamp detection
1587 +* Content-aware fill detection
1588 +* JPEG compression inconsistencies
1589 +
1490 1490  3. **AI Generation:**
1491 - * Detect fully AI-generated images
1492 - * Identify generation artifacts
1493 - * Check for model signatures
1494 1494  
1592 +* Detect fully AI-generated images
1593 +* Identify generation artifacts
1594 +* Check for model signatures
1595 +
1495 1495  **Confidence Scoring:**
1597 +
1496 1496  * **HIGH (80-100%):** Strong evidence of manipulation
1497 1497  * **MEDIUM (50-79%):** Suspicious artifacts detected
1498 1498  * **LOW (0-49%):** Minor inconsistencies or inconclusive
1499 1499  
1500 1500  **Output:**
1501 -{{code}}
1502 -Manipulation Analysis:
1603 +{{code}}Manipulation Analysis:
1503 1503  
1504 1504  Face Manipulation: LOW RISK (12%)
1505 1505  Image Editing: MEDIUM RISK (64%)
... ... @@ -1508,10 +1508,9 @@
1508 1508  
1509 1509  AI Generation: LOW RISK (8%)
1510 1510  
1511 -⚠️ Possible manipulation detected. Manual review recommended.
1512 -{{/code}}
1612 +⚠️ Possible manipulation detected. Manual review recommended.{{/code}}
1513 1513  
1514 ----
1614 +----
1515 1515  
1516 1516  **Method 3: Metadata Analysis (EXIF)**
1517 1517  
... ... @@ -1518,6 +1518,7 @@
1518 1518  **Purpose:** Extract technical details that may reveal manipulation or misattribution
1519 1519  
1520 1520  **Extracted Data:**
1621 +
1521 1521  * **Camera/Device:** Make, model, software
1522 1522  * **Timestamps:** Original date, modification dates
1523 1523  * **Location:** GPS coordinates (if present)
... ... @@ -1525,6 +1525,7 @@
1525 1525  * **File Properties:** Resolution, compression, format conversions
1526 1526  
1527 1527  **Red Flags:**
1629 +
1528 1528  * Metadata completely stripped (suspicious)
1529 1529  * Timestamp conflicts with claimed date
1530 1530  * GPS location conflicts with claimed location
... ... @@ -1532,8 +1532,7 @@
1532 1532  * Creation date after modification date (impossible)
1533 1533  
1534 1534  **Output:**
1535 -{{code}}
1536 -Image Metadata:
1637 +{{code}}Image Metadata:
1537 1537  
1538 1538  Camera: iPhone 14 Pro
1539 1539  Original date: 2023-08-12 14:32:15
... ... @@ -1545,19 +1545,20 @@
1545 1545  Claim says: "Taken in Los Angeles"
1546 1546  EXIF says: New York City
1547 1547  
1548 -⚠️ Edited 14 months after capture
1549 -{{/code}}
1649 +⚠️ Edited 14 months after capture{{/code}}
1550 1550  
1551 ----
1651 +----
1552 1552  
1553 1553  ==== Verification Workflow ====
1554 1554  
1555 1555  **Automatic Triggers:**
1656 +
1556 1556  1. User submits claim with image
1557 1557  2. Article being analyzed contains images
1558 1558  3. Social media post includes photos
1559 1559  
1560 1560  **Process:**
1662 +
1561 1561  1. Extract images from content
1562 1562  2. Run all 3 verification methods in parallel
1563 1563  3. Aggregate results into confidence score
... ... @@ -1592,14 +1592,16 @@
1592 1592  ==== Cost Considerations ====
1593 1593  
1594 1594  **API Costs (estimated per image):**
1697 +
1595 1595  * Google Vision AI: $0.001-0.003
1596 1596  * TinEye: $0.02 (commercial API)
1597 1597  * Sensity AI: $0.05-0.10
1598 1598  * AWS Rekognition: $0.001-0.002
1599 1599  
1600 -**Total per image:** ~$0.07-0.15
1703 +**Total per image:** $0.07-0.15**
1601 1601  
1602 1602  **Mitigation Strategies:**
1706 +
1603 1603  * Cache results for duplicate images
1604 1604  * Use free tier quotas where available
1605 1605  * Prioritize higher-value claims for deep analysis
... ... @@ -1614,7 +1614,6 @@
1614 1614  * ✅ Mobile-friendly image comparison interface
1615 1615  * ✅ False positive rate <15%
1616 1616  
1617 -
1618 1618  === FR47: Archive.org Integration ===
1619 1619  
1620 1620  **Priority:** CRITICAL
... ... @@ -1628,6 +1628,7 @@
1628 1628  **Automatic Archiving:**
1629 1629  
1630 1630  When AKEL links evidence:
1734 +
1631 1631  1. Check if URL already archived (Wayback Machine API)
1632 1632  2. If not, submit for archiving (Save Page Now API)
1633 1633  3. Store both original URL and archive URL
... ... @@ -1662,8 +1662,9 @@
1662 1662  * ✅ API rate limits respected
1663 1663  * ✅ Archive status visible in evidence display
1664 1664  
1769 +== Category 4: Community Safety ==
1665 1665  
1666 -== Category 4: Community Safety ===== FR48: Contributor Safety Framework ===
1771 + FR48: Contributor Safety Framework ===
1667 1667  
1668 1668  **Priority:** CRITICAL
1669 1669  **Fulfills:** UN-28 (Safe contribution environment)
... ... @@ -1673,7 +1673,9 @@
1673 1673  
1674 1674  **Specification:**
1675 1675  
1676 -**1. Privacy Protection:**
1781 +* \\
1782 +** \\
1783 +**1. Privacy Protection:
1677 1677  
1678 1678  * **Optional Pseudonymity:** Contributors can use pseudonyms
1679 1679  * **Email Privacy:** Emails never displayed publicly
... ... @@ -1716,8 +1716,9 @@
1716 1716  * ✅ Moderator tools implemented
1717 1717  * ✅ Safety policy published
1718 1718  
1826 +== Category 5: Continuous Improvement ==
1719 1719  
1720 -== Category 5: Continuous Improvement ===== FR49: A/B Testing Framework ===
1828 + FR49: A/B Testing Framework ===
1721 1721  
1722 1722  **Priority:** CRITICAL
1723 1723  **Fulfills:** Continuous system improvement
... ... @@ -1730,20 +1730,23 @@
1730 1730  **Test Capabilities:**
1731 1731  
1732 1732  1. **Prompt Variations:**
1733 - * Test different claim extraction prompts
1734 - * Test different verdict generation prompts
1735 - * Measure: Accuracy, clarity, completeness
1736 1736  
1842 +* Test different claim extraction prompts
1843 +* Test different verdict generation prompts
1844 +* Measure: Accuracy, clarity, completeness
1845 +
1737 1737  2. **Algorithm Variations:**
1738 - * Test different source scoring algorithms
1739 - * Test different confidence calculations
1740 - * Measure: Audit accuracy, user satisfaction
1741 1741  
1848 +* Test different source scoring algorithms
1849 +* Test different confidence calculations
1850 +* Measure: Audit accuracy, user satisfaction
1851 +
1742 1742  3. **Workflow Variations:**
1743 - * Test different quality gate thresholds
1744 - * Test different risk tier assignments
1745 - * Measure: Publication rate, quality scores
1746 1746  
1854 +* Test different quality gate thresholds
1855 +* Test different risk tier assignments
1856 +* Measure: Publication rate, quality scores
1857 +
1747 1747  **Implementation:**
1748 1748  
1749 1749  * **Traffic Split:** 50/50 or 90/10 splits
... ... @@ -1772,7 +1772,6 @@
1772 1772  * ✅ Statistical significance calculated
1773 1773  * ✅ Results inform system improvements
1774 1774  
1775 -
1776 1776  === FR54: Evidence Deduplication ===
1777 1777  
1778 1778  **Priority:** CRITICAL (POC2/Beta)
... ... @@ -1786,21 +1786,24 @@
1786 1786  **Deduplication Logic:**
1787 1787  
1788 1788  1. **URL Normalization:**
1789 - * Remove tracking parameters (?utm_source=...)
1790 - * Normalize http/https
1791 - * Normalize www/non-www
1792 - * Handle redirects
1793 1793  
1900 +* Remove tracking parameters (?utm_source=...)
1901 +* Normalize http/https
1902 +* Normalize www/non-www
1903 +* Handle redirects
1904 +
1794 1794  2. **Content Similarity:**
1795 - * If two sources have >90% text similarity → Same source
1796 - * If one is subset of other → Same source
1797 - * Use fuzzy matching for minor differences
1798 1798  
1907 +* If two sources have >90% text similarity → Same source
1908 +* If one is subset of other → Same source
1909 +* Use fuzzy matching for minor differences
1910 +
1799 1799  3. **Cross-Domain Syndication:**
1800 - * Detect wire service content (AP, Reuters)
1801 - * Mark as single source if syndicated
1802 - * Count original publication only
1803 1803  
1913 +* Detect wire service content (AP, Reuters)
1914 +* Mark as single source if syndicated
1915 +* Count original publication only
1916 +
1804 1804  **Display:**
1805 1805  
1806 1806  {{code}}
... ... @@ -1822,8 +1822,9 @@
1822 1822  * ✅ Unique vs. total counts accurate
1823 1823  * ✅ Improves evidence quality metrics
1824 1824  
1938 +== Additional Requirements (Lower Priority) ==
1825 1825  
1826 -== Additional Requirements (Lower Priority) ===== FR50: OSINT Toolkit Integration ===
1940 + FR50: OSINT Toolkit Integration ===
1827 1827  
1828 1828  
1829 1829  
... ... @@ -1833,6 +1833,7 @@
1833 1833  **Purpose:** Integrate open-source intelligence tools for advanced verification.
1834 1834  
1835 1835  **Tools to Integrate:**
1950 +
1836 1836  * InVID/WeVerify (video verification)
1837 1837  * Bellingcat toolkit
1838 1838  * Additional TBD based on V1.0 learnings
... ... @@ -1847,6 +1847,7 @@
1847 1847  **Purpose:** Verify video-based claims.
1848 1848  
1849 1849  **Specification:**
1965 +
1850 1850  * Keyframe extraction
1851 1851  * Reverse video search
1852 1852  * Deepfake detection (AI-powered)
... ... @@ -1863,6 +1863,7 @@
1863 1863  **Purpose:** Teach users to identify misinformation.
1864 1864  
1865 1865  **Specification:**
1982 +
1866 1866  * Interactive tutorials
1867 1867  * Practice exercises
1868 1868  * Detection quizzes
... ... @@ -1878,12 +1878,12 @@
1878 1878  **Purpose:** Share findings with IFCN/EFCSN members.
1879 1879  
1880 1880  **Specification:**
1998 +
1881 1881  * API for fact-checking organizations
1882 1882  * Structured data exchange
1883 1883  * Privacy controls
1884 1884  * Attribution requirements
1885 1885  
1886 -
1887 1887  == Summary ==
1888 1888  
1889 1889  **V1.0 Critical Requirements (Must Have):**
... ... @@ -1906,7 +1906,6 @@
1906 1906  * FR52: Detection Training
1907 1907  * FR53: Cross-Org Sharing
1908 1908  
1909 -
1910 1910  **Total:** 11 critical requirements for V1.0
1911 1911  
1912 1912  === FR54: Evidence Deduplication ===
... ... @@ -1923,21 +1923,24 @@
1923 1923  **Deduplication Logic:**
1924 1924  
1925 1925  1. **URL Normalization:**
1926 - * Remove tracking parameters (?utm_source=...)
1927 - * Normalize http/https
1928 - * Normalize www/non-www
1929 - * Handle redirects
1930 1930  
2043 +* Remove tracking parameters (?utm_source=...)
2044 +* Normalize http/https
2045 +* Normalize www/non-www
2046 +* Handle redirects
2047 +
1931 1931  2. **Content Similarity:**
1932 - * If two sources have >90% text similarity → Same source
1933 - * If one is subset of other → Same source
1934 - * Use fuzzy matching for minor differences
1935 1935  
2050 +* If two sources have >90% text similarity → Same source
2051 +* If one is subset of other → Same source
2052 +* Use fuzzy matching for minor differences
2053 +
1936 1936  3. **Cross-Domain Syndication:**
1937 - * Detect wire service content (AP, Reuters)
1938 - * Mark as single source if syndicated
1939 - * Count original publication only
1940 1940  
2056 +* Detect wire service content (AP, Reuters)
2057 +* Mark as single source if syndicated
2058 +* Count original publication only
2059 +
1941 1941  **Display:**
1942 1942  
1943 1943  {{code}}
... ... @@ -1959,8 +1959,9 @@
1959 1959  * ✅ Unique vs. total counts accurate
1960 1960  * ✅ Improves evidence quality metrics
1961 1961  
2081 +== Additional Requirements (Lower Priority) ==
1962 1962  
1963 -== Additional Requirements (Lower Priority) ===== FR7: Automated Verdicts (Enhanced with Quality Gates) ===
2083 + FR7: Automated Verdicts (Enhanced with Quality Gates) ===
1964 1964  
1965 1965  **POC1+ Enhancement:**
1966 1966  
... ... @@ -1982,6 +1982,7 @@
1982 1982  {{/code}}
1983 1983  
1984 1984  **Updated Verdict States:**
2105 +
1985 1985  * PUBLISHED
1986 1986  * INSUFFICIENT_EVIDENCE
1987 1987  * NON_FACTUAL_CLAIM
... ... @@ -2003,4 +2003,3 @@
2003 2003   Avg Source Quality: 0.73
2004 2004   Quality Score: 8.5/10
2005 2005  {{/code}}
2006 -