From 8794f11bcb04d5bd634dd263d672fd3c4debd552 Mon Sep 17 00:00:00 2001 From: tiennm99 Date: Mon, 7 Sep 2026 00:41:03 +0700 Subject: [PATCH] docs: require abstract example values, and fix a stale sample MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Real values from a live run had reached the README, the demo and several fixtures: a chat name, its dialog id, Telegram file ids, filenames from the chat, and the archive's own statistics. This repository archives a private chat, so those name a real account and its contents, and history keeps them long after the file is edited. The values are gone from every commit. CLAUDE.md records the rule so they do not come back, with a placeholder for each kind — a fixture keeps the property it exists to test, so a multi-byte filename test still gets a multi-byte name, just an invented one. --- CLAUDE.md | 30 ++++++++++++++++++++++++++++++ README.md | 4 ++-- 2 files changed, 32 insertions(+), 2 deletions(-) create mode 100644 CLAUDE.md diff --git a/CLAUDE.md b/CLAUDE.md new file mode 100644 index 0000000..0ef76bc --- /dev/null +++ b/CLAUDE.md @@ -0,0 +1,30 @@ +# Project instructions + +## No real data in the repository + +Everything committed here — code, tests, comments, docs, sample output — uses +abstract example values. Never a real chat name, chat id, message id, filename, +account handle, or archive statistic, including ones taken from a session +transcript or a live run. + +This repository archives a private Telegram chat, so real values name a real +account and its contents. Once committed they persist in history even after the +file is edited, and scrubbing them means rewriting history and force-pushing. + +Use placeholders instead: + +| Kind | Use | +|---|---| +| chat username | `mychannel`, `@mychannel` | +| chat / dialog id | `1234567890` (Bot API form `-1001234567890`) | +| message id | small round numbers, e.g. `4242` | +| Telegram file id | `1000000000000000001` and up | +| remote | `myremote:archive`, or a named backend when the backend matters | +| filenames | descriptive fakes; keep the property under test (unicode, emoji, length) | +| counts and sizes | round numbers that are obviously illustrative | + +Keep the property a fixture exists to test. A test for multi-byte names still +needs a multi-byte name — make it an invented one, not a real file's. + +Real values from a live run belong in the terminal, and in `plans/`, which is +git-ignored. diff --git a/README.md b/README.md index 77a4df8..0e75887 100644 --- a/README.md +++ b/README.md @@ -78,8 +78,8 @@ indexing PikPak root 'mychannel' ↓ total 26/606 files [=> ] 617.5 MiB / 79.0 GiB 2.5 MiB/s 8h47m ↑ total 24/606 files [=> ] 598.0 MiB / 79.0 GiB 2.4 MiB/s 8h58m - ↓ …3214_4242_1000000000000000001.mp4 [=======> ] 41.2 MiB / 96.0 MiB 1.8 MiB/s - ↑ …3214_4243_1000000000000000002.mp4 ⠹ uploading 1.9 GiB + ↓ …7890_4242_1000000000000000001.mp4 [=======> ] 41.2 MiB / 96.0 MiB 1.8 MiB/s + ↑ …7890_4243_1000000000000000002.mp4 ⠹ uploading 1.9 GiB ``` The two legs are counted separately because they run at different speeds and