---
title: File Naming Conventions
date-locked: 2026-05-28
status: canonical
---

# File Naming Conventions

Locked-in 2026-05-28 file-org reorg. Apply to new files going forward. Older files migrated where it adds value, preserved-as-found where it doesn't.

Companion: [[file-system-structure]], [[file-org-maintenance-schedule]].

---

## Folders

| Level | Convention | Example |
|---|---|---|
| Top-level | PascalCase | `LFCS\`, `RateRight\`, `Archive\` |
| Project sub-folders | kebab-case | `2637-light-horse-park-stage-2-tce\` |
| Lifecycle folders inside a job | Hornsby-template numbered prefix | `01. Tender Pack (Inbound)\`, `02. Estimating + Pricing\` |
| Asset folders inside drawing trees | PascalCase or Title Case | `Community Building\`, `Park\` |
| Discipline folders | Title Case | `Civil\`, `Structural\`, `Landscape\` |
| Engineer firm folders | As they write it | `Costin Roe\`, `Bligh Tanner\`, `Turf Design Studio\` |

**No numbered prefix on project folders** (e.g. don't use `01-2637-light-horse-park\`) — the 26XX job number IS the natural sort key.

---

## Files

### Dated artefacts (deliverables, drafts, snapshots)

`YYYY-MM-DD_subject_vNN.ext`

Examples:
- `2026-05-12_TCE-Light-Horse-Park-Stage-2-Concrete-Works-RFQ.txt`
- `2026-05-21_LFCS_2626_Drawings_EXA01A-08_v05.pdf`
- `2026-05-28_2631-pack-2026-05-09.zip`

**Date** = the date the file's content is dated for / valid as of (NOT the day Rocky downloaded it).

**Subject** = short kebab-case-ish description. Spaces or hyphens both OK, but be consistent within a folder.

**Version** = `_vNN` always two digits (`_v01`, `_v02`, ..., `_v99`). Start at `_v01` for a draft, `_v02` for revision, etc. **Never use `_final`, `_FINAL`, `_FINAL FINAL`, or `_rev1`** — they always lie eventually.

### Evergreen files (templates, scripts, configs)

`kebab-case.ext`

Examples:
- `lfcs-bid-template.docx`
- `clean-downloads.ps1`
- `rate-buildup-civils.xlsx`

### Drawings

Drawings keep their **original sheet number + revision** filename as issued by the designer. Title block is the source of truth, not the filename.

Examples (don't rename these):
- `240306-M0102 [A].dwg`
- `CO15513.00-C800.pdf`
- `LA-DR-N-0000.pdf`

---

## Version handling

**Current version of any document = highest `_vNN` in its parent folder.**

Older versions live in a sibling `Versions\` folder, preserving their original names. Example:

```
02. Estimating + Pricing/
  02a - Quotes & Estimates (Outbound)/
    2026-05-21_LFCS_2626_EXA01A-08_v05.pdf    <- current
    Versions/
      2026-05-14_LFCS_2626_EXA01A-08_v03.pdf
      2026-05-14_LFCS_2626_EXA01A-08_v04.pdf
```

When you save a new version:
1. Move the current version into `Versions\`
2. Save new file as `_vNN` one higher
3. Optionally re-date the prefix to today

Never overwrite an old version. Never delete an old version.

---

## Special prefixes / markers

| Prefix | Meaning | Action during cleanup |
|---|---|---|
| `~$` | Microsoft Office lockfile (document is open) | Quarantine immediately, never preserve |
| `_TO_RECYCLE_BIN_DATE\` | Rocky's pre-marked deletion staging | Quarantine straight to `_Quarantine_DATE\` |
| `BACKUP_*\`, `_compare_*\`, `temp_*\` | Self-marked disposable / point-in-time snapshot | Per-folder triage with prefix-driven defaults (see [[feedback-named-backup-folders-per-folder-triage]] in memory) |
| `Versions\` | Sibling folder containing older revisions | Never touch contents during reorg |
| `Inbox\` | Weekly clear-down landing zone | Empty into proper homes every Friday Window |
| `_INDEX.md` | Auto-generated per-folder listing | Re-run `gen-index.ps1 -Folders` after structural changes |
| `_Log.md` | Append-only daily log per session | Honour HQ-Vault append-only protocol |
| `_Quarantine_DATE\` | Move-to-delete-after-30-days | Earliest delete = DATE + 30 |

---

## Quick reference card

| Want to | Do this |
|---|---|
| Save a new bid proposal version | `YYYY-MM-DD_LFCS_<job>_Proposal_v<NN>.pdf` |
| Save subbie quote received | `YYYY-MM-DD_<trade>_<subbie>_Quote.pdf` under `02c - Subbie Quotes Received\` |
| Save an email RFI thread | `YYYY-MM-DD_<job>_<topic>-RFI.txt` under `06. Correspondence\06a - Inbound Outbound\` |
| File new drawings from a designer | Sort into `01b - Drawings\Issued for Construction\<Asset>\<Discipline>\<Firm>\` |
| File a head-contract Scope of Works | `01a - RFQ + Conditions\` — flat, no sub-folder |
| Drop a file you'll sort later | `Inbox\` — clear weekly |
| Mark something for deletion | Move to `_Quarantine_DATE\` — wait 30 days |
