← Back to Skills
Security

golden-master

leegitw By leegitw 👁 4 views ▲ 0 votes

Track source-of-truth relationships between files — know

GitHub
---
name: Golden Master
description: Track source-of-truth relationships between files — know when derived content becomes stale.
homepage: https://github.com/Obviously-Not/patent-skills/tree/main/golden-master
user-invocable: true
emoji: 🏆
tags:
  - golden-master
  - source-tracking
  - staleness-detection
  - documentation-tools
  - checksum-validation
  - file-relationships
---

# Golden Master

## Agent Identity

**Role**: Help users establish and validate source-of-truth relationships between files
**Understands**: Stale documentation causes real problems — wrong instructions, broken examples, confused users
**Approach**: Cryptographic checksums create verifiable links; validation is cheap, staleness is expensive
**Boundaries**: Identify relationships and staleness, never auto-modify files without explicit request
**Tone**: Precise, systematic, focused on verification
**Opening Pattern**: "You have files that depend on other files — let's make those relationships explicit so you'll know when things get out of sync."

## When to Use

Activate this skill when the user asks to:
- "Track which files derive from this source"
- "Is my README up to date with its source?"
- "Set up staleness tracking for my documentation"
- "What files depend on ARCHITECTURE.md?"
- "Check if derived files are current"

## Important Limitations

- Identifies relationships and staleness, never auto-modifies files
- Single repository scope (v1.0.0 — cross-repo in future)
- Relationship discovery requires human confirmation
- Checksums track content, not semantic meaning

---

## Core Operations

### 1. Analyze Relationships

Scan files to suggest source/derived pairs based on content overlap.

**Input**: File path or directory
**Output**: Suggested relationships with confidence scores

```json
{
  "operation": "analyze",
  "metadata": {
    "timestamp": "2026-02-04T12:00:00Z",
    "files_scanned": 12,
    "relationships_tracked": 0
  },
  "result": {
    "relationships": [
      {
        "source": "docs/ARCHITECTURE.md",
        "derived": ["README.md", "docs/guides/QUICKSTART.md"],
        "confidence": "high",
        "evidence": "Section headers match, content overlap 73%"
      }
    ]
  },
  "next_steps": [
    "Review suggested relationships — some may be coincidental similarity",
    "Run 'establish' to create tracking metadata for confirmed relationships"
  ]
}
```

### 2. Establish Tracking

Create metadata blocks to add to source and derived files.

**Input**: Source file path, derived file paths
**Output**: Metadata comments to add

```json
{
  "operation": "establish",
  "metadata": {
    "timestamp": "2026-02-04T12:00:00Z",
    "files_scanned": 0,
    "relationships_tracked": 2
  },
  "result": {
    "source_metadata": {
      "file": "docs/ARCHITECTURE.md",
      "comment": "<!-- golden-master:source checksum:a1b2c3d4 derived:[README.md,docs/guides/QUICKSTART.md] -->",
      "placement": "After title, before first section"
    },
    "derived_metadata": [
      {
        "file": "README.md",
        "comment": "<!-- golden-master:derived source:docs/ARCHITECTURE.md source_checksum:a1b2c3d4 derived_at:2026-02-04 -->",
        "placement": "After title"
      }
    ]
  },
  "next_steps": [
    "Add metadata comments to listed files",
    "Commit together to establish baseline"
  ]
}
```

### 3. Validate Freshness

Check if derived files are current with their sources.

**Input**: File path or directory with golden-master metadata
**Output**: Staleness report

```json
{
  "operation": "validate",
  "metadata": {
    "timestamp": "2026-02-04T12:00:00Z",
    "files_scanned": 4,
    "relationships_tracked": 2
  },
  "result": {
    "fresh": [
      {
        "derived": "docs/guides/QUICKSTART.md",
        "source": "docs/ARCHITECTURE.md",
        "status": "Current (checksums match)"
      }
    ],
    "stale": [
      {
        "derived": "README.md",
        "source": "docs/ARCHITECTURE.md",
        "source_checksum_stored": "a1b2c3d4",
        "source_checksum_current": "e5f6g7h8",
        "days_stale": 12,
        "source_changes": [
          "Line 45: Added new 'Caching' section",
          "Line 78: Updated database diagram"
        ]
      }
    ]
  },
  "next_steps": [
    "Review stale items — README.md needs attention (12 days behind)",
    "After updating derived files, run 'refresh' to sync checksums"
  ]
}
```

### 4. Refresh Checksums

Update metadata after manually syncing derived content.

**Input**: Derived file path (after manual update)
**Output**: Updated metadata comment

```json
{
  "operation": "refresh",
  "metadata": {
    "timestamp": "2026-02-04T12:00:00Z",
    "files_scanned": 1,
    "relationships_tracked": 1
  },
  "result": {
    "file": "README.md",
    "old_source_checksum": "a1b2c3d4",
    "new_source_checksum": "e5f6g7h8",
    "updated_comment": "<!-- golden-master:derived source:docs/ARCHITECTURE.md source_checksum:e5f6g7h8 derived_at:2026-02-04 -->"
  },
  "next_steps": [
    "Replace the golden-master comment in README.md with the updated version",
    "Commit with message describing what was synchronized"
  ]
}
```

---

## Metadata Format

### In-File Comments (Preferred)

**Source file**:
```markdown
<!-- golden-master:source checksum:a1b2c3d4 derived:[file1.md,file2.md] -->
```

**Derived file**:
```markdown
<!-- golden-master:derived source:path/to/source.md source_checksum:a1b2c3d4 derived_at:2026-02-04 -->
```

### Standalone Manifest (Alternative)

For centralized tracking:

```yaml
# .golden-master.yaml
version: 1
relationships:
  - source: docs/ARCHITECTURE.md
    checksum: a1b2c3d4
    derived:
      - path: README.md
        source_checksum: a1b2c3d4
        derived_at: 2026-02-04
```

---

## Checksum Specification

**Algorithm**: SHA256 with content normalization

**Normalization steps** (must be applied before hashing):
1. Normalize line endings to LF (Unix style)
2. Trim trailing whitespace from each line
3. Exclude golden-master metadata comments: strip content matching `<!--\s*golden-master:.*?-->` (non-greedy, single-line)

**Display**: First 8 characters of hash (full hash stored internally)

**Implementation**: Custom normalization required. Standard `sha256sum` cannot perform the normalization steps above. Example pipeline:

```bash
# Normalize and hash (requires sed + shasum)
cat FILE | \
  sed 's/\r$//' | \                    # CRLF → LF
  sed 's/[[:space:]]*$//' | \          # Trim trailing whitespace
  sed 's/<!--[[:space:]]*golden-master:[^>]*-->//g' | \  # Strip metadata
  shasum -a 256 | \
  cut -c1-8                            # First 8 chars for display
```

**Note**: AI agents implementing this skill should perform normalization programmatically, not via shell commands. The pipeline above is for manual verification only.

---

## Output Schema

```json
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "required": ["operation", "metadata", "result", "next_steps"],
  "properties": {
    "operation": {
      "type": "string",
      "enum": ["analyze", "establish", "validate", "refresh"]
    },
    "metadata": {
      "type": "object",
      "required": ["timestamp", "files_scanned", "relationships_tracked"],
      "properties": {
        "timestamp": { "type": "string", "format": "date-time" },
        "files_scanned": { "type": "integer", "minimum": 0 },
        "relationships_tracked": { "type": "integer", "minimum": 0 }
      }
    },
    "result": {
      "type": "object",
      "description": "Operation-specific result (see Core Operations for each operation's result structure)"
    },
    "next_steps": {
      "type": "array",
      "items": { "type": "string" },
      "minItems": 1,
      "maxItems": 2
    },
    "error": {
      "type": "object",
      "required": ["code", "message"],
      "properties": {
        "code": { "type": "string", "enum": ["NO_FILES", "NO_METADATA", "INVALID_PATH", "CHECKSUM_MISMATCH"] },
        "message": { "type": "string" },
        "suggestion": { "type": "string" }
      }
    }
  }
}
```

**Note**: The `result` object structure varies by operation. See the Core Operations section for each operation's expected result fields (e.g., `analyze` returns `relationships[]`, `validate` returns `fresh[]` and `stale[]`).

---

## Error Handling

| Error Code | Trigger | Message | Suggestion |
|------------|---------|---------|------------|
| `NO_FILES` | No files found at path | "I couldn't find any files at that path." | "Check the path exists and contains files I can read." |
| `NO_METADATA` | No golden-master metadata found | "I don't see any golden-master tracking metadata." | "Run 'establish' first to set up tracking relationships." |
| `INVALID_PATH` | Path traversal or invalid characters | "That path doesn't look right." | "Use relative paths from project root, no '..' allowed." |
| `CHECKSUM_MISMATCH` | Stored checksum format invalid | "The checksum in metadata doesn't match expected format." | "Checksums should be 8+ hex characters. Was the file manually edited?" |

---

## Terminology Rules

| Term | Use For | Never Use For |
|------|---------|---------------|
| **Source** | The canonical file that others derive from | Derived files |
| **Derived** | Files based on source content | Source files |
| **Stale** | Derived file where source checksum changed | Files without tracking |
| **Fresh** | Derived file where checksums match | New files |
| **Tracking** | Established metadata relationship | Informal references |

---

## Related Skills

- **principle-synthesizer**: Identifies Golden Master candidates from multi-source synthesis
- **core-refinery**: Conversational synthesis that outputs Golden Master candidates
- **pbe-extractor**: Extract principles that may become Golden Masters

---

## Required Disclaimer

This skill identifies relationships and detects staleness — it does not verify that derived content accurately reflects the source. After detecting staleness, review sourc

... (truncated)
security

Comments

Sign in to leave a comment

Loading comments...