![]()
๐ Process & Data-Flow Evolution: From Agentic Static Newsroom to AWS-Serverless Intelligence Platform
๐ฏ Build-Time OSINT ยท Party Landscape Analytics ยท Bedrock RAG ยท Predictive Democracy ยท Real-Time Fusion
๐ Document Owner: CEO | ๐ Version: 3.0 | ๐
Last Updated: 2026-05-31 (UTC)
๐ Review Cycle: Quarterly | โฐ Next Review: 2026-08-31
๐ข Owner: Hack23 AB (Org.nr 559534-7807) | ๐ท๏ธ Classification: Public
| Document | Type | Description |
|---|---|---|
| Architecture | ๐๏ธ Current | C4 model showing system structure |
| Data Model | ๐ Current | Data entities and relationships |
| Flowcharts | ๐ Current | Process flows and pipelines (this doc's baseline) |
| State Diagrams | ๐ Current | System state transitions |
| Mindmap | ๐บ๏ธ Current | System conceptual map |
| SWOT | ๐ผ Current | Strategic analysis |
| Workflows | ๐ง Current | CI/CD automation and pipelines |
| Future Architecture | ๐๏ธ Future | System evolution roadmap |
| Future Data Model | ๐ Future | Enhanced data architecture |
| Future Flowcharts | ๐ Future | Advanced process & data flows (this doc) |
| Future State Diagrams | ๐ Future | Advanced state management |
| Future Mindmap | ๐บ๏ธ Future | Future capability map |
| Future SWOT | ๐ผ Future | Strategic outlook |
| Security Architecture | ๐ก๏ธ Security | Defense-in-depth controls |
| Future Security Architecture | ๐ก๏ธ Future | Security roadmap |
| Threat Model | ๐ฏ Security | STRIDE analysis |
This document maps the process and data-flow evolution of Riksdagsmonitor across three horizons (2026โ2037). It is the forward-looking sibling of FLOWCHART.md: every future flow is built on top of the production v1.x baseline documented there โ the autonomous agentic newsroom, the multi-provider data fetch/persist layer, the analysis-gate quality wall, and the multi-region static deploy.
The roadmap deliberately separates the static-deepening near term from the serverless long term, so investment stays grounded:
| Horizon | Window | Architecture | Process centre of gravity |
|---|---|---|---|
| ๐ข v1.x baseline | shipped (2026) | Static HTML/CSS ยท 14 agentic workflows ยท CloudFront + multi-region S3 + GitHub Pages DR | Build-time: gh-aw โ analysis artifacts โ gate โ render โ translate โ deploy |
| ๐ต v2.0 | 2026โ2027 | Still static โ deeper precompute | Build-time party-landscape dashboards + OSINT products (network / temporal / anomaly / source-grading / INTOP) baked into static HTML |
| ๐ v3.0+ | 2028โ2037 | AWS serverless (Lambda ยท Step Functions ยท EventBridge ยท Kinesis ยท Bedrock ยท API Gateway ยท Cognito) | Runtime: conversational intelligence, RAG semantic search, predictive forecasting, real-time fusion, personalization, public API |
Strategic process vision:
โ ๏ธ Targets, not achievements. All metrics below the v1.x baseline are roadmap targets, explicitly labelled, never presented as already delivered.
The platform's process architecture migrates along one axis โ where computation happens โ while the democratic-ethics guardrails stay constant. v1.x and v2.0 compute everything at build time and ship immutable static artifacts; v3.0+ moves compute to managed serverless runtime without ever introducing a server to patch.
flowchart LR
subgraph H1["๐ข v1.x Baseline โ Static Agentic Newsroom (2026)"]
direction TB
B1[gh-aw agentic workflows] --> B2[Analysis artifacts + gate]
B2 --> B3[Article render + 14-lang translate]
B3 --> B4[Multi-region static deploy]
end
subgraph H2["๐ต v2.0 โ Static Deepening (2026โ2027)"]
direction TB
V1[Build-time OSINT precompute<br/>network ยท temporal ยท anomaly] --> V2[Party-landscape dashboards]
V2 --> V3[Source-grading + INTOP scorecards]
V3 --> V4[Static HTML artifacts<br/>no runtime backend]
end
subgraph H3["๐ v3.0+ โ AWS Serverless (2028โ2037)"]
direction TB
S1[API Gateway + Cognito] --> S2[Lambda + Step Functions]
S2 --> S3[Bedrock + Knowledge Bases RAG]
S3 --> S4[Kinesis streaming + EventBridge fusion]
end
H1 --> H2 --> H3
style B1 fill:#4caf50,color:#000000
style B4 fill:#4caf50,color:#000000
style V1 fill:#2196f3,color:#ffffff
style V4 fill:#2196f3,color:#ffffff
style S1 fill:#ff9800,color:#000000
style S4 fill:#ff9800,color:#000000
Horizon decision gates โ promotion to the next horizon is conditional, not calendar-driven:
flowchart TD
G0[v1.x in production] --> G1{Static precompute<br/>covers party + OSINT needs<br/>at acceptable build time?}
G1 -->|Yes โ stay static| G2[v2.0: deepen static OSINT]
G1 -->|Build time > budget OR<br/>real-time demand proven| G3{Serverless ROI &<br/>governance ready?}
G2 --> G3
G3 -->|No| G2
G3 -->|Yes โ DPIA + cost model approved| G4[v3.0+: AWS serverless runtime]
style G0 fill:#4caf50,color:#000000
style G2 fill:#2196f3,color:#ffffff
style G4 fill:#ff9800,color:#000000
style G3 fill:#9c27b0,color:#ffffff
These flows are in production today and refreshed to match FLOWCHART.md. Every later horizon extends โ never replaces โ them.
Objective: zero-human-editor publication of intelligence articles in 14 languages, gated by the analysis gate.
flowchart TD
CRON[โฐ Scheduled gh-aw workflow<br/>14 agentic workflows] --> MCPI[Initialize MCP clients]
MCPI --> FETCH[Multi-provider data fetch]
FETCH --> RR[riksdag-regering MCP<br/>32+ tools]
FETCH --> SCB[scb MCP โ PxWeb v2]
FETCH --> WB[world-bank MCP โ WGI / non-econ]
FETCH --> IMF[imf TS client via bash<br/>WEO / FM / IFS โ primary economic]
FETCH --> CIA[CIA platform JSON/CSV export]
RR --> AGG[Context aggregation + dedup + relevance]
SCB --> AGG
WB --> AGG
IMF --> AGG
CIA --> AGG
AGG --> ARTI[Produce analysis artifacts<br/>9 core / 14 Tier-C in analysis/daily/DATE/]
ARTI --> GATE{Analysis Gate<br/>single blocking wall}
GATE -->|Fail| BLOCK[Block + open issue<br/>no publication]
GATE -->|Pass| GEN[Claude Opus 4.8<br/>article composition]
GEN --> QC{Quality + evidence<br/>citations valid?}
QC -->|No| RETRY[Refine prompt] --> GEN
QC -->|Yes| RENDER[Template HTML render]
RENDER --> TRANS[14-language translation<br/>Sonnet 4.6]
TRANS --> SEO[Schema.org + hreflang + OG tags]
SEO --> COMMIT[Git commit + signed provenance]
COMMIT --> CI[CI/CD: HTMLHint ยท ESLint ยท Vitest ยท Cypress]
CI --> DEPLOY[Multi-region static deploy]
DEPLOY --> LIVE[๐ฐ Live in 14 languages]
style CRON fill:#2196f3,color:#ffffff
style GATE fill:#ff006e,color:#ffffff
style BLOCK fill:#f44336,color:#ffffff
style GEN fill:#9c27b0,color:#ffffff
style LIVE fill:#4caf50,color:#000000
Objective: horizon-stratified intelligence products precompiled before each static build.
flowchart TD
T[generate-political-intelligence.ts] --> CAT[catalog.ts<br/>article-types.json registry]
CAT --> STR[daily-streams.ts<br/>active streams per horizon]
STR --> HZ{Horizon stratification}
HZ --> H72[T+72h]
HZ --> H7[T+7d]
HZ --> H30[T+30d]
HZ --> H90[T+90d]
HZ --> H365[T+365d]
HZ --> H1460[T+1460d election cycle]
H72 --> GATE{Analysis Gate<br/>9 checks ยท artifact existence,<br/>evidence, Pass-2, cross-refs}
H7 --> GATE
H30 --> GATE
H90 --> GATE
H365 --> GATE
H1460 --> GATE
GATE -->|Fail| STOP[โ Block pipeline]
GATE -->|Pass| I18N[i18n/ โ 14-language translation]
I18N --> RND[render/ โ template HTML]
RND --> OUT[political-intelligence*.html<br/>14 variants]
style T fill:#2196f3,color:#ffffff
style GATE fill:#ff006e,color:#ffffff
style STOP fill:#f44336,color:#ffffff
style OUT fill:#4caf50,color:#000000
flowchart LR
TRIG[download-parliamentary-data.ts<br/>+ fetch-voting-records.ts<br/>+ fetch-calendar.ts] --> SRC{Source}
SRC -->|Propositions / motions / betรคnkanden| RIKS[(data.riksdagen.se)]
SRC -->|Government docs| G0V[(Regeringen via g0v.se)]
SRC -->|Statistics| SCB[(SCB PxWeb v2)]
SRC -->|Economic primary| IMF[(IMF SDMX 3.0 + Datamapper)]
SRC -->|Governance / environment| WB[(World Bank)]
SRC -->|Aggregated political engine| CIA[(CIA platform export)]
RIKS --> VAL[Validate + transform]
G0V --> VAL
SCB --> VAL
IMF --> VAL
WB --> VAL
CIA --> VAL
VAL --> PROV[Attach provenance + freshness + SHA-256]
PROV --> PERSIST[(data/ + analysis/data/ JSON + meta)]
PERSIST --> READY[Ready for analysis + dashboard build]
style TRIG fill:#2196f3,color:#ffffff
style IMF fill:#0a4f8f,color:#ffffff
style PERSIST fill:#ff9800,color:#000000
style READY fill:#4caf50,color:#000000
flowchart TD
DATA[(Persisted JSON: 349 MPs ยท 2,494 historical ยท<br/>3.5M+ votes ยท 109K+ docs)] --> TS[TypeScript dashboard modules<br/>Chart.js / D3.js]
TS --> BUILD[Vite build โ code-split per dashboard]
BUILD --> LAZY[Lazy-loaded bundles<br/>~11 functional dashboards]
LAZY --> A11Y[WCAG 2.1 AA pass + cyberpunk theme]
A11Y --> STATIC[Static HTML + hashed assets]
STATIC --> DEPLOY[Deploy step]
style DATA fill:#ff9800,color:#000000
style STATIC fill:#4caf50,color:#000000
style A11Y fill:#9c27b0,color:#ffffff
flowchart TD
MERGE[Merge to main] --> CIGATE[CI security gate<br/>CodeQL ยท Dependabot ยท SLSA ยท Sigstore]
CIGATE --> OK{All gates green?}
OK -->|No| HALT[Halt + alert]
OK -->|Yes| S3P[(S3 primary โ us-east-1)]
S3P --> REPL[(S3 replica โ eu-west-1)]
S3P --> CF[CloudFront invalidation]
REPL --> CF
CF --> PROD[๐ riksdagsmonitor.com live]
PROD --> HEALTH{Origin healthy?}
HEALTH -->|Degraded| DR[Fail over to GitHub Pages DR]
HEALTH -->|Healthy| DONE[Serving from edge]
DR --> DONE
style MERGE fill:#2196f3,color:#ffffff
style HALT fill:#f44336,color:#ffffff
style PROD fill:#4caf50,color:#000000
style DR fill:#ff9800,color:#000000
Strategic choice: stay static. v2.0 introduces no runtime backend. Every new capability is precomputed at build time and rendered into immutable HTML/CSS. The wins are deeper party analytics and higher-grade OSINT, not new infrastructure. AI generations of this window (Opus 4.6โ4.9 โ 5.x) primarily sharpen the agentic build pipeline.
Objective: turn the persisted corpus into party-centric landscape dashboards โ cohesion, coalition dynamics, bloc alignment, party-vs-party comparison, agenda tracking โ all computed offline.
flowchart TD
CORPUS[(Persisted corpus: votes ยท speeches ยท motions ยท members)] --> COH[Compute party-cohesion index<br/>Rice index per voting block]
CORPUS --> BLOC[Compute bloc alignment<br/>government vs opposition matrices]
CORPUS --> COAL[Coalition-dynamics model<br/>agreement / defection rates]
CORPUS --> AGENDA[Agenda tracking<br/>topic share per party over time]
COH --> AGG[Aggregate party-landscape dataset]
BLOC --> AGG
COAL --> AGG
AGENDA --> AGG
AGG --> NEU{Neutrality lint<br/>equal coverage per party?}
NEU -->|Imbalanced| FIXN[Rebalance + flag] --> AGG
NEU -->|Balanced| RENDER[Render party-landscape dashboards<br/>Chart.js / D3.js static]
RENDER --> I18N[14-language labels]
I18N --> OUT[Static party-landscape HTML]
style CORPUS fill:#ff9800,color:#000000
style NEU fill:#ff006e,color:#ffffff
style OUT fill:#4caf50,color:#000000
style AGG fill:#9c27b0,color:#ffffff
Objective: move structured tradecraft (network analysis, temporal/seasonal patterns, anomaly detection) from ad-hoc analysis into a repeatable build-time pipeline whose outputs are graded and rendered statically.
flowchart TD
IN[(Corpus + provenance)] --> NET[Network analysis<br/>co-sponsorship + co-voting graph<br/>centrality ยท clustering ยท bridging]
IN --> TEMP[Temporal analysis<br/>seasonal cadence ยท trend breaks]
IN --> ANOM[Anomaly detection<br/>voting defection ยท attendance outliers]
NET --> SCORE[Apply OSINT source-grading<br/>AโF reliability ร 1โ6 credibility]
TEMP --> SCORE
ANOM --> SCORE
SCORE --> ACH{ACH check<br/>โฅ3 competing hypotheses<br/>per anomaly}
ACH -->|Unsupported| DROP[Drop / downgrade claim]
ACH -->|Supported with dok_id evidence| PROD[OSINT product dataset]
PROD --> VIZ[Render network/temporal/anomaly dashboards]
VIZ --> OUTO[Static OSINT HTML artifacts]
style IN fill:#ff9800,color:#000000
style SCORE fill:#9c27b0,color:#ffffff
style ACH fill:#ff006e,color:#ffffff
style DROP fill:#f44336,color:#ffffff
style OUTO fill:#4caf50,color:#000000
Objective: produce evidence-graded INTOP (intelligence-operations) scorecards where every metric ties to a dok_id, vote count, or named actor.
flowchart LR
CLAIM[Candidate claim / metric] --> EV{Evidence present?<br/>dok_id ยท vote count ยท named actor ยท primary URL}
EV -->|No| REJ[Reject โ generic statement]
EV -->|Yes| GRADE[Assign source grade<br/>reliability + credibility]
GRADE --> UNC[Attach uncertainty band]
UNC --> CARD[Compose INTOP scorecard cell]
CARD --> AUDIT[Append to data-source audit trail]
AUDIT --> STATIC[Render static scorecard]
style CLAIM fill:#2196f3,color:#ffffff
style REJ fill:#f44336,color:#ffffff
style GRADE fill:#9c27b0,color:#ffffff
style STATIC fill:#4caf50,color:#000000
sequenceDiagram
participant W as gh-aw workflow
participant D as Data fetch layer
participant O as OSINT precompute
participant P as Party-landscape compute
participant G as Analysis gate
participant R as Renderer (14 lang)
participant S as Static deploy
W->>D: Fetch + persist (provenance-tagged)
D-->>W: Versioned JSON corpus
W->>O: Run network/temporal/anomaly + source-grading
W->>P: Compute cohesion/coalition/bloc/agenda
O-->>G: OSINT products (graded)
P-->>G: Party-landscape datasets (neutrality-checked)
G->>G: 9-check validation + Pass-2 evidence
alt Gate fails
G-->>W: Block + open issue
else Gate passes
G->>R: Approved datasets
R->>S: Static HTML/CSS artifacts
S-->>W: Deployed to CloudFront + S3 (+ GH Pages DR)
end
v2.0 outcome: richer intelligence, identical hosting model. Build time grows; attack surface does not. When build time exceeds budget or real-time demand is proven, the horizon-gate (ยง1) authorizes the v3.0 serverless move.
Strategic choice: all-in managed serverless. No Kubernetes, no containers, no servers to patch โ only Lambda, Step Functions, EventBridge, Kinesis, Bedrock, API Gateway, Cognito, DynamoDB, Aurora Serverless v2, Neptune Serverless, OpenSearch Serverless, and Timestream. AWS Well-Architected aligned, multi-region resilient. AI generations Opus 6.xโAGI unlock conversational, predictive, and self-improving runtime flows.
flowchart TD
USER[API consumer / citizen app] --> APIGW[Amazon API Gateway]
APIGW --> AUTH{Cognito authorizer}
AUTH -->|Anonymous public tier| RL1[Rate-limit: public quota]
AUTH -->|Authenticated| RL2[Rate-limit: tiered quota]
RL1 --> LMB[Lambda resolver]
RL2 --> LMB
LMB --> CACHE{Edge / DynamoDB cache hit?}
CACHE -->|Yes| RESP[Return cached response]
CACHE -->|No| DATA[Query Aurora SLv2 / Neptune / OpenSearch]
DATA --> SHAPE[Shape + redact to public-data policy]
SHAPE --> AUDIT[Emit access log โ audit trail]
AUDIT --> RESP
RESP --> USER
style USER fill:#2196f3,color:#ffffff
style AUTH fill:#9c27b0,color:#ffffff
style SHAPE fill:#ff006e,color:#ffffff
style RESP fill:#4caf50,color:#000000
flowchart TD
EVT[EventBridge: parliamentary event] --> SF[Step Functions orchestration]
SF --> EXTRACT[Lambda: extract structured data]
EXTRACT --> BR[Amazon Bedrock<br/>multi-modal content generation]
BR --> DRAFT[Draft article + media]
DRAFT --> FC[Real-time fact-check Lambda]
FC --> KB[(Bedrock Knowledge Bases<br/>RAG over corpus)]
KB --> VERDICT{Claims grounded in<br/>primary sources?}
VERDICT -->|Unsupported| CORRECT[Bedrock self-correction loop] --> FC
VERDICT -->|Grounded| GUARD{Bedrock Guardrails<br/>neutrality + GDPR Art.9}
GUARD -->|Violation| HOLD[Hold for human-on-the-loop review]
GUARD -->|Pass| PUB[Publish + translate 14+ langs]
PUB --> APIDX[Index into OpenSearch + Knowledge Base]
style EVT fill:#2196f3,color:#ffffff
style BR fill:#9c27b0,color:#ffffff
style VERDICT fill:#ff006e,color:#ffffff
style HOLD fill:#ff9800,color:#000000
style PUB fill:#4caf50,color:#000000
sequenceDiagram
participant U as User / agent
participant GW as API Gateway
participant L as Lambda (query)
participant EMB as Bedrock embeddings
participant OS as OpenSearch Serverless (vector)
participant KB as Bedrock Knowledge Base
participant FM as Bedrock foundation model
U->>GW: Natural-language political query
GW->>L: Authorized request (Cognito)
L->>EMB: Embed query
EMB-->>L: Query vector
L->>OS: k-NN retrieve top passages (109K+ docs)
OS-->>L: Ranked passages + dok_id citations
L->>KB: Assemble grounded context
KB->>FM: Generate answer with citations
FM-->>L: Answer + source spans + uncertainty
L-->>GW: Cited, neutral response
GW-->>U: Answer (every claim โ primary source)
flowchart TD
TRIG[Scheduled / event trigger] --> ING[Ingest features<br/>votes ยท polls ยท IMF macro ยท agenda]
ING --> FE[Feature engineering Lambda]
FE --> MODEL[Bedrock + custom models<br/>election & vote forecasting]
MODEL --> CAL[Calibrate uncertainty<br/>scenario tree per horizon]
CAL --> WEP{Word-of-estimative-probability<br/>ceiling per horizon band}
WEP -->|Exceeds ceiling for horizon| DOWN[Downgrade confidence]
WEP -->|Within band| SCEN[Emit 4-scenario + wildcard set]
DOWN --> SCEN
SCEN --> PIR[Roll forward PIRs to longer horizons]
PIR --> STORE[(Timestream + DynamoDB)]
STORE --> PUBF[Publish forecast products + API]
style TRIG fill:#2196f3,color:#ffffff
style MODEL fill:#9c27b0,color:#ffffff
style WEP fill:#ff006e,color:#ffffff
style PUBF fill:#4caf50,color:#000000
flowchart LR
SRC1[Riksdagen live feed] --> KIN[Amazon Kinesis streams]
SRC2[Regeringen updates] --> KIN
SRC3[SCB / IMF releases] --> KIN
SRC4[CIA platform deltas] --> KIN
KIN --> KDA[Kinesis Data Analytics<br/>windowed enrichment]
KDA --> FUSE[Fusion Lambda<br/>entity resolution + dedup]
FUSE --> EB[EventBridge bus]
EB --> R1[Trigger fact-check]
EB --> R2[Update forecasts]
EB --> R3[Refresh dashboards / API cache]
R1 --> STORE[(Aurora SLv2 ยท Neptune ยท OpenSearch ยท Timestream)]
R2 --> STORE
R3 --> STORE
style KIN fill:#ff9800,color:#000000
style FUSE fill:#9c27b0,color:#ffffff
style EB fill:#2196f3,color:#ffffff
style STORE fill:#4caf50,color:#000000
flowchart TD
LOGIN[User sign-in via Cognito] --> CONSENT{Explicit consent<br/>GDPR Art. 9}
CONSENT -->|Declined| ANON[Serve neutral default feed]
CONSENT -->|Granted| PREF[Store minimal preferences<br/>data minimisation]
PREF --> RECO[Bedrock recommendation<br/>topic / committee / region]
RECO --> NEU{Neutrality filter<br/>no partisan amplification}
NEU -->|Skew detected| REBAL[Rebalance feed] --> RECO
NEU -->|Balanced| FEED[Personalized intelligence feed]
ANON --> FEED
FEED --> RIGHTS[Honour access / erasure rights]
style LOGIN fill:#2196f3,color:#ffffff
style CONSENT fill:#ff006e,color:#ffffff
style NEU fill:#ff006e,color:#ffffff
style FEED fill:#4caf50,color:#000000
flowchart TD
SIG[Signals: corrections ยท gate fails ยท user feedback] --> EVAL[Bedrock model evaluation harness]
EVAL --> FED{Federated / privacy-preserving<br/>training applicable?}
FED -->|Yes| LOCAL[Local gradient aggregation<br/>differential privacy noise]
FED -->|No| CENTRAL[Centralised eval set<br/>public data only]
LOCAL --> CAND[Candidate model]
CENTRAL --> CAND
CAND --> SHADOW[Shadow run 7 days<br/>parallel to production]
SHADOW --> QG{Quality gate pass?}
QG -->|No| ROLLBACK[Retain current model]
QG -->|Yes| ROLLOUT[Gradual rollout 5%โ25%โ100%]
ROLLOUT --> DOC[Update model-card + docs]
style SIG fill:#2196f3,color:#ffffff
style FED fill:#ff006e,color:#ffffff
style SHADOW fill:#9c27b0,color:#ffffff
style ROLLOUT fill:#4caf50,color:#000000
style ROLLBACK fill:#ff9800,color:#000000
flowchart TD
PUBL[Published claim] --> SUBMIT[Contributor submits challenge<br/>via Cognito-auth portal]
SUBMIT --> SPAM{Anti-abuse + reputation check}
SPAM -->|Reject| DENY[Discard]
SPAM -->|Accept| TRIAGE[Bedrock triage<br/>cluster + evidence-match]
TRIAGE --> EVID{Primary-source evidence?}
EVID -->|No| CLOSE[Close โ insufficient evidence]
EVID -->|Yes| REVIEW[Human-on-the-loop adjudication]
REVIEW --> DECIDE{Upheld?}
DECIDE -->|Yes| CORRECT[Issue correction + audit entry]
DECIDE -->|No| EXPLAIN[Document rationale]
CORRECT --> KBUPD[Update Knowledge Base + reputation]
style PUBL fill:#2196f3,color:#ffffff
style EVID fill:#ff006e,color:#ffffff
style REVIEW fill:#9c27b0,color:#ffffff
style CORRECT fill:#4caf50,color:#000000
style DENY fill:#f44336,color:#ffffff
These flows realize the Political-Intelligence Capability Catalog (C1โC32) as the intelligence cycle โ Direction โ Collection โ Processing โ Analysis โ Production โ Dissemination โ Feedback. The current platform runs a strong single-source, build-time, document-centric version of this cycle; the flows below add the fusion, warning, continuous-calibration and counter-AI loops that are missing today. Every loop keeps a human-on-the-loop checkpoint, an evidence/provenance anchor, and a party-symmetry/neutrality gate before anything is published.
flowchart LR
DIR[๐ฏ Direction<br/>PIRs and tripwires] --> COL[๐ก Collection<br/>multi-source OSINT]
COL --> PROC[โ๏ธ Processing<br/>entity-resolve plus provenance]
PROC --> FUSE[๐ Fusion<br/>multi-INT graph]
FUSE --> ANAL[๐ง Analysis<br/>SAT plus forecasting]
ANAL --> PROD[๐ Production<br/>estimative products]
PROD --> NEUT{Neutrality plus<br/>evidence gate}
NEUT -->|Fail| ANAL
NEUT -->|Pass| DISS[๐ค Dissemination<br/>COP plus briefings]
DISS --> FB[๐ Feedback<br/>calibration plus retasking]
FB --> DIR
style DIR fill:#9c27b0,color:#ffffff
style FUSE fill:#2196f3,color:#ffffff
style NEUT fill:#ff006e,color:#ffffff
style DISS fill:#4caf50,color:#000000
style FB fill:#ff9800,color:#000000
flowchart TD
SRC[Public sources<br/>riksdag plus registers plus discourse] --> NORM[Normalize plus stamp provenance]
NORM --> ER{Entity match?<br/>deterministic plus embedding}
ER -->|Ambiguous| HOLD[Hold for human review]
ER -->|Resolved| CANON[Canonical entity ID]
CANON --> EDGE[Build fusion edge<br/>plus Admiralty grade]
EDGE --> GRADE{Evidence-anchored?<br/>dok_id present}
GRADE -->|No| DROP[Reject โ no analytic record]
GRADE -->|Yes| GRAPH[Multi-INT fusion graph]
GRAPH --> SAL[Salience plus neutrality note]
SAL --> COP[Common Operating Picture]
style SRC fill:#2196f3,color:#ffffff
style ER fill:#ff006e,color:#ffffff
style GRADE fill:#ff006e,color:#ffffff
style DROP fill:#f44336,color:#ffffff
style COP fill:#4caf50,color:#000000
flowchart TD
STREAM[Continuous public-data stream] --> IND[Compute indicators<br/>cohesion, motions, calendar]
IND --> TW{Threshold breached?}
TW -->|No| STREAM
TW -->|Yes| LEVEL[Set warning level<br/>watch / elevated / high]
LEVEL --> WEP[Attach calibrated probability<br/>ICD-203 lexicon]
WEP --> HUM{Human triage}
HUM -->|False alarm| TUNE[Tune threshold plus log]
HUM -->|Confirm| RETASK[Re-task fusion plus forecasting]
RETASK --> BRIEF[Warning note to watchers]
TUNE --> STREAM
style STREAM fill:#2196f3,color:#ffffff
style TW fill:#ff006e,color:#ffffff
style HUM fill:#9c27b0,color:#ffffff
style BRIEF fill:#4caf50,color:#000000
flowchart TD
PIR[Forecasting question / PIR] --> ASSUME[Key-assumptions check]
ASSUME --> MODEL[Ensemble forecast<br/>stats plus LLM scenarios]
MODEL --> WEPF[Express as WEP plus point p]
WEPF --> PUBF[Publish forecast plus assumptions]
PUBF --> WAIT[Await resolution]
WAIT --> RES{Event resolved?}
RES -->|No| WAIT
RES -->|Yes| SCORE[Brier-score plus update ledger]
SCORE --> CAL{Calibration drifting?}
CAL -->|Yes| RETRAIN[Retrain plus re-weight ensemble]
CAL -->|No| PIR
RETRAIN --> PIR
style PIR fill:#9c27b0,color:#ffffff
style RES fill:#ff006e,color:#ffffff
style SCORE fill:#2196f3,color:#ffffff
style CAL fill:#ff006e,color:#ffffff
style RETRAIN fill:#ff9800,color:#000000
flowchart TD
DISC[Aggregate public discourse] --> FRAME[Detect narrative frames<br/>DISARM TTPs]
FRAME --> COORD{Coordination signal?<br/>network-level only}
COORD -->|No| LOG[Log frame, no alert]
COORD -->|Yes| ATTR[Attribution confidence<br/>low/med, WEP-qualified]
ATTR --> ETH{Ethics gate<br/>no citizen profiling}
ETH -->|Fail| HALT[Halt โ privacy breach risk]
ETH -->|Pass| ADV[Advisory signal to analysts]
ADV --> HUM[Human-on-the-loop framing]
HUM --> BRIEFF[Contextual briefing, not accusation]
style DISC fill:#2196f3,color:#ffffff
style COORD fill:#ff006e,color:#ffffff
style ETH fill:#ff006e,color:#ffffff
style HALT fill:#f44336,color:#ffffff
style BRIEFF fill:#4caf50,color:#000000
flowchart TD
IN[AI-assisted analytic step] --> INJ{Prompt-injection /<br/>poisoning screen}
INJ -->|Detected| QUAR[Quarantine input plus alert]
INJ -->|Clean| PROV{Provenance plus C2PA valid?}
PROV -->|No| REFUSE[Refuse to cite]
PROV -->|Yes| SAT[SAT-assisted reasoning<br/>ACH plus devil's advocate]
SAT --> SYM{Party-symmetry audit}
SYM -->|Asymmetric| REWORK[Rebalance plus re-review]
SYM -->|Symmetric| ICD{ICD-203 compliance?}
ICD -->|No| REWORK
ICD -->|Yes| SIGN[Human sign-off plus publish]
style IN fill:#2196f3,color:#ffffff
style INJ fill:#ff006e,color:#ffffff
style PROV fill:#ff006e,color:#ffffff
style SYM fill:#ff006e,color:#ffffff
style REFUSE fill:#f44336,color:#ffffff
style SIGN fill:#4caf50,color:#000000
Compliance is a gate in every horizon, mapped to ISO 27001:2022, NIST CSF 2.0 and CIS Controls v8.1, under Hack23 ISMS-PUBLIC.
flowchart TD
START[AI-assisted process invoked] --> PUB{Public data only?}
PUB -->|No| REJECT[Reject โ policy violation]
PUB -->|Yes| LAWFUL{"GDPR Art. 9 lawful basis<br/>9(2)(e) public / 9(2)(g) public interest"}
LAWFUL -->|None| REJECT
LAWFUL -->|Established| NEUTRAL{Party neutrality maintained?}
NEUTRAL -->|Skewed| REBAL[Rebalance + document] --> NEUTRAL
NEUTRAL -->|Balanced| EVID{Evidence standard met?<br/>dok_id / vote / named actor}
EVID -->|No| BLOCKE[Block โ generic claim]
EVID -->|Yes| HITL{High-risk processing?}
HITL -->|Yes| DPIA[Run DPIA + human-on-the-loop]
HITL -->|No| LOG[Log decision + provenance]
DPIA --> LOG
LOG --> APPROVE[โ
Proceed]
style START fill:#2196f3,color:#ffffff
style REJECT fill:#f44336,color:#ffffff
style BLOCKE fill:#f44336,color:#ffffff
style DPIA fill:#9c27b0,color:#ffffff
style APPROVE fill:#4caf50,color:#000000
| Future process flow | ISO 27001:2022 | NIST CSF 2.0 | CIS v8.1 |
|---|---|---|---|
| Agentic newsroom + analysis gate | A.8.25 secure SDLC, A.8.28 secure coding | PR.PS, DE.CM | 16 App Security |
| Multi-provider data fetch + provenance | A.5.34 privacy, A.8.12 data leakage | ID.AM, PR.DS | 3 Data Protection |
| Bedrock generation + Guardrails | A.5.23 cloud services | GV.SC, PR.AA | 4 Secure Config |
| API Gateway + Cognito | A.8.3 access, A.8.5 auth | PR.AA, PR.AC | 6 Access Control |
| Streaming fusion + audit trail | A.8.15 logging, A.8.16 monitoring | DE.CM, RS.AN | 8 Audit Log Mgmt |
| Federated learning + DP | A.5.34 privacy, A.8.11 data masking | PR.DS, GV.RM | 3 Data Protection |
| Model lifecycle + rollback | A.8.32 change mgmt | ID.IM, PR.PS | 4 Secure Config |
graph TD
subgraph EVAL["Continuous Model Evaluation (~quarterly cadence)"]
A[New model release<br/>Opus 4.8 โ 5.x โ 6.x โฆ] --> B{Benchmark vs current}
B -->|Superior| C[Shadow test โ 7-day parallel run]
B -->|Equal/Inferior| D[Document + keep current]
C --> E{Quality gate pass?}
E -->|Yes| F[Gradual rollout 5%โ25%โ100%]
E -->|No| G[Rollback + retain current]
F --> H[Full deploy + update model-card]
end
subgraph MAJOR["Annual Major Upgrade"]
I[Major version<br/>Opus 5.0 / 6.0 / 7.0 โฆ] --> J{Architecture compatible?}
J -->|Yes| K[Enable new capabilities]
J -->|No| L[Adapt platform + re-test]
K --> M[Integration test โ 14+ languages]
L --> M
M --> N[Deploy behind feature flags]
end
subgraph COMP["Competitor Evaluation (quarterly)"]
O[Review OpenAI ยท Google ยท Meta ยท EU sovereign AI] --> P{Better per-task model?}
P -->|Yes| Q[Multi-model via Amazon Bedrock]
P -->|No| R[Keep provider strategy]
Q --> S[A/B test per task type]
end
subgraph PARA["Paradigm-Shift Watch (2031โ2037)"]
U[Quantum / neuromorphic / AGI signal] --> V{Paradigm shift viable?}
V -->|Yes| W[Autonomous mode + human oversight]
V -->|Partial| X[Enhanced mode]
V -->|No| Y[Continue annual upgrades]
end
H --> I
N --> O
S --> U
style A fill:#00d9ff,color:#000000
style I fill:#ff006e,color:#ffffff
style O fill:#ffbe0b,color:#000000
style U fill:#9c27b0,color:#ffffff
Assumptions: major AI-model upgrades land roughly annually; competitors (OpenAI, Google, Meta, EU sovereign AI) are re-evaluated at each release; the architecture is built to absorb paradigm shifts (quantum AI, neuromorphic computing); all transitions are governed by the Hack23 AI Policy.
| Year | AI Model | DevSecOps Capability Evolution |
|---|---|---|
| 2026 | Opus 4.6โ4.9 | ๐ข AI-assisted code review, automated test generation, agentic CI/CD workflows |
| 2027 | Opus 5.x | ๐ต Predictive vulnerability detection, intelligent dependency management |
| 2028 | Opus 6.x | ๐ฃ Multi-modal security analysis (code + architecture + runtime), automated threat modeling |
| 2029 | Opus 7.x | ๐ Autonomous security pipeline orchestration, self-healing build systems |
| 2030 | Opus 8.x | ๐ด Near-expert automated security review, AI-driven architecture validation |
| 2031โ2033 | Opus 9โ10.x / Pre-AGI | โช Autonomous secure development lifecycle management |
| 2034โ2037 | AGI / Post-AGI | โญ Transformative software engineering with built-in security assurance |
Each model generation unlocks a concrete change in where and how the platform processes political intelligence:
| Year | AI Model | Process / Data-Flow Unlock (OSINT ยท party analytics ยท forecasting) |
|---|---|---|
| 2026 | Opus 4.6โ4.9 | ๐ข v1.x agentic newsroom hardened; analysis-gate Pass-2 automation; 14-language translation throughput |
| 2027 | Opus 5.x | ๐ต v2.0 build-time OSINT precompute (network/temporal/anomaly) becomes reliable; party-landscape datasets auto-graded |
| 2028 | Opus 6.x | ๐ฃ v3.0 Bedrock multi-modal generation + real-time fact-check loop; RAG over 109K+ docs goes live |
| 2029 | Opus 7.x | ๐ Autonomous streaming-fusion orchestration; self-correcting forecast pipelines; personalized feeds |
| 2030 | Opus 8.x | ๐ด Near-expert election/vote forecasting with calibrated uncertainty; conversational intelligence assistant |
| 2031โ2033 | Opus 9โ10.x / Pre-AGI | โช Federated/Nordic & EU-parliament expansion; cross-jurisdiction data fusion at scale |
| 2034โ2037 | AGI / Post-AGI | โญ Transformative democratic-intelligence flows with built-in neutrality & privacy assurance |
flowchart LR
Y26[2026 Opus 4.x<br/>๐ข Static agentic newsroom] --> Y27[2027 Opus 5.x<br/>๐ต Static OSINT precompute]
Y27 --> Y28[2028 Opus 6.x<br/>๐ฃ Bedrock RAG + fact-check]
Y28 --> Y29[2029 Opus 7.x<br/>๐ Streaming fusion]
Y29 --> Y30[2030 Opus 8.x<br/>๐ด Calibrated forecasting]
Y30 --> Y33[2031โ33 Pre-AGI<br/>โช Nordic/EU federation]
Y33 --> Y37[2034โ37 AGI<br/>โญ Transformative flows]
style Y26 fill:#4caf50,color:#000000
style Y27 fill:#2196f3,color:#ffffff
style Y28 fill:#9c27b0,color:#ffffff
style Y29 fill:#ff9800,color:#000000
style Y30 fill:#f44336,color:#ffffff
style Y33 fill:#eceff1,color:#000000
style Y37 fill:#ffd700,color:#000000
All numbers are roadmap targets, not achieved metrics.
| Metric | v1.x (today) | v2.0 target | v3.0+ target |
|---|---|---|---|
| LCP (p95) | < 2.5 s | < 2.0 s | < 1.8 s (edge) |
| Build time (full) | minutes | minutes (heavier precompute) | n/a (runtime) |
| API response (p95) | n/a (static) | n/a (static) | < 200 ms |
| RAG semantic query (p95) | n/a | n/a | < 800 ms |
| Streaming fusion latency | n/a | n/a | < 2 s end-to-end |
| Forecast refresh | daily build | daily build | event-driven (minutes) |
flowchart TD
REQ[New capability requested] --> STATIC{Can it be precomputed<br/>at build time?}
STATIC -->|Yes| BUILD[Render static โ near-zero runtime cost]
STATIC -->|No| RUNTIME{Real-time demand proven?}
RUNTIME -->|No| DEFER[Defer โ keep static]
RUNTIME -->|Yes| SERVERLESS[Serverless โ pay-per-use Lambda]
SERVERLESS --> CACHE[Cache aggressively<br/>edge + DynamoDB TTL]
CACHE --> BATCH[Batch Bedrock calls off-peak]
BATCH --> BUDGET{Within cost budget?}
BUDGET -->|No| TUNE[Tune model tier / quotas] --> BUDGET
BUDGET -->|Yes| SHIP[Ship + monitor cost telemetry]
style REQ fill:#2196f3,color:#ffffff
style BUILD fill:#4caf50,color:#000000
style DEFER fill:#ff9800,color:#000000
style SHIP fill:#4caf50,color:#000000
Optimization levers: static-first default ยท CloudFront cache (99% hit-rate target) ยท Bedrock model-tier selection per task ยท off-peak batch generation ยท Brotli/gzip compression ยท serverless scale-to-zero ยท vintage-aware data caching (avoid redundant IMF/SCB fetches).
Baseline: the already-implemented IMF pipeline is documented in FLOWCHART.md. The diagram below layers future gates (vintage-age UI badge, provider-mix telemetry, RAG-indexed economic provenance) onto today's pure-TypeScript client without changing the canonical IMF-first rule.
Authoritative hub:
analysis/imf/README.mdยทanalysis/imf/agentic-integration.mdยทanalysis/imf/indicators-inventory.jsonยทanalysis/imf/data-dictionary.mdยท.github/aw/ECONOMIC_DATA_CONTRACT.mdv2.1
flowchart LR
classDef primary fill:#0a4f8f,color:#fff,stroke:#00d9ff,stroke-width:2px
classDef secondary fill:#3a3a3a,color:#ddd,stroke:#888
classDef gate fill:#ff006e,color:#fff,stroke:#fff
classDef future fill:#9c27b0,color:#fff,stroke:#fff
Start([news-* / forecast workflow]) --> Domain{Identify economic class}
Domain -->|Macro ยท Fiscal ยท Monetary ยท External ยท Trade| IMF[(IMF SDMX 3.0 + Datamapper<br/>scripts/imf-client.ts)]:::primary
Domain -->|Governance / Environment / Social residue| WB[(World Bank)]:::secondary
Domain -->|Swedish monthly / regional| SCB[(SCB PxWeb v2)]:::secondary
IMF --> Vintage{Vintage > 6 months?}:::gate
Vintage -->|Yes| Annotate[Annotate stale + downgrade confidence]
Vintage -->|No| Cache[Cache: vintage-tagged ยท SHA-256 pinned]
Annotate --> Cache
Cache --> Provenance[Emit economicProvenance<br/>provider ยท dataflow ยท indicator ยท vintage]
WB --> Cache
SCB --> Cache
Provenance --> Compose[Article / forecast composition]
Compose --> Lint{IMF-first lint}:::gate
Lint -->|WB economic citation w/o IMF cross-ref| Reject([Block โ open issue])
Lint -->|Pass| Publish([Publish])
Publish --> FutBadge[v2.0: vintage-age UI badge<br/>+ provider-mix telemetry]:::future
Publish --> FutRAG[v3.0+: index economicProvenance<br/>into Bedrock Knowledge Base]:::future
style Start fill:#2196f3,color:#ffffff
style Publish fill:#4caf50,color:#000000
| Indicator class | Primary | Secondary | Why |
|---|---|---|---|
| Macro (GDP, growth, unemployment, inflation, fiscal balance, debt, current account) | IMF WEO + Fiscal Monitor | SCB (Sweden monthly) | Freshness + T+5 projections; SNA 2008 / GFSM 2014 / BPM6 comparability |
| Bilateral trade flows | IMF DOTS | โ | Partner-country dimension, monthly cadence |
| Monthly inflation, policy rates | IMF IFS / MFS_IR | SCB / Riksbank | Standardised cross-country |
| Government spending by function (defence/health/education/social protection) | IMF GFS_COFOG | โ | Committee-aligned (FรถU/SoU/UbU/SfU) |
| Commodity prices, exchange rates | IMF PCPS / ER | โ | Canonical benchmarks |
| Governance (CC.EST, RL.EST, VA.EST, GE.EST, RQ.EST, PV.EST) | World Bank WGI | โ | IMF has no equivalent |
| Environment (CO2, renewables, forest, water) | World Bank | โ | IMF has no equivalent |
| Social/education residue (literacy, school participation, gender ratios) | World Bank | GFS_COFOG 09 | IMF has no equivalent |
| Defence spending depth (long historicals) | World Bank MS.MIL.* | GFS_COFOG 02 | WB deeper history |
| Swedish ground truth (monthly labour, regional, budget execution) | SCB | โ | National statistics authority |
Canonical rule (unchanged across horizons). Every economic claim cites an IMF dataflow first; World Bank citations are reserved for governance, environment and social residue; SCB is the Swedish-specific ground-truth layer. In v3.0+, this same provenance is indexed into the Bedrock Knowledge Base so RAG answers inherit the IMF-first discipline. See ECONOMIC_DATA_CONTRACT.md v2.1 for the banned-phrase list and vintage discipline (>6 mo โ annotation).
Version History:
| Version | Date | Changes | Author |
|---|---|---|---|
| 1.0 | 2026-02-15 | Initial creation with 10+ comprehensive future flowcharts | Hack23 Documentation Team |
| 2.0 | 2026-02-24 | Extended to 2037 vision, AI/LLM evolution flow, AGI planning | Hack23 Documentation Team |
| 3.0 | 2026-05-31 | Full refresh & re-alignment to v1.0.x baseline (FLOWCHART.md); restructured into three explicit horizons (v1.x static agentic newsroom โ v2.0 static deepening โ v3.0+ AWS serverless); added build-time OSINT/party-landscape & INTOP flows; AWS-serverless runtime flows (API Gateway, Lambda, Step Functions, EventBridge, Kinesis, Bedrock, Knowledge Bases RAG, Cognito); AI Model Evolution table verbatim + process translation; refreshed IMF dataflow evolution | Hack23 Intelligence-Operative Agent |
Review Schedule:
Classification: Public
Distribution: Unrestricted
Repository: https://github.com/Hack23/riksdagsmonitor
Path: /FUTURE_FLOWCHART.md
Format: Markdown with Mermaid diagrams
Next Review: 2026-08-31
๐ Riksdagsmonitor โ Building the Future of Democratic Transparency
Powered by AI, Grounded in Privacy, Committed to Democracy
Website ยท GitHub ยท CIA Platform ยท ISMS
๐ Document Control:
โ
Approved by: James Pether Sรถrling, CEO
๐ค Distribution: Public
๐ท๏ธ Classification:
๐
Effective Date: 2026-05-31
โฐ Next Review: 2026-08-31
๐ฏ Framework Compliance:
| ๐ Platforms | ๐ฆ Open-Source Projects | ๐ก๏ธ Governance & Standards |
|---|---|---|
| ๐ณ๏ธ Riksdagsmonitor โ Swedish Parliament intelligence ๐ช๐บ EU Parliament Monitor โ European coverage ๐ต๏ธ Citizen Intelligence Agency โ political-data engine ๐ Hack23 AB โ corporate site ๐ฐ Hack23 Blog โ engineering & policy ๐ผ Hack23 on LinkedIn | ๐ณ๏ธ Hack23/riksdagsmonitor ๐ต๏ธ Hack23/cia ๐ช๐บ Hack23/euparliamentmonitor ๐ Hack23/european-parliament-mcp โ Hack23/cia-compliance-manager ๐ฅ Hack23/black-trigram ๐ Hack23/homepage | ๐ก๏ธ Hack23 ISMS-PUBLIC โ public ISMS ๐ Information Security Policy ๐ค AI Policy ๐งช Secure Development Policy ๐ฏ Threat Modeling Policy โ ๏ธ Vulnerability Management ๐ท๏ธ Classification Framework |
๐ณ๏ธ Empower citizens ยท ๐ Strengthen democratic accountability ยท ๐ต๏ธ Illuminate the political process
ยฉ 2008โ2026 Hack23 AB (Org.nr 559534-7807) ยท Maintainer: James Pether Sรถrling, CISSP CISM