Спочатку запишіть правило включення
Сформулюйте рішення, яке можна перевірити: які з отриманих записів r/science зі словом replication обговорюють повторення дослідження? Виберіть запис одиницею спостереження та заздалегідь визначте типи — дописи, коментарі чи обидва. Пошук добирає текст для читання, а категорію задає власна розмітка. Збіг слова не підтверджує успішного відтворення наукового результату.
Створіть локальний запис протоколу: ідентифікатор запуску, запланований маршрут, фільтри, limit, page і час отримання. Це ваші дослідницькі нотатки, не додаткові параметри API й не серверний ідентифікатор знімка. Окремо збережіть версію коду перетворення та його залежності. Якщо ваш аналіз використовує випадковість, зафіксуйте власні локальні налаштування; архів не надає параметрів випадкового відбору чи початкового значення генератора для такого пошуку.
Reddit API Labs — незалежний історичний архів, не офіційний сервіс Reddit і не живі дані. Охоплення, сталі поля, незмінність результатів та постійна доступність не гарантовані. Тому збереження самих параметрів не зберігає вхідних даних експерименту. Заздалегідь вирішіть, де перебуватимуть ваші копії відповідей і кому їх можна передавати, дотримуючись застосовного законодавства та прав третіх осіб.
Зафіксуйте саме виконаний запит
Почніть із https://api.redditapilabs.com/v1/search?q=replication&subreddit=science&limit=3 — прикладу на головній. q виконує текстовий пошук, subreddit обмежує спільноту, limit запитує не більше трьох записів. Передайте X-API-Key: <ключ> або Authorization: Bearer <ключ> зі свого сервера. Сторінка ключа пояснює реєстрацію до оплати; чинний ключ не повинен потрапляти до протоколу, який ви публікуєте чи передаєте іншим дослідникам.
Для проби replication crisis додайте запис про зміну запиту. q шукає в title і text з оператором and у межах поля, що збігається, а не просто поєднує слово заголовка зі словом основного тексту. Зберігайте відповіді початкового й уточненого пошуку окремо. Жоден варіант не охоплює всієї лексики обговорень відтворюваності.
Коли запитання потребує часових меж, використовуйте from і to у форматі YYYY-MM-DD UTC за полем created_utc. Останній день включений повністю; це не час потрапляння до архіву й не години. min_score задає числовий поріг без сортування та оцінки якості. Фільтра за кількістю коментарів немає. Поясніть, як кожен критерій змінює власний відбір, замість твердження, що він усуває зміщення.
Додайте власну розмітку до збереженого тексту
У власній таблиці зазначте ідентифікатор запису, якщо він є, категорію та пояснення. Для початку можна розрізняти «повторення дослідження», «біологічна реплікація» та «недостатньо контексту». Це ваша розмітка, не поля API. Не змушуйте неоднозначний запис належати до певної категорії: залиште його для обговорення й збережіть вихідний текст поряд із підготовленою версією.
Збережіть отримані байти й параметри до очищення записів. За бажанням обчисліть SHA256 свого файла: він позначає ці локальні байти, а не сертифікат архіву про справжність чи повноту джерела. Перевірте data й наявність полів. Плоскі записи можуть містити parent_id або link_id для локальних зв’язків без повної розмови чи ланцюжка батьківських записів. Жоден із цих ідентифікаторів не є фільтром пошуку.
Порівнюйте запуски за однієї зміни
Спочатку повторіть аналіз збереженого матеріалу із зазначеними кодом та оточенням, перевіряючи власні вилучення й результати. Збіг хешу підтверджує лише збіг порівнюваних байтів. Він не доводить істинності допису, правильності інтерпретації чи відтворюваності кожного обчислювального етапу. Опишіть фактично виконані перевірки замість заяви, що архів підтверджує експеримент. У разі зміни коду збережіть нову версію та окремо позначте, який вхід вона обробляла.
Спершу залиште збережений матеріал незмінним і порівняйте дві версії правил: які рішення й чому стали іншими? Нове отримання з архіву оформіть окремим запуском. Якщо водночас змінилися і вхідні дані, і розмітка, відмінність кількостей не можна пояснити лише однією з цих змін.
Новому віддаленому збиранню надайте окремий локальний запис і збережіть його фактичну відповідь. Записи, поля й порядок можуть відрізнятися без обіцяної межі відмінностей. Порівняння фіксує спостережувані зміни, але саме собою не пояснює їхньої причини й не доводить змін реальної активності. Обробка вашої копії не викликає API, а успішне повторне отримання витрачає кредит. Параметри не є заміною збереженого матеріалу.
Поясніть зупинку й невизначені випадки
Наприкінці вкажіть параметри, отримані сторінки, залишені записи, причини вилучень та нерозв’язані значення. Поясніть зупинку й версію правил, за якою пораховано категорії. Висновки обмежені цим матеріалом: невідомий підсумок, втрачений контекст або прогалина архіву не доводять, що спільнота не обговорювала тему.
Кожне успішне отримання, навіть порожнє, коштує один кредит. Некоректні запити не списуються; збій джерела повертає резерв, а тайм-аут клієнта може статися після оплаченого успіху. Невідомий результат позначайте як невідомий, не як безоплатний. За 400 виправте параметри, за 401 перевірте ключ і домен, за 402 — баланс, за 429 обмежте й відкладіть повтори. Локальна помилка не повертає вартості віддаленого успіху.
Документація описує маршрути, сторінка цін — $1 за 1000 успішних запитів і мінімум $50 за 50000 придбаних кредитів. Сторінка ключа пояснює умовні пробні кредити та перевипуск із підтвердженням пароля, який одразу вимикає старий ключ. Публічний статус повертає лише статичний опис і відповідь HTTP, не стан пошуку чи цілісність набору. Не включайте облікових секретів і платіжних записів до відкритого журналу експерименту.