CIA Documentation Naming Convention

May 24, 2026 ยท View on GitHub

Version: 1.0
Effective Date: 2025-12-11
Classification: Internal Standard
Maintained By: Citizen Intelligence Agency Intelligence Operations Team
Scope: Guidelines for NEW documentation files only

โš ๏ธ IMPORTANT: This convention applies to NEW documentation files only. DO NOT rename existing documentation files as they have external references from hack23.com blog posts, GitHub links, and other external sources. Breaking these links would harm SEO, user experience, and documentation accessibility.


๐ŸŽฏ Purpose

This document establishes standardized naming conventions for NEW CIA project documentation files to ensure:

  • Clarity: Document type and purpose immediately identifiable from filename
  • Currency: Clear distinction between living documents and point-in-time reports
  • Consistency: Uniform naming patterns for new documentation
  • Discoverability: Predictable filenames that facilitate navigation
  • Lifecycle Management: Proper versioning and temporal tracking
  • Link Stability: Preservation of existing URLs for external references

๐Ÿ“‹ Standardized Metadata Headers

All documentation files should include a standardized metadata header following this format:

Standard Metadata Fields (in order)

# Document Title

**Document Type:** [Catalog|Guide|Framework|Dashboard|Policy|Report|Summary|Assessment] (Living Document|Point-in-Time Snapshot)
**Status:** [Active - Continuously Updated|Archived|Deprecated]
**Last Updated:** YYYY-MM-DD
**Version:** [Optional - for versioned documents, e.g., 1.0, 2.0.0]
**Purpose:** [One-line description of document purpose]
**Classification:** [Optional - e.g., Public Documentation, Internal]
**Target Audience:** [Optional - e.g., Database Administrators, Developers]
**External References:** [Yes/No - Details if Yes]
**Maintained By:** [Optional - Team or person responsible]

Field Descriptions

FieldRequiredDescriptionExample
Document TypeYesType and lifecycle statusCatalog (Living Document)
StatusYesCurrent document statusActive - Continuously Updated
Last UpdatedYesDate of last significant update2025-12-11
VersionOptionalVersion number for versioned docs1.0 or 2.0.0
PurposeYesBrief description of purposeComprehensive catalog of database views
ClassificationOptionalAccess/visibility levelPublic Documentation
Target AudienceOptionalIntended readersDatabase Administrators, DevOps
External ReferencesYesWhether externally linkedYes - Referenced in blog posts
Maintained ByOptionalResponsible partyIntelligence Operations Team

Examples

Living Document Example:

# Database View Intelligence Catalog

**Document Type:** Catalog (Living Document)  
**Status:** Active - Continuously Updated  
**Last Updated:** 2025-12-11  
**Version:** 1.0  
**Purpose:** Single source of truth for database view definitions and usage patterns  
**Classification:** Public Documentation  
**External References:** Yes - Referenced in hack23.com blog posts  
**Maintained By:** Intelligence Operations Team

Point-in-Time Report Example:

# OSINT Validation Report - November 2025

**Document Type:** Report (Point-in-Time Snapshot)  
**Status:** Archived  
**Last Updated:** 2025-11-25  
**Purpose:** Validation results for OSINT data sources as of November 2025  
**External References:** No

๐Ÿ“‹ Document Type Prefixes

Living Documents (Current State - Always Up-to-Date)

Documents that are continuously maintained to reflect current state:

PrefixDescriptionExamplesUpdate Frequency
CATALOG_Comprehensive listings and inventoriesDATABASE_VIEW_INTELLIGENCE_CATALOG.md, RISK_RULES_INTOP_OSINT.mdContinuous
GUIDE_How-to and procedural documentsREADME-SCHEMA-MAINTENANCE.md, GUIDE_DEPLOYMENT.mdAs needed
FRAMEWORK_Analytical/methodological frameworksDATA_ANALYSIS_INTOP_OSINT.md, FRAMEWORK_INTELLIGENCE_DATA_FLOW.mdMajor updates
DASHBOARD_Monitoring and metrics dashboardsDATA_QUALITY_MONITORING_DASHBOARD.mdContinuous
POLICY_Rules, standards, and governancePOLICY_DATA_CLASSIFICATION.md, POLICY_SECURITY.mdQuarterly review
MAPPING_Cross-reference and relationship documentsMAPPING_<SOURCE>_<TARGET>.mdAs schema changes

Historical/Versioned Documents

Documents representing specific points in time or versions:

PrefixDescriptionExamplesRetention
CHANGELOG_Version history and evolution trackingCHANGELOG_INTELLIGENCE.mdPermanent
REPORT_YYYYMMDD_Point-in-time analysis reportsREPORT_20251125_OSINT_VALIDATION.mdArchive after 6 months
SUMMARY_YYYYMMDD_Executive summaries of specific workSUMMARY_20251201_MINISTRY_FIXES.mdArchive after 6 months
ASSESSMENT_YYYYMMDD_Formal assessments and evaluationsASSESSMENT_20250115_SECURITY.mdArchive after 12 months

Special Documents (No Prefix)

Standard repository files that follow GitHub/industry conventions:

  • README.md - Primary project documentation
  • ARCHITECTURE.md - System architecture overview
  • SECURITY.md - Security policy and vulnerability reporting
  • CONTRIBUTING.md - Contribution guidelines
  • CODE_OF_CONDUCT.md - Community standards
  • LICENSE.txt - Legal license information
  • CODEOWNERS - Code ownership definitions

๐Ÿ“ Naming Rules (For NEW Files Only)

1. Case Conventions

  • Prefixes: UPPERCASE (e.g., CATALOG_, GUIDE_)
  • Document Type Keywords: UPPERCASE (e.g., DATABASE, RISK, OSINT)
  • Descriptive Words: Lowercase for prepositions/connectors (e.g., _and_, _for_)
  • Acronyms: UPPERCASE (e.g., OSINT, SQL, API)

2. Separators

  • Prefix Separation: Single underscore after prefix (CATALOG_)
  • Word Separation: Underscores within filename (DATABASE_VIEWS)
  • Date Stamps: YYYYMMDD format without separators (20251125)

3. Date Formats

  • Point-in-Time Reports: YYYYMMDD immediately after prefix
    • Example: REPORT_20251125_OSINT_VALIDATION.md
    • Format: ISO 8601 compact date (e.g., 2025-11-25 โ†’ 20251125)

4. Version Indicators

  • Major Versions: _v1, _v2, etc. at end of base filename
    • Example: CHANGELOG_INTELLIGENCE_v1.md
  • Semantic Versioning: When detailed versioning needed in content, not filename
  • Version History: Track in changelog, not duplicate files

5. Length Constraints

  • Target: Keep under 50 characters when possible
  • Maximum: 80 characters (filesystem compatibility)
  • Balance: Descriptive vs. concise

โœ… Good Naming Examples (For NEW Files)

Living Documents

โœ… DATABASE_VIEW_INTELLIGENCE_CATALOG.md
   - Clear type (catalog), clear subject (database views)

โœ… README-SCHEMA-MAINTENANCE.md
   - Procedural guide for schema operations

โœ… DATA_ANALYSIS_INTOP_OSINT.md
   - Analytical framework with domain specification

โœ… DATA_QUALITY_MONITORING_DASHBOARD.md
   - Monitoring dashboard for data quality metrics

โœ… POLICY_DATA_CLASSIFICATION.md
   - Governance policy for data handling

Historical/Versioned Documents

โœ… CHANGELOG_INTELLIGENCE.md
   - Versioned changelog (major version 1)

โœ… REPORT_20251125_OSINT_VALIDATION.md
   - Point-in-time validation report with date

โœ… SUMMARY_20251201_MINISTRY_FIXES.md
   - Executive summary of specific work completed

โœ… ASSESSMENT_20250115_SECURITY.md
   - Formal security assessment conducted on specific date

Special Documents

โœ… README.md
   - Standard GitHub convention

โœ… ARCHITECTURE.md
   - Industry-standard architecture documentation

โœ… SECURITY.md
   - GitHub security policy convention

โŒ Bad Naming Examples (For NEW Files)

Avoid These Patterns for NEW Documentation

Note: The examples below show naming patterns to AVOID when creating NEW documentation files. These are NOT recommendations to rename existing files, which must be preserved to maintain external link integrity.

โŒ database_view_catalog.md
   - Lowercase (inconsistent), no type prefix

โŒ Analysis_Data_OSINT.md
   - Mixed case (inconsistent), no type prefix, unclear structure

โŒ ministry_fixes_summary.md
   - No date stamp for point-in-time document, lowercase, no type prefix

โŒ validation_report.md
   - No date stamp, unclear if current or historical, lowercase, no type prefix

โŒ view_catalog.md
   - Lowercase (inconsistent), no prefix

โŒ DatabaseViews.md
   - CamelCase (inconsistent), no prefix

โŒ db-view-catalog.md
   - Hyphens instead of underscores, lowercase, no prefix

๐Ÿ“ Naming Process for NEW Files

IMPORTANT: This section applies ONLY to creating NEW documentation files. DO NOT use these steps to rename existing files.

Step 1: Assess Document Requirements

  1. Determine Document Type:

    • Is it continuously updated (living) or point-in-time (historical)?
    • What category does it fit (catalog, guide, framework, report)?
  2. Check Naming Conflicts:

    • Does a similar file already exist?
    • Would this name conflict with existing documentation?

Step 2: Choose Appropriate Name

Apply the appropriate prefix and structure for NEW files:

Examples for NEW Files:

Scenario: Creating a new database views catalog
Recommended: CATALOG_DATABASE_VIEWS.md

Scenario: Creating a new OSINT analysis framework
Recommended: FRAMEWORK_DATA_ANALYSIS_OSINT.md

Scenario: Creating a point-in-time validation report
Recommended: REPORT_20251201_OSINT_VALIDATION.md

Step 3: Create File with Metadata Header

Include standardized metadata at the top:

# Document Title

**Document Type:** [Catalog|Guide|Framework|Dashboard|Report|Summary]
**Status:** [Active - Continuously Updated|Point-in-Time Snapshot]
**Last Updated:** YYYY-MM-DD
**Purpose:** [Brief description]
**External References:** [Yes/No - Details if applicable]

Step 4: Register in Documentation Index

Add reference to the new file in:

  • README.md (if appropriate)
  • Relevant documentation index files
  • Cross-reference from related documents

๐Ÿ“ฆ Archive Strategy (For NEW Point-in-Time Reports)

When to Archive

  • Point-in-Time Reports: After 6 months or when superseded
  • Historical Summaries: After 6 months or when integrated into living docs
  • Deprecated Documentation: Immediately upon replacement

Archive Location

docs/archive/
โ”œโ”€โ”€ reports-2025-11/
โ”‚   โ”œโ”€โ”€ REPORT_20251125_OSINT_VALIDATION.md
โ”‚   โ””โ”€โ”€ REPORT_20251125_SQL_VALIDATION.md
โ”œโ”€โ”€ summaries-2025-12/
โ”‚   โ”œโ”€โ”€ SUMMARY_20251201_MINISTRY_FIXES.md
โ”‚   โ””โ”€โ”€ SUMMARY_20251205_IMPLEMENTATION.md
โ””โ”€โ”€ deprecated/
    โ””โ”€โ”€ LEGACY_DOCUMENTATION.md

Archive Header Template

Add to top of archived documents:

> โš ๏ธ **ARCHIVED DOCUMENT**  
> This document was archived on YYYY-MM-DD.  
> Current documentation: [Link to replacement document]

๐ŸŽฏ Decision Tree (For NEW Files)

Use this flowchart to determine correct naming for NEW documentation files:

graph TD
    A[New Documentation File] --> B{Standard Repo File?}
    B -->|Yes| C["Use standard name<br/>README.md, SECURITY.md, etc."]
    B -->|No| D{Living or Historical?}
    
    D -->|Living| E{What Type?}
    D -->|Historical| F{What Type?}
    
    E -->|Comprehensive List| G[CATALOG_<br/>subject.md]
    E -->|Procedural| H[GUIDE_<br/>subject.md]
    E -->|Analytical| I[FRAMEWORK_<br/>subject.md]
    E -->|Monitoring| J[DASHBOARD_<br/>subject.md]
    E -->|Governance| K[POLICY_<br/>subject.md]
    E -->|Cross-reference| L[MAPPING_<br/>subject.md]
    
    F -->|Version History| M[CHANGELOG_<br/>subject_v1.md]
    F -->|Analysis Report| N[REPORT_YYYYMMDD_<br/>subject.md]
    F -->|Executive Summary| O[SUMMARY_YYYYMMDD_<br/>subject.md]
    F -->|Formal Assessment| P[ASSESSMENT_YYYYMMDD_<br/>subject.md]

๐Ÿ“š Existing Files - Reference Only

These files have established names with external references. DO NOT rename:

Current NameDocument TypeStatusExternal Links
DATABASE_VIEW_INTELLIGENCE_CATALOG.mdCatalogLivingYes - Blog posts
DATA_ANALYSIS_INTOP_OSINT.mdFrameworkLivingYes - Blog posts
RISK_RULES_INTOP_OSINT.mdCatalogLivingYes - Blog posts
service.data.impl/README-SCHEMA-MAINTENANCE.mdGuideLivingYes - Workflows
INTELLIGENCE_DATA_FLOW.mdFrameworkLivingYes - Documentation
DATA_QUALITY_MONITORING_DASHBOARD.mdDashboardLivingYes - Documentation
LIQUIBASE_CHANGELOG_INTELLIGENCE_ANALYSIS.mdAnalysisLivingYes - Documentation
CHANGELOG_INTELLIGENCE.mdChangelogVersionedYes - Release notes

What These Names Would Be If Creating NEW Files

For reference only - showing what ideal names would be for NEW files with similar purpose:

Existing File (Keep As-Is)Ideal Name for NEW Similar FileRationale
DATABASE_VIEW_INTELLIGENCE_CATALOG.mdCATALOG_DATABASE_VIEWS.mdType prefix first
DATA_ANALYSIS_INTOP_OSINT.mdFRAMEWORK_DATA_ANALYSIS_OSINT.mdClear framework type
RISK_RULES_INTOP_OSINT.mdCATALOG_RISK_RULES.mdType prefix first
INTELLIGENCE_DATA_FLOW.mdFRAMEWORK_INTELLIGENCE_DATA_FLOW.mdClear framework type
DATA_QUALITY_MONITORING_DASHBOARD.mdDASHBOARD_DATA_QUALITY.mdType prefix first

These are examples only - existing files are preserved to maintain external link integrity.


๐Ÿ” Validation Checklist (For NEW Files)

When creating a new documentation file, verify:

  • All markdown links updated and working
  • Git history preserved (git log --follow new-filename.md)
  • No broken cross-references (grep -r "old-filename")
  • Workflows updated (.github/workflows/*.yml)
  • README.md references updated
  • Copilot instructions updated (.github/copilot-instructions.md)
  • Archive headers added to archived documents


๐Ÿ“ Amendment History

VersionDateChangesAuthor
1.02025-12-11Initial standard establishedIntelligence Operations Team

Questions or Clarifications?
Contact the Intelligence Operations Team or open an issue with tag type:docs.