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/24 21:53
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
Content
... ... @@ -1,7 +1,7 @@
1 1  = Requirements =
2 2  
3 3  {{info}}
4 -**Phase Assignments:** See [[Requirements Roadmap Matrix>>FactHarbor.Roadmap.Requirements-Roadmap-Matrix.WebHome]] for which requirements are implemented in which phases.
4 +**Phase Assignments:** See [[Requirements Roadmap Matrix>>Archive.FactHarbor.Roadmap.Requirements-Roadmap-Matrix.WebHome]] for which requirements are implemented in which phases.
5 5  {{/info}}
6 6  
7 7  **This page defines Roles, Content States, Rules, and System Requirements for FactHarbor.**
... ... @@ -36,6 +36,7 @@
36 36  **Who**: Anyone (no login required)
37 37  
38 38  **Can**:
39 +
39 39  * Browse and search claims
40 40  * View scenarios, evidence, verdicts, and confidence scores
41 41  * Flag issues or errors
... ... @@ -43,6 +43,7 @@
43 43  * Submit claims automatically (new claims added if not duplicates)
44 44  
45 45  **Cannot**:
47 +
46 46  * Modify content
47 47  * Access edit history details
48 48  
... ... @@ -53,6 +53,7 @@
53 53  **Who**: Registered users (earns reputation through contributions)
54 54  
55 55  **Can**:
58 +
56 56  * Everything a Reader can do
57 57  * Edit claims, evidence, and scenarios
58 58  * Add sources and citations
... ... @@ -61,6 +61,7 @@
61 61  * Earn reputation points for quality contributions
62 62  
63 63  **Reputation System**:
67 +
64 64  * New contributors: Limited edit privileges
65 65  * Established contributors (established reputation): Full edit access
66 66  * Trusted contributors (substantial reputation): Can approve certain changes
... ... @@ -68,6 +68,7 @@
68 68  * Reputation lost through: Reverted edits, invalid flags, abuse
69 69  
70 70  **Cannot**:
75 +
71 71  * Delete or hide content (only moderators)
72 72  * Override moderation decisions
73 73  
... ... @@ -78,6 +78,7 @@
78 78  **Who**: Trusted community members with proven track record, appointed by governance board
79 79  
80 80  **Can**:
86 +
81 81  * Review flagged content
82 82  * Hide harmful or abusive content
83 83  * Resolve disputes between contributors
... ... @@ -86,6 +86,7 @@
86 86  * Access full audit logs
87 87  
88 88  **Cannot**:
95 +
89 89  * Change governance rules
90 90  * Permanently ban users without board approval
91 91  * Override technical quality gates
... ... @@ -99,6 +99,7 @@
99 99  **Not a permanent role**: Contacted externally when needed for contested claims in their domain
100 100  
101 101  **When used**:
109 +
102 102  * Medical claims with life/safety implications
103 103  * Legal interpretations with significant impact
104 104  * Scientific claims with high controversy
... ... @@ -105,6 +105,7 @@
105 105  * Technical claims requiring specialized knowledge
106 106  
107 107  **Process**:
116 +
108 108  * Moderator identifies need for expert input
109 109  * Contact expert externally (don't require them to be users)
110 110  * Trusted Contributor provides written opinion with sources
... ... @@ -124,11 +124,13 @@
124 124  **Status**: Visible to all users
125 125  
126 126  **Includes**:
136 +
127 127  * AI-generated analyses (default state)
128 128  * User-contributed content
129 129  * Edited/improved content
130 130  
131 131  **Quality Indicators** (displayed with content):
142 +
132 132  * **Confidence Score**: 0-100% (AI's confidence in analysis)
133 133  * **Source Quality Score**: 0-100% (based on source track record)
134 134  * **Controversy Flag**: If high dispute/edit activity
... ... @@ -138,6 +138,7 @@
138 138  * **Review Status**: AI-generated / Human-reviewed / Expert-validated
139 139  
140 140  **Automatic Warnings**:
152 +
141 141  * Confidence < 60%: "Low confidence - use caution"
142 142  * Source quality < 40%: "Sources may be unreliable"
143 143  * High controversy: "Disputed - multiple interpretations exist"
... ... @@ -150,6 +150,7 @@
150 150  **Status**: Not visible to regular users (only to moderators)
151 151  
152 152  **Reasons**:
165 +
153 153  * Spam or advertising
154 154  * Personal attacks or harassment
155 155  * Illegal content
... ... @@ -158,6 +158,7 @@
158 158  * Abuse or harmful content
159 159  
160 160  **Process**:
174 +
161 161  * Automated detection flags for moderator review
162 162  * Moderator confirms and hides
163 163  * Original author notified with reason
... ... @@ -180,6 +180,7 @@
180 180  **AKEL is the primary system**. Human contributions supplement and train AKEL.
181 181  
182 182  **AKEL Must**:
197 +
183 183  * Mark all outputs as AI-generated
184 184  * Display confidence scores prominently
185 185  * Provide source citations
... ... @@ -188,6 +188,7 @@
188 188  * Learn from human corrections
189 189  
190 190  **When AKEL Makes Errors**:
206 +
191 191  1. Capture the error pattern (what, why, how common)
192 192  2. Improve the system (better prompt, model, validation)
193 193  3. Re-process affected claims automatically
... ... @@ -218,6 +218,7 @@
218 218  === 4.1 Source Requirements ===
219 219  
220 220  **Track Record Over Credentials**:
237 +
221 221  * Sources evaluated by historical accuracy
222 222  * Correction policy matters
223 223  * Independence from conflicts of interest
... ... @@ -224,6 +224,7 @@
224 224  * Methodology transparency
225 225  
226 226  **Source Quality Database**:
244 +
227 227  * Automated tracking of source accuracy
228 228  * Correction frequency
229 229  * Reliability score (updated continuously)
... ... @@ -255,6 +255,7 @@
255 255  === 4.4 Confidence Scoring ===
256 256  
257 257  **Automated confidence calculation based on**:
276 +
258 258  * Source quality scores
259 259  * Evidence consistency
260 260  * Contradiction detection
... ... @@ -262,6 +262,7 @@
262 262  * Historical accuracy of similar claims
263 263  
264 264  **Thresholds**:
284 +
265 265  * < 40%: Too low to publish (needs improvement)
266 266  * 40-60%: Published with "Low confidence" warning
267 267  * 60-80%: Published as standard
... ... @@ -278,6 +278,7 @@
278 278  === 5.1 Risk Score Calculation ===
279 279  
280 280  **Factors** (weighted algorithm):
301 +
281 281  * **Domain sensitivity**: Medical, legal, safety auto-flagged higher
282 282  * **Potential impact**: Views, citations, spread
283 283  * **Controversy level**: Flags, disputes, edit wars
... ... @@ -304,6 +304,7 @@
304 304  === 6.1 Error Capture ===
305 305  
306 306  **When users flag errors or make corrections**:
328 +
307 307  1. What was wrong? (categorize)
308 308  2. What should it have been?
309 309  3. Why did the system fail? (root cause)
... ... @@ -322,6 +322,7 @@
322 322  === 6.3 Quality Metrics Dashboard ===
323 323  
324 324  **Track continuously**:
347 +
325 325  * Error rate by category
326 326  * Source quality distribution
327 327  * Confidence score trends
... ... @@ -347,6 +347,7 @@
347 347  === 7.2 Anomaly Detection ===
348 348  
349 349  **Automated alerts for**:
373 +
350 350  * Sudden quality drops
351 351  * Unusual patterns
352 352  * Contradiction clusters
... ... @@ -399,6 +399,7 @@
399 399  **Fulfills**: UN-2 (Context-dependent verification), UN-3 (Article summary with FactHarbor analysis summary), UN-8 (Understanding disagreement)
400 400  
401 401  **Automated scenario creation**:
426 +
402 402  * AKEL analyzes claim and generates likely scenarios (use-cases and contexts)
403 403  * Each scenario includes: assumptions, definitions, boundaries, evidence context
404 404  * Users can flag incorrect scenarios
... ... @@ -465,6 +465,7 @@
465 465  **Purpose**: Provide side-by-side comparison of what a document claims vs. FactHarbor's complete analysis of its credibility
466 466  
467 467  **Left Panel: Article Summary**:
493 +
468 468  * Document title, source, and claimed credibility
469 469  * "The Big Picture" - main thesis or position change
470 470  * "Key Findings" - structured summary of document's main claims
... ... @@ -472,6 +472,7 @@
472 472  * "Conclusion" - document's bottom line
473 473  
474 474  **Right Panel: FactHarbor Analysis Summary**:
501 +
475 475  * FactHarbor's independent source credibility assessment
476 476  * Claim-by-claim verdicts with confidence scores
477 477  * Methodology assessment (strengths, limitations)
... ... @@ -479,6 +479,7 @@
479 479  * Analysis ID for reference
480 480  
481 481  **Design Principles**:
509 +
482 482  * No scrolling required - both panels visible simultaneously
483 483  * Visual distinction between "what they say" and "FactHarbor's analysis"
484 484  * Color coding for verdicts (supported, uncertain, refuted)
... ... @@ -486,6 +486,7 @@
486 486  * Mobile responsive (panels stack vertically on small screens)
487 487  
488 488  **Implementation Notes**:
517 +
489 489  * Generated automatically by AKEL for every analyzed document
490 490  * Updates when verdict evolves (maintains version history)
491 491  * Exportable as standalone summary report
... ... @@ -512,7 +512,8 @@
512 512  (% style="font-size:0.9em; color:#666;" %)
513 513  ↑ WELL SUPPORTED • 87% confidence
514 514  [[Click for evidence details →]]
515 -(%%)
544 +
545 +
516 516  )))
517 517  
518 518  The study, which followed 10,000 participants over five years, showed significant improvements in cardiovascular health markers.
... ... @@ -525,7 +525,8 @@
525 525  ↑ UNCERTAIN • 45% confidence
526 526  Overstated - evidence shows risk reduction, not prevention
527 527  [[Click for details →]]
528 -(%%)
558 +
559 +
529 529  )))
530 530  
531 531  Dr. Maria Rodriguez, lead researcher, recommends incorporating more olive oil, fish, and vegetables into daily meals.
... ... @@ -538,7 +538,8 @@
538 538  ↑ REFUTED • 15% confidence
539 539  Claim not supported by study design; correlation ≠ causation
540 540  [[Click for counter-evidence →]]
541 -(%%)
572 +
573 +
542 542  )))
543 543  
544 544  Participants also reported feeling more energetic and experiencing better sleep quality, though these were secondary measures.
... ... @@ -545,6 +545,7 @@
545 545  )))
546 546  
547 547  **Legend:**
580 +
548 548  * 🟢 = Well-supported claim (confidence ≥75%)
549 549  * 🟡 = Uncertain claim (confidence 40-74%)
550 550  * 🔴 = Refuted/unsupported claim (confidence <40%)
... ... @@ -563,11 +563,13 @@
563 563  **Confidence:** 87%
564 564  
565 565  **Evidence Summary:**
599 +
566 566  * Meta-analysis of 12 RCTs confirms 23-28% risk reduction
567 567  * Consistent findings across multiple populations
568 568  * Published in peer-reviewed journal (high credibility)
569 569  
570 570  **Uncertainty Factors:**
605 +
571 571  * Exact percentage varies by study (20-30% range)
572 572  
573 573  [[View Full Analysis →]]
... ... @@ -574,6 +574,7 @@
574 574  )))
575 575  
576 576  **Color-Coding System**:
612 +
577 577  * **Green**: Well-supported claims (confidence ≥75%, strong evidence)
578 578  * **Yellow/Orange**: Uncertain claims (confidence 40-74%, conflicting or limited evidence)
579 579  * **Red**: Refuted or unsupported claims (confidence <40%, contradicted by evidence)
... ... @@ -583,8 +583,12 @@
583 583  
584 584  (% style="width:100%; border-collapse:collapse;" %)
585 585  |=**Article Text**|=**Status**|=**Analysis**
586 -|(((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
587 -|(((//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**|(((
622 +|(((
623 +A recent study published in the Journal of Nutrition has revealed new findings about the Mediterranean diet.
624 +)))|(% style="text-align:center;" %)Plain text|(% style="font-style:italic; color:#888;" %)Context - no highlighting
625 +|(((
626 +//Researchers found that Mediterranean diet followers had a 25% lower risk of heart disease compared to control groups//
627 +)))|(% style="background-color:#D4EDDA; text-align:center; padding:8px;" %)🟢 **WELL SUPPORTED**|(((
588 588  **87% confidence**
589 589  
590 590  Meta-analysis of 12 RCTs confirms 23-28% risk reduction
... ... @@ -591,8 +591,12 @@
591 591  
592 592  [[View Full Analysis]]
593 593  )))
594 -|(((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
595 -|(((//Some experts believe this diet can completely prevent heart attacks//)))|(% style="background-color:#FFF3CD; text-align:center; padding:8px;" %)🟡 **UNCERTAIN**|(((
634 +|(((
635 +The study, which followed 10,000 participants over five years, showed significant improvements in cardiovascular health markers.
636 +)))|(% style="text-align:center;" %)Plain text|(% style="font-style:italic; color:#888;" %)Methodology - no highlighting
637 +|(((
638 +//Some experts believe this diet can completely prevent heart attacks//
639 +)))|(% style="background-color:#FFF3CD; text-align:center; padding:8px;" %)🟡 **UNCERTAIN**|(((
596 596  **45% confidence**
597 597  
598 598  Overstated - evidence shows risk reduction, not prevention
... ... @@ -599,8 +599,12 @@
599 599  
600 600  [[View Details]]
601 601  )))
602 -|(((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
603 -|(((//The study proves that saturated fats cause heart disease//)))|(% style="background-color:#F8D7DA; text-align:center; padding:8px;" %)🔴 **REFUTED**|(((
646 +|(((
647 +Dr. Rodriguez recommends incorporating more olive oil, fish, and vegetables into daily meals.
648 +)))|(% style="text-align:center;" %)Plain text|(% style="font-style:italic; color:#888;" %)Recommendation - no highlighting
649 +|(((
650 +//The study proves that saturated fats cause heart disease//
651 +)))|(% style="background-color:#F8D7DA; text-align:center; padding:8px;" %)🔴 **REFUTED**|(((
604 604  **15% confidence**
605 605  
606 606  Claim not supported by study; correlation ≠ causation
... ... @@ -609,6 +609,7 @@
609 609  )))
610 610  
611 611  **Design Notes:**
660 +
612 612  * Highlighted claims use italics to distinguish from plain text
613 613  * Color backgrounds match XWiki message box colors (success/warning/error)
614 614  * Status column shows verdict prominently
... ... @@ -615,6 +615,7 @@
615 615  * Analysis column provides quick summary with link to details
616 616  
617 617  **User Actions**:
667 +
618 618  * **Hover** over highlighted claim → Tooltip appears
619 619  * **Click** highlighted claim → Detailed analysis modal/panel
620 620  * **Toggle** button to turn highlighting on/off
... ... @@ -621,16 +621,18 @@
621 621  * **Keyboard**: Tab through highlighted claims
622 622  
623 623  **Interaction Design**:
674 +
624 624  * Hover/click on highlighted claim → Show tooltip with:
625 - * Claim text
626 - * Verdict (e.g., "WELL SUPPORTED")
627 - * Confidence score (e.g., "85%")
628 - * Brief evidence summary
629 - * Link to detailed analysis
676 +* Claim text
677 +* Verdict (e.g., "WELL SUPPORTED")
678 +* Confidence score (e.g., "85%")
679 +* Brief evidence summary
680 +* Link to detailed analysis
630 630  * Toggle highlighting on/off (user preference)
631 631  * Adjustable color intensity for accessibility
632 632  
633 633  **Technical Requirements**:
685 +
634 634  * Real-time highlighting as page loads (non-blocking)
635 635  * Claim boundary detection (start/end of assertion)
636 636  * Handle nested or overlapping claims
... ... @@ -638,16 +638,19 @@
638 638  * Work with various content formats (HTML, plain text, PDFs)
639 639  
640 640  **Performance Requirements**:
693 +
641 641  * Highlighting renders within 500ms of page load
642 642  * No perceptible delay in reading experience
643 643  * Efficient DOM manipulation (avoid reflows)
644 644  
645 645  **Accessibility**:
699 +
646 646  * Color-blind friendly palette (use patterns/icons in addition to color)
647 647  * Screen reader compatible (ARIA labels for claim credibility)
648 648  * Keyboard navigation to highlighted claims
649 649  
650 650  **Implementation Notes**:
705 +
651 651  * Claims extracted and analyzed by AKEL during initial processing
652 652  * Highlighting data stored as annotations with byte offsets
653 653  * Client-side rendering of highlights based on verdict data
... ... @@ -660,6 +660,7 @@
660 660  **Fulfills**: UN-1 (Fast access to verified content), UN-16 (Clear review status)
661 661  
662 662  **Simple flow**:
718 +
663 663  1. Claim submitted
664 664  2. AKEL processes (automated)
665 665  3. If confidence > threshold: Publish (labeled as AI-generated)
... ... @@ -671,6 +671,7 @@
671 671  ==== FR10 — Moderation ====
672 672  
673 673  **Focus on abuse, not routine quality**:
730 +
674 674  * Automated abuse detection
675 675  * Moderators handle flags
676 676  * Quick response to harmful content
... ... @@ -741,6 +741,7 @@
741 741  **Purpose:** Ensure extracted claims are factual assertions (not opinions/predictions)
742 742  
743 743  **Checks:**
801 +
744 744  1. **Factual Statement Test:** Is this verifiable? (Yes/No)
745 745  2. **Opinion Detection:** Contains hedging language? ("I think", "probably", "best")
746 746  3. **Future Prediction Test:** Makes claims about future events?
... ... @@ -747,6 +747,7 @@
747 747  4. **Specificity Score:** Contains specific entities, numbers, dates?
748 748  
749 749  **Thresholds:**
808 +
750 750  * Factual: Must be "Yes"
751 751  * Opinion markers: <2 hedging phrases
752 752  * Specificity: ≥3 specific elements
... ... @@ -758,11 +758,13 @@
758 758  **Purpose:** Ensure AI-linked evidence actually relates to claim
759 759  
760 760  **Checks:**
820 +
761 761  1. **Semantic Similarity Score:** Evidence vs. claim (embeddings)
762 762  2. **Entity Overlap:** Shared people/places/things?
763 763  3. **Topic Relevance:** Discusses claim subject?
764 764  
765 765  **Thresholds:**
826 +
766 766  * Similarity: ≥0.6 (cosine similarity)
767 767  * Entity overlap: ≥1 shared entity
768 768  * Topic relevance: ≥0.5
... ... @@ -774,11 +774,13 @@
774 774  **Purpose:** Validate scenario assumptions are logical and complete
775 775  
776 776  **Checks:**
838 +
777 777  1. **Completeness:** All required fields populated
778 778  2. **Internal Consistency:** Assumptions don't contradict
779 779  3. **Distinguishability:** Scenarios meaningfully different
780 780  
781 781  **Thresholds:**
844 +
782 782  * Required fields: 100%
783 783  * Contradiction score: <0.3
784 784  * Scenario similarity: <0.8
... ... @@ -790,6 +790,7 @@
790 790  **Purpose:** Only publish high-confidence verdicts
791 791  
792 792  **Checks:**
856 +
793 793  1. **Evidence Count:** Minimum 2 sources
794 794  2. **Source Quality:** Average reliability ≥0.6
795 795  3. **Evidence Agreement:** Supporting vs. contradicting ≥0.6
... ... @@ -796,6 +796,7 @@
796 796  4. **Uncertainty Factors:** Hedging in reasoning
797 797  
798 798  **Confidence Tiers:**
863 +
799 799  * **HIGH (80-100%):** ≥3 sources, ≥0.7 quality, ≥80% agreement
800 800  * **MEDIUM (50-79%):** ≥2 sources, ≥0.6 quality, ≥60% agreement
801 801  * **LOW (0-49%):** <2 sources OR low quality/agreement
... ... @@ -802,11 +802,13 @@
802 802  * **INSUFFICIENT:** <2 sources → DO NOT PUBLISH
803 803  
804 804  **Implementation Phases:**
870 +
805 805  * **POC1:** Gates 1 & 4 only (basic validation)
806 806  * **POC2:** All 4 gates (complete framework)
807 807  * **V1.0:** Hardened with <5% hallucination rate
808 808  
809 809  **Acceptance Criteria:**
876 +
810 810  * ✅ All gates operational
811 811  * ✅ Hallucination rate <5%
812 812  * ✅ Quality metrics public
... ... @@ -822,6 +822,7 @@
822 822  ==== API Security ====
823 823  
824 824  **Rate Limiting:**
892 +
825 825  * **Analysis endpoints:** 100 requests/hour per IP
826 826  * **Read endpoints:** 1,000 requests/hour per IP
827 827  * **Search:** 500 requests/hour per IP
... ... @@ -829,21 +829,24 @@
829 829  * **Burst protection:** Max 10 requests/second
830 830  
831 831  **Authentication & Authorization:**
900 +
832 832  * **API Keys:** Required for programmatic access
833 833  * **JWT tokens:** For user sessions (1-hour expiry)
834 834  * **OAuth2:** For third-party integrations
835 835  * **Role-Based Access Control (RBAC):**
836 - * Public: Read-only access to published claims
837 - * Contributor: Submit claims, provide evidence
838 - * Moderator: Review contributions, manage quality
839 - * Admin: System configuration, user management
905 +* Public: Read-only access to published claims
906 +* Contributor: Submit claims, provide evidence
907 +* Moderator: Review contributions, manage quality
908 +* Admin: System configuration, user management
840 840  
841 841  **CORS Policies:**
911 +
842 842  * Whitelist approved domains only
843 843  * No wildcard origins in production
844 844  * Credentials required for sensitive endpoints
845 845  
846 846  **Input Sanitization:**
917 +
847 847  * Validate all user input against schemas
848 848  * Sanitize HTML/JavaScript in text submissions
849 849  * Prevent SQL injection (use parameterized queries)
... ... @@ -851,11 +851,12 @@
851 851  * Max request size: 10MB
852 852  * File upload restrictions: Whitelist file types, scan for malware
853 853  
854 ----
925 +----
855 855  
856 856  ==== Data Security ====
857 857  
858 858  **Encryption at Rest:**
930 +
859 859  * Database encryption using AES-256
860 860  * Encrypted backups
861 861  * Key management via cloud provider KMS (AWS KMS, Google Cloud KMS)
... ... @@ -862,6 +862,7 @@
862 862  * Regular key rotation (90-day cycle)
863 863  
864 864  **Encryption in Transit:**
937 +
865 865  * HTTPS/TLS 1.3 only (no TLS 1.0/1.1)
866 866  * Strong cipher suites only
867 867  * HSTS (HTTP Strict Transport Security) enabled
... ... @@ -868,6 +868,7 @@
868 868  * Certificate pinning for mobile apps
869 869  
870 870  **Secure Credential Storage:**
944 +
871 871  * Passwords hashed with bcrypt (cost factor 12+)
872 872  * API keys encrypted in database
873 873  * Secrets stored in environment variables (never in code)
... ... @@ -874,12 +874,13 @@
874 874  * Use secrets manager (AWS Secrets Manager, HashiCorp Vault)
875 875  
876 876  **Data Privacy:**
951 +
877 877  * Minimal data collection (privacy by design)
878 878  * User data deletion on request (GDPR compliance)
879 879  * PII encryption in database
880 880  * Anonymize logs (no PII in log files)
881 881  
882 ----
957 +----
883 883  
884 884  ==== Application Security ====
885 885  
... ... @@ -897,6 +897,7 @@
897 897  10. **Server-Side Request Forgery:** URL validation, whitelist domains
898 898  
899 899  **Security Headers:**
975 +
900 900  * `Content-Security-Policy`: Strict CSP to prevent XSS
901 901  * `X-Frame-Options`: DENY (prevent clickjacking)
902 902  * `X-Content-Type-Options`: nosniff
... ... @@ -904,6 +904,7 @@
904 904  * `Permissions-Policy`: Restrict browser features
905 905  
906 906  **Dependency Vulnerability Scanning:**
983 +
907 907  * **Tools:** Snyk, Dependabot, npm audit, pip-audit
908 908  * **Frequency:** Daily automated scans
909 909  * **Action:** Patch critical vulnerabilities within 24 hours
... ... @@ -910,30 +910,34 @@
910 910  * **Policy:** No known high/critical CVEs in production
911 911  
912 912  **Security Audits:**
990 +
913 913  * **Internal:** Quarterly security reviews
914 914  * **External:** Annual penetration testing by certified firm
915 915  * **Bug Bounty:** Public bug bounty program (V1.1+)
916 916  * **Compliance:** SOC 2 Type II certification target (V1.5)
917 917  
918 ----
996 +----
919 919  
920 920  ==== Operational Security ====
921 921  
922 922  **DDoS Protection:**
1001 +
923 923  * CloudFlare or AWS Shield
924 924  * Rate limiting at CDN layer
925 925  * Automatic IP blocking for abuse patterns
926 926  
927 927  **Monitoring & Alerting:**
1007 +
928 928  * Real-time security event monitoring
929 929  * Alerts for:
930 - * Failed login attempts (>5 in 10 minutes)
931 - * API abuse patterns
932 - * Unusual data access patterns
933 - * Security scan detections
1010 +* Failed login attempts (>5 in 10 minutes)
1011 +* API abuse patterns
1012 +* Unusual data access patterns
1013 +* Security scan detections
934 934  * Integration with SIEM (Security Information and Event Management)
935 935  
936 936  **Incident Response:**
1017 +
937 937  * Documented incident response plan
938 938  * Security incident classification (P1-P4)
939 939  * On-call rotation for security issues
... ... @@ -941,16 +941,18 @@
941 941  * Public disclosure policy (coordinated disclosure)
942 942  
943 943  **Backup & Recovery:**
1025 +
944 944  * Daily encrypted backups
945 945  * 30-day retention period
946 946  * Tested recovery procedures (quarterly)
947 947  * Disaster recovery plan (RTO: 4 hours, RPO: 1 hour)
948 948  
949 ----
1031 +----
950 950  
951 951  ==== Compliance & Standards ====
952 952  
953 953  **GDPR Compliance:**
1036 +
954 954  * User consent management
955 955  * Right to access data
956 956  * Right to deletion
... ... @@ -958,6 +958,7 @@
958 958  * Privacy policy published
959 959  
960 960  **Accessibility:**
1044 +
961 961  * WCAG 2.1 AA compliance
962 962  * Screen reader compatibility
963 963  * Keyboard navigation
... ... @@ -964,6 +964,7 @@
964 964  * Alt text for images
965 965  
966 966  **Browser Support:**
1051 +
967 967  * Modern browsers only (Chrome/Edge/Firefox/Safari latest 2 versions)
968 968  * No IE11 support
969 969  
... ... @@ -990,16 +990,18 @@
990 990  
991 991  **Core Metrics to Display:**
992 992  
993 -**1. Verdict Quality Metrics**
1078 +* \\
1079 +** \\
1080 +**1. Verdict Quality Metrics
994 994  
995 995  **TIGERScore (Fact-Checking Quality):**
1083 +
996 996  * **Definition:** Measures how well generated verdicts match expert fact-checker judgments
997 997  * **Scale:** 0-100 (higher is better)
998 998  * **Calculation:** Using TIGERScore framework (Truth-conditional accuracy, Informativeness, Generality, Evaluativeness, Relevance)
999 999  * **Target:** Average ≥80 for production release
1000 1000  * **Display:**
1001 -{{code}}
1002 -Verdict Quality (TIGERScore):
1089 +{{code}}Verdict Quality (TIGERScore):
1003 1003  Overall: 84.2 ▲ (+2.1 from last month)
1004 1004  
1005 1005  Distribution:
... ... @@ -1007,19 +1007,18 @@
1007 1007   Good (60-80): 28%
1008 1008   Needs Improvement (<60): 5%
1009 1009  
1010 -Trend: [Graph showing improvement over time]
1011 -{{/code}}
1097 +Trend: [Graph showing improvement over time]{{/code}}
1012 1012  
1013 1013  **2. Hallucination & Faithfulness Metrics**
1014 1014  
1015 1015  **AlignScore (Faithfulness to Evidence):**
1102 +
1016 1016  * **Definition:** Measures how well verdicts align with actual evidence content
1017 1017  * **Scale:** 0-1 (higher is better)
1018 1018  * **Purpose:** Detect AI hallucinations (making claims not supported by evidence)
1019 1019  * **Target:** Average ≥0.85, hallucination rate <5%
1020 1020  * **Display:**
1021 -{{code}}
1022 -Evidence Faithfulness (AlignScore):
1108 +{{code}}Evidence Faithfulness (AlignScore):
1023 1023  Average: 0.87 ▼ (-0.02 from last month)
1024 1024  
1025 1025  Hallucination Rate: 4.2%
... ... @@ -1026,24 +1026,24 @@
1026 1026   - Claims without evidence support: 3.1%
1027 1027   - Misrepresented evidence: 1.1%
1028 1028  
1029 -Action: Prompt engineering review scheduled
1030 -{{/code}}
1115 +Action: Prompt engineering review scheduled{{/code}}
1031 1031  
1032 1032  **3. Evidence Quality Metrics**
1033 1033  
1034 1034  **Source Reliability:**
1120 +
1035 1035  * Average source quality score (0-1 scale)
1036 1036  * Distribution of high/medium/low quality sources
1037 1037  * Publisher track record trends
1038 1038  
1039 1039  **Evidence Coverage:**
1126 +
1040 1040  * Average number of sources per claim
1041 1041  * Percentage of claims with ≥2 sources (EFCSN minimum)
1042 1042  * Geographic diversity of sources
1043 1043  
1044 1044  **Display:**
1045 -{{code}}
1046 -Evidence Quality:
1132 +{{code}}Evidence Quality:
1047 1047  
1048 1048  Average Sources per Claim: 4.2
1049 1049  Claims with ≥2 sources: 94% (EFCSN compliant)
... ... @@ -1053,24 +1053,23 @@
1053 1053   Medium quality (0.5-0.8): 43%
1054 1054   Low quality (<0.5): 9%
1055 1055  
1056 -Geographic Diversity: 23 countries represented
1057 -{{/code}}
1142 +Geographic Diversity: 23 countries represented{{/code}}
1058 1058  
1059 1059  **4. Contributor Consensus Metrics** (when human reviewers involved)
1060 1060  
1061 1061  **Inter-Rater Reliability (IRR):**
1147 +
1062 1062  * **Calculation:** Cohen's Kappa or Fleiss' Kappa for multiple raters
1063 1063  * **Scale:** 0-1 (higher is better)
1064 1064  * **Interpretation:**
1065 - * >0.8: Almost perfect agreement
1066 - * 0.6-0.8: Substantial agreement
1067 - * 0.4-0.6: Moderate agreement
1068 - * <0.4: Poor agreement
1151 +* >0.8: Almost perfect agreement
1152 +* 0.6-0.8: Substantial agreement
1153 +* 0.4-0.6: Moderate agreement
1154 +* <0.4: Poor agreement
1069 1069  * **Target:** Maintain ≥0.7 (substantial agreement)
1070 1070  
1071 1071  **Display:**
1072 -{{code}}
1073 -Contributor Consensus:
1158 +{{code}}Contributor Consensus:
1074 1074  
1075 1075  Inter-Rater Reliability (IRR): 0.73 (Substantial agreement)
1076 1076   - Verdict agreement: 78%
... ... @@ -1078,10 +1078,9 @@
1078 1078   - Scenario structure agreement: 69%
1079 1079  
1080 1080  Cases requiring moderator review: 12
1081 -Moderator override rate: 8%
1082 -{{/code}}
1166 +Moderator override rate: 8%{{/code}}
1083 1083  
1084 ----
1168 +----
1085 1085  
1086 1086  ==== Quality Dashboard Implementation ====
1087 1087  
... ... @@ -1088,6 +1088,7 @@
1088 1088  **Dashboard Location:** `/quality-metrics`
1089 1089  
1090 1090  **Update Frequency:**
1175 +
1091 1091  * **POC2:** Weekly manual updates
1092 1092  * **Beta 0:** Daily automated updates
1093 1093  * **V1.0:** Real-time metrics (updated hourly)
... ... @@ -1137,7 +1137,7 @@
1137 1137  
1138 1138  {{/code}}
1139 1139  
1140 ----
1225 +----
1141 1141  
1142 1142  ==== Continuous Improvement Feedback Loop ====
1143 1143  
... ... @@ -1144,31 +1144,36 @@
1144 1144  **How Metrics Inform AKEL Improvements:**
1145 1145  
1146 1146  1. **Identify Weak Areas:**
1147 - * Low TIGERScore → Review prompt engineering
1148 - * High hallucination → Strengthen evidence grounding
1149 - * Low IRR → Clarify evaluation criteria
1150 1150  
1233 +* Low TIGERScore → Review prompt engineering
1234 +* High hallucination → Strengthen evidence grounding
1235 +* Low IRR → Clarify evaluation criteria
1236 +
1151 1151  2. **A/B Testing Integration:**
1152 - * Test prompt variations
1153 - * Measure impact on quality metrics
1154 - * Deploy winners automatically
1155 1155  
1239 +* Test prompt variations
1240 +* Measure impact on quality metrics
1241 +* Deploy winners automatically
1242 +
1156 1156  3. **Alert Thresholds:**
1157 - * TIGERScore drops below 75 → Alert team
1158 - * Hallucination rate exceeds 7% → Pause auto-publishing
1159 - * IRR below 0.6 → Moderator training needed
1160 1160  
1245 +* TIGERScore drops below 75 → Alert team
1246 +* Hallucination rate exceeds 7% → Pause auto-publishing
1247 +* IRR below 0.6 → Moderator training needed
1248 +
1161 1161  4. **Monthly Quality Reviews:**
1162 - * Analyze trends
1163 - * Identify systematic issues
1164 - * Plan prompt improvements
1165 - * Update AKEL models
1166 1166  
1167 ----
1251 +* Analyze trends
1252 +* Identify systematic issues
1253 +* Plan prompt improvements
1254 +* Update AKEL models
1168 1168  
1256 +----
1257 +
1169 1169  ==== Metric Calculation Details ====
1170 1170  
1171 1171  **TIGERScore Implementation:**
1261 +
1172 1172  * Reference: https://github.com/TIGER-AI-Lab/TIGERScore
1173 1173  * Input: Generated verdict + reference verdict (from expert)
1174 1174  * Output: 0-100 score across 5 dimensions
... ... @@ -1175,6 +1175,7 @@
1175 1175  * Requires: Test set of expert-reviewed claims (minimum 100)
1176 1176  
1177 1177  **AlignScore Implementation:**
1268 +
1178 1178  * Reference: https://github.com/yuh-zha/AlignScore
1179 1179  * Input: Generated verdict + source evidence text
1180 1180  * Output: 0-1 faithfulness score
... ... @@ -1181,11 +1181,12 @@
1181 1181  * Calculation: Semantic alignment between claim and evidence
1182 1182  
1183 1183  **Source Quality Scoring:**
1275 +
1184 1184  * Use existing source reliability database (e.g., NewsGuard, MBFC)
1185 1185  * Factor in: Publication history, corrections record, transparency
1186 1186  * Scale: 0-1 (weighted average across sources)
1187 1187  
1188 ----
1280 +----
1189 1189  
1190 1190  ==== Integration Points ====
1191 1191  
... ... @@ -1213,11 +1213,13 @@
1213 1213  == 14. Related Pages ==
1214 1214  
1215 1215  **Non-Functional Requirements (see Section 9):**
1308 +
1216 1216  * [[NFR11 — AKEL Quality Assurance Framework>>#NFR11]]
1217 1217  * [[NFR12 — Security Controls>>#NFR12]]
1218 1218  * [[NFR13 — Quality Metrics Transparency>>#NFR13]]
1219 1219  
1220 1220  **Other Requirements:**
1314 +
1221 1221  * [[User Needs>>FactHarbor.Specification.Requirements.User Needs.WebHome]]
1222 1222  * [[V1.0 Requirements>>FactHarbor.Specification.Requirements.V10.]]
1223 1223  * [[Gap Analysis>>FactHarbor.Specification.Requirements.GapAnalysis]]
... ... @@ -1226,8 +1226,8 @@
1226 1226  * [[Architecture>>FactHarbor.Specification.Architecture.WebHome]] - How requirements are implemented
1227 1227  * [[Data Model>>FactHarbor.Specification.Data Model.WebHome]] - Data structures supporting requirements
1228 1228  * [[Workflows>>FactHarbor.Specification.Workflows.WebHome]] - User interaction workflows
1229 -* [[AKEL>>FactHarbor.Specification.AI Knowledge Extraction Layer (AKEL).WebHome]] - AI system fulfilling automation requirements
1230 -* [[Global Rules>>FactHarbor.Organisation.How-We-Work-Together.GlobalRules.WebHome]]
1323 +* [[AKEL>>Archive.FactHarbor.Specification.AI Knowledge Extraction Layer (AKEL).WebHome]] - AI system fulfilling automation requirements
1324 +* [[Global Rules>>Archive.FactHarbor.Organisation.How-We-Work-Together.GlobalRules.WebHome]]
1231 1231  * [[Privacy Policy>>FactHarbor.Organisation.How-We-Work-Together.Privacy-Policy]]
1232 1232  
1233 1233  = V0.9.70 Additional Requirements =
... ... @@ -1285,6 +1285,7 @@
1285 1285  **FactHarbor-Specific Mapping:**
1286 1286  
1287 1287  **Likelihood Score to Rating Scale:**
1382 +
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:**
1390 +
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..."
... ... @@ -1343,7 +1343,9 @@
1343 1343  
1344 1344  ==== Notification Mechanisms ====
1345 1345  
1346 -**1. In-Page Banner:**
1442 +* \\
1443 +** \\
1444 +**1. In-Page Banner:
1347 1347  
1348 1348  Display prominent banner on claim page:
1349 1349  
... ... @@ -1363,10 +1363,10 @@
1363 1363  
1364 1364  * Public changelog at `/claims/{id}/corrections`
1365 1365  * Displays for each correction:
1366 - * Date/time of correction
1367 - * What changed (before/after comparison)
1368 - * Why changed (reason if provided)
1369 - * Who made change (AKEL auto-update vs. contributor override)
1464 +* Date/time of correction
1465 +* What changed (before/after comparison)
1466 +* Why changed (reason if provided)
1467 +* Who made change (AKEL auto-update vs. contributor override)
1370 1370  
1371 1371  **3. Email Notifications (opt-in):**
1372 1372  
... ... @@ -1425,23 +1425,25 @@
1425 1425  **Purpose:** Find earlier uses of the image to verify context
1426 1426  
1427 1427  **Implementation:**
1526 +
1428 1428  * Integrate APIs:
1429 - * **Google Vision AI** (reverse search)
1430 - * **TinEye** (oldest known uses)
1431 - * **Bing Visual Search** (broad coverage)
1528 +* **Google Vision AI** (reverse search)
1529 +* **TinEye** (oldest known uses)
1530 +* **Bing Visual Search** (broad coverage)
1432 1432  
1433 1433  **Process:**
1533 +
1434 1434  1. Extract image from claim or user upload
1435 1435  2. Query multiple reverse search services
1436 1436  3. Analyze results for:
1437 - * Earliest known publication
1438 - * Original context (what was it really showing?)
1439 - * Publication timeline
1440 - * Geographic spread
1441 1441  
1538 +* Earliest known publication
1539 +* Original context (what was it really showing?)
1540 +* Publication timeline
1541 +* Geographic spread
1542 +
1442 1442  **Output:**
1443 -{{code}}
1444 -Reverse Image Search Results:
1544 +{{code}}Reverse Image Search Results:
1445 1445  
1446 1446  Earliest known use: 2019-03-15 (5 years before claim)
1447 1447  Original context: "Photo from 2019 flooding in Mumbai"
... ... @@ -1454,10 +1454,9 @@
1454 1454  • 2020-07-22: Bangladesh monsoon
1455 1455  • 2024-10-15: Current claim (misattributed)
1456 1456  
1457 -[View full timeline]
1458 -{{/code}}
1557 +[View full timeline]{{/code}}
1459 1459  
1460 ----
1559 +----
1461 1461  
1462 1462  **Method 2: AI Manipulation Detection**
1463 1463  
... ... @@ -1464,36 +1464,41 @@
1464 1464  **Purpose:** Detect deepfakes, face swaps, and digital alterations
1465 1465  
1466 1466  **Implementation:**
1566 +
1467 1467  * Integrate detection services:
1468 - * **Sensity AI** (deepfake detection)
1469 - * **Reality Defender** (multimodal analysis)
1470 - * **AWS Rekognition** (face detection inconsistencies)
1568 +* **Sensity AI** (deepfake detection)
1569 +* **Reality Defender** (multimodal analysis)
1570 +* **AWS Rekognition** (face detection inconsistencies)
1471 1471  
1472 1472  **Detection Categories:**
1573 +
1473 1473  1. **Face Manipulation:**
1474 - * Deepfake face swaps
1475 - * Expression manipulation
1476 - * Identity replacement
1477 1477  
1576 +* Deepfake face swaps
1577 +* Expression manipulation
1578 +* Identity replacement
1579 +
1478 1478  2. **Image Manipulation:**
1479 - * Copy-paste artifacts
1480 - * Clone stamp detection
1481 - * Content-aware fill detection
1482 - * JPEG compression inconsistencies
1483 1483  
1582 +* Copy-paste artifacts
1583 +* Clone stamp detection
1584 +* Content-aware fill detection
1585 +* JPEG compression inconsistencies
1586 +
1484 1484  3. **AI Generation:**
1485 - * Detect fully AI-generated images
1486 - * Identify generation artifacts
1487 - * Check for model signatures
1488 1488  
1589 +* Detect fully AI-generated images
1590 +* Identify generation artifacts
1591 +* Check for model signatures
1592 +
1489 1489  **Confidence Scoring:**
1594 +
1490 1490  * **HIGH (80-100%):** Strong evidence of manipulation
1491 1491  * **MEDIUM (50-79%):** Suspicious artifacts detected
1492 1492  * **LOW (0-49%):** Minor inconsistencies or inconclusive
1493 1493  
1494 1494  **Output:**
1495 -{{code}}
1496 -Manipulation Analysis:
1600 +{{code}}Manipulation Analysis:
1497 1497  
1498 1498  Face Manipulation: LOW RISK (12%)
1499 1499  Image Editing: MEDIUM RISK (64%)
... ... @@ -1502,10 +1502,9 @@
1502 1502  
1503 1503  AI Generation: LOW RISK (8%)
1504 1504  
1505 -⚠️ Possible manipulation detected. Manual review recommended.
1506 -{{/code}}
1609 +⚠️ Possible manipulation detected. Manual review recommended.{{/code}}
1507 1507  
1508 ----
1611 +----
1509 1509  
1510 1510  **Method 3: Metadata Analysis (EXIF)**
1511 1511  
... ... @@ -1512,6 +1512,7 @@
1512 1512  **Purpose:** Extract technical details that may reveal manipulation or misattribution
1513 1513  
1514 1514  **Extracted Data:**
1618 +
1515 1515  * **Camera/Device:** Make, model, software
1516 1516  * **Timestamps:** Original date, modification dates
1517 1517  * **Location:** GPS coordinates (if present)
... ... @@ -1519,6 +1519,7 @@
1519 1519  * **File Properties:** Resolution, compression, format conversions
1520 1520  
1521 1521  **Red Flags:**
1626 +
1522 1522  * Metadata completely stripped (suspicious)
1523 1523  * Timestamp conflicts with claimed date
1524 1524  * GPS location conflicts with claimed location
... ... @@ -1526,8 +1526,7 @@
1526 1526  * Creation date after modification date (impossible)
1527 1527  
1528 1528  **Output:**
1529 -{{code}}
1530 -Image Metadata:
1634 +{{code}}Image Metadata:
1531 1531  
1532 1532  Camera: iPhone 14 Pro
1533 1533  Original date: 2023-08-12 14:32:15
... ... @@ -1539,19 +1539,20 @@
1539 1539  Claim says: "Taken in Los Angeles"
1540 1540  EXIF says: New York City
1541 1541  
1542 -⚠️ Edited 14 months after capture
1543 -{{/code}}
1646 +⚠️ Edited 14 months after capture{{/code}}
1544 1544  
1545 ----
1648 +----
1546 1546  
1547 1547  ==== Verification Workflow ====
1548 1548  
1549 1549  **Automatic Triggers:**
1653 +
1550 1550  1. User submits claim with image
1551 1551  2. Article being analyzed contains images
1552 1552  3. Social media post includes photos
1553 1553  
1554 1554  **Process:**
1659 +
1555 1555  1. Extract images from content
1556 1556  2. Run all 3 verification methods in parallel
1557 1557  3. Aggregate results into confidence score
... ... @@ -1586,14 +1586,16 @@
1586 1586  ==== Cost Considerations ====
1587 1587  
1588 1588  **API Costs (estimated per image):**
1694 +
1589 1589  * Google Vision AI: $0.001-0.003
1590 1590  * TinEye: $0.02 (commercial API)
1591 1591  * Sensity AI: $0.05-0.10
1592 1592  * AWS Rekognition: $0.001-0.002
1593 1593  
1594 -**Total per image:** ~$0.07-0.15
1700 +**Total per image:** $0.07-0.15**
1595 1595  
1596 1596  **Mitigation Strategies:**
1703 +
1597 1597  * Cache results for duplicate images
1598 1598  * Use free tier quotas where available
1599 1599  * Prioritize higher-value claims for deep analysis
... ... @@ -1620,6 +1620,7 @@
1620 1620  **Automatic Archiving:**
1621 1621  
1622 1622  When AKEL links evidence:
1730 +
1623 1623  1. Check if URL already archived (Wayback Machine API)
1624 1624  2. If not, submit for archiving (Save Page Now API)
1625 1625  3. Store both original URL and archive URL
... ... @@ -1654,8 +1654,10 @@
1654 1654  * ✅ API rate limits respected
1655 1655  * ✅ Archive status visible in evidence display
1656 1656  
1657 -== Category 4: Community Safety ===== FR48: Contributor Safety Framework ===
1765 +== Category 4: Community Safety ==
1658 1658  
1767 + FR48: Contributor Safety Framework ===
1768 +
1659 1659  **Importance:** CRITICAL
1660 1660  **Fulfills:** UN-28 (Safe contribution environment)
1661 1661  
... ... @@ -1663,7 +1663,9 @@
1663 1663  
1664 1664  **Specification:**
1665 1665  
1666 -**1. Privacy Protection:**
1776 +* \\
1777 +** \\
1778 +**1. Privacy Protection:
1667 1667  
1668 1668  * **Optional Pseudonymity:** Contributors can use pseudonyms
1669 1669  * **Email Privacy:** Emails never displayed publicly
... ... @@ -1706,8 +1706,10 @@
1706 1706  * ✅ Moderator tools implemented
1707 1707  * ✅ Safety policy published
1708 1708  
1709 -== Category 5: Continuous Improvement ===== FR49: A/B Testing Framework ===
1821 +== Category 5: Continuous Improvement ==
1710 1710  
1823 + FR49: A/B Testing Framework ===
1824 +
1711 1711  **Importance:** CRITICAL
1712 1712  **Fulfills:** Continuous system improvement
1713 1713  
... ... @@ -1718,20 +1718,23 @@
1718 1718  **Test Capabilities:**
1719 1719  
1720 1720  1. **Prompt Variations:**
1721 - * Test different claim extraction prompts
1722 - * Test different verdict generation prompts
1723 - * Measure: Accuracy, clarity, completeness
1724 1724  
1836 +* Test different claim extraction prompts
1837 +* Test different verdict generation prompts
1838 +* Measure: Accuracy, clarity, completeness
1839 +
1725 1725  2. **Algorithm Variations:**
1726 - * Test different source scoring algorithms
1727 - * Test different confidence calculations
1728 - * Measure: Audit accuracy, user satisfaction
1729 1729  
1842 +* Test different source scoring algorithms
1843 +* Test different confidence calculations
1844 +* Measure: Audit accuracy, user satisfaction
1845 +
1730 1730  3. **Workflow Variations:**
1731 - * Test different quality gate thresholds
1732 - * Test different risk tier assignments
1733 - * Measure: Publication rate, quality scores
1734 1734  
1848 +* Test different quality gate thresholds
1849 +* Test different risk tier assignments
1850 +* Measure: Publication rate, quality scores
1851 +
1735 1735  **Implementation:**
1736 1736  
1737 1737  * **Traffic Split:** 50/50 or 90/10 splits
... ... @@ -1772,21 +1772,24 @@
1772 1772  **Deduplication Logic:**
1773 1773  
1774 1774  1. **URL Normalization:**
1775 - * Remove tracking parameters (?utm_source=...)
1776 - * Normalize http/https
1777 - * Normalize www/non-www
1778 - * Handle redirects
1779 1779  
1893 +* Remove tracking parameters (?utm_source=...)
1894 +* Normalize http/https
1895 +* Normalize www/non-www
1896 +* Handle redirects
1897 +
1780 1780  2. **Content Similarity:**
1781 - * If two sources have >90% text similarity → Same source
1782 - * If one is subset of other → Same source
1783 - * Use fuzzy matching for minor differences
1784 1784  
1900 +* If two sources have >90% text similarity → Same source
1901 +* If one is subset of other → Same source
1902 +* Use fuzzy matching for minor differences
1903 +
1785 1785  3. **Cross-Domain Syndication:**
1786 - * Detect wire service content (AP, Reuters)
1787 - * Mark as single source if syndicated
1788 - * Count original publication only
1789 1789  
1906 +* Detect wire service content (AP, Reuters)
1907 +* Mark as single source if syndicated
1908 +* Count original publication only
1909 +
1790 1790  **Display:**
1791 1791  
1792 1792  {{code}}
... ... @@ -1808,13 +1808,16 @@
1808 1808  * ✅ Unique vs. total counts accurate
1809 1809  * ✅ Improves evidence quality metrics
1810 1810  
1811 -== Additional Requirements (Lower Importance) ===== FR50: OSINT Toolkit Integration ===
1931 +== Additional Requirements (Lower Importance) ==
1812 1812  
1933 + FR50: OSINT Toolkit Integration ===
1934 +
1813 1813  **Fulfills:** Advanced media verification
1814 1814  
1815 1815  **Purpose:** Integrate open-source intelligence tools for advanced verification.
1816 1816  
1817 1817  **Tools to Integrate:**
1940 +
1818 1818  * InVID/WeVerify (video verification)
1819 1819  * Bellingcat toolkit
1820 1820  * Additional TBD based on V1.0 learnings
... ... @@ -1826,6 +1826,7 @@
1826 1826  **Purpose:** Verify video-based claims.
1827 1827  
1828 1828  **Specification:**
1952 +
1829 1829  * Keyframe extraction
1830 1830  * Reverse video search
1831 1831  * Deepfake detection (AI-powered)
... ... @@ -1839,6 +1839,7 @@
1839 1839  **Purpose:** Teach users to identify misinformation.
1840 1840  
1841 1841  **Specification:**
1966 +
1842 1842  * Interactive tutorials
1843 1843  * Practice exercises
1844 1844  * Detection quizzes
... ... @@ -1851,6 +1851,7 @@
1851 1851  **Purpose:** Share findings with IFCN/EFCSN members.
1852 1852  
1853 1853  **Specification:**
1979 +
1854 1854  * API for fact-checking organizations
1855 1855  * Structured data exchange
1856 1856  * Privacy controls
... ... @@ -1891,21 +1891,24 @@
1891 1891  **Deduplication Logic:**
1892 1892  
1893 1893  1. **URL Normalization:**
1894 - * Remove tracking parameters (?utm_source=...)
1895 - * Normalize http/https
1896 - * Normalize www/non-www
1897 - * Handle redirects
1898 1898  
2021 +* Remove tracking parameters (?utm_source=...)
2022 +* Normalize http/https
2023 +* Normalize www/non-www
2024 +* Handle redirects
2025 +
1899 1899  2. **Content Similarity:**
1900 - * If two sources have >90% text similarity → Same source
1901 - * If one is subset of other → Same source
1902 - * Use fuzzy matching for minor differences
1903 1903  
2028 +* If two sources have >90% text similarity → Same source
2029 +* If one is subset of other → Same source
2030 +* Use fuzzy matching for minor differences
2031 +
1904 1904  3. **Cross-Domain Syndication:**
1905 - * Detect wire service content (AP, Reuters)
1906 - * Mark as single source if syndicated
1907 - * Count original publication only
1908 1908  
2034 +* Detect wire service content (AP, Reuters)
2035 +* Mark as single source if syndicated
2036 +* Count original publication only
2037 +
1909 1909  **Display:**
1910 1910  
1911 1911  {{code}}
... ... @@ -1927,8 +1927,10 @@
1927 1927  * ✅ Unique vs. total counts accurate
1928 1928  * ✅ Improves evidence quality metrics
1929 1929  
1930 -== Additional Requirements (Lower Importance) ===== FR7: Automated Verdicts (Enhanced with Quality Gates) ===
2059 +== Additional Requirements (Lower Importance) ==
1931 1931  
2061 + FR7: Automated Verdicts (Enhanced with Quality Gates) ===
2062 +
1932 1932  **POC1+ Enhancement:**
1933 1933  
1934 1934  After AKEL generates verdict, it passes through quality gates:
... ... @@ -1949,6 +1949,7 @@
1949 1949  {{/code}}
1950 1950  
1951 1951  **Updated Verdict States:**
2083 +
1952 1952  * PUBLISHED
1953 1953  * INSUFFICIENT_EVIDENCE
1954 1954  * NON_FACTUAL_CLAIM
... ... @@ -1970,4 +1970,3 @@
1970 1970   Avg Source Quality: 0.73
1971 1971   Quality Score: 8.5/10
1972 1972  {{/code}}
1973 -