109 lines
5.0 KiB
Markdown
109 lines
5.0 KiB
Markdown
# AWatch-rus: PR / code review checklist
|
|
|
|
Дата: 2026-06-22
|
|
|
|
Статус: advisory checklist for public review process.
|
|
|
|
Этот документ описывает проверочный чеклист для pull requests и внешнего
|
|
инженерного review. Он не утверждает, что внешний peer review уже выполняется
|
|
регулярно, и не является гарантией отсутствия дефектов или уязвимостей.
|
|
|
|
GitHub Actions используется только как public mirror validation. Registry
|
|
release evidence должен производиться на российском build-runner.
|
|
|
|
## Общая безопасность изменений
|
|
|
|
- Изменение имеет понятную цель, ограниченный scope and documented impact.
|
|
- Нет секретов, токенов, паролей, приватных ключей, recovery codes or live
|
|
credentials.
|
|
- Нет персональных данных сотрудников, реальных employee logs or customer
|
|
evidence.
|
|
- Нет реальных IP, hostname or infrastructure identifiers заказчика.
|
|
- Нет новых публичных портов, external callbacks or telemetry without explicit
|
|
documentation.
|
|
- Нет ослабления fail-closed checks, security gates or auditability.
|
|
|
|
## Rust code quality
|
|
|
|
- Rust-код форматируется `cargo fmt --all --check`.
|
|
- Для затронутого Rust workspace ожидаются relevant `cargo test` checks.
|
|
- Ошибки обрабатываются явно; нет silent fallback для security-sensitive paths.
|
|
- Timeouts, retries and bounds are explicit for network or long-running work.
|
|
- Новые dependencies justified and license-compatible.
|
|
|
|
## API / contract compatibility
|
|
|
|
- Public API, CLI flags, file formats and JSON contracts remain compatible, or
|
|
breaking impact is explicitly blocked for this stage.
|
|
- Backward compatibility checked for existing collectors, exporters,
|
|
dashboards and automation consumers.
|
|
- Error responses and status codes are not changed accidentally.
|
|
|
|
## UI / runtime impact
|
|
|
|
- PR states whether UI impact is none, documentation-only or user-visible.
|
|
- PR states whether runtime deployment impact is none or requires operator
|
|
action.
|
|
- No runtime behavior is changed by documentation/governance-only PRs.
|
|
- No service restart, migration or production config change is implied unless
|
|
explicitly documented.
|
|
|
|
## Registry-readiness impact
|
|
|
|
- GitHub Actions is public mirror validation only.
|
|
- Public CI, Coverage and Security workflows are not registry release evidence.
|
|
- Release evidence must be produced on the Russian build-runner.
|
|
- Russian Gitea remains the primary registry-readiness source contour.
|
|
- Do not claim completed Russian software registry submission.
|
|
- Do not claim FSTEC/FSB certification.
|
|
- Do not claim SIEM/DLP replacement.
|
|
- Do not mark restore test as completed while `restore_tested=false`.
|
|
- Do not mark `awatch-build-01` as ready until provisioning evidence exists.
|
|
|
|
## Secret / PII safety
|
|
|
|
- No secrets, tokens, passwords or private keys in code, docs, logs,
|
|
screenshots or workflow output.
|
|
- No employee personal data, real user activity traces or unredacted customer
|
|
identifiers.
|
|
- No customer IP addresses, internal hostnames, VPN details or private network
|
|
topology.
|
|
- Demo data is synthetic or anonymized.
|
|
- Public secret scan is expected to pass before merge.
|
|
|
|
## Documentation impact
|
|
|
|
- README, `docs/PROJECT_STATUS_RU.md`, registry docs and operational runbooks
|
|
are updated when claims, checks, workflows or procedures change.
|
|
- New claims are conservative and evidence-backed.
|
|
- Pending work remains marked as planned/pending until evidence exists.
|
|
- Public mirror wording remains separate from registry release evidence.
|
|
|
|
## Deployment / rollback impact
|
|
|
|
- PR states whether deployment action is required.
|
|
- Rollback path is documented for runtime or automation changes.
|
|
- Documentation-only PRs state that runtime/API/UI impact is unchanged.
|
|
- Changes to scripts include syntax checks and a clear operator failure mode.
|
|
|
|
## Smoke checks
|
|
|
|
- Run checks relevant to changed files.
|
|
- For documentation/governance updates, expected minimum checks are:
|
|
`python3 scripts/public_secret_pattern_check.py`,
|
|
`bash -n scripts/registry_readiness_check.sh`,
|
|
`bash scripts/registry_readiness_check.sh`,
|
|
`git diff --check`.
|
|
- For shell changes, `bash -n` is mandatory for changed shell scripts.
|
|
- For Rust/product changes, Rust checks are required by risk and scope.
|
|
|
|
## Evidence requirements
|
|
|
|
- PR records commands run and results.
|
|
- Skipped checks include a concrete reason.
|
|
- Registry release evidence is not accepted from GitHub Actions alone.
|
|
- Russian build-runner release evidence must include logs, checksums and
|
|
artifact manifest when that contour is ready.
|
|
- Restore test evidence must include separate-host restore notes and checksum
|
|
verification before `restore_tested` changes from false.
|