docs: require abstract example values, and fix a stale sample

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.
This commit is contained in:
tiennm99 committed 2026-09-07 00:41:03 +07:00
1 parent ab20500fba
commit 8794f11bcb
2 files changed
+32 -2

No files matched your search

+30
View File
@@ -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.
+2 -2
View File
@@ -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