Methodology

How the Dhekelia/Larnaca Civilian Briefing System works

System Purpose

The Dhekelia/Larnaca Civilian Briefing System produces twice-daily security awareness briefings (AM/PM) for civilians living within 0–10 km of the Dhekelia Sovereign Base Area (SBA), near Larnaca, Cyprus.

The system:

  • Monitors 60+ public sources in five languages (EN, EL, TR, RU, UKR)
  • Publishes briefings in English only
  • Enforces human approval before any publication
  • Provides read-only public access with no comment sections
Important: This system is for situational awareness only. It is not a substitute for official emergency services. Always dial 112 (Cyprus) or 1443 (SBA Dhekelia) in emergencies.

Master Source Index v2.0

All briefings are derived from a curated Master Source Index (currently v2.0) containing 100+ active sources classified by:

  • Source Class (SC): SC1 (official/primary) to SC6 (unknown/low transparency)
  • Validation Score (VS): VS5 (confirmed) to VS0 (disproved)
  • Timeliness Tag (T): T4 (<24h) to T0 (unknown)

The Master Source Index is version-controlled and any changes require explicit admin approval.

View the full list: Master Source Index v2.0

Briefing Pipeline (13 Steps)

Each briefing is generated by a reproducible 13-component pipeline:

  1. Scheduler: Triggers runs at fixed times (AM 07:00, PM 19:00 Cyprus time) plus manual ad-hoc runs.
  2. Source Registry: Loads Master Source Index v2.x as the canonical source list.
  3. Collectors: Fetch sources in priority order: SC1 → SC2/3 → SC4/5.
  4. Snapshot Preserver: Logs URL, timestamp, content hash, optional screenshot for SC1 priority sources.
  5. Extractor/Normalizer: Parses and deduplicates raw captures.
  6. Scorer/Policy Enforcer: Assigns SC/VS/T tags; enforces rules (e.g., SC5 always VS2, recommendations only from SC1).
  7. Evidence Card Builder: Creates structured evidence cards with determinism hashes.
  8. Diff Engine: Compares current state to last published briefing (JSON-based).
  9. Synthesis Writer: Generates draft briefing in English following standardized template.
  10. QA Gate: Blocks publication if PII/operational harm/unverified rumours/over-length detected.
  11. Approval Workflow: Human reviewer approves (chat-only) or requests changes.
  12. Publisher: Publishes approved briefing to web + PDF + immutable archive.
  13. Archive Storage: Stores raw captures, snapshots, evidence cards, issue JSON, approval record.
Deterministic Builds: The same raw captures always produce identical Evidence Cards and draft briefings, ensuring reproducibility and auditability.

Source Classification (SC/VS/T)

Source Class (SC)

  • SC1 — Official/Primary: Government agencies, emergency services, official SBA/military channels (e.g., Cyprus Police, Civil Defence, JRCC, SBA Admin).
  • SC2 — Reputable International Media: Reuters, BBC News (regional context).
  • SC3 — Reputable Local Media: Cyprus Mail, In-Cyprus, CNA, SigmaLive, etc.
  • SC4 — Community/Platform: Telegram groups, Facebook community pages, Reddit (monitored but never published directly).
  • SC5 — Indicator Tool: Flightradar24, MarineTraffic (always VS2, indicator-only).
  • SC6 — Unknown/Low transparency: App stores, unverified directories.

Validation Score (VS)

  • VS5 — Confirmed: Primary SC1 source or 2+ SC1/SC2 corroboration.
  • VS4 — Highly likely: SC1 partial or SC2/SC3 corroboration.
  • VS3 — Plausible: Single SC3 or credible SC4.
  • VS2 — Unverified: Single SC4, or SC5 indicator.
  • VS1 — Rumour: Unsubstantiated claim.
  • VS0 — Disproved: Officially contradicted.

Timeliness Tag (T)

  • T4: <24 hours
  • T3: 24h–7 days
  • T2: 7–30 days
  • T1: >30 days
  • T0: Unknown

Approval Workflow (Chat-Only, MVP)

Before any briefing is published, it must receive explicit human approval. The MVP uses a chat-only approval protocol:

  1. DRAFT — System creates draft after QA gate pass.
  2. UNDER_REVIEW — Admin reviews draft.
  3. CHANGES_REQUESTED — Admin sends feedback; system reverts to DRAFT.
  4. APPROVED — Admin issues APPROVE {issue_id} command.
  5. PUBLISHED — System publishes web update, generates PDF, creates immutable archive record.

Every approval creates an approval_record.json with timestamp, actor, role, method, and issue hash for full audit traceability.

Errata & Retractions: If an error is found post-publication, admin can issue an ERRATA (corrected PDF with banner) or RETRACT (full retraction with reason).

Briefing Template Structure

All briefings follow a standardized military-style template (civilian language):

  1. Header: Issue ID, version, timestamp, severity level (LOW/MEDIUM/HIGH).
  2. What Changed: Max 5 bullets summarizing changes since last briefing.
  3. Executive Summary: Max 5 bullets (≤20 words each) with SC/VS/T citations.
  4. Official Instructions: SC1 only; actionable guidance from competent authorities.
  5. Ring Impacts: Specific updates for Rings A (0–2 km), B (2–5 km), C (5–10 km).
  6. Air Domain: Aviation/airspace updates (Hermes LCA, DCA, Flightradar24).
  7. Maritime Domain: Port/coastal updates (CPA, JRCC NAVTEX, MarineTraffic).
  8. Local Services: Utilities, traffic, municipal impacts.
  9. Rumour Control: Max 3 curated bullets addressing unverified claims (no details/coordinates).
  10. Source Appendix: List of cited sources (Name, SC, VS, URL).
  11. Footer: Disclaimer, emergency contacts, methodology link, PDF/Archive links.

Page Limit: Target 2 pages, hard cap 3 pages (overflow only at HIGH severity with admin audit reason).

Severity Model

  • LOW: No incidents, routine monitoring (2-page PDF).
  • MEDIUM: Relevant notice or advisory (2–3 pages).
  • HIGH: Official instruction or confirmed kinetic event (up to 3 pages; overflow only with admin audit).

Operational Policies

SC1 First

Official sources (SC1) are always fetched first. If SC1 sources fail, an admin alert is triggered.

SC5 Indicator-Only Rule

Flightradar24 and MarineTraffic are always VS2 (Unverified) and labeled "indicator-only." They provide context but never confirmation.

No Operational Harm

Briefings never publish tactical details, sensitive movement info, or instructions to bypass authorities.

Multilingual Monitoring, English Output

Sources are monitored in EN, EL, TR, RU, UKR. Translation is paraphrased, not treated as fact; original snippets are retained for evidence.

Watchlist Hygiene

Active SC4 watchlists are capped at ~10–20 per language to ensure manageable noise levels.

PDF Pipeline (MVP-Native Alternative)

Due to Genspark platform constraints, the MVP uses a native alternative to the original PDF spec:

  • Single source of truth: briefing_issue.json (HTML and PDF rendered from this record).
  • PDF artifact storage: /published/{issue_id}/download.pdf
  • Archive page: Canonical stable HTML at /archive/{issue_id} with PDF download link.
  • Render timestamp: Embedded as Generated: YYYY-MM-DD HH:MM UTC in PDF.
  • Errata variant: Separate file download-ERRATA-vX.pdf with large banner on every page (content overlay, not watermark function).
  • Page-limit policy: Enforced as QA-gate heuristic, not render guarantee.

Note: PDF permalink routing and watermark function are not available natively in MVP; these are logged as DEV-01 and DEV-02 spec deviations (approved by admin).

Legal Disclaimer

Standard Civilian-Awareness Notice:

The Dhekelia/Larnaca Civilian Briefing System is provided for informational purposes only. It is not a substitute for official emergency services or government instructions.

Emergency Contacts:

  • Cyprus Emergency: 112 (police/ambulance/fire)
  • SBA Police (Dhekelia): 1443
  • Shelter Finder: safe.101.cy

The operators of this system are not liable for any actions taken based on information published here. Always verify critical information with official sources.

Errata & Retraction Process

If an error is discovered after publication:

  • ERRATA: Admin issues ERRATA {issue_id} {reason}. A corrected PDF is generated with ERRATA vX banner on every page. Original PDF remains accessible with note "original — see errata."
  • RETRACT: Admin issues RETRACT {issue_id} {reason}. Content is replaced with retraction notice; internal record retained for audit.

All errata and retractions are logged in the issue's audit trail.

Acceptance Criteria (AC-01 to AC-12)

The system is tested against 12 acceptance criteria:

  1. Scheduler triggers AM/PM runs correctly.
  2. SC1 sources are fetched first.
  3. Snapshot logging captures URL, timestamp, hash.
  4. Deterministic hashes: same raw captures → same evidence cards.
  5. Mandatory "What Changed" section present.
  6. Approval record required before PUBLISHED status.
  7. Policy enforcement blocks PII, operational harm, unverified rumours.
  8. HTML and PDF content parity.
  9. PDF page limits enforced (2 pages LOW, 3 pages HIGH).
  10. Errata/retraction audit logged.
  11. QA_FAILED blocks publication.
  12. Admin QA override logged separately.

Runbook Location

The full operator runbook (including state machine, roles, commands) is stored in the project at:

/DhekeliaBriefingSystem/runbook.md

PDF pipeline alternatives and MVP spec deviations are logged at:

/DhekeliaBriefingSystem/master/spec_deviations_mvp.md