docs(our-gdrive-organizer): add 3 gotchas from Brand in Action audit
- D_intelligence (underscore) — typo, NOT a regex variant. Fix one-off
via mv; do not widen RENAME_RULES (false-positive risk on legit
underscore-separator filenames).
- Externally-generated filenames vs OurDigital convention. Default to
normalize {Client}_/Client_/client_ → CLIENT- inside Active Workspaces;
drop 14-digit timestamps to YYYYMMDD; preserve only when an external
system requires the literal name.
- Reference library naming inconsistency — DO NOT bulk-normalize. Mixed
naming reflects source provenance (Slideshare slugs, vendor whitepapers,
Korean blog captures). Group by topic into subfolders instead
(frameworks/, examples/, ko/) when count exceeds ~15 at root.
Patterns library now at 15 gotchas. Validated by live application during
01_Brand in Action audit.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -254,6 +254,93 @@ reference visualization that has real value AND a meaningful home elsewhere.
|
||||
|
||||
---
|
||||
|
||||
### `D_intelligence` (underscore) — typo, NOT a regex variant
|
||||
|
||||
**Pattern**: A file uses `D_intelligence` with an underscore separator
|
||||
between `D` and `intelligence` instead of a dot. E.g.,
|
||||
`D_intelligence_홍아현_프로젝트부속계약서_20260501.gdoc`.
|
||||
|
||||
**Why tricky**: It LOOKS like a third regex-escaping variant of the brand
|
||||
prefix (alongside `D.intelligence` with dot and `D intelligence` with
|
||||
space, both of which ARE valid spellings the parent company uses). But
|
||||
underscore is **wrong** — D.intelligence is always written with a dot.
|
||||
The underscore form is purely an accidental typo (probably auto-generated
|
||||
by a system that sanitized dots to underscores).
|
||||
|
||||
**Resolution**:
|
||||
1. Treat as a one-off typo fix: rename `D_intelligence` → `D.intelligence`
|
||||
via `mv`. The rest of the filename keeps its underscores (those are
|
||||
legitimate field separators in the file's own naming scheme).
|
||||
2. **Do NOT add to `RENAME_RULES`.** Adding a `D_intelligence` regex
|
||||
would cause false positives in any filename that uses underscores as
|
||||
field separators between something ending in `D` and something starting
|
||||
with `intelligence` — unlikely but defensively avoid widening the rules.
|
||||
3. Same applies to other one-off accidental variants: fix with `mv`,
|
||||
document the fix here, but don't widen the rules.
|
||||
|
||||
---
|
||||
|
||||
### Externally-generated filenames vs OurDigital convention
|
||||
|
||||
**Pattern**: Files in an active client workspace whose names come from
|
||||
external systems and don't follow OurDigital convention. E.g.:
|
||||
- `Jamie_Naver_Booking_Products_v1.0.gsheet` (Title_Case_With_Underscores
|
||||
— looks like a Google Sheets name template)
|
||||
- `jam_medical_advertising_review_guide_20251119154552.gslides`
|
||||
(lowercase + 14-digit timestamp — looks like an export from a
|
||||
publishing tool)
|
||||
- `jamie_monthly_sow_standard.docx` (lowercase + underscores — looks
|
||||
like a Word template name)
|
||||
|
||||
**Why tricky**: These names are functional and the user might prefer to
|
||||
preserve them as-is to maintain traceability with the originating system.
|
||||
But they violate the canonical `{ClientPrefix}-{topic}-{date}.{ext}`
|
||||
pattern from `canonical-files.md`, which makes the folder feel
|
||||
inconsistent.
|
||||
|
||||
**Resolution**:
|
||||
- The OurDigital convention wins inside `01_Active Workspaces/{NN_client}/`
|
||||
because the user owns that folder's organization. Normalize:
|
||||
- `Jamie_` → `JAM-`
|
||||
- `jamie_` → `JAM-`
|
||||
- `jam_` → `JAM-`
|
||||
- `_` field separators → `-` (or space inside hyphenated phrases)
|
||||
- Long timestamps `YYYYMMDDhhmmss` → `YYYYMMDD` (drop time portion)
|
||||
- Title_Case_Words → Title Case Words (use spaces inside hyphen-separated phrases)
|
||||
- Default to normalizing unless the user says preserve. The originating
|
||||
system can usually re-export with a new name if needed.
|
||||
- If the file is truly the system's source-of-truth filename (e.g., a
|
||||
webhook expects an exact filename match), keep it and note WHY in a
|
||||
README inside the same folder.
|
||||
|
||||
---
|
||||
|
||||
### Reference library naming inconsistency (do NOT normalize)
|
||||
|
||||
**Pattern**: A reference folder like `90_Brand Management Reference/`
|
||||
contains 20+ image files imported as a batch from various sources, with
|
||||
mixed naming conventions (Title_Case, lowercase-hyphens, Korean-spaces,
|
||||
auto-generated junk).
|
||||
|
||||
**Why tricky**: It's tempting to normalize all the names for consistency.
|
||||
But the inconsistency reflects the varied **sources** of the references —
|
||||
each filename traces back to its origin (Slideshare slug, vendor
|
||||
whitepaper, screenshot of a textbook page, Korean blog).
|
||||
|
||||
**Resolution**:
|
||||
- **Do not bulk-rename reference filenames** for cosmetic consistency.
|
||||
They have provenance value as-is.
|
||||
- DO fix individual filenames that are functionally broken:
|
||||
- Double extensions (`foo.png--example.png` → `foo-example.png`)
|
||||
- Filesystem-illegal characters
|
||||
- Truncated names that lost the meaning
|
||||
- DO group by topic into subfolders if the count exceeds ~15 files at the
|
||||
root: `frameworks/`, `examples/`, `ko/` (or whatever fits the content).
|
||||
Subfolders provide structure without touching the legitimate filename
|
||||
diversity.
|
||||
|
||||
---
|
||||
|
||||
## Adding new gotchas
|
||||
|
||||
When you (Claude) encounter a new ambiguous case during a content-based
|
||||
|
||||
Reference in New Issue
Block a user