Profile: File

In-file provenance headers for documents and source code.

1. Purpose

A File profile answers: who created this file (the ORIGINATOR), written once at the file's birth and kept stable. Narrower than the Git profile (who CHANGED it, line by line). Both are needed; neither substitutes for the other. Git blame tells you the truth about a line today; the File header tells you where the file came from.

2. Markdown front matter

---
tap_version: 0.2
title: <short document title>
source_type: collaborative        # collaborative | ai-only | human-only
authors:
  - type: human
    name: Alex
    roles: [ideation, review]
  - type: ai
    name: Liza
    model: claude-opus-4-8
    provider: anthropic
    roles: [drafting]
updated: 2026-07-18
visibility: internal
---

authors is always a list, even for one author. This is the symmetry point: a human and an AI contributor are both entries in the same array, same shape (type, name, roles), with model/provider added only for type: ai. The type key distinguishes them, not separate sections.

3. Comment headers for source and config files

.py, .sh, .conf carry the identical field set wrapped in the language's comment syntax; only the delimiter changes. It is inert to the toolchain and legible to a human or agent.

# ---
# tap_version: 0.2
# title: backfill_orders.py
# source_type: collaborative
# authors:
#   - type: human
#     name: Alex
#     roles: [ideation, review]
#   - type: ai
#     name: Liza
#     model: claude-opus-4-8
#     provider: anthropic
#     roles: [drafting]
# updated: 2026-07-18
# ---

4. Nuance: file origin is not code origin

The header records who created the FILE, not who wrote every fragment inside it. A function written in file A by X, then moved to file B by Y on refactor: file B's header reflects Y as its creator, while the function's authorship stays with X. The header fixes file origin (a point-in-time fact); git blame fixes line truth. Do not turn the header into a second, worse copy of git history - it is a birth certificate, not a living ledger.

5. Before / after

Now: a source file with no provenance. With TAP: the same file, code unchanged, with the comment header above naming both a human and an AI contributor - opening the file now answers who made it and with what help.

6. Referencing a persona

An authors entry may add profile: <url> pointing to a full author.md. The header still carries the minimum self-contained fields, so the file stays legible if the link dies; the profile reference is additive (disclosure level, verification, contact live there).