Files
AWatch-rus/docs/PUBLIC_ISSUES_CREATION_RUNBOOK_RU.md
T

138 lines
4.5 KiB
Markdown

# Runbook создания публичных GitHub issues
Дата: 2026-06-23
Статус: issue templates готовы к созданию. Реальные GitHub issues считаются
pending, пока ссылки не записаны в
`docs/public-issues/public-issues-manifest.json`.
GitHub issues используются для public roadmap visibility. Они не являются
registry release evidence. Primary registry contour остается Russian Gitea +
planned Russian build-runner.
## Подготовленный пакет
- Issue templates: `docs/public-issues/*.md`.
- Manifest: `docs/public-issues/public-issues-manifest.json`.
- Dry-run check: `scripts/prepare_public_issues.sh`.
- Opt-in creation script: `scripts/create_public_issues_from_manifest.sh`.
## Ручное создание через GitHub UI
1. Открыть GitHub repository issue tracker.
2. Для каждого файла `docs/public-issues/NNN-*.md` создать новый issue.
3. Взять `Title` из секции `## Title`.
4. Скопировать тело issue из markdown-файла целиком.
5. Назначить labels из секции `## Labels`.
6. Проверить, что в тексте нет секретов, персональных данных, реальных
customer identifiers, внутренних IP/hostname и логов сотрудников.
7. После публикации скопировать URL issue.
8. Обновить `github_issue_url` в
`docs/public-issues/public-issues-manifest.json`.
## Создание через gh CLI
Dry-run:
```bash
bash scripts/prepare_public_issues.sh
```
Скрипт проверяет наличие файлов, обязательные секции и manifest. Он не требует
GitHub token и не создает issues.
Opt-in создание:
```bash
gh auth status
CONFIRM_CREATE_GITHUB_ISSUES=YES bash scripts/create_public_issues_from_manifest.sh
```
Скрипт:
- требует `CONFIRM_CREATE_GITHUB_ISSUES=YES`;
- требует `gh` и `jq`;
- проверяет `gh auth status`;
- создает отсутствующие labels;
- создает issues по manifest;
- печатает URL созданных issues для последующего ручного внесения в manifest.
Скрипт не запускается из `scripts/registry_readiness_check.sh`.
## Labels
Ожидаемые labels:
- `registry`
- `ops`
- `evidence`
- `build-runner`
- `release`
- `legal`
- `docs`
- `qa`
- `coverage`
- `policy`
- `security`
- `review`
- `governance`
- `compat`
- `demo`
- `public`
- `pilot`
- `process`
- `github`
## Обновление manifest после создания
До создания:
```json
"github_issue_url": null
```
После создания:
```json
"github_issue_url": "https://github.com/igor04091968/AWatch-rus/issues/<number>"
```
Status можно оставлять `ready_to_create` до отдельного решения о переводе в
`created`; минимальное evidence требование - наличие URL.
## Запрещенные данные
В публичные issues нельзя вставлять:
- пароли, tokens, private keys, recovery codes;
- реальные IP, hostname, VPN details или private network topology;
- ФИО сотрудников, логи сотрудников, screenshots с персональными данными;
- customer identifiers, contract data или private legal evidence;
- security exploit details до triage по `SECURITY.md`.
## Forbidden claims
Issues не должны утверждать:
- Do not claim completed Russian software registry submission.
- Do not claim FSTEC/FSB certification.
- Do not claim SIEM/DLP replacement.
- Forbidden claim: ML/LLM-based detection is not claimed.
- Forbidden claim: automatic remediation is not claimed.
- Do not claim active external peer review until public reviewed PRs exist.
- Do not claim enabled branch protection until repository settings are verified.
- Do not claim ready Russian build-runner until provisioning evidence exists.
- Do not claim completed restore test until restore evidence exists.
## Проверки перед commit
```bash
python3 scripts/public_secret_pattern_check.py
bash -n scripts/prepare_public_issues.sh
bash scripts/prepare_public_issues.sh
bash -n scripts/create_public_issues_from_manifest.sh
bash -n scripts/registry_readiness_check.sh
bash scripts/registry_readiness_check.sh
git diff --check
```