Changes for page Requirements

Last modified by Robert Schaub on 2025/12/24 20:34

From version 8.4
edited by Robert Schaub
on 2025/12/16 20:28
Change comment: Renamed back-links.
To version 3.1
edited by Robert Schaub
on 2025/12/12 15:41
Change comment: Imported from XAR

Summary

Details

Page properties
Parent
... ... @@ -1,1 +1,1 @@
1 -FactHarbor.Archive.FactHarbor V0\.9\.18.Specification.WebHome
1 +FactHarbor.Specification.WebHome
Content
... ... @@ -1,372 +1,177 @@
1 1  = Requirements =
2 2  
3 -This page defines **Roles**, **Responsibilities**, and **Rules** for contributors and users of FactHarbor.
3 +This chapter defines all functional, non-functional, user-role, and federation requirements for FactHarbor.
4 4  
5 -== Roles ==
5 +It answers:
6 6  
7 -=== Reader ===
7 +* Who can do what in the system?
8 +* What workflows must FactHarbor support?
9 +* What quality, transparency, and federation guarantees must be met?
8 8  
9 -**Who**: Anyone (no login required).
11 +----
10 10  
11 -**Can**:
13 += User Roles =
12 12  
13 -* Browse and search claims
14 -* View scenarios, evidence, verdicts, and timelines
15 -* Compare scenarios and explore assumptions
16 -* Flag issues, errors, contradictions, or suspicious patterns
17 -* Use filters, search, and visualization tools
18 -* Create personal views (saved searches, bookmarks - local browser storage)
19 -* **Submit claims automatically** by providing text to analyze - new claims are added automatically unless equal claims already exist in the system
15 +== Reader ==
20 20  
21 -**Cannot**:
17 +Responsibilities:
22 22  
23 -* Modify existing content
24 -* Access draft content
25 -* Participate in governance decisions
19 +* Browse and search claims
20 +* View scenarios, evidence, verdicts, and timelines
21 +* Compare scenarios and explore assumptions
22 +* Flag issues, errors, contradictions, or suspicious patterns
26 26  
27 -**Note**: Readers can request human review of AI-generated content by flagging it.
24 +Permissions:
28 28  
29 -=== Contributor ===
26 +* Read-only access to all published claims, scenarios, evidence, and verdicts
27 +* Use filters, search, and visualization tools (“truth landscape”, timelines, scenario comparison, etc.)
28 +* Create personal views (saved searches, bookmarks, etc.)
30 30  
31 -**Who**: Registered and logged-in users (extends Reader capabilities).
30 +Limitations:
32 32  
33 -**Can**:
32 +* Cannot change shared content
33 +* Cannot publish new claims, scenarios, or verdicts
34 34  
35 -* Everything a Reader can do
36 -* Submit claims
37 -* Submit evidence
38 -* Provide feedback
39 -* Suggest scenarios
40 -* Flag content for review
41 -* Request human review of AI-generated content
35 +----
42 42  
43 -**Cannot**:
37 +== Contributor ==
44 44  
45 -* Publish or mark content as "reviewed" or "approved"
46 -* Override expert or maintainer decisions
47 -* Directly modify AKEL or quality gate configurations
39 +Responsibilities:
48 48  
49 -=== Reviewer ===
41 +* Submit claims
42 +* Propose new claim clusters (if automatic clustering is insufficient)
43 +* Draft scenarios (definitions, assumptions, boundaries)
44 +* Attach evidence (sources, documents, links, datasets)
45 +* Suggest verdict drafts and uncertainty ranges
46 +* Respond to reviewer or expert feedback
50 50  
51 -**Who**: Trusted community members, appointed by maintainers.
48 +Permissions:
52 52  
53 -**Can**:
50 +* Everything a Reader can do
51 +* Create and edit **draft** claims, scenarios, evidence links, and verdict drafts
52 +* Comment on existing content and discuss assumptions
53 +* Propose corrections to misclassified or outdated content
54 54  
55 -* Review contributions from Contributors and AKEL drafts
56 -* Validate AI-generated content (Mode 2 → Mode 3 transition)
57 -* Edit claims, scenarios, and evidence
58 -* Add clarifications or warnings
59 -* Change content status: `draft` → `in review` → `published` / `rejected`
60 -* Approve or reject **Tier B and C** content for "Human-Reviewed" status
61 -* Flag content for expert review
62 -* Participate in audit sampling
55 +Limitations:
63 63  
64 -**Cannot**:
57 +* Cannot *publish* or mark content as “reviewed” or “approved”
58 +* Cannot override expert or maintainer decisions
59 +* Cannot change system-level settings, roles, or federation configuration
65 65  
66 -* Approve Tier A content for "Human-Reviewed" status (requires Expert)
67 -* Change governance rules
68 -* Unilaterally change expert conclusions without process
69 -* Bypass quality gates
70 -
71 -**Note on AI-Drafted Content**:
72 -
73 -* Reviewers can validate AI-generated content (Mode 2) to promote it to "Human-Reviewed" (Mode 3)
74 -* For Tier B and C, Reviewers have approval authority
75 -* For Tier A, only Experts can grant "Human-Reviewed" status
76 -
77 -=== Expert (Domain-Specific) ===
78 -
79 -**Who**: Subject-matter specialists in specific domains (medicine, law, science, etc.).
80 -
81 -**Can**:
82 -
83 -* Everything a Reviewer can do
84 -* **Final authority** on Tier A content "Human-Reviewed" status
85 -* Validate complex or controversial claims in their domain
86 -* Define domain-specific quality standards
87 -* Set reliability thresholds for domain sources
88 -* Participate in risk tier assignment review
89 -* Override AKEL suggestions in their domain (with documentation)
90 -
91 -**Cannot**:
92 -
93 -* Change platform governance policies
94 -* Approve content outside their expertise domain
95 -* Bypass technical quality gates (but can flag for adjustment)
96 -
97 -**Specialization**:
98 -
99 -* Experts are domain-specific (e.g., "Medical Expert", "Legal Expert", "Climate Science Expert")
100 -* Cross-domain claims may require multiple expert reviews
101 -
102 -=== Auditor ===
103 -
104 -**Who**: Reviewers or Experts assigned to sampling audit duties.
105 -
106 -**Can**:
107 -
108 -* Review sampled AI-generated content against quality standards
109 -* Validate quality gate enforcement
110 -* Identify patterns in AI errors or hallucinations
111 -* Provide feedback for system improvement
112 -* Flag content for immediate review if errors found
113 -* Contribute to audit statistics and transparency reports
114 -
115 -**Cannot**:
116 -
117 -* Change audit sampling algorithms (maintainer responsibility)
118 -* Bypass normal review workflows
119 -* Audit content they personally created
120 -
121 -**Selection**:
122 -
123 -* Auditors selected based on domain expertise and review quality
124 -* Rotation to prevent audit fatigue
125 -* Stratified assignment (Tier A auditors need higher expertise)
126 -
127 -**Audit Focus**:
128 -
129 -* Tier A: Recommendation 30-50% sampling rate, expert auditors
130 -* Tier B: Recommendation 10-20% sampling rate, reviewer/expert auditors
131 -* Tier C: Recommendation 5-10% sampling rate, reviewer auditors
132 -
133 -=== Moderator ===
134 -
135 -**Who**: Maintainers or trusted long-term contributors.
136 -
137 -**Can**:
138 -
139 -* All Reviewer and Expert capabilities (cross-domain)
140 -* Manage user accounts and permissions
141 -* Handle disputes and conflicts
142 -* Enforce community guidelines
143 -* Suspend or ban abusive users
144 -* Finalize publication status for sensitive content
145 -* Review and adjust risk tier assignments
146 -* Oversee audit system performance
147 -
148 -**Cannot**:
149 -
150 -* Change core data model or architecture
151 -* Override technical system constraints
152 -* Make unilateral governance decisions without consensus
153 -
154 -=== Maintainer ===
155 -
156 -**Who**: Core team members responsible for the platform.
157 -
158 -**Can**:
159 -
160 -* All Moderator capabilities
161 -* Change data model, architecture, and technical systems
162 -* Configure quality gates and AKEL parameters
163 -* Adjust audit sampling algorithms
164 -* Set and modify risk tier policies
165 -* Make platform-wide governance decisions
166 -* Access and modify backend systems
167 -* Deploy updates and fixes
168 -* Grant and revoke roles
169 -
170 -**Governance**:
171 -
172 -* Maintainers operate under organizational governance rules
173 -* Major policy changes require Governing Team approval
174 -* Technical decisions made collaboratively
175 -
176 176  ----
177 177  
178 -== Content Publication States ==
63 +== Reviewer ==
179 179  
180 -=== Mode 1: Draft ===
65 +Responsibilities:
181 181  
182 -* Not visible to public
183 -* Visible to contributor and reviewers
184 -* Can be edited by contributor or reviewers
185 -* Default state for failed quality gates
67 +* Review contributions from Contributors and AKEL drafts
68 +* Check internal consistency and clarity of scenarios
69 +* Validate that evidence is correctly linked and described
70 +* Ensure verdicts match the evidence and stated assumptions
71 +* Reject, request change, or accept content
186 186  
187 -=== Mode 2: AI-Generated (Published) ===
73 +Permissions:
188 188  
189 -* **Public** and visible to all users
190 -* Clearly labeled as "AI-Generated, Awaiting Human Review"
191 -* Passed all automated quality gates
192 -* Risk tier displayed (A/B/C)
193 -* Users can:
194 -** Read and use content
195 -** Request human review
196 -** Flag for expert attention
197 -* Subject to sampling audits
198 -* Can be promoted to Mode 3 by reviewer/expert validation
75 +* Everything a Contributor can do
76 +* Change content status from `draft` → `in review` → `published` / `rejected`
77 +* Send content back to Contributors with comments
78 +* Flag content for expert review
199 199  
200 -=== Mode 3: Human-Reviewed (Published) ===
80 +Limitations:
201 201  
202 -* **Public** and visible to all users
203 -* Labeled as "Human-Reviewed" with reviewer/expert attribution
204 -* Passed quality gates + human validation
205 -* Highest trust level
206 -* For Tier A, requires Expert approval
207 -* For Tier B/C, Reviewer approval sufficient
82 +* Cannot modify system-wide configuration or federation topology
83 +* Cannot unilaterally change expert conclusions without process
208 208  
209 -=== Rejected ===
210 -
211 -* Not visible to public
212 -* Visible to contributor with rejection reason
213 -* Can be resubmitted after addressing issues
214 -* Rejection logged for transparency
215 -
216 216  ----
217 217  
218 -== Contribution Rules ==
87 +== Expert ==
219 219  
220 -=== All Contributors Must: ===
89 +Responsibilities:
221 221  
222 -* Provide sources for claims
223 -* Use clear, neutral language
224 -* Avoid personal attacks or insults
225 -* Respect intellectual property (cite sources)
226 -* Accept community feedback gracefully
91 +* Provide domain-specific judgment on scenarios, evidence, and verdicts
92 +* Refine assumptions and definitions in complex or ambiguous topics
93 +* Identify subtle biases, missing evidence, or misinterpretations
94 +* Propose improved verdicts and uncertainty assessments
227 227  
228 -=== AKEL (AI) Must: ===
96 +Permissions:
229 229  
230 -* Mark all outputs with `AuthorType = AI`
231 -* Pass quality gates before Mode 2 publication
232 -* Perform mandatory contradiction search
233 -* Disclose confidence levels and uncertainty
234 -* Provide traceable reasoning chains
235 -* Flag potential bubbles or echo chambers
236 -* Submit to audit sampling
98 +* Everything a Reviewer can do
99 +* Attach expert annotations and signed opinions to scenarios and verdicts
100 +* Propose re-evaluation of already published content based on new evidence
237 237  
238 -=== Reviewers Must: ===
102 +Limitations:
239 239  
240 -* Be impartial and evidence-based
241 -* Document reasoning for decisions
242 -* Escalate to experts when appropriate
243 -* Participate in audits when assigned
244 -* Provide constructive feedback
104 +* Expert status is scoped to specific domains
105 +* Cannot bypass moderation, abuse policies, or legal constraints
245 245  
246 -=== Experts Must: ===
247 -
248 -* Stay within domain expertise
249 -* Disclose conflicts of interest
250 -* Document specialized terminology
251 -* Provide reasoning for domain-specific decisions
252 -* Participate in Tier A audits
253 -
254 254  ----
255 255  
256 -== Quality Standards ==
109 +== Moderator ==
257 257  
258 -=== Source Requirements ===
111 +Responsibilities:
259 259  
260 -* Primary sources preferred over secondary
261 -* Publication date and author must be identifiable
262 -* Sources must be accessible (not paywalled when possible)
263 -* Contradictory sources must be acknowledged
264 -* Echo chamber sources must be flagged
113 +* Handle abuse reports, spam, harassment, and coordinated manipulation
114 +* Enforce community guidelines and legal constraints
115 +* Manage user bans, content takedowns, and visibility restrictions
265 265  
266 -=== Claim Requirements ===
117 +Permissions:
267 267  
268 -* Falsifiable or evaluable
269 -* Clear definitions of key terms
270 -* Boundaries and scope stated
271 -* Assumptions made explicit
272 -* Uncertainty acknowledged
119 +* Hide or temporarily disable access to abusive content
120 +* Ban or restrict users in line with policy
121 +* Edit or redact sensitive content (e.g., doxxing, illegal material)
273 273  
274 -=== Evidence Requirements ===
123 +Limitations:
275 275  
276 -* Relevant to the claim and scenario
277 -* Reliability assessment provided
278 -* Methodology described (for studies)
279 -* Limitations noted
280 -* Conflicting evidence acknowledged
125 +* Does not change factual verdicts except where required for legal / safety reasons
126 +* Substantive fact changes must go through the review / expert process
281 281  
282 282  ----
283 283  
284 -== Risk Tier Assignment ==
130 +== Maintainer / Administrator ==
285 285  
286 -**Automated (AKEL)**: Initial tier suggested based on domain, keywords, impact
287 -**Human Validation**: Moderators or Experts can override AKEL suggestions
288 -**Review**: Risk tiers periodically reviewed based on audit outcomes
132 +Responsibilities:
289 289  
290 -**Tier A Indicators**:
134 +* Maintain node configuration, security settings, and backups
135 +* Configure AKEL, storage, federation endpoints, and performance tuning
136 +* Manage role assignments (who is Reviewer, Expert, Moderator, etc.)
137 +* Approve software updates and schema migrations
291 291  
292 -* Medical diagnosis or treatment advice
293 -* Legal interpretation or advice
294 -* Election or voting information
295 -* Safety or security sensitive
296 -* Major financial decisions
297 -* Potential for significant harm
139 +Permissions:
298 298  
299 -**Tier B Indicators**:
141 +* All read/write access to configuration, but not necessarily content editorial authority
142 +* Define organization-level policies (e.g., which sources are allowed by default)
300 300  
301 -* Complex scientific causality
302 -* Contested policy domains
303 -* Historical interpretation with political implications
304 -* Significant economic impact claims
144 +Limitations:
305 305  
306 -**Tier C Indicators**:
146 +* Editorial decisions on controversial topics follow governance rules, not arbitrary admin choice
307 307  
308 -* Established historical facts
309 -* Simple definitions
310 -* Well-documented scientific consensus
311 -* Basic reference information
312 -
313 313  ----
314 314  
150 +== AKEL (AI Knowledge Extraction Layer) ==
315 315  
316 -----
152 +Responsibilities:
317 317  
318 -== User Role Hierarchy Diagram ==
154 +* Propose drafts — never final decisions
155 +* Normalize claims and extract candidate clusters
156 +* Draft scenarios, evidence candidates, and preliminary verdict suggestions
157 +* Propose re-evaluation when new evidence appears
319 319  
320 -The following diagram visualizes the complete role hierarchy:
159 +Permissions:
321 321  
322 -{{include reference="Test.FactHarborV09.Specification.Diagrams.User Class Diagram.WebHome"/}}
161 +* Create and update **machine-generated drafts** and suggestions
162 +* Never directly publish content without human approval
323 323  
324 -----
164 +Limitations:
325 325  
326 -----
166 +* AKEL output is always labeled as AI-generated draft
167 +* Must be reviewable, auditable, and overridable by humans
327 327  
328 -== Role Hierarchy Diagrams ==
329 -
330 -=== User Class Diagram ===
331 -
332 -The following class diagram visualizes the complete user role hierarchy:
333 -
334 -{{include reference="Test.FactHarborV09.Specification.Diagrams.User Class Diagram.WebHome"/}}
335 -
336 -=== Human User Roles ===
337 -
338 -This diagram shows the two-track progression for human users:
339 -
340 -{{include reference="FactHarbor.Archive.FactHarbor V0\.9\.23 Lost Data.Specification.Diagrams.Human User Roles.WebHome"/}}
341 -
342 -=== Technical and System Users ===
343 -
344 -This diagram shows system processes and their management:
345 -
346 -{{include reference="Test.FactHarborV09.Specification.Diagrams.Technical and System Users.WebHome"/}}
347 -
348 -**Key Design Principles**:
349 -
350 -* **Two tracks from Contributor**: Content Track (Reviewer) and Technical Track (Maintainer)
351 -* **Technical Users**: System processes (AKEL, bots) managed by Maintainers
352 -* **Separation of concerns**: Editorial authority independent from technical authority
353 -
354 354  ----
355 355  
356 -
357 -
358 -----
359 -
360 360  = Functional Requirements =
361 361  
173 +This section defines what the system must **do**.
362 362  
363 -
364 -This page defines what the FactHarbor system must **do** to fulfill its mission.
365 -
366 -Requirements are structured as FR (Functional Requirement) items and organized by capability area.
367 -
368 ------
369 -
370 370  == Claim Intake & Normalization ==
371 371  
372 372  === FR1 – Claim Intake ===
... ... @@ -373,90 +373,90 @@
373 373  
374 374  The system must support Claim creation from:
375 375  
376 -* Free-text input (from any Reader)
377 -* URLs (web pages, articles, posts)
378 -* Uploaded documents and transcripts
379 -* Structured feeds (optional, e.g. from partner platforms)
380 -* Automated ingestion (federation input)
381 -* AKEL extraction from multi-claim texts
181 +* Free-text input
182 +* URLs (web pages, articles, posts)
183 +* Uploaded documents and transcripts
184 +* Structured feeds (optional, e.g. from partner platforms)
382 382  
383 -**Automatic submission**: Any Reader can submit text, and new claims are added automatically unless identical claims already exist.
186 +Accepted sources:
384 384  
188 +* Text entered by users
189 +* URLs
190 +* Uploaded documents
191 +* Transcripts
192 +* Automated ingestion (optional federation input)
193 +* AKEL extraction from multi-claim texts
194 +
385 385  === FR2 – Claim Normalization ===
386 386  
387 -* Convert diverse inputs into short, structured, declarative claims
388 -* Preserve original phrasing for reference
389 -* Avoid hidden reinterpretation; differences between original and normalized phrasing must be visible
197 +* Convert diverse inputs into short, structured, declarative claims
198 +* Preserve original phrasing for reference
199 +* Avoid hidden reinterpretation; differences between original and normalized phrasing must be visible
390 390  
391 391  === FR3 – Claim Classification ===
392 392  
393 -* Classify claims by topic, domain, and type (e.g., quantitative, causal, normative)
394 -* Assign risk tier (A/B/C) based on domain and potential impact
395 -* Suggest which node / experts are relevant
203 +* Classify claims by topic, domain, and type (e.g., quantitative, causal, normative)
204 +* Suggest which node / experts are relevant
396 396  
397 397  === FR4 – Claim Clustering ===
398 398  
399 -* Group similar claims into Claim Clusters
400 -* Allow manual correction of cluster membership
401 -* Provide explanation why two claims are considered "same cluster"
208 +* Group similar claims into Claim Clusters
209 +* Allow manual correction of cluster membership
210 +* Provide explanation why two claims are considered same cluster
402 402  
403 ------
212 +----
404 404  
405 405  == Scenario System ==
406 406  
407 407  === FR5 – Scenario Creation ===
408 408  
409 -* Contributors, Reviewers, and Experts can create scenarios
410 -* AKEL can propose draft scenarios
411 -* Each scenario is tied to exactly one Claim Cluster
218 +* Contributors, Reviewers, and Experts can create scenarios
219 +* AKEL can propose draft scenarios
220 +* Each scenario is tied to exactly one Claim Cluster
412 412  
413 413  === FR6 – Required Scenario Fields ===
414 414  
415 415  Each scenario includes:
416 416  
417 -* Definitions (key terms)
418 -* Assumptions (explicit, testable where possible)
419 -* Boundaries (time, geography, population, conditions)
420 -* Scope of evidence considered
421 -* Intended decision / context (optional)
226 +* Definitions (key terms)
227 +* Assumptions (explicit, testable where possible)
228 +* Boundaries (time, geography, population, conditions)
229 +* Scope of evidence considered
230 +* Intended decision / context (optional)
422 422  
423 423  === FR7 – Scenario Versioning ===
424 424  
425 -* Every change to a scenario creates a new version
426 -* Previous versions remain accessible with timestamps and rationale
427 -* ParentVersionID links versions
234 +* Every change to a scenario creates a new version
235 +* Previous versions remain accessible with timestamps and rationale
428 428  
429 429  === FR8 – Scenario Comparison ===
430 430  
431 -* Users can compare scenarios side by side
432 -* Show differences in assumptions, definitions, and evidence sets
239 +* Users can compare scenarios side by side
240 +* Show differences in assumptions, definitions, and evidence sets
433 433  
434 ------
242 +----
435 435  
436 436  == Evidence Management ==
437 437  
438 438  === FR9 – Evidence Ingestion ===
439 439  
440 -* Attach external sources (articles, studies, datasets, reports, transcripts) to Scenarios
441 -* Allow multiple pieces of evidence per Scenario
442 -* Support large file uploads (with size limits)
248 +* Attach external sources (articles, studies, datasets, reports, transcripts) to Scenarios
249 +* Allow multiple pieces of evidence per Scenario
443 443  
444 444  === FR10 – Evidence Assessment ===
445 445  
446 446  For each piece of evidence:
447 447  
448 -* Assign reliability / quality ratings
449 -* Capture who rated it and why
450 -* Indicate known limitations, biases, or conflicts of interest
451 -* Track evidence version history
255 +* Assign reliability / quality ratings
256 +* Capture who rated it and why
257 +* Indicate known limitations, biases, or conflicts of interest
452 452  
453 453  === FR11 – Evidence Linking ===
454 454  
455 -* Link one piece of evidence to multiple scenarios if relevant
456 -* Make dependencies explicit (e.g., "Scenario A uses subset of evidence used in Scenario B")
457 -* Use ScenarioEvidenceLink table with RelevanceScore
261 +* Link one piece of evidence to multiple scenarios if relevant
262 +* Make dependencies explicit (e.g., “Scenario A uses subset of evidence used in Scenario B”)
458 458  
459 ------
264 +----
460 460  
461 461  == Verdicts & Truth Landscape ==
462 462  
... ... @@ -464,219 +464,173 @@
464 464  
465 465  For each Scenario:
466 466  
467 -* Provide a **probability- or likelihood-based verdict**
468 -* Capture uncertainty and reasoning
469 -* Distinguish between AKEL draft and human-approved verdict
470 -* Support Mode 1 (draft), Mode 2 (AI-generated), Mode 3 (human-reviewed)
272 +* Provide a **probability- or likelihood-based verdict**
273 +* Capture uncertainty and reasoning
274 +* Distinguish between AKEL draft and human-approved verdict
471 471  
472 472  === FR13 – Truth Landscape ===
473 473  
474 -* Aggregate all scenario-specific verdicts into a "truth landscape" for a claim
475 -* Make disagreements visible rather than collapsing them into a single binary result
476 -* Show parallel scenarios and their respective verdicts
278 +* Aggregate all scenario-specific verdicts into a “truth landscape” for a claim
279 +* Make disagreements visible rather than collapsing them into a single binary result
477 477  
478 478  === FR14 – Time Evolution ===
479 479  
480 -* Show how verdicts and evidence evolve over time
481 -* Allow users to see "as of date X, what did we know?"
482 -* Maintain complete version history for auditing
283 +* Show how verdicts and evidence evolve over time
284 +* Allow users to see “as of date X, what did we know?”
483 483  
484 ------
286 +----
485 485  
486 486  == Workflow, Moderation & Audit ==
487 487  
488 488  === FR15 – Workflow States ===
489 489  
490 -* Draft → In Review → Published / Rejected
491 -* Separate states for Claims, Scenarios, Evidence, and Verdicts
492 -* Support Mode 1/2/3 publication model
292 +* Draft → In Review → Published / Rejected
293 +* Separate states for Claims, Scenarios, Evidence, and Verdicts
493 493  
494 494  === FR16 – Moderation & Abuse Handling ===
495 495  
496 -* Allow Moderators to hide content or lock edits for abuse or legal reasons
497 -* Keep internal audit trail even if public view is restricted
498 -* Support user reporting and flagging
297 +* Allow Moderators to hide content or lock edits for abuse or legal reasons
298 +* Keep internal audit trail even if public view is restricted
499 499  
500 500  === FR17 – Audit Trail ===
501 501  
502 -* Every significant action (create, edit, publish, delete/hide) is logged with:
503 -** Who did it
504 -** When (timestamp)
505 -** What changed (diffs)
506 -** Why (justification text)
302 +* Every significant action (create, edit, publish, delete/hide) is logged with:
303 + * Who did it
304 + * When
305 + * What changed
306 + * Why (short comment, optional but recommended)
507 507  
508 ------
308 +----
509 509  
510 -== Quality Gates & AI Review ==
310 += Federation Requirements =
511 511  
512 -=== FR18 Quality Gate Validation ===
312 +FactHarbor is designed to operate as a **federated network of nodes**.
513 513  
514 -Before AI-generated content (Mode 2) publication, enforce:
314 +=== FR18 Node Autonomy ===
515 515  
516 -* Gate 1: Source Quality
517 -* Gate 2: Contradiction Search (MANDATORY)
518 -* Gate 3: Uncertainty Quantification
519 -* Gate 4: Structural Integrity
316 +* Each node can run independently (local policies, local users, local moderation)
317 +* Nodes decide which other nodes to federate with
520 520  
521 -=== FR19 – Audit Sampling ===
319 +=== FR19 – Data Sharing Modes ===
522 522  
523 -* Implement stratified sampling by risk tier
524 -* Recommendation: 30-50% Tier A, 10-20% Tier B, 5-10% Tier C
525 -* Support audit workflow and feedback loop
321 +Nodes must be able to:
526 526  
527 -=== FR20 – Risk Tier Assignment ===
323 +* Share claims and summaries only
324 +* Share selected claims, scenarios, and verdicts
325 +* Share full underlying evidence metadata where allowed
326 +* Opt-out of sharing sensitive or restricted content
528 528  
529 -* AKEL suggests tier based on domain, keywords, impact
530 -* Moderators and Experts can override
531 -* Risk tier affects publication workflow
328 +=== FR20 – Synchronization & Conflict Handling ===
532 532  
533 ------
330 +* Changes from remote nodes must be mergeable or explicitly conflict-marked
331 +* Conflicting verdicts are allowed and visible; not forced into consensus
534 534  
535 -== Federation Requirements ==
333 +=== FR21 – Federation Discovery ===
536 536  
537 -=== FR21 – Node Autonomy ===
335 +* Discover other nodes and their capabilities (public endpoints, policies)
336 +* Allow whitelisting / blacklisting of nodes
538 538  
539 -* Each node can run independently (local policies, local users, local moderation)
540 -* Nodes decide which other nodes to federate with
541 -* Trust levels: Trusted / Neutral / Untrusted
338 +**Basic federation** (minimum):
542 542  
543 -=== FR22 – Data Sharing Modes ===
340 +* Subscribe to and import selected claims and scenarios from other nodes
341 +* Keep provenance (which node originated what)
342 +* Respect remote deletion / redaction notices where required by policy or law
544 544  
545 -Nodes must be able to:
344 +Advanced federation (later versions):
546 546  
547 -* Share claims and summaries only
548 -* Share selected claims, scenarios, and verdicts
549 -* Share full underlying evidence metadata where allowed
550 -* Opt-out of sharing sensitive or restricted content
346 +* Cross-node search
347 +* Federation-wide discovery and reputation signals
551 551  
552 -=== FR23 – Synchronization & Conflict Handling ===
349 +----
553 553  
554 -* Changes from remote nodes must be mergeable or explicitly conflict-marked
555 -* Conflicting verdicts are allowed and visible; not forced into consensus
556 -* Support push/pull/subscription synchronization
351 += Non-Functional Requirements (NFR) =
557 557  
558 -=== FR24Federation Discovery ===
353 +== NFR1Transparency ==
559 559  
560 -* Discover other nodes and their capabilities (public endpoints, policies)
561 -* Allow whitelisting / blacklisting of nodes
562 -* Global identifier format: `factharbor://node_url/type/local_id`
355 +* All assumptions, evidence, and reasoning behind verdicts must be visible
356 +* AKEL involvement must be clearly labeled
357 +* Users must be able to inspect the chain of reasoning and versions
563 563  
564 -=== FR25Cross-Node AI Knowledge Exchange ===
359 +== NFR2 – Security ==
565 565  
566 -* Share vector embeddings for clustering
567 -* Share canonical claim forms
568 -* Share scenario templates
569 -* Share contradiction alerts
570 -* NEVER share model weights
571 -* NEVER override local governance
361 +* Role-based access control
362 +* Transport-level security (HTTPS)
363 +* Secure storage of secrets (API keys, credentials)
364 +* Audit trails for sensitive actions
572 572  
573 ------
366 +== NFR3 – Privacy & Compliance ==
574 574  
575 -== Non-Functional Requirements ==
368 +* Configurable data retention policies
369 +* Ability to redact or pseudonymize personal data when required
370 +* Compliance hooks for jurisdiction-specific rules (e.g. GDPR-like deletion requests)
576 576  
577 -=== NFR1Transparency ===
372 +== NFR4Performance ==
578 578  
579 -* All assumptions, evidence, and reasoning behind verdicts must be visible
580 -* AKEL involvement must be clearly labeled
581 -* Users must be able to inspect the chain of reasoning and versions
374 +* POC: typical interactions < 2 s
375 +* Release 1.0: < 300 ms for common read operations after caching
376 +* Degradation strategies under load (e.g. partial federation results, limited history)
582 582  
583 -=== NFR2 – Security ===
378 +== NFR5 – Scalability ==
584 584  
585 -* Role-based access control
586 -* Transport-level security (HTTPS)
587 -* Secure storage of secrets (API keys, credentials)
588 -* Audit trails for sensitive actions
380 +* POC: **Fully automated text-to-truth-landscape** pipeline for validation.
381 +* Beta 0: ~100 external testers on one node
382 +* Release 1.0: **2000+ concurrent users** on a reasonably provisioned node
589 589  
590 -=== NFR3 – Privacy & Compliance ===
384 +Suggested technical targets for Release 1.0:
591 591  
592 -* Configurable data retention policies
593 -* Ability to redact or pseudonymize personal data when required
594 -* Compliance hooks for jurisdiction-specific rules (e.g. GDPR-like deletion requests)
386 +* Scalable monolith or early microservice architecture
387 +* Sharded vector database (for semantic search)
388 +* Optional IPFS or other decentralized storage for large artefacts
389 +* Horizontal scalability for read capacity
595 595  
596 -=== NFR4Performance ===
391 +== NFR6Interoperability ==
597 597  
598 -* POC: typical interactions < 2 s
599 -* Release 1.0: < 300 ms for common read operations after caching
600 -* Degradation strategies under load
393 +* Open, documented API
394 +* Modular AKEL that can be swapped or extended
395 +* Federation protocols that follow open standards where possible
396 +* Standard model for external integrations (e.g. news platforms, research tools)
601 601  
602 -=== NFR5Scalability ===
398 +== NFR7Observability & Operations ==
603 603  
604 -* POC: 50 internal testers on one node
605 -* Beta 0: 100 external testers on one node
606 -* Release 1.0: **2000+ concurrent users** on a reasonably provisioned node
400 +* Metrics for performance, errors, and queue backlogs
401 +* Logs for key flows (claim intake, scenario changes, verdict updates, federation sync)
402 +* Health endpoints for monitoring
607 607  
608 -Technical targets for Release 1.0:
404 +== NFR8 – Maintainability ==
609 609  
610 -* Scalable monolith or early microservice architecture
611 -* Sharded vector database (for semantic search)
612 -* Optional IPFS or other decentralized storage for large artifacts
613 -* Horizontal scalability for read capacity
406 +* Clear module boundaries (API, core services, AKEL, storage, federation)
407 +* Backward-compatible schema migration strategy where feasible
408 +* Configuration via files / environment variables, not hard-coded
614 614  
615 -=== NFR6Interoperability ===
410 +== NFR9Usability ==
616 616  
617 -* Open, documented API
618 -* Modular AKEL that can be swapped or extended
619 -* Federation protocols that follow open standards where possible
620 -* Standard model for external integrations
412 +* UI optimized for **exploring complexity**, not hiding it
413 +* Support for saved views, filters, and user-level preferences
414 +* Progressive disclosure: casual users see summaries, advanced users can dive deep
621 621  
622 -=== NFR7 – Observability & Operations ===
416 +----
623 623  
624 -* Metrics for performance, errors, and queue backlogs
625 -* Logs for key flows (claim intake, scenario changes, verdict updates, federation sync)
626 -* Health endpoints for monitoring
418 += Release Levels =
627 627  
628 -=== NFR8 – Maintainability ===
629 -
630 -* Clear module boundaries (API, core services, AKEL, storage, federation)
631 -* Backward-compatible schema migration strategy where feasible
632 -* Configuration via files / environment variables, not hard-coded
633 -
634 -=== NFR9 – Usability ===
635 -
636 -* UI optimized for **exploring complexity**, not hiding it
637 -* Support for saved views, filters, and user-level preferences
638 -* Progressive disclosure: casual users see summaries, advanced users can dive deep
639 -
640 ------
641 -
642 -== Release Levels ==
643 -
644 644  === Proof of Concept (POC) ===
645 645  
646 -* Single node
647 -* Limited user set (50 internal testers)
648 -* Basic claim → scenario → evidence → verdict flow
649 -* Minimal federation (optional)
650 -* AI-generated publication (Mode 2) demonstration
651 -* Quality gates active
422 +* **Status:** Fully Automated "Text to Truth Landscape"
423 +* **Focus:** Validating automated extraction, scenario generation, and verdict computation without human-in-the-loop.
424 +* **Goal:** Demonstrate model capability on raw text input.
652 652  
653 653  === Beta 0 ===
654 654  
655 -* One or few nodes
656 -* External testers (100)
657 -* Expanded workflows and basic moderation
658 -* Initial federation experiments
659 -* Audit sampling implemented
428 +* One or few nodes
429 +* External testers (~100)
430 +* Expanded workflows and basic moderation
431 +* Initial federation experiments
660 660  
661 661  === Release 1.0 ===
662 662  
663 -* 2000+ concurrent users
664 -* Scalable architecture
665 -* Sharded vector DB
666 -* IPFS optional
667 -* High automation (AKEL assistance)
668 -* Multi-node federation with full sync protocol
669 -* Mature audit system
435 +* 2000+ concurrent users
436 +* Scalable monolith or early microservices
437 +* Sharded vector DB
438 +* IPFS optional
439 +* High automation (AKEL assistance)
440 +* Multi-node federation
670 670  
671 ------
672 -
673 -
674 -
675 -== Related Pages ==
676 -
677 -
678 -
679 -* [[AKEL (AI Knowledge Extraction Layer)>>FactHarbor.Specification.AI Knowledge Extraction Layer (AKEL).WebHome]]
680 -* [[Automation>>FactHarbor.Specification.Automation.WebHome]]
681 -* [[Workflows>>FactHarbor.Specification.Workflows.WebHome]]
682 -* [[Governance>>FactHarbor.Organisation.Governance]]