commit e8d65963a0d5857b11a7f3049867954992b493e5 Author: Kavalar Date: Wed Oct 28 22:48:56 2026 +0300 Add resume pipeline and demo diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..7cb84f0 --- /dev/null +++ b/.gitignore @@ -0,0 +1,10 @@ +# Keep this repository limited to the reusable pipeline and synthetic demo. +/* +!/.gitignore +!/ПАЙПЛАЙН_ПОДГОТОВКИ_РЕЗЮМЕ.md +!/formatted/ + +# No real candidate resumes, source files, images, or other formatted PDFs. +/formatted/* +!/formatted/Цветовая_легенда.md +!/formatted/Резюме_Иванов_Алексей_Тестовый_Фулстек.pdf diff --git a/formatted/Резюме_Иванов_Алексей_Тестовый_Фулстек.pdf b/formatted/Резюме_Иванов_Алексей_Тестовый_Фулстек.pdf new file mode 100644 index 0000000..04d1a75 Binary files /dev/null and b/formatted/Резюме_Иванов_Алексей_Тестовый_Фулстек.pdf differ diff --git a/formatted/Цветовая_легенда.md b/formatted/Цветовая_легенда.md new file mode 100644 index 0000000..1c389ef --- /dev/null +++ b/formatted/Цветовая_легенда.md @@ -0,0 +1,17 @@ +# Цветовая легенда резюме + +Цвет левой колонки показывает целевую вакансию. Для читаемости выбраны светлые пастельные оттенки; сам цвет не влияет на содержание резюме. + +| № | Вакансия | Цвет | Примеры / применение | +|---:|---|---|---| +| 29 | Специалист по внедрению ИИ | `#DCEFEA` — светлая бирюза | Самир Шупляков | +| 30 | Специалист по работе с ИИ | `#EAE4F4` — светлая лаванда | Самир Шупляков; Денис Романченко* | +| 31 | Фулстек-разработчик | `#FFF2CC` — цвет резюме Нины Ковалёвой | Ковалёва Нина, Косухин Максим, Солоницын Михаил (base); Евгений Гострик (целевая позиция) | +| 32 | Data-инженер | `#E2EDDB` — светло-зелёный | Шупляков Самир; Солоницын Леонид (base) | +| 33 | Специалист по информационной безопасности | `#F3DEDE` — светло-розовый | Пока нет резюме кандидата в основной папке | +| 34 | Проектный менеджер | `#EFEFFF` — цвет резюме Дарьи Садах | Садах Дарья (base) | +| 35 | ИИ контент-креатор | `#F6E1D2` — светло-персиковый | Пока нет резюме кандидата в основной папке | + +`*` Резюме Дениса Романченко озаглавлено «ИИ-инженер». Отнесение к вакансии № 30 — ближайшее соответствие по названию и содержанию, а не подтверждённая целевая позиция. В резюме Евгения Гострика теперь указана целевая позиция «Фулстек-разработчик» и применён цвет № 31; описанный опыт и навыки сохранены без добавления неподтверждённых технологий. + +Исходные PDF кандидатов в основной папке оставлены без изменений. Цветные версии с именами по шаблону `Резюме_Фамилия_Имя.pdf` находятся в `formatted/`; цветовые образцы из `base` также скопированы туда с такими именами. diff --git a/ПАЙПЛАЙН_ПОДГОТОВКИ_РЕЗЮМЕ.md b/ПАЙПЛАЙН_ПОДГОТОВКИ_РЕЗЮМЕ.md new file mode 100644 index 0000000..6054195 --- /dev/null +++ b/ПАЙПЛАЙН_ПОДГОТОВКИ_РЕЗЮМЕ.md @@ -0,0 +1,90 @@ +# Пайплайн подготовки резюме + +Инструкция для передачи ассистенту. Цель — приводить резюме к согласованному виду, сопоставлять цвет колонки с вакансией и не терять факты или исходные документы. + +## 1. Структура папок и имена файлов + +- `base/` — визуальные эталоны. Использовать для сравнения макета и палитры, не брать из них личные сведения кандидатов. +- Основная папка — исходные резюме. Считать их оригиналами и не перезаписывать. +- `formatted/` — итоговые файлы для просмотра и передачи. PDF называть `Резюме_Фамилия_Имя.pdf`; для нескольких версий одного человека добавить позицию, например `Резюме_Фамилия_Имя_Data_Engineer.pdf`. +- `formatted/Цветовая_легенда.md` — актуальное соответствие вакансий цветам. +- `formatted/Резюме_Иванов_Алексей_Тестовый_Фулстек.pdf` — пример оформления на полностью вымышленных данных. + +Если у кандидата несколько целевых позиций, формировать отдельную версию под каждую, с подходящим названием и цветом. Не смешивать несколько вакансий в одном заголовке. + +## 2. Сначала установить целевую вакансию + +Перед оформлением прочитать предоставленный список вакансий и сопоставить заголовок исходного резюме с вакансией. Текущая палитра: + +| № | Вакансия | Цвет левой колонки | +|---:|---|---| +| 29 | Специалист по внедрению ИИ | `#DCEFEA` — светлая бирюза | +| 30 | Специалист по работе с ИИ | `#EAE4F4` — светлая лаванда | +| 31 | Фулстек-разработчик | `#FFF2CC` — цвет резюме Нины Ковалёвой | +| 32 | Data-инженер | `#E2EDDB` — светло-зелёный | +| 33 | Специалист по информационной безопасности | `#F3DEDE` — светло-розовый | +| 34 | Проектный менеджер | `#EFEFFF` — цвет резюме Дарьи Садах | +| 35 | ИИ контент-креатор | `#F6E1D2` — светло-персиковый | + +Для 31 и 34 брать именно оттенки соответствующих резюме-эталонов. Если должность кандидата не совпадает с вакансией однозначно, спросить пользователя, а не присваивать категорию как установленный факт. Резюме Евгения Гострика, например, оформлено как отклик на Fullstack, но фактический опыт QA оставлен QA-опытом. + +## 3. Обработка содержания + +1. Извлечь из исходника имя, контакты, навыки, опыт, даты, образование, языки, проекты и дополнительную информацию. +2. Сверить важные детали с исходным PDF, особенно даты, названия организаций, контакты и уровни образования. +3. Перенести факты в структуру эталона: имя/целевая позиция; контакты и краткий профиль; навыки и языки; опыт; образование; проекты/курсы/дополнительная информация, если они есть. +4. Разрешается исправлять явные опечатки и унифицировать оформление, но не менять смысл и не дописывать неуказанные технологии, обязанности, метрики, даты или достижения. +5. Если целевая позиция отличается от предыдущей работы кандидата, обозначать её как «целевая позиция»/«желаемая должность», а не представлять как подтверждённую квалификацию. +6. Не заполнять пробелы догадками. При неоднозначности задавать один конкретный вопрос пользователю. + +## 4. Оформление + +- Держать стиль эталонов: спокойная двухколоночная композиция, светлая цветная левая колонка, белая основная область, чёткие заголовки и читаемый текст. +- Цвет относится к вакансии, а не к человеку. Все версии одной позиции используют один оттенок. +- Фото использовать только если оно есть в исходнике и предназначено для этого резюме. Не подставлять случайные фотографии. +- Сохранять контакты и личные сведения только в итоговом резюме, не копировать их в инструкции, скрипты, логи и тестовые файлы. +- Если исходник содержит больше материала, чем помещается на страницу, лучше использовать дополнительные страницы, чем делать текст нечитаемым или выбрасывать важные факты. + +## 5. Проверка перед передачей + +Для каждого PDF: + +- открыть и визуально просмотреть все страницы; +- проверить имя файла по шаблону `Резюме_Фамилия_Имя.pdf` и цвет по вакансии; +- убедиться, что фото и текст не перекрыты, строки не обрезаны, символы кириллицы отображаются корректно; +- проверить извлечением текста, что имя, должность, даты опыта и образование присутствуют; +- сравнить содержание с исходником: форматирование может измениться, факты — нет; +- проверить, что в `formatted/` нет временных генераторов, черновиков и дублирующих устаревших версий. + +Тестовый образец `formatted/Резюме_Иванов_Алексей_Тестовый_Фулстек.pdf` содержит только вымышленные данные и предназначен для проверки процесса, не для отклика на работу. + +## 6. Безопасность и Git + +В резюме могут быть телефоны, электронная почта, даты рождения, адреса, фотографии и сведения о третьих лицах. До отправки в удалённый Git: + +1. Уточнить у владельца, что целевой репозиторий приватный и какие именно резюме разрешено туда загружать. Даже приватный Git — внешняя копия персональных данных. +2. Исключить из коммита файлы, которые не нужны: оригиналы, тестовые или рабочие черновики, фото вне резюме, временные скрипты и локальные настройки. +3. Никогда не добавлять пароли, токены, cookies, локальные конфиги или логи. Пароль, отправленный в чат, считать раскрытым и заменить. +4. Для HTTPS использовать Git Credential Manager/персональный токен в защищённом хранилище; не передавать секрет в URL remote, команде, `.git/config`, скрипте или сообщении ассистенту. +5. Перед и после коммита проверить `git status`, staged diff и remote. Добавлять только явно разрешённые файлы, не применять `git add .` без проверки. + +Пример безопасной последовательности после отдельного подтверждения на загрузку: + +```powershell +git status --short --branch +git remote -v +git diff --stat +git add formatted/Резюме_Фамилия_Имя.pdf formatted/Цветовая_легенда.md ПАЙПЛАЙН_ПОДГОТОВКИ_РЕЗЮМЕ.md +git diff --cached --stat +git diff --cached --name-only +# Просмотреть staged diff и проверить, что в списке нет лишних PDF и секретов. +git commit -m "Add formatted resume" +git push -u origin +git status --short --branch +``` + +Если папка ещё не Git-репозиторий или remote пустой/имеет неизвестную историю, сначала проверить remote и согласовать ветку. Не инициализировать, не перезаписывать историю и не делать force-push без явного согласования. + +## 7. Короткое задание для следующего ассистента + +> Прочитай `ПАЙПЛАЙН_ПОДГОТОВКИ_РЕЗЮМЕ.md` и `formatted/Цветовая_легенда.md`. Для каждого исходного резюме определи целевую вакансию, сохрани исходник, подготовь отдельный PDF в стиле `base/` с именем `formatted/Резюме_Фамилия_Имя.pdf` и цветом вакансии. Не выдумывай данные и не копируй персональные сведения из эталонов. При неоднозначной должности сначала спроси меня. Проверь каждый PDF визуально и по тексту. Ничего не загружай в Git и не используй секреты, пока я отдельно не подтвержу объём публикации и безопасную авторизацию.