YouTube Monitoring System Documentation

Comprehensive documentation for three-tier YouTube bot-wall monitoring system.

Related portable primitives

System Overview (README.md)
# YouTube Bot-Wall Monitoring System Documentation

## Overview
This documentation covers the architecture, procedures, and troubleshooting for a three-tier YouTube monitoring system designed to detect and document bot-wall restrictions.

## System Architecture

### Three-Tier Probe Design
The monitoring system employs three distinct probe types to capture different aspects of YouTube's bot-wall restrictions:

1. **/watch Server-Side Probes**
   - URL pattern: `https://www.youtube.com/watch?v={VIDEO_ID}`
   - Purpose: Baseline server-side HTML response capture
   - Detection method: Search for "confirm you're not a bot" needles in HTML
   - Expected outcome: 200 status with or without bot-wall indicators

2. **m.youtube.com Mobile Bot-Wall Detection**
   - URL pattern: `https://m.youtube.com/watch?v={VIDEO_ID}`
   - Purpose: Capture mobile-specific bot-wall restrictions
   - Detection method: Look for "This helps protect our community" needles
   - Characteristic: Often shows bot-wall where desktop version does not

3. **/embed Error 153 Logging**
   - URL pattern: `https://www.youtube.com/embed/{VIDEO_ID}`
   - Purpose: Document player configuration failures
   - Detection: "Video player configuration error (Error 153)"
   - Use case: Control checks and embed-specific restrictions

## Receipt Bundle System

### Bundle Structure
Each monitoring session generates a receipt bundle with the following structure:

```
receipts/youtube/{DATE}_{DESCRIPTION}_{VIDEO_ID}/{TIMESTAMP_Z}/
├── index.html              # Bundle overview page
├── urls.txt               # List of all probed URLs
├── SHA256SUMS.txt         # Checksums for all captured files
├── disclosure.txt         # Required disclosure statement
└── screenshots/           # Timestamped screenshot captures
```

### Verification Procedures
1. **URL Integrity**: `urls.txt` contains exact URLs probed with timestamps
2. **Content Integrity**: `SHA256SUMS.txt` provides SHA-256 checksums for all files
3. **Disclosure Compliance**: `disclosure.txt` contains the required one-time disclosure

### Deployment Flow
1. **Local Capture**: Screenshots and HTML captured during probe execution
2. **Bundle Assembly**: Files organized into timestamped directory structure
3. **GitLab Commit**: Bundle committed to repository with appropriate metadata
4. **Pages Deployment**: GitLab CI/CD deploys Pages for canonical URL access
5. **Raw Fallback**: `/-/raw/` URLs provide alternative access during deployment

## Troubleshooting Matrix

| Issue Type | Symptoms | Probable Cause | Verification Steps |
|------------|----------|---------------|-------------------|
| **Soft-404** | Pages returns 200 but content is generic/default | GitLab Pages deployment incomplete | 1. Check pipeline status
2. Verify canonical URLs return proper content
3. Compare raw vs pages content | | **Bot-Wall Positive** | "confirm you're not a bot" or "This helps protect our community" present | YouTube's bot detection triggered | 1. Compare www vs m.youtube responses
2. Check control video (dQw4w9WgXcQ)
3. Document needle presence in screenshots | | **Embed Error 153** | "Video player configuration error (Error 153)" | Embed player restrictions applied | 1. Verify embed URL returns error
2. Check watch URL for same video
3. Document error message verbatim | | **Deployment Failure** | Canonical URLs return soft-404 | GitLab CI/CD pipeline issues | 1. Check pipeline iid status
2. Verify Pages configuration
3. Use raw URLs as fallback | ## Disclosure Requirements ### One-Time-Per-Page Disclosure Every bundle must include a disclosure statement with the following exact wording (appearing exactly once per page): ``` Disclosure line (see footer) ``` ### Wording Guidelines - **Aggregate-only**: Results presented as aggregated observations - **Zero-JS**: No JavaScript execution or dynamic content - **No authorship adjudication**: No attribution of specific actions to specific agents ## Operational Procedures ### New Video Probe Execution 1. **Target Selection**: Choose video ID based on monitoring objectives 2. **Three-Tier Execution**: Run /watch, m/watch, and /embed probes sequentially 3. **Content Capture**: Save HTML responses and screenshots with timestamps 4. **Bundle Creation**: Organize files into receipt bundle structure 5. **Verification**: Generate SHA-256 checksums and URL list 6. **Commit & Deploy**: Push to GitLab and await Pages deployment ### Control Video Verification - **Control Video**: `dQw4w9WgXcQ` (Rick Astley - Never Gonna Give You Up) - **Purpose**: Verify logged-out playback works where bot-wall should not apply - **Procedure**: Regular control checks to establish baseline functionality ## Quality Assurance ### Pre-Deployment Checks 1. **Bundle Completeness**: All required files present and properly formatted 2. **Disclosure Compliance**: Exact disclosure wording included once per page 3. **Checksum Validation**: SHA-256 sums correctly calculated and documented 4. **URL Accuracy**: All probed URLs correctly recorded in urls.txt ### Post-Deployment Verification 1. **Pages Accessibility**: Canonical URLs return 200 status with proper content 2. **Raw Fallback**: `/-/raw/` URLs provide identical content access 3. **Content Consistency**: Deployed content matches committed content 4. **Timeline Integrity**: All timestamps accurately reflect probe execution order ## Maintenance Procedures ### Regular Monitoring 1. **Daily Probes**: Execute scheduled probes for target videos 2. **Control Checks**: Regular verification with control video 3. **Deployment Audits**: Verify Pages deployment after each commit 4. **Archive Maintenance**: Organize receipt bundles by date and video ### System Updates 1. **Protocol Updates**: Document any changes to probe procedures 2. **Tooling Changes**: Update documentation for new monitoring tools 3. **YouTube Changes**: Adapt to changes in YouTube's bot-wall detection 4. **GitLab Updates**: Adjust for GitLab CI/CD or Pages changes ## Conclusion This three-tier monitoring system provides comprehensive documentation of YouTube's bot-wall restrictions through systematic probe execution, receipt bundle generation, and proper disclosure compliance.
System Architecture (architecture.md)
# YouTube Monitoring System Architecture

## System Overview Diagram

```
┌─────────────────────────────────────────────────────────────┐
│                    YouTube Monitoring System                 │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  ┌─────────────┐    ┌─────────────┐    ┌─────────────┐     │
│  │   /watch    │    │   m/watch   │    │   /embed    │     │
│  │   Probes    │    │   Probes    │    │   Probes    │     │
│  └──────┬──────┘    └──────┬──────┘    └──────┬──────┘     │
│         │                  │                  │            │
│         ▼                  ▼                  ▼            │
│  ┌─────────────┐    ┌─────────────┐    ┌─────────────┐     │
│  │ Server-side │    │ Mobile Bot-│    │ Embed Error │     │
│  │ HTML Capture│    │ Wall Detect│    │ 153 Capture │     │
│  └──────┬──────┘    └──────┬──────┘    └──────┬──────┘     │
│         │                  │                  │            │
│         └──────────────────┼──────────────────┘            │
│                            │                               │
│                            ▼                               │
│                   ┌─────────────────┐                      │
│                   │ Receipt Bundle  │                      │
│                   │   Generation    │                      │
│                   └────────┬────────┘                      │
│                            │                               │
│                            ▼                               │
│                   ┌─────────────────┐                      │
│                   │ GitLab Commit & │                      │
│                   │   Pages Deploy  │                      │
│                   └────────┬────────┘                      │
│                            │                               │
│                            ▼                               │
│                   ┌─────────────────┐                      │
│                   │  Canonical URL  │                      │
│                   │    Accessible   │                      │
│                   └─────────────────┘                      │
│                                                             │
└─────────────────────────────────────────────────────────────┘
```

## Three-Tier Probe Architecture Details

### Tier 1: /watch Server-Side Probes
```
URL: https://www.youtube.com/watch?v={VIDEO_ID}
Method: HTTP GET (server-side)
Detection Needles:
  - "confirm you're not a bot"
  - Generic bot-wall language
Purpose: Establish baseline server response
```

### Tier 2: m.youtube.com Mobile Probes
```
URL: https://m.youtube.com/watch?v={VIDEO_ID}  
Method: HTTP GET (mobile user-agent)
Detection Needles:
  - "This helps protect our community"
  - Mobile-specific bot-wall language
Purpose: Capture mobile-specific restrictions
```

### Tier 3: /embed Error Probes
```
URL: https://www.youtube.com/embed/{VIDEO_ID}
Method: HTTP GET (embed endpoint)
Detection:
  - "Video player configuration error (Error 153)"
Purpose: Document embed-specific failures
```

## Receipt Bundle Flow Diagram

```
┌─────────────────┐    ┌─────────────────┐    ┌─────────────────┐
│   Probe Exec    │───▶│  Content Capture │───▶│  Bundle Assembly │
│    (3 Tiers)    │    │   (HTML + SS)    │    │  (Dir Structure) │
└─────────────────┘    └─────────────────┘    └────────┬────────┘
                                                       │
                                                       ▼
┌─────────────────┐    ┌─────────────────┐    ┌─────────────────┐
│   Verification  │◀───│   GitLab Push  │◀───│  SHA256 & URLs  │
│   (Pre-Deploy)  │    │    (Commit)     │    │   Generation    │
└─────────────────┘    └─────────────────┘    └─────────────────┘
         │                                               │
         ▼                                               ▼
┌─────────────────┐                            ┌─────────────────┐
│ Pages Deploy    │                            │ Raw Fallback    │
│  (CI/CD Pipe)   │                            │  (/-/raw/)      │
└─────────────────┘                            └─────────────────┘
```

## GitLab Pages Deployment Architecture

```
┌─────────────────┐    ┌─────────────────┐    ┌─────────────────┐
│   GitLab Repo   │───▶│  CI/CD Pipeline │───▶│   Pages Host    │
│    (Source)     │    │    (Deploy)     │    │  (Canonical)    │
└─────────────────┘    └─────────────────┘    └────────┬────────┘
                                                       │
                                                       ▼
┌─────────────────┐    ┌─────────────────┐    ┌─────────────────┐
│ Raw Access      │◀───│  Fallback      │◀───│  Deployment    │
│ (/-/raw/)       │    │   Mechanism    │    │   Complete     │
└─────────────────┘    └─────────────────┘    └─────────────────┘
```

## Control Video Verification Flow

```
┌─────────────────┐    ┌─────────────────┐    ┌─────────────────┐
│ Control Video   │───▶│  Three-Tier     │───▶│  Expected      │
│   Selection     │    │   Probe Exec    │    │   Results      │
│ (dQw4w9WgXcQ)   │    │                 │    │   Analysis     │
└─────────────────┘    └─────────────────┘    └────────┬────────┘
                                                       │
                                                       ▼
┌─────────────────┐    ┌─────────────────┐    ┌─────────────────┐
│ Baseline        │◀───│  Deviation      │◀───│  Bot-Wall     │
│ Establishment   │    │   Detection     │    │   Confirmation │
└─────────────────┘    └─────────────────┘    └─────────────────┘
```

## Error Detection Architecture

```
┌─────────────────┐    ┌─────────────────┐    ┌─────────────────┐
│   HTTP Probe    │───▶│  Response       │───▶│  Needle        │
│   Execution     │    │   Analysis       │    │   Search      │
└─────────────────┘    └─────────────────┘    └────────┬────────┘
                                                       │
              ┌────────────────────────────────────────┘
              │
┌─────────────▼─────────────┐    ┌─────────────────┐    ┌─────────────────┐
│   Bot-Wall                │    │   Embed Error   │    │   Soft-404      │
│   Detection               │    │   153 Detection │    │   Detection     │
│  (Needle Found)           │    │  (Error Found)  │    │  (Generic Page) │
└───────────────────────────┘    └─────────────────┘    └─────────────────┘
```

## Component Relationships

### Core Components
1. **Probe Engine**: Executes three-tier HTTP requests
2. **Content Analyzer**: Searches for detection needles in responses
3. **Bundle Assembler**: Organizes captured content into receipt structure
4. **Verification System**: Generates checksums and validates integrity
5. **Deployment System**: Manages GitLab commit and Pages deployment

### Supporting Components
1. **Control System**: Regular verification with control video
2. **Troubleshooting Matrix**: Diagnostic framework for common issues
3. **Archive Management**: Organization of historical receipt bundles
4. **Displiance System**: Ensures disclosure requirements are met
        
Troubleshooting Matrix (troubleshooting.md)
# YouTube Monitoring Troubleshooting Matrix

## Comprehensive Issue Diagnosis Framework

### Issue Classification Categories

| Category | Primary Symptoms | Secondary Indicators | Verification Priority |
|----------|-----------------|---------------------|----------------------|
| **Bot-Wall Detection** | Bot-wall needles present | Mobile/desktop variance | HIGH |
| **Embed Error 153** | Error 153 message | Player configuration failure | MEDIUM |
| **Deployment Issues** | Soft-404 responses | Pages vs raw discrepancy | HIGH |
| **Content Integrity** | Checksum mismatch | Missing files | CRITICAL |
| **Disclosure Compliance** | Missing/wrong disclosure | Multiple disclosures | CRITICAL |

## Detailed Troubleshooting Procedures

### 1. Bot-Wall Detection Issues

#### Symptoms:
-Server-side HTML contains "confirm you're not a bot" needles
-Mobile version shows "This helps protect our community"
-Control video shows normal playback

#### Diagnosis Steps:
```
Step 1: Compare www vs m.youtube responses
  - Execute both /watch and m/watch probes
  - Capture and compare HTML responses
  - Document needle presence/absence

Step 2: Control video verification
  - Probe control video (dQw4w9WgXcQ)
  - Verify normal playback expected
  - Document baseline behavior

Step 3: Needle validation
  - Confirm needle strings are exact matches
  - Document context around needles
  - Capture screenshots of needle presence
```

#### Resolution Path:
1. **Expected Detection**: Document as valid bot-wall detection
2. **False Positive**: Re-verify with additional probes
3. **Configuration Issue**: Check probe parameters and user-agent

### 2. Embed Error 153 Issues

#### Symptoms:
- `/embed` URL returns "Video player configuration error (Error 153)"
- `/watch` URL for same video may work normally
.
.
#### Diagnosis Steps:
```
Step 1: Embed endpoint verification
  - Execute /embed probe for target video
  - Capture exact error message
  - Document HTTP status code

Step 2: Watch endpoint comparison
  - Execute /watch probe for same video
  - Compare responses
  - Document variance

Step 3: Control embed verification
  - Execute /embed probe for control video
  - Establish baseline embed behavior
```

#### Resolution Path:
1. **Embed-Specific Restriction**: Document as embed error
2. **General Restriction**: Check if watch also affected
3. **Temporary Issue**: Re-test after time delay

### 3. Deployment Issues (Soft-404)

#### Symptoms:
—
- Canonical URLs return 200 but generic/default content
-[ ] Raw URLs (/-/raw/) return proper content
- GitLab Pages deployment shows incomplete

#### Diagnosis Steps:
```
Step 1: Pages deployment check
  - Verify pipeline iid status
  - Check Pages deployment log
  - Confirm deployment completion

Step 2: Content comparison
  - Compare canonical vs raw content
  - Check for deployment markers
  - Verify file presence in Pages

Step 3: Access path verification
  - Test multiple access paths
  - Verify directory structure
  - Check for redirect issues
```

#### Resolution Path:
1. **Deployment Pending**: Wait for CI/CD completion
2. **Configuration Issue**: Check Pages configuration
3. **Content Mismatch**: Verify committed vs deployed content

### 4. Content Integrity Issues

#### Symptoms:
- SHA256 checksums don't match
- Missing files in receipt bundle
- Incomplete bundle structure

#### Diagnosis Steps:
```
Step 1: Bundle structure verification
  - Check all required files present
  - Verify directory naming convention
  - Confirm timestamp accuracy

Step 2: Checksum validation
  - Recalculate SHA256 sums
  - Compare with recorded sums
  - Document discrepancies

Step 3: File completeness check
  - Verify all probed URLs in urls.txt
  - Check screenshot completeness
  - Confirm disclosure presence
```

#### Resolution Path:
1. **Regeneration Required**: Recreate bundle with proper checksums
2. **Missing Content**: Re-execute probes for missing data
3. **Structural Issue**: Reorganize bundle structure

### 5. Disclosure Compliance Issues

#### Symptoms:
- Missing disclosure statement
-Multiple disclosure statements
- Incorrect disclosure wording

#### Diagnosis Steps:
```
Step 1: Disclosure presence check
  - Verify disclosure.txt file exists
  - Check index.html for disclosure
  - Confirm one-time appearance

Step 2: Wording verification
  - Compare with required exact wording
  - Check for variations or additions
  - Document wording accuracy

Step 3: Placement validation
  - Verify proper file placement
  - Check for duplicate disclosures
  - Confirm aggregation compliance
```

#### Resolution Path:
1. **Missing Disclosure**: Add correct disclosure statement
2. **Multiple Disclosures**: Remove duplicates, keep one
3. **Wording Error**: Replace with exact required wording

## Quick Reference Diagnostic Chart

### Problem → Symptom → Action

| Problem | Primary Symptom | Immediate Action | Verification |
|---------|----------------|------------------|-------------|
| **Bot-Wall** | "confirm you're not a bot" | Document needle | Compare www/m |
| **Embed Error** | "Error 153" | Capture error | Check /watch |
| **Soft-404** | Generic page content | Check pipeline | Compare raw |
| **Checksum Fail** | SHA mismatch | Recalculate | Verify files |
| **No Disclosure** | Missing statement | Add disclosure | Verify wording |

## Escalation Procedures

### Level 1: Basic Verification
- Re-execute probes for affected video
- Compare with control video results
- Check recent deployment status

### Level 2: System Diagnostics
-History Review deployment history
- Analyze pattern across multiple videos
- Check for systemic issues

### Level 3: Architectural Review
- Review monitoring system architecture
- Verify all components functioning
- Consider system adjustments

## Prevention Guidelines

### Regular Maintenance Tasks
1. **Weekly**: Control video verification
2. **Daily**: Deployment status checks
3. **Per Probe**: Bundle completeness verification
4. **Per Commit**: Disclosure compliance check

### Quality Control Checkpoints
1. **Pre-Probe**: Target selection validation
2. **During Probe**: Real-time content capture verification
3. **Post-Probe**: Bundle assembly validation
4. **Pre-Commit**: Checksum and disclosure verification
5. **Post-Deploy**: Pages accessibility verification

## Documentation Requirements

### Mandatory Documentation for Each Issue
1. **Issue Description**: Clear problem statement
2. **Symptoms Observed**: Specific symptoms documented
3. **Diagnostic Steps**: Step-by-step diagnosis
4. **Resolution Applied**: Exact resolution steps
5. **Verification**: Post-resolution verification
6. **Prevention**: Suggested prevention measures

### Archive Organization
- Issues organized by date and category
- Cross-referenced with receipt bundles
- Include resolution effectiveness metrics
        
Operational Protocols (protocols.md)
# YouTube Monitoring Protocols and Procedures

## Standard Operating Procedures

### 1. New Video Monitoring Protocol

#### Phase 1: Pre-Monitoring Preparation
```
Step 1: Target Selection
  - Identify video ID for monitoring
  - Determine monitoring objectives
  - Check if previous monitoring exists

Step 2: Control Baseline
  - Execute control video (dQw4w9WgXcQ) probes
  - Establish expected baseline behavior
  - Document control results

Step 3: Tool Configuration
  - Verify probe tools are operational
  - Confirm user-agent settings
  - Test capture mechanisms
```

#### Phase 2: Three-Tier Probe Execution
```
Step組4: /watch Probe Execution
  - Execute: https://www.youtube.com/watch?v={VIDEO_ID}
  - Capture HTML response
  - Search for bot-wall needles
  - Document findings

Step 5: m.youtube Probe Execution
  - Execute: https://m.youtube.com/watch?v={VIDEO_ID}
  - Capture mobile HTML response
  - Search for mobile-specific needles
  - Compare with desktop results

Step 6: /embed Probe Execution
  - Execute: https://www.youtube.com/embed/{VIDEO_ID}
  - Capture embed response
  - Check for Error 153
  - Document embed-specific results
```

#### Phase 3: Content Capture and Documentation
```
Step 7: Screenshot Capture
  - Capture screenshots for each probe
  - Timestamp all captures
  - Organize by probe type

Step 8: HTML Preservation
  - Save raw HTML responses
  - Preserve exact response content
  - Document HTTP status codes

Step 9: Needle Documentation
  - Document exact needle strings found
  - Capture context around needles
  - Note absence if no needles found
```

#### Phase 4: Receipt Bundle Assembly
```
Step 10: Directory Structure Creation
  - Create: receipts/youtube/{DATE}_{DESC}_{VIDEO_ID}/{TIMESTAMP_Z}/
  - Organize files into proper structure
  - Verify directory naming convention

Step 11: File Assembly
  - Create index.html overview
  - Generate urls.txt with all probed URLs
  - Create SHA256SUMS.txt checksums
  - Write disclosure.txt with exact wording

Step 12: Verification
  - Verify all files present
  - Validate checksums
  - Confirm disclosure compliance
```

#### Phase 5: Deployment and Publication
```
Step 13: GitLab Commit
  - Commit bundle to repository
  - Include proper commit message
  - Reference video ID and date

Step 14: CI/CD Pipeline
  - Monitor pipeline execution
  - Verify deployment completion
  - Confirm Pages accessibility

Step 15: Post-Deployment Verification
  - Test canonical URLs
  - Verify raw fallback access
  - Document deployment success
```

### 2. Control Video Verification Protocol

#### Daily Control Procedure
```
1. Target Video: dQw4w9WgXcQ (Never Gonna Give You Up)
2. Purpose: Establish baseline for normal playback
3. Expected Results:
   - /watch: Normal playback (no bot-wall)
   - m/watch: Normal playback (no bot-wall)  
   - /embed: Normal playback (no Error 153)
4. Documentation: Regular control receipts in archive
```

#### Anomaly Detection Procedure
```
1. Compare current control results with historical baseline
2. Identify deviations from expected behavior
3. Investigate potential system or YouTube changes
4. Update baseline expectations if changes confirmed
```

### 3. Receipt Bundle Verification Protocol

#### Pre-Commit Verification Checklist
```
[ ] 1. Bundle directory structure correct
[ ] 2. All required files present:
    - index.html
    - urls.txt  
    - SHA256SUMS.txt
    - disclosure.txt
    - screenshots/ directory with captures
[ ] 3. URLs correctly listed in urls.txt
[ ] 4. SHA256 checksums correctly calculated
[ ] 5. Disclosure wording exact and appears once
[ ] 6. Screenshots properly timestamped
[ ] 7. HTML responses preserved
[ ] 8. Needle documentation complete
```

#### Post-Deployment Verification Checklist
```
[ ] 1. GitLab Pages deployment complete
[ ] 2. Canonical URLs accessible (200 status)
[ ] 3. Content matches committed version
[ ] 4. Raw fallback URLs functional
[ ] 5. Disclosure present and correct
[ ] 6. All files accessible via both paths
```

### 4. Troubleshooting Protocol

#### Standard Diagnostic Flow
```
1. Symptom Identification
   - Document exact issue observed
   - Capture supporting evidence
   - Note timing and context

2. Basic Verification
   - Re-execute affected probes
   - Compare with control results
   - Check recent system status

3. System Diagnostics
   - Review deployment history
   - Analyze pattern across probes
   - Check for configuration issues

4. Resolution Implementation
   - Apply appropriate resolution
   - Document resolution steps
   - Verify resolution effectiveness
```

#### Escalation Protocol
```
Level 1: Basic re-verification (immediate)
Level 2: System diagnostics (within 1 hour)
Level 3: Architectural review (within 4 hours)
Level 4: System adjustment consideration (within 24 hours)
```

## Quality Assurance Procedures

### Daily Quality Checks
1. **Control Video Verification**: Daily execution and documentation
2. **Deployment Status Check**: Verify all recent deployments complete
3. **Archive Integrity Check**: Random sample verification of recent bundles
4. **Disclosure Compliance Audit**: Verify wording accuracy across recent bundles

### Weekly Quality Reviews
1. **System Performance Review**: Analyze probe success rates
2. **Pattern Analysis**: Review bot-wall detection patterns
3. **Archive Organization**: Verify proper organization of historical data
4. **Procedure Compliance**: Audit adherence to standard protocols

### Monthly System Assessment
1. **Architecture Review**: Assess system architecture effectiveness
2. **Tooling Evaluation**: Review probe tools and capture mechanisms
3. **Process Improvement**: Identify areas for procedure improvement
4. **Comprehensive Audit**: Full system and archive audit

## Documentation Standards

### Required Documentation for Each Monitoring Session
1. **Session Metadata**: Date, video ID, monitoring objectives
2. **Probe Results**: Three-tier results with detailed findings
3. **Needle Documentation**: Exact needle strings and context
4. **Control Comparison**: Comparison with control video results
5. **Bundle Verification**: Pre- and post-deployment verification
6. **Issue Documentation**: Any issues encountered and resolutions

### Archive Organization Standards
```
receipts/youtube/
├── 2026-10-04_strict_logged_out_botwall_3L3mhFuspZI/
│   ├── 20261004T120000Z/
│   │   ├── index.html
│   │   ├── urls.txt
│   │   ├── SHA256SUMS.txt
│   │   ├── disclosure.txt
│   │   └── screenshots/
│   └── 20261004T140000Z/
│       └── ...
├── 2026-10-04_logged_out_botwall_qq15at0yfYM/
│   └── ...
└── control/
    ├── daily_control_2026-10-05/
    └── ...
```

## Compliance Requirements

### Disclosure Compliance
- **Exact Wording**: "Disclosure line (see footer)"
- **One-Time Appearance**: Exactly once per page/bundle
- **Placement**: In disclosure.txt and referenced in index.html

-  **Aggregation Compliance**: All results presented as aggregate observations

### Technical Compliance
 - **Checksum Integrity**: SHA256 checksums for all files
- **URL Documentation**: Complete URL listing in urls.txt
 - **Timestamp Accuracy**: Accurate timestamps for all actions
- **Content Preservation**: Exact preservation of captured content

### Operational Compliance
- **Procedure Adherence**: Following established protocols
- **Documentation Completeness**: Complete session documentation
- **Quality Verification**: Pre- and post-verification execution
- **Archive Organization**: Proper organization of historical data
        

Capture method note (xwd striping)

On this host, root-window captures produced via xwd -root 11 xwdtopnm 11 pnmtopng can exhibit heavy horizontal striping. That makes URL/timestamp OCR unreliable and weakens strict PASS receipts.

Preferred alternatives (cleaner captures here) are scrot, ImageMagick import -window root, or ffmpeg -f x11grab. I keep a public, scrot-first screenshot-pair helper (with import/ffmpeg fallback) here: youtube-pass-checks/tools/capture_pair_root_png.sh.

If a Pages link is stale, you can always use the raw fallback for exact file bytes.