Skip to content

Add OSINT/INTOP tradecraft standards methodology + align methodology & template READMEs with 23-artifact contract#1948

Merged
pethers merged 3 commits intomainfrom
copilot/enhance-analysis-artifacts-workflows
Apr 22, 2026
Merged

Add OSINT/INTOP tradecraft standards methodology + align methodology & template READMEs with 23-artifact contract#1948
pethers merged 3 commits intomainfrom
copilot/enhance-analysis-artifacts-workflows

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Apr 22, 2026

Changes (review round 2)

Addresses the 6 Copilot review comments on commit e570e8f.

  • analysis/methodologies/osint-tradecraft-standards.md §3.1 — WEP table now uses the canonical 7-band vocabulary from political-style-guide.md (Remote / Very unlikely / Unlikely / Roughly even / Likely / Very likely / Almost certain); non-canonical synonyms removed (no more "probable", "highly probable", "almost no chance"); numeric ranges realigned to the style-guide bands.
  • .github/prompts/05-analysis-gate.md check 6 — prose now says Pass-2 readback applies to "all Family A, B, C, and D artifacts except data-download-manifest.md", matching the actual REQ list enforcement.
  • .github/prompts/05-analysis-gate.md check 5 (SYNTHESIS) — expanded SYNTHESIS bash array to cover all 7 Family D files (election-2026-analysis.md, voter-segmentation.md, coalition-mathematics.md, historical-parallels.md, media-framing-analysis.md, implementation-feasibility.md, forward-indicators.md) so Mermaid enforcement matches the "Family A + Family D" prose.
  • .github/prompts/05-analysis-gate.md check 7 — prose clarified to state structural enforcement + confidence-label audit, and the bash gate now actively counts VERY HIGH|HIGH|MEDIUM|LOW|VERY LOW occurrences in intelligence-assessment.md (≥ 3 required) so the check matches the prose contract.
  • .github/prompts/ext/tier-c-aggregation.md — Tier-C sibling-folder regex expanded to [A-Za-z0-9_-]+ so folders with digits (e.g. realtime-0930, evening-2200) no longer cause false gate failures.
  • .github/prompts/04-analysis-pipeline.md — "Read all 10 methodologies first" → "Read all relevant methodologies first (including osint-tradecraft-standards.md)"; removes the 10 vs 12 inconsistency with .github/prompts/README.md and analysis/methodologies/README.md.

Compilation

  • gh aw compile v0.69.3 → 12 workflows, 0 errors / 0 warnings.
  • No .lock.yml files changed — the four affected prompts are all {{#runtime-import}} imports in the compiled workflows, resolved at runtime.

@pethers pethers marked this pull request as ready for review April 22, 2026 23:07
Copilot AI review requested due to automatic review settings April 22, 2026 23:07
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.

Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.

@github-actions github-actions Bot added documentation Documentation updates workflow GitHub Actions workflows ci-cd CI/CD pipeline changes news News articles and content generation agentic-workflow Agentic workflow changes size-xl Extra large change (> 1000 lines) labels Apr 22, 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,workflow,ci-cd,size-xl,news,agentic-workflow

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

@pethers pethers requested a review from Copilot April 22, 2026 23:10
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.

Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.

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

Copilot reviewed 30 out of 30 changed files in this pull request and generated 6 comments.

Comment on lines +252 to +257
| **2** | **Very unlikely** / *highly improbable* | *Mycket osannolikt* | 5 – 20 % | "A split within SD over migration policy before the 2026 election is very unlikely given the party's current whip discipline." |
| **3** | **Unlikely** / *improbable* | *Osannolikt* | 20 – 45 % | "Unilateral Regeringskansliet blocking of an EU-initiated trilogue is unlikely, given Sweden's Council commitments." |
| **4** | **Roughly even chance** | *Ungefär lika sannolikt som inte* | 45 – 55 % | "There is a roughly even chance that C and L will split over budget priorities in Q3." |
| **5** | **Likely** / *probable* | *Sannolikt* | 55 – 80 % | "The M–KD compromise on the Wind-Power Revenue Act (HD03239) will likely survive the chamber vote." |
| **6** | **Very likely** / *highly probable* | *Mycket sannolikt* | 80 – 95 % | "Very likely the budget discharge will pass on first chamber vote." |
| **7** | **Almost certain** / *nearly certain* | *Så gott som säkert* | 95 – 99 % | "Extra amendment budget FiU48 is almost certain to be adopted this plenary." |
Copy link

Copilot AI Apr 22, 2026

Choose a reason for hiding this comment

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

The WEP band table introduces non-canonical terms/synonyms (e.g. “probable”, “highly probable/improbable”, “almost no chance”) and numeric ranges that don’t match the repository’s canonical WEP vocabulary in political-style-guide.md (Almost certain / Very likely / Likely / Roughly even / Unlikely / Very unlikely / Remote). To avoid conflicting standards, align this table’s terms + ranges to the style guide and remove the extra synonyms.

Suggested change
| **2** | **Very unlikely** / *highly improbable* | *Mycket osannolikt* | 5 – 20 % | "A split within SD over migration policy before the 2026 election is very unlikely given the party's current whip discipline." |
| **3** | **Unlikely** / *improbable* | *Osannolikt* | 20 – 45 % | "Unilateral Regeringskansliet blocking of an EU-initiated trilogue is unlikely, given Sweden's Council commitments." |
| **4** | **Roughly even chance** | *Ungefär lika sannolikt som inte* | 45 – 55 % | "There is a roughly even chance that C and L will split over budget priorities in Q3." |
| **5** | **Likely** / *probable* | *Sannolikt* | 55 – 80 % | "The M–KD compromise on the Wind-Power Revenue Act (HD03239) will likely survive the chamber vote." |
| **6** | **Very likely** / *highly probable* | *Mycket sannolikt* | 80 – 95 % | "Very likely the budget discharge will pass on first chamber vote." |
| **7** | **Almost certain** / *nearly certain* | *Så gott som säkert* | 95 – 99 % | "Extra amendment budget FiU48 is almost certain to be adopted this plenary." |
| **2** | **Very unlikely** | *Mycket osannolikt* | 5 – 20 % | "A split within SD over migration policy before the 2026 election is very unlikely given the party's current whip discipline." |
| **3** | **Unlikely** | *Osannolikt* | 20 – 45 % | "Unilateral Regeringskansliet blocking of an EU-initiated trilogue is unlikely, given Sweden's Council commitments." |
| **4** | **Roughly even** | *Ungefär lika sannolikt som inte* | 45 – 55 % | "There is a roughly even chance that C and L will split over budget priorities in Q3." |
| **5** | **Likely** | *Sannolikt* | 55 – 80 % | "The M–KD compromise on the Wind-Power Revenue Act (HD03239) will likely survive the chamber vote." |
| **6** | **Very likely** | *Mycket sannolikt* | 80 – 95 % | "Very likely the budget discharge will pass on first chamber vote." |
| **7** | **Almost certain** | *Så gott som säkert* | 95 – 100 % | "Extra amendment budget FiU48 is almost certain to be adopted this plenary." |

Copilot uses AI. Check for mistakes.
Comment thread .github/prompts/05-analysis-gate.md Outdated
6. **Pass-2 done** — agent has read each core artifact back after creation and committed improvements. (Enforced by file mtime diff: final file mtime > creation time + 3 min, OR two git-history snapshots on disk.)
4. **Evidence citations** — `swot-analysis.md` and `significance-scoring.md` contain at least one piece of primary-source evidence per quadrant / ranked item. Accepted evidence patterns: a `dok_id` (e.g. `H901FiU1`, `HD01CU27`) **or** a primary-source URL host (`riksdagen.se`, `regeringen.se`, `scb.se`, `worldbank.org`, `data.imf.org`). Enforced against SWOT `### Strengths/Weaknesses/Opportunities/Threats` sections (bullets + table rows) and significance-scoring bullets **plus** ranking table rows and Mermaid node labels.
5. **Mermaid diagrams** — every Family A and Family D synthesis file contains ≥ 1 Mermaid diagram with colour-coded `style` directives (or `themeVariables` / `%%{init …}` block).
6. **Pass-2 done** — agent has read each Family A + C core artifact back after creation and committed improvements. (Enforced by file mtime diff: final file mtime > creation time + 3 min, OR two git-history snapshots on disk.)
Copy link

Copilot AI Apr 22, 2026

Choose a reason for hiding this comment

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

Check 6 description says Pass-2 readback is required for “Family A + C core artifact(s)”, but the actual PASS2_REQ list below enforces Pass-2 evidence for almost every artifact (A+B+C+D, excluding only data-download-manifest.md). Please make the prose match the implementation (or narrow PASS2_REQ) so the contract is unambiguous.

Suggested change
6. **Pass-2 done** — agent has read each Family A + C core artifact back after creation and committed improvements. (Enforced by file mtime diff: final file mtime > creation time + 3 min, OR two git-history snapshots on disk.)
6. **Pass-2 done** — agent has read back each enforced Pass-2 artifact after creation and committed improvements: all Family A, B, C, and D artifacts except `data-download-manifest.md`. (Enforced by file mtime diff: final file mtime > creation time + 3 min, OR two git-history snapshots on disk.)

Copilot uses AI. Check for mistakes.
Comment thread .github/prompts/05-analysis-gate.md Outdated
SYNTHESIS=(synthesis-summary.md swot-analysis.md risk-assessment.md threat-analysis.md \
stakeholder-perspectives.md significance-scoring.md classification-results.md \
cross-reference-map.md)
cross-reference-map.md executive-brief.md coalition-mathematics.md \
Copy link

Copilot AI Apr 22, 2026

Choose a reason for hiding this comment

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

The Mermaid requirement in check 5 is described as covering Family A + Family D, but SYNTHESIS only includes two Family D files (coalition-mathematics.md, forward-indicators.md). Since other Family D templates include Mermaid blocks (e.g. election-2026-analysis.md, voter-segmentation.md), consider expanding SYNTHESIS (or adjust the check text) so enforcement matches the intended contract.

Suggested change
cross-reference-map.md executive-brief.md coalition-mathematics.md \
cross-reference-map.md executive-brief.md election-2026-analysis.md \
voter-segmentation.md coalition-mathematics.md historical-parallels.md \
media-framing-analysis.md implementation-feasibility.md \

Copilot uses AI. Check for mistakes.
Comment on lines +22 to +28
7. **Family C structure checks** (extension-quality gate):
- `executive-brief.md` contains a `## 🎯 BLUF` section **and** a `## 🧭 3 Decisions` (or `Decisions This Brief Supports`) section.
- `intelligence-assessment.md` declares **≥ 3 Key Judgments** with confidence labels (`HIGH`, `MEDIUM`, `LOW`, `VERY HIGH`, `VERY LOW`) and references at least one PIR.
- `scenario-analysis.md` declares **≥ 3 distinct scenarios** (headers matching `Scenario` count ≥ 3).
- `comparative-international.md` declares a comparator set or **≥ 2 comparator rows** (structural check, see Tier-C gate).
- `devils-advocate.md` declares **≥ 3 competing hypotheses** (headers matching `Hypothesis`/`H1`/`H2`/`H3` count ≥ 3, ACH-style).
- `methodology-reflection.md` is non-empty and contains an **ICD 203 audit** marker or ≥ 3 named methodology improvements.
Copy link

Copilot AI Apr 22, 2026

Choose a reason for hiding this comment

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

In the Family C structure checklist, the prose says Key Judgments must include confidence labels, but the implementation only counts Key Judgment/KJ-* occurrences and doesn’t validate confidence labeling. Either adjust the checklist wording to match what’s actually enforced, or add a simple pattern check for the expected confidence labels.

Copilot uses AI. Check for mistakes.

# Tier-C additive check 1 — cross-reference-map.md cites ≥ 1 sibling folder under analysis/daily/
if [ -s "$ANALYSIS_DIR/cross-reference-map.md" ]; then
grep -qE 'analysis/daily/[0-9]{4}-[0-9]{2}-[0-9]{2}/[A-Za-z_-]+' "$ANALYSIS_DIR/cross-reference-map.md" \
Copy link

Copilot AI Apr 22, 2026

Choose a reason for hiding this comment

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

Tier-C additive check 1 uses grep -qE 'analysis/daily/.../[A-Za-z_-]+', which will not match valid sibling folders that include digits (e.g. realtime-0930). This can cause false gate failures for workflows that only cite realtime-* siblings. Expand the regex to allow digits (and possibly additional path chars) in the <type> segment.

Suggested change
grep -qE 'analysis/daily/[0-9]{4}-[0-9]{2}-[0-9]{2}/[A-Za-z_-]+' "$ANALYSIS_DIR/cross-reference-map.md" \
grep -qE 'analysis/daily/[0-9]{4}-[0-9]{2}-[0-9]{2}/[A-Za-z0-9_-]+' "$ANALYSIS_DIR/cross-reference-map.md" \

Copilot uses AI. Check for mistakes.
Comment thread .github/prompts/04-analysis-pipeline.md Outdated
1. **Read all 6 methodologies first** (one tool call per file, do not skip).
2. **Read all 8 templates first.**
3. **Pass 1 — Create** all 9 artifacts + every per-document file. Minimum 15 minutes of real work.
1. **Read all 10 methodologies first** (one tool call per file; skipping fails the gate via `methodology-reflection.md §evidence` audit).
Copy link

Copilot AI Apr 22, 2026

Choose a reason for hiding this comment

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

Execution order says "Read all 10 methodologies first", but this PR’s own docs indicate 12 methodology modules (and the supporting-frameworks list here already exceeds 10). This mismatch can confuse the workflow contract; update the count or rephrase to "read all relevant methodologies" and keep it consistent with .github/prompts/README.md / analysis/methodologies/README.md.

Suggested change
1. **Read all 10 methodologies first** (one tool call per file; skipping fails the gate via `methodology-reflection.md §evidence` audit).
1. **Read all relevant methodologies first** (the primary methodology guide plus every supporting framework listed above; one tool call per file; skipping fails the gate via `methodology-reflection.md §evidence` audit).

Copilot uses AI. Check for mistakes.
@pethers
Copy link
Copy Markdown
Member

pethers commented Apr 22, 2026

@copilot apply changes based on the comments in this thread

Copy link
Copy Markdown
Contributor Author

Copilot AI commented Apr 22, 2026

@copilot apply changes based on the comments in this thread

Applied all 6 review comments in 2307ee0:

  1. osint-tradecraft-standards.md §3.1 — WEP table realigned to the canonical 7-band vocabulary (Remote / Very unlikely / Unlikely / Roughly even / Likely / Very likely / Almost certain) from political-style-guide.md; non-canonical synonyms removed; numeric ranges matched to style-guide bands.
  2. 05-analysis-gate.md check 6 — prose now says "all Family A, B, C, D except data-download-manifest.md" matching REQ.
  3. 05-analysis-gate.md check 5SYNTHESIS expanded to all 7 Family D files for Mermaid enforcement.
  4. 05-analysis-gate.md check 7 — bash gate now audits VERY HIGH|HIGH|MEDIUM|LOW|VERY LOW confidence-label count (≥ 3) in intelligence-assessment.md, matching the prose.
  5. ext/tier-c-aggregation.md — sibling-folder regex expanded to [A-Za-z0-9_-]+ for digit-bearing folders (e.g. realtime-0930).
  6. 04-analysis-pipeline.md — "Read all 10 methodologies" → "Read all relevant methodologies (including osint-tradecraft-standards.md)".

gh aw compile clean (12 workflows, 0 errors); no lock files changed since all four affected prompts are runtime-imports.

Copilot AI requested a review from pethers April 22, 2026 23:23
@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

@pethers pethers merged commit 0d430eb into main Apr 22, 2026
12 checks passed
@pethers pethers deleted the copilot/enhance-analysis-artifacts-workflows branch April 22, 2026 23:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

agentic-workflow Agentic workflow changes ci-cd CI/CD pipeline changes documentation Documentation updates news News articles and content generation size-xl Extra large change (> 1000 lines) workflow GitHub Actions workflows

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants