Skip to content

Refresh SWOT and THREAT_MODEL: dual-model AI, integration STRIDE coverage, corrected inventory#2841

Merged
pethers merged 12 commits into
mainfrom
copilot/update-isms-current-documents
May 30, 2026
Merged

Refresh SWOT and THREAT_MODEL: dual-model AI, integration STRIDE coverage, corrected inventory#2841
pethers merged 12 commits into
mainfrom
copilot/update-isms-current-documents

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented May 30, 2026

A ground-truth audit of the repo (v0.9.40) against SWOT.md and THREAT_MODEL.md surfaced stale component counts, an AI model card describing the wrong model, and three external data integrations with no threat coverage. Both ISMS documents are updated to match reality.

THREAT_MODEL.md → v1.5

  • Dual-model correction: the §2.9 AI Model Card described only Claude Sonnet 4.6. Reality is dual-model — Claude Opus 4.8 powers the 13 analysis/article workflows (reasoning-grade 23-artifact pipeline); Sonnet 4.6 powers only the 14-language news-translate fan-out. Rewrote the card as a two-column comparison and corrected all model references repo-wide (asset inventory ASSET-007, scope, OWASP LLM line, lifecycle/version-management).
  • New STRIDE addenda for the three previously-uncovered integration trust boundaries, mirroring the existing IMF/Statskontoret format:
    • SCB — MCP-only architecture: AWF gateway route (primary) and third-party MCP relay scb-mcp.onrender.com/mcp (fallback); no direct SCB API client
    • World Bankapi.worldbank.org/v2, with canonical IMF-first contract violation modeled as a first-class threat
    • Riksrevisionen (RiR)doktyp=skr follow-up tracker; report↔skrivelse matching and deadline integrity
  • Executive summary now references the five integration STRIDE addenda; version bumped in header + Document Control.

SWOT.md → v1.6

  • Corrected stale counts (verified by enumeration): agents 24→23, skills 93→92, dashboards 5→11, methodologies 18→20, templates 39→40, THREAT_MODEL cross-reference v1.2→v1.5.
  • Added dual-model AI newsroom note (S7/S8) and the corrected lazy-loaded dashboard inventory.
  • Added S10 — Multi-Source Economic & Governance Data Fusion (IMF · World Bank · SCB · Statskontoret · Riksrevisionen) capturing the contextual-intelligence differentiator.

Review feedback addressed

  • Reverted unintended package.json / package-lock.json version bump (0.9.41 → 0.9.40) — PR is documentation-only.
  • Fixed WORKFLOWS.md agent count (24 → 23).
  • Fixed MINDMAP.md stale counts (agents 24→23, skills 93→94).
  • Rewrote THREAT_MODEL.md SCB STRIDE section to accurately reflect the MCP-only transport architecture (AWF gateway route + direct MCP relay fallback) — removed incorrect references to a "direct SCB Open Data API fallback" that does not exist in the implementation.

Notes

  • Documentation-only; no code, build, or CI changes. Code-fence/table balance verified and all cited script paths confirmed present.

…MS docs

Co-authored-by: pethers <1726836+pethers@users.noreply.github.com>
@github-actions github-actions Bot added documentation Documentation updates security Security improvements isms ISMS compliance changes iso-27001 ISO 27001 controls nist-csf NIST CSF compliance cis-controls CIS Controls size-m Medium change (50-250 lines) labels May 30, 2026
@github-actions
Copy link
Copy Markdown
Contributor

🏷️ Automatic Labeling Summary

This PR has been automatically labeled based on the files changed and PR metadata.

Applied Labels: documentation,security,isms,iso-27001,nist-csf,cis-controls,size-m

Label Categories

  • 🗳️ Content: news, dashboard, visualization, intelligence
  • 💻 Technology: html-css, javascript, workflow, security
  • 📊 Data: cia-data, riksdag-data, data-pipeline, schema
  • 🌍 I18n: i18n, translation, rtl
  • 🔒 ISMS: isms, iso-27001, nist-csf, cis-controls
  • 🏗️ Infrastructure: ci-cd, deployment, performance, monitoring
  • 🔄 Quality: testing, accessibility, documentation, refactor
  • 🤖 AI: agent, skill, agentic-workflow

For more information, see .github/labeler.yml.

@github-actions
Copy link
Copy Markdown
Contributor

🔍 Lighthouse Performance Audit

Category Score Status
Performance 85/100 🟡
Accessibility 95/100 🟢
Best Practices 90/100 🟢
SEO 95/100 🟢

📥 Download full Lighthouse report

Budget Compliance: Performance budgets enforced via budget.json

…nventory

Co-authored-by: pethers <1726836+pethers@users.noreply.github.com>
@github-actions github-actions Bot added size-l Large change (250-1000 lines) labels May 30, 2026
@github-actions
Copy link
Copy Markdown
Contributor

🔍 Lighthouse Performance Audit

Category Score Status
Performance 85/100 🟡
Accessibility 95/100 🟢
Best Practices 90/100 🟢
SEO 95/100 🟢

📥 Download full Lighthouse report

Budget Compliance: Performance budgets enforced via budget.json

…-history references

Co-authored-by: pethers <1726836+pethers@users.noreply.github.com>
@github-actions
Copy link
Copy Markdown
Contributor

🔍 Lighthouse Performance Audit

Category Score Status
Performance 85/100 🟡
Accessibility 95/100 🟢
Best Practices 90/100 🟢
SEO 95/100 🟢

📥 Download full Lighthouse report

Budget Compliance: Performance budgets enforced via budget.json

Copilot AI and others added 2 commits May 30, 2026 12:41
Co-authored-by: pethers <1726836+pethers@users.noreply.github.com>
Co-authored-by: pethers <1726836+pethers@users.noreply.github.com>
Copilot AI changed the title ISMS docs v1.0.0 refresh (session 1): strip changelog/version-history content Reconcile ISMS/architecture docs with current system state for v1.0.0 May 30, 2026
Copilot AI requested a review from pethers May 30, 2026 12:43
@github-actions
Copy link
Copy Markdown
Contributor

🔍 Lighthouse Performance Audit

Category Score Status
Performance 85/100 🟡
Accessibility 95/100 🟢
Best Practices 90/100 🟢
SEO 95/100 🟢

📥 Download full Lighthouse report

Budget Compliance: Performance budgets enforced via budget.json

@github-actions
Copy link
Copy Markdown
Contributor

🔍 Lighthouse Performance Audit

Category Score Status
Performance 85/100 🟡
Accessibility 95/100 🟢
Best Practices 90/100 🟢
SEO 95/100 🟢

📥 Download full Lighthouse report

Budget Compliance: Performance budgets enforced via budget.json

… versions

Co-authored-by: pethers <1726836+pethers@users.noreply.github.com>
Copilot AI changed the title Reconcile ISMS/architecture docs with current system state for v1.0.0 Reconcile BCP, End-of-Life, and Financial ISMS docs to current state May 30, 2026
Co-authored-by: pethers <1726836+pethers@users.noreply.github.com>
Copilot AI changed the title Reconcile BCP, End-of-Life, and Financial ISMS docs to current state Reconcile stale CRA Declaration of Conformity to current product state May 30, 2026
@github-actions
Copy link
Copy Markdown
Contributor

🔍 Lighthouse Performance Audit

Category Score Status
Performance 85/100 🟡
Accessibility 95/100 🟢
Best Practices 90/100 🟢
SEO 95/100 🟢

📥 Download full Lighthouse report

Budget Compliance: Performance budgets enforced via budget.json

….9.41

Co-authored-by: pethers <1726836+pethers@users.noreply.github.com>
Copilot AI changed the title Reconcile stale CRA Declaration of Conformity to current product state Refresh THREAT_MODEL and SWOT to current state; bump to v0.9.41 May 30, 2026
@github-actions github-actions Bot added the dependencies Dependency updates label May 30, 2026
@github-actions
Copy link
Copy Markdown
Contributor

🔍 Lighthouse Performance Audit

Category Score Status
Performance 85/100 🟡
Accessibility 95/100 🟢
Best Practices 90/100 🟢
SEO 95/100 🟢

📥 Download full Lighthouse report

Budget Compliance: Performance budgets enforced via budget.json

Co-authored-by: pethers <1726836+pethers@users.noreply.github.com>
@github-actions
Copy link
Copy Markdown
Contributor

🔍 Lighthouse Performance Audit

Category Score Status
Performance 85/100 🟡
Accessibility 95/100 🟢
Best Practices 90/100 🟢
SEO 95/100 🟢

📥 Download full Lighthouse report

Budget Compliance: Performance budgets enforced via budget.json

Co-authored-by: pethers <1726836+pethers@users.noreply.github.com>
Copilot AI changed the title Refresh THREAT_MODEL and SWOT to current state; bump to v0.9.41 Refresh SWOT and THREAT_MODEL: dual-model AI, integration STRIDE coverage, corrected inventory May 30, 2026
@pethers pethers marked this pull request as ready for review May 30, 2026 14:04
Copilot AI review requested due to automatic review settings May 30, 2026 14:04
@github-actions
Copy link
Copy Markdown
Contributor

🔍 Lighthouse Performance Audit

Category Score Status
Performance 85/100 🟡
Accessibility 95/100 🟢
Best Practices 90/100 🟢
SEO 95/100 🟢

📥 Download full Lighthouse report

Budget Compliance: Performance budgets enforced via budget.json

@github-actions
Copy link
Copy Markdown
Contributor

🔍 Lighthouse Performance Audit

Category Score Status
Performance 85/100 🟡
Accessibility 95/100 🟢
Best Practices 90/100 🟢
SEO 95/100 🟢

📥 Download full Lighthouse report

Budget Compliance: Performance budgets enforced via budget.json

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR refreshes key ISMS/architecture documentation to match the current repository reality, focusing on the dual-model AI newsroom configuration and expanded STRIDE coverage for external integrations, alongside corrected inventory counts and toolchain/test metrics.

Changes:

  • Updates THREAT_MODEL.md to v1.5 with a dual-model AI model card and new STRIDE addenda for SCB, World Bank, and Riksrevisionen integrations.
  • Updates SWOT.md to v1.6 with corrected inventories (agents/skills/dashboards/methodologies/templates) and adds a new multi-source data-fusion strength.
  • Refreshes multiple supporting architecture/ops docs (workflows, data model, CRA/BCP/EOL/financial plans) and bumps npm package version to 0.9.41.

Reviewed changes

Copilot reviewed 14 out of 15 changed files in this pull request and generated 9 comments.

Show a summary per file
File Description
WORKFLOWS.md Updates workflow inventory/counts and CI/test/toolchain references.
THREAT_MODEL.md Dual-model AI corrections + new integration STRIDE addenda (SCB/WB/RiR) and updated inventories.
SWOT.md Updates strategic inventory counts and adds multi-source data-fusion strength; aligns threat-model reference.
STATEDIAGRAM.md Refreshes state/quality-gate metrics text.
SECURITY_ARCHITECTURE.md Updates dashboard/security header/CSP narrative and version references.
package.json Bumps package version to 0.9.41.
package-lock.json Keeps lockfile version in sync with package.json bump.
MINDMAP.md Updates platform/test-count references in mindmap.
FLOWCHART.md Removes prior “what changed” blocks; keeps process diagrams as the main content.
FinancialSecurityPlan.md Updates effective dates/versioning and cost/control inventory wording.
End-of-Life-Strategy.md Updates toolchain/EOL tables to current dependency versions and removes stale change-log blocks.
DATA_MODEL.md Updates dashboard/code-splitting/data-validation references to current architecture.
CRA-ASSESSMENT.md Refreshes CRA evidence references and test-count/file-count claims.
BCPPlan.md Updates effective dates/next review and removes stale change-log blocks.
ARCHITECTURE.md Updates architecture diagrams/text to reflect lazy-loaded dashboard module reality and current versions.

Comment thread package.json Outdated
{
"name": "riksdagsmonitor",
"version": "0.9.40",
"version": "0.9.41",
Comment thread WORKFLOWS.md Outdated
- [FUTURE_WORKFLOWS.md](FUTURE_WORKFLOWS.md) — Future workflow projections
- [AGENTS.md](AGENTS.md) — Custom agent reference (14 agents)
- [SKILLS.md](SKILLS.md) — Skill definitions (91 skills)
- [AGENTS.md](AGENTS.md) — Custom agent reference (24 agents)
Comment thread MINDMAP.md Outdated
Comment on lines 83 to 85
📦 Platform v0.9.40
7,500+ Tests (237 files)
24 Agents · 93 Skills
Comment thread THREAT_MODEL.md Outdated

## 📊 SCB Integration — STRIDE Threats

> **Effective:** 2026-05-30 · **Classification:** Public · **Entry point:** `scripts/scb-fetch.ts` · **Client:** `scripts/scb-client.ts` / `scripts/scb-context.ts` · **Sources:** third-party MCP relay `https://scb-mcp.onrender.com/mcp` (primary) and the SCB Open Data API `www.scb.se` (direct fallback) · **Cache:** `analysis/data/scb/`.
Comment thread THREAT_MODEL.md Outdated

> **Effective:** 2026-05-30 · **Classification:** Public · **Entry point:** `scripts/scb-fetch.ts` · **Client:** `scripts/scb-client.ts` / `scripts/scb-context.ts` · **Sources:** third-party MCP relay `https://scb-mcp.onrender.com/mcp` (primary) and the SCB Open Data API `www.scb.se` (direct fallback) · **Cache:** `analysis/data/scb/`.

SCB (Statistics Sweden) supplies the Swedish-specific ground-truth statistics layer (population, labour, economy, public finance). The integration is unique among data sources because its primary transport is a **community-hosted Model Context Protocol relay on Render** rather than a first-party SCB endpoint — a deliberate supply-chain trust boundary that is mitigated by a direct-API fallback and provenance discipline.
Comment thread THREAT_MODEL.md Outdated

| ID | Asset / flow | STRIDE | Threat | Likelihood | Impact | Mitigations |
|---|---|---|---|---|---|---|
| T-SCB-01 | `scb-mcp.onrender.com` MCP relay | Spoofing | Third-party relay impersonated or DNS/TLS-intercepted, returning forged table data | LOW | HIGH | HTTPS-only egress; allow-list `scb-mcp.onrender.com` + `www.scb.se`; direct SCB Open Data API fallback (`DIRECT_SCB_SERVER_URL` bypass); source URL + table id recorded in provenance. |
Comment thread THREAT_MODEL.md Outdated
| ID | Asset / flow | STRIDE | Threat | Likelihood | Impact | Mitigations |
|---|---|---|---|---|---|---|
| T-SCB-01 | `scb-mcp.onrender.com` MCP relay | Spoofing | Third-party relay impersonated or DNS/TLS-intercepted, returning forged table data | LOW | HIGH | HTTPS-only egress; allow-list `scb-mcp.onrender.com` + `www.scb.se`; direct SCB Open Data API fallback (`DIRECT_SCB_SERVER_URL` bypass); source URL + table id recorded in provenance. |
| T-SCB-02 | JSON-stat / PXWeb payload | Tampering | Relay or upstream mutates statistic values, footnotes, or contents codes | LOW | HIGH | Direct-API cross-check path; typed client contract checks; persisted raw/derived artifacts with `.meta.json` sidecars; reviewer diff inspection on persisted `analysis/data/scb/`. |
Comment thread THREAT_MODEL.md Outdated
| T-SCB-02 | JSON-stat / PXWeb payload | Tampering | Relay or upstream mutates statistic values, footnotes, or contents codes | LOW | HIGH | Direct-API cross-check path; typed client contract checks; persisted raw/derived artifacts with `.meta.json` sidecars; reviewer diff inspection on persisted `analysis/data/scb/`. |
| T-SCB-03 | Table-cell mapping | Information integrity | Variable/value-code drift maps wrong dimension (region, period, contents) to a cell | MEDIUM | MEDIUM | Metadata fetched per table before query; value-code validation; unit tests for SCB client parsing; omit context rather than emit unmapped figures. |
| T-SCB-04 | SCB citation in article | Repudiation | Article cites "SCB reports X" without table id / vintage → unauditable claim | MEDIUM | MEDIUM | Provenance block records `mcpTool`, table id, `fetchedAt`; ECONOMIC_DATA_CONTRACT vintage discipline applies to the Swedish ground-truth layer. |
| T-SCB-05 | Relay / API availability | Denial of service | Render relay cold-start or SCB API timeout blocks enrichment | MEDIUM | LOW | 15s timeout (`DEFAULT_TIMEOUT`); cache-first reuse; optional-enrichment semantics; automatic direct-API fallback when relay degraded. |
Comment thread THREAT_MODEL.md Outdated

### SCB residual risk

- **Residual risk:** LOW-MEDIUM integrity risk concentrated in the third-party MCP relay; mitigated by the direct SCB Open Data API fallback and provenance sidecars.
…counts, fix SCB STRIDE to reflect MCP-only architecture

Co-authored-by: pethers <1726836+pethers@users.noreply.github.com>
@pethers pethers merged commit 2d323b3 into main May 30, 2026
11 checks passed
@pethers pethers deleted the copilot/update-isms-current-documents branch May 30, 2026 14:22
@github-actions
Copy link
Copy Markdown
Contributor

🔍 Lighthouse Performance Audit

Category Score Status
Performance 85/100 🟡
Accessibility 95/100 🟢
Best Practices 90/100 🟢
SEO 95/100 🟢

📥 Download full Lighthouse report

Budget Compliance: Performance budgets enforced via budget.json

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cis-controls CIS Controls dependencies Dependency updates documentation Documentation updates isms ISMS compliance changes iso-27001 ISO 27001 controls nist-csf NIST CSF compliance security Security improvements size-l Large change (250-1000 lines) size-m Medium change (50-250 lines)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants