docs(risk): document residual risks and public issue plan
This commit is contained in:
@@ -239,6 +239,10 @@ collectors.
|
|||||||
[RU_BUILD_RUNNER_READINESS_RU.md](docs/registry/RU_BUILD_RUNNER_READINESS_RU.md).
|
[RU_BUILD_RUNNER_READINESS_RU.md](docs/registry/RU_BUILD_RUNNER_READINESS_RU.md).
|
||||||
- Текущий status freeze проекта:
|
- Текущий status freeze проекта:
|
||||||
[docs/PROJECT_STATUS_RU.md](docs/PROJECT_STATUS_RU.md).
|
[docs/PROJECT_STATUS_RU.md](docs/PROJECT_STATUS_RU.md).
|
||||||
|
- Остаточные риски:
|
||||||
|
[docs/RESIDUAL_RISKS_RU.md](docs/RESIDUAL_RISKS_RU.md).
|
||||||
|
- План публичных GitHub issues:
|
||||||
|
[docs/PUBLIC_ISSUES_PLAN_RU.md](docs/PUBLIC_ISSUES_PLAN_RU.md).
|
||||||
- GitHub remains public mirror only.
|
- GitHub remains public mirror only.
|
||||||
|
|
||||||
### Public engineering transparency
|
### Public engineering transparency
|
||||||
@@ -252,6 +256,10 @@ collectors.
|
|||||||
- Primary registry contour remains Gitea plus the Russian build-runner.
|
- Primary registry contour remains Gitea plus the Russian build-runner.
|
||||||
- Quality status:
|
- Quality status:
|
||||||
[docs/QUALITY_STATUS_RU.md](docs/QUALITY_STATUS_RU.md).
|
[docs/QUALITY_STATUS_RU.md](docs/QUALITY_STATUS_RU.md).
|
||||||
|
- Residual risks:
|
||||||
|
[docs/RESIDUAL_RISKS_RU.md](docs/RESIDUAL_RISKS_RU.md).
|
||||||
|
- Public issues plan:
|
||||||
|
[docs/PUBLIC_ISSUES_PLAN_RU.md](docs/PUBLIC_ISSUES_PLAN_RU.md).
|
||||||
|
|
||||||
- [Позиционирование для реестра российского ПО](docs/RUSSIAN_SOFTWARE_REGISTRY_POSITIONING_RU.md)
|
- [Позиционирование для реестра российского ПО](docs/RUSSIAN_SOFTWARE_REGISTRY_POSITIONING_RU.md)
|
||||||
- [Сведения для подачи в реестр](REGISTER_RU_SOFTWARE.md)
|
- [Сведения для подачи в реестр](REGISTER_RU_SOFTWARE.md)
|
||||||
@@ -262,6 +270,8 @@ collectors.
|
|||||||
- [Registry deployment model](docs/REGISTRY_DEPLOYMENT_MODEL_RU.md)
|
- [Registry deployment model](docs/REGISTRY_DEPLOYMENT_MODEL_RU.md)
|
||||||
- [Registry commercial positioning](docs/REGISTRY_COMMERCIAL_POSITIONING_RU.md)
|
- [Registry commercial positioning](docs/REGISTRY_COMMERCIAL_POSITIONING_RU.md)
|
||||||
- [Registry readiness checklist](docs/REGISTRY_READINESS_CHECKLIST_RU.md)
|
- [Registry readiness checklist](docs/REGISTRY_READINESS_CHECKLIST_RU.md)
|
||||||
|
- [Остаточные риски](docs/RESIDUAL_RISKS_RU.md)
|
||||||
|
- [План публичных issues](docs/PUBLIC_ISSUES_PLAN_RU.md)
|
||||||
- [Описание продукта](PRODUCT_DESCRIPTION_RU.md)
|
- [Описание продукта](PRODUCT_DESCRIPTION_RU.md)
|
||||||
- [Журнал изменений](CHANGELOG_RU.md)
|
- [Журнал изменений](CHANGELOG_RU.md)
|
||||||
- [Установка для эксперта](INSTALL_FOR_EXPERT_RU.md)
|
- [Установка для эксперта](INSTALL_FOR_EXPERT_RU.md)
|
||||||
|
|||||||
@@ -28,6 +28,10 @@ backup, registry-readiness документации, плана российск
|
|||||||
- Public validation passed status does not constitute registry release evidence.
|
- Public validation passed status does not constitute registry release evidence.
|
||||||
- Registry release evidence still requires the Russian build-runner contour.
|
- Registry release evidence still requires the Russian build-runner contour.
|
||||||
- Russian build-runner still required for registry release evidence.
|
- Russian build-runner still required for registry release evidence.
|
||||||
|
- Остаточные риски:
|
||||||
|
`docs/RESIDUAL_RISKS_RU.md`.
|
||||||
|
- План публичных GitHub issues:
|
||||||
|
`docs/PUBLIC_ISSUES_PLAN_RU.md`.
|
||||||
|
|
||||||
## Что готово
|
## Что готово
|
||||||
|
|
||||||
@@ -56,6 +60,10 @@ backup, registry-readiness документации, плана российск
|
|||||||
по контурам `CI`, `Coverage` и `Security`.
|
по контурам `CI`, `Coverage` и `Security`.
|
||||||
- Добавлены `SECURITY.md`, `CONTRIBUTING.md`, `ROADMAP.md`, issue templates и
|
- Добавлены `SECURITY.md`, `CONTRIBUTING.md`, `ROADMAP.md`, issue templates и
|
||||||
pull request template.
|
pull request template.
|
||||||
|
- Зафиксирован residual risk register:
|
||||||
|
`docs/RESIDUAL_RISKS_RU.md`.
|
||||||
|
- Подготовлен план публичных issues для ручного заведения:
|
||||||
|
`docs/PUBLIC_ISSUES_PLAN_RU.md`.
|
||||||
|
|
||||||
## Planned / pending
|
## Planned / pending
|
||||||
|
|
||||||
@@ -66,6 +74,7 @@ backup, registry-readiness документации, плана российск
|
|||||||
- Юридическое подтверждение правообладателя.
|
- Юридическое подтверждение правообладателя.
|
||||||
- Финальная юридическая проверка пакета документов перед подачей.
|
- Финальная юридическая проверка пакета документов перед подачей.
|
||||||
- Проверка совместимости с российскими ОС.
|
- Проверка совместимости с российскими ОС.
|
||||||
|
- Публичные roadmap/issues из `docs/PUBLIC_ISSUES_PLAN_RU.md`.
|
||||||
|
|
||||||
## Честные ограничения
|
## Честные ограничения
|
||||||
|
|
||||||
@@ -94,3 +103,5 @@ backup, registry-readiness документации, плана российск
|
|||||||
- `docs/registry/RELEASE_EVIDENCE_RUNBOOK_RU.md`
|
- `docs/registry/RELEASE_EVIDENCE_RUNBOOK_RU.md`
|
||||||
- `docs/registry/RELEASE_ARTIFACTS_STORAGE_RU.md`
|
- `docs/registry/RELEASE_ARTIFACTS_STORAGE_RU.md`
|
||||||
- `docs/QUALITY_STATUS_RU.md`
|
- `docs/QUALITY_STATUS_RU.md`
|
||||||
|
- `docs/RESIDUAL_RISKS_RU.md`
|
||||||
|
- `docs/PUBLIC_ISSUES_PLAN_RU.md`
|
||||||
|
|||||||
@@ -0,0 +1,36 @@
|
|||||||
|
# AWatch-rus: план публичных GitHub issues
|
||||||
|
|
||||||
|
Дата: 2026-06-22
|
||||||
|
|
||||||
|
Статус: public governance backlog plan.
|
||||||
|
|
||||||
|
Этот документ перечисляет публичные GitHub issues, которые нужно завести
|
||||||
|
вручную. Он не утверждает, что задачи уже созданы или выполнены.
|
||||||
|
|
||||||
|
Цель: повысить visibility development process после настройки российского
|
||||||
|
Gitea-контура, backup, public CI, coverage, security scanning и status freeze.
|
||||||
|
|
||||||
|
## Issues to create manually
|
||||||
|
|
||||||
|
| Title | Purpose | Current status |
|
||||||
|
| --- | --- | --- |
|
||||||
|
| `[registry] Perform Gitea backup restore test` | Prove restore procedure on a separate host and keep `restore_tested=false` until evidence exists. | To create |
|
||||||
|
| `[registry] Prepare temporary Russian build-runner awatch-build-01` | Provision temporary or permanent Russian build-runner for registry release evidence. | To create |
|
||||||
|
| `[release] Produce first release evidence package` | Run release evidence scripts on `awatch-build-01` and collect artifacts/logs/checksums. | To create |
|
||||||
|
| `[legal] Prepare rightsholder evidence package` | Prepare rightsholder and legal evidence for future registry submission. | To create |
|
||||||
|
| `[qa] Define coverage threshold policy` | Define threshold only after stable coverage baseline review. | To create |
|
||||||
|
| `[security] Prepare external security/code review checklist` | Establish visible peer review and external security review checklist. | To create |
|
||||||
|
| `[compat] Test Russian OS compatibility matrix` | Validate supported Russian OS matrix and document evidence. | To create |
|
||||||
|
| `[ops] Validate release artifacts storage in RF` | Confirm release artifact storage location and retention in the Russian contour. | To create |
|
||||||
|
| `[docs] Refresh public demo pack and screenshots` | Update public demo pack, screenshots and non-sensitive demo evidence. | To create |
|
||||||
|
| `[pilot] Prepare Pilot Acceptance Checklist v2` | Update pilot acceptance checklist after residual risk register and public issue plan. | To create |
|
||||||
|
|
||||||
|
## Guardrails
|
||||||
|
|
||||||
|
- Do not mark restore test as completed until restore evidence exists.
|
||||||
|
- Do not mark `awatch-build-01` as ready until provisioning evidence exists.
|
||||||
|
- Do not mark release evidence as produced until artifacts and checksums exist.
|
||||||
|
- Do not claim completed registry submission.
|
||||||
|
- Do not claim fake community adoption.
|
||||||
|
- Do not position GitHub Actions as the primary registry build contour.
|
||||||
|
|
||||||
@@ -0,0 +1,174 @@
|
|||||||
|
# AWatch-rus: остаточные риски после public validation и российского Git-контура
|
||||||
|
|
||||||
|
Дата: 2026-06-22
|
||||||
|
|
||||||
|
Статус: governance / registry-readiness residual risk register.
|
||||||
|
|
||||||
|
Документ фиксирует оставшиеся риски после настройки российского Gitea-контура,
|
||||||
|
backup, public GitHub Actions validation, coverage workflow, security scanning
|
||||||
|
и status freeze.
|
||||||
|
|
||||||
|
Это не заявление о завершенной регистрации в реестре российского ПО и не
|
||||||
|
release evidence. GitHub Actions остается public mirror validation only.
|
||||||
|
Primary registry-readiness contour остается: Russian Gitea, planned Russian
|
||||||
|
build-runner и будущий release evidence build на российском контуре.
|
||||||
|
|
||||||
|
## Архитектурный вывод
|
||||||
|
|
||||||
|
Текущий pilot/readiness stage не блокируется перечисленными рисками, потому что
|
||||||
|
ядро инженерной прозрачности уже зафиксировано:
|
||||||
|
|
||||||
|
- source contour documented: self-hosted Russian Gitea;
|
||||||
|
- public mirror validation passed: CI, Coverage, Security;
|
||||||
|
- secret scan hardened and passed;
|
||||||
|
- backup process documented with SHA256 verification and daily timer;
|
||||||
|
- registry-readiness docs and release evidence scripts exist;
|
||||||
|
- forbidden positioning claims are explicitly excluded.
|
||||||
|
|
||||||
|
Оставшиеся риски относятся к governance, disaster recovery proof, public process
|
||||||
|
visibility, release evidence contour and legal package. Они требуют дальнейших
|
||||||
|
действий до registry release evidence / GA, но не отменяют pilot/readiness
|
||||||
|
статус.
|
||||||
|
|
||||||
|
## 1. Один основной разработчик
|
||||||
|
|
||||||
|
- Текущий статус: риск открыт; основная инженерная экспертиза сосредоточена у
|
||||||
|
одного maintainer.
|
||||||
|
- Влияние: задержка развития, поддержки и incident response при недоступности
|
||||||
|
maintainer; повышенная зависимость от личной экспертизы.
|
||||||
|
- Почему не блокирует pilot/readiness stage: архитектура, deployment docs,
|
||||||
|
runbooks, registry docs and public checks already create a transferable
|
||||||
|
baseline for pilot validation.
|
||||||
|
- Как риск будет снижаться: second maintainer onboarding, documented code
|
||||||
|
ownership, mandatory PR review for release branches, knowledge transfer
|
||||||
|
sessions.
|
||||||
|
- Уже снижающие evidence/documents/CI: README, `docs/PROJECT_STATUS_RU.md`,
|
||||||
|
`docs/QUALITY_STATUS_RU.md`, `docs/registry/`, GitHub Actions CI/Coverage/
|
||||||
|
Security, issue templates and PR template.
|
||||||
|
- Следующий action: завести публичную задачу
|
||||||
|
`[security] Prepare external security/code review checklist`.
|
||||||
|
|
||||||
|
## 2. Нет публично видимого peer review
|
||||||
|
|
||||||
|
- Текущий статус: риск открыт; PR template and issue templates exist, but
|
||||||
|
public peer review history is still limited.
|
||||||
|
- Влияние: внешним аудиторам сложнее оценить review discipline and change
|
||||||
|
control maturity.
|
||||||
|
- Почему не блокирует pilot/readiness stage: current changes are protected by
|
||||||
|
reproducible checks, public workflows and documented conservative positioning.
|
||||||
|
- Как риск будет снижаться: external review checklist, first public PR reviews,
|
||||||
|
explicit release branch review policy.
|
||||||
|
- Уже снижающие evidence/documents/CI: `.github/pull_request_template.md`,
|
||||||
|
`.github/ISSUE_TEMPLATE/`, `CONTRIBUTING.md`, `SECURITY.md`, public CI,
|
||||||
|
public security workflow.
|
||||||
|
- Следующий action: завести публичную задачу
|
||||||
|
`[security] Prepare external security/code review checklist`.
|
||||||
|
|
||||||
|
## 3. Низкая публичная активность issue tracker
|
||||||
|
|
||||||
|
- Текущий статус: риск открыт частично; issue templates and public roadmap
|
||||||
|
exist, but public roadmap-tasks are still few.
|
||||||
|
- Влияние: низкая внешняя visibility development process; сложнее показать
|
||||||
|
плановое управление backlog and governance.
|
||||||
|
- Почему не блокирует pilot/readiness stage: templates, roadmap and status docs
|
||||||
|
already define expected process; missing public tasks are a visibility gap,
|
||||||
|
not a runtime readiness gap.
|
||||||
|
- Как риск будет снижаться: manually create public issues for registry, QA,
|
||||||
|
security, compatibility, ops and pilot follow-up work.
|
||||||
|
- Уже снижающие evidence/documents/CI: `ROADMAP.md`, issue templates,
|
||||||
|
`docs/PROJECT_STATUS_RU.md`, `docs/PUBLIC_ISSUES_PLAN_RU.md`.
|
||||||
|
- Следующий action: завести публичные issues по списку из
|
||||||
|
`docs/PUBLIC_ISSUES_PLAN_RU.md`.
|
||||||
|
|
||||||
|
## 4. Низкая community adoption
|
||||||
|
|
||||||
|
- Текущий статус: риск открыт; stars/forks remain low and the project still
|
||||||
|
looks like early-stage / pilot-stage OSS.
|
||||||
|
- Влияние: нет широкого external validation and "many eyes" effect; меньше
|
||||||
|
внешних сигналов доверия.
|
||||||
|
- Почему не блокирует pilot/readiness stage: это не технический blocker.
|
||||||
|
Specialized enterprise/security OSS normally grows through pilots,
|
||||||
|
documentation, demos, case studies and references.
|
||||||
|
- Как риск будет снижаться: public demo pack, updated screenshots, pilot
|
||||||
|
materials, external links, publications and first customer pilots.
|
||||||
|
- Уже снижающие evidence/documents/CI: README, demo docs, pilot docs,
|
||||||
|
screenshots, public workflows, registry docs.
|
||||||
|
- Следующий action: завести публичную задачу
|
||||||
|
`[docs] Refresh public demo pack and screenshots`.
|
||||||
|
|
||||||
|
## 5. Gitea restore test еще не выполнен
|
||||||
|
|
||||||
|
- Текущий статус: риск открыт; backup works, SHA256 verification works and daily
|
||||||
|
timer is documented, but `restore_tested` remains false.
|
||||||
|
- Влияние: disaster recovery capability is documented but not yet proven by a
|
||||||
|
restore drill on a separate host.
|
||||||
|
- Почему не блокирует pilot/readiness stage: backup contour already exists and
|
||||||
|
can support readiness documentation; release/registry evidence still requires
|
||||||
|
restore proof later.
|
||||||
|
- Как риск будет снижаться: perform restore test on a separate server, record
|
||||||
|
logs, checksum verification, post-restore checks and rollback notes.
|
||||||
|
- Уже снижающие evidence/documents/CI:
|
||||||
|
`docs/registry/GITEA_BACKUP_AND_RESTORE_RUNBOOK_RU.md`,
|
||||||
|
`docs/registry/registry-evidence-manifest.json`,
|
||||||
|
`scripts/registry_readiness_check.sh`.
|
||||||
|
- Следующий action: завести публичную задачу
|
||||||
|
`[registry] Perform Gitea backup restore test`.
|
||||||
|
|
||||||
|
## 6. Российский build-runner пока planned
|
||||||
|
|
||||||
|
- Текущий статус: риск открыт; `awatch-build-01` is planned, not ready.
|
||||||
|
- Влияние: release evidence cannot yet be produced on the target Russian
|
||||||
|
build-runner contour.
|
||||||
|
- Почему не блокирует pilot/readiness stage: public GitHub Actions provides
|
||||||
|
mirror validation, while registry release evidence is explicitly deferred to
|
||||||
|
the Russian build-runner.
|
||||||
|
- Как риск будет снижаться: provision temporary or permanent `awatch-build-01`,
|
||||||
|
install toolchain, connect to Russian Gitea and run required checks.
|
||||||
|
- Уже снижающие evidence/documents/CI:
|
||||||
|
`docs/registry/RU_BUILD_RUNNER_READINESS_RU.md`,
|
||||||
|
`docs/registry/BUILD_RUNNER_SETUP_RUNBOOK_RU.md`, public CI/Coverage/
|
||||||
|
Security as non-release validation.
|
||||||
|
- Следующий action: завести публичную задачу
|
||||||
|
`[registry] Prepare temporary Russian build-runner awatch-build-01`.
|
||||||
|
|
||||||
|
## 7. Первый настоящий release evidence build pending
|
||||||
|
|
||||||
|
- Текущий статус: риск открыт; release evidence scripts exist, but the first
|
||||||
|
real release evidence build on `awatch-build-01` has not been performed.
|
||||||
|
- Влияние: registry release evidence package is not yet available from the
|
||||||
|
target build contour.
|
||||||
|
- Почему не блокирует pilot/readiness stage: pilot readiness can use current
|
||||||
|
docs and public validation; registry release evidence is a later gate.
|
||||||
|
- Как риск будет снижаться: run release evidence scripts on the Russian
|
||||||
|
build-runner, collect artifacts, checksums, cargo metadata/tree, logs and
|
||||||
|
release manifest.
|
||||||
|
- Уже снижающие evidence/documents/CI:
|
||||||
|
`scripts/build_release_evidence.sh`,
|
||||||
|
`scripts/check_release_evidence.sh`,
|
||||||
|
`docs/registry/RELEASE_EVIDENCE_RUNBOOK_RU.md`,
|
||||||
|
`docs/registry/RELEASE_EVIDENCE_MANIFEST_RU.md`.
|
||||||
|
- Следующий action: завести публичную задачу
|
||||||
|
`[release] Produce first release evidence package`.
|
||||||
|
|
||||||
|
## 8. Юридический пакет правообладателя pending
|
||||||
|
|
||||||
|
- Текущий статус: риск открыт; technical readiness is strong, but rightsholder
|
||||||
|
evidence package is not yet finalized.
|
||||||
|
- Влияние: registry submission cannot be treated as legally ready without
|
||||||
|
ownership, rights and submission documentation.
|
||||||
|
- Почему не блокирует pilot/readiness stage: pilot/readiness is technical and
|
||||||
|
operational; legal package is a separate submission track.
|
||||||
|
- Как риск будет снижаться: prepare rightsholder documents, ownership evidence,
|
||||||
|
dependency review summary and legal review checklist.
|
||||||
|
- Уже снижающие evidence/documents/CI: registry docs, dependency statement,
|
||||||
|
third-party license docs, conservative README positioning, public security
|
||||||
|
and coverage validation.
|
||||||
|
- Следующий action: завести публичную задачу
|
||||||
|
`[legal] Prepare rightsholder evidence package`.
|
||||||
|
|
||||||
|
## Следующие публичные задачи
|
||||||
|
|
||||||
|
Полный список задач для ручного заведения в GitHub issue tracker:
|
||||||
|
|
||||||
|
- `docs/PUBLIC_ISSUES_PLAN_RU.md`.
|
||||||
|
|
||||||
@@ -1,5 +1,34 @@
|
|||||||
# Registry readiness changelog
|
# Registry readiness changelog
|
||||||
|
|
||||||
|
## 2026-06-22 residual risk register and public issue plan
|
||||||
|
|
||||||
|
Added:
|
||||||
|
|
||||||
|
- `docs/RESIDUAL_RISKS_RU.md` with the remaining governance, public process,
|
||||||
|
disaster recovery, build-runner, release evidence and legal package risks.
|
||||||
|
- `docs/PUBLIC_ISSUES_PLAN_RU.md` with public GitHub issues to create manually.
|
||||||
|
- Registry readiness checks for residual risk documents and pending-state
|
||||||
|
guardrails.
|
||||||
|
|
||||||
|
Changed:
|
||||||
|
|
||||||
|
- README and project status now link to the residual risk register and public
|
||||||
|
issue plan.
|
||||||
|
|
||||||
|
Runtime impact:
|
||||||
|
|
||||||
|
- No runtime/product code changes.
|
||||||
|
- No API changes.
|
||||||
|
- No UI changes.
|
||||||
|
- No business logic changes.
|
||||||
|
|
||||||
|
Guardrails:
|
||||||
|
|
||||||
|
- Restore test is not claimed as completed.
|
||||||
|
- Russian build-runner is not claimed as ready.
|
||||||
|
- First release evidence build is not claimed as completed.
|
||||||
|
- Legal rightsholder package remains pending.
|
||||||
|
|
||||||
## 2026-06-22 public GitHub Actions validation passed
|
## 2026-06-22 public GitHub Actions validation passed
|
||||||
|
|
||||||
Changed:
|
Changed:
|
||||||
|
|||||||
@@ -49,6 +49,8 @@ required_files=(
|
|||||||
"docs/PROJECT_STATUS_RU.md"
|
"docs/PROJECT_STATUS_RU.md"
|
||||||
"docs/QUALITY_STATUS_RU.md"
|
"docs/QUALITY_STATUS_RU.md"
|
||||||
"docs/SECURITY_SCANNING_POLICY_RU.md"
|
"docs/SECURITY_SCANNING_POLICY_RU.md"
|
||||||
|
"docs/RESIDUAL_RISKS_RU.md"
|
||||||
|
"docs/PUBLIC_ISSUES_PLAN_RU.md"
|
||||||
"scripts/build_release_evidence.sh"
|
"scripts/build_release_evidence.sh"
|
||||||
"scripts/check_release_evidence.sh"
|
"scripts/check_release_evidence.sh"
|
||||||
"scripts/public_secret_pattern_check.py"
|
"scripts/public_secret_pattern_check.py"
|
||||||
@@ -209,6 +211,8 @@ require_grep "Secret scan:[[:space:]]*hardened and passed" "docs/PROJECT_STATUS_
|
|||||||
require_grep "Public validation passed.*not.*registry release evidence|not registry release evidence" "docs/PROJECT_STATUS_RU.md" "project_status_public_validation_not_release_evidence"
|
require_grep "Public validation passed.*not.*registry release evidence|not registry release evidence" "docs/PROJECT_STATUS_RU.md" "project_status_public_validation_not_release_evidence"
|
||||||
require_grep "Russian build-runner.*required|requires_russian_build_runner" "docs/PROJECT_STATUS_RU.md" "project_status_russian_runner_required"
|
require_grep "Russian build-runner.*required|requires_russian_build_runner" "docs/PROJECT_STATUS_RU.md" "project_status_russian_runner_required"
|
||||||
require_grep "docs/registry" "docs/PROJECT_STATUS_RU.md" "project_status_registry_docs"
|
require_grep "docs/registry" "docs/PROJECT_STATUS_RU.md" "project_status_registry_docs"
|
||||||
|
require_grep "RESIDUAL_RISKS_RU\\.md" "docs/PROJECT_STATUS_RU.md" "project_status_residual_risks_link"
|
||||||
|
require_grep "PUBLIC_ISSUES_PLAN_RU\\.md" "docs/PROJECT_STATUS_RU.md" "project_status_public_issues_plan_link"
|
||||||
require_grep "GITEA_BACKUP_AND_RESTORE_RUNBOOK_RU\\.md|Restore outline|Post-restore checks" "docs/registry/GITEA_BACKUP_AND_RESTORE_RUNBOOK_RU.md" "backup_restore_runbook"
|
require_grep "GITEA_BACKUP_AND_RESTORE_RUNBOOK_RU\\.md|Restore outline|Post-restore checks" "docs/registry/GITEA_BACKUP_AND_RESTORE_RUNBOOK_RU.md" "backup_restore_runbook"
|
||||||
require_grep "awatch-gitea-backup\\.timer" "docs/registry/GITEA_BACKUP_AND_RESTORE_RUNBOOK_RU.md" "backup_timer"
|
require_grep "awatch-gitea-backup\\.timer" "docs/registry/GITEA_BACKUP_AND_RESTORE_RUNBOOK_RU.md" "backup_timer"
|
||||||
require_grep "sha256|SHA256" "docs/registry/GITEA_BACKUP_AND_RESTORE_RUNBOOK_RU.md" "backup_sha256"
|
require_grep "sha256|SHA256" "docs/registry/GITEA_BACKUP_AND_RESTORE_RUNBOOK_RU.md" "backup_sha256"
|
||||||
@@ -233,6 +237,38 @@ require_grep "\"security_workflow_status\"[[:space:]]*:[[:space:]]*\"passed\"" "
|
|||||||
require_grep "\"secret_scan_status\"[[:space:]]*:[[:space:]]*\"passed\"" "docs/registry/registry-evidence-manifest.json" "manifest_secret_scan_passed"
|
require_grep "\"secret_scan_status\"[[:space:]]*:[[:space:]]*\"passed\"" "docs/registry/registry-evidence-manifest.json" "manifest_secret_scan_passed"
|
||||||
require_grep "public GitHub Actions validation passed" "docs/registry/REGISTRY_READINESS_CHANGELOG_RU.md" "changelog_public_validation_passed"
|
require_grep "public GitHub Actions validation passed" "docs/registry/REGISTRY_READINESS_CHANGELOG_RU.md" "changelog_public_validation_passed"
|
||||||
require_grep "No business logic changes" "docs/registry/REGISTRY_READINESS_CHANGELOG_RU.md" "changelog_no_business_logic_changes"
|
require_grep "No business logic changes" "docs/registry/REGISTRY_READINESS_CHANGELOG_RU.md" "changelog_no_business_logic_changes"
|
||||||
|
require_grep "RESIDUAL_RISKS_RU\\.md" "docs/registry/REGISTRY_READINESS_CHANGELOG_RU.md" "changelog_residual_risks"
|
||||||
|
require_grep "PUBLIC_ISSUES_PLAN_RU\\.md" "docs/registry/REGISTRY_READINESS_CHANGELOG_RU.md" "changelog_public_issues_plan"
|
||||||
|
require_grep "Restore test is not claimed as completed" "docs/registry/REGISTRY_READINESS_CHANGELOG_RU.md" "changelog_restore_not_completed"
|
||||||
|
require_grep "Russian build-runner is not claimed as ready" "docs/registry/REGISTRY_READINESS_CHANGELOG_RU.md" "changelog_build_runner_not_ready"
|
||||||
|
require_grep "First release evidence build is not claimed as completed" "docs/registry/REGISTRY_READINESS_CHANGELOG_RU.md" "changelog_release_evidence_not_completed"
|
||||||
|
require_grep "Legal rightsholder package remains pending" "docs/registry/REGISTRY_READINESS_CHANGELOG_RU.md" "changelog_legal_package_pending"
|
||||||
|
require_grep "RESIDUAL_RISKS_RU\\.md" "README.md" "readme_residual_risks_link"
|
||||||
|
require_grep "PUBLIC_ISSUES_PLAN_RU\\.md" "README.md" "readme_public_issues_plan_link"
|
||||||
|
require_grep "Один основной разработчик" "docs/RESIDUAL_RISKS_RU.md" "risk_single_developer"
|
||||||
|
require_grep "Нет публично видимого peer review" "docs/RESIDUAL_RISKS_RU.md" "risk_peer_review"
|
||||||
|
require_grep "Низкая публичная активность issue tracker" "docs/RESIDUAL_RISKS_RU.md" "risk_issue_tracker_activity"
|
||||||
|
require_grep "Низкая community adoption" "docs/RESIDUAL_RISKS_RU.md" "risk_community_adoption"
|
||||||
|
require_grep "Gitea restore test еще не выполнен" "docs/RESIDUAL_RISKS_RU.md" "risk_restore_test_pending"
|
||||||
|
require_grep "restore_tested.*false" "docs/RESIDUAL_RISKS_RU.md" "risk_restore_tested_false"
|
||||||
|
require_grep "Российский build-runner пока planned" "docs/RESIDUAL_RISKS_RU.md" "risk_build_runner_planned"
|
||||||
|
require_grep "awatch-build-01.*planned|planned, not ready" "docs/RESIDUAL_RISKS_RU.md" "risk_awatch_build_01_not_ready"
|
||||||
|
require_grep "Первый настоящий release evidence build pending" "docs/RESIDUAL_RISKS_RU.md" "risk_release_evidence_pending"
|
||||||
|
require_grep "Юридический пакет правообладателя pending" "docs/RESIDUAL_RISKS_RU.md" "risk_rightsholder_pending"
|
||||||
|
require_grep "Почему не блокирует pilot/readiness stage" "docs/RESIDUAL_RISKS_RU.md" "risk_non_blocking_reason"
|
||||||
|
require_grep "Уже снижающие evidence/documents/CI" "docs/RESIDUAL_RISKS_RU.md" "risk_existing_evidence"
|
||||||
|
require_grep "\\[registry\\] Perform Gitea backup restore test" "docs/PUBLIC_ISSUES_PLAN_RU.md" "issue_restore_test"
|
||||||
|
require_grep "\\[registry\\] Prepare temporary Russian build-runner awatch-build-01" "docs/PUBLIC_ISSUES_PLAN_RU.md" "issue_build_runner"
|
||||||
|
require_grep "\\[release\\] Produce first release evidence package" "docs/PUBLIC_ISSUES_PLAN_RU.md" "issue_release_evidence"
|
||||||
|
require_grep "\\[legal\\] Prepare rightsholder evidence package" "docs/PUBLIC_ISSUES_PLAN_RU.md" "issue_legal"
|
||||||
|
require_grep "\\[qa\\] Define coverage threshold policy" "docs/PUBLIC_ISSUES_PLAN_RU.md" "issue_qa_coverage_threshold"
|
||||||
|
require_grep "\\[security\\] Prepare external security/code review checklist" "docs/PUBLIC_ISSUES_PLAN_RU.md" "issue_security_review"
|
||||||
|
require_grep "\\[compat\\] Test Russian OS compatibility matrix" "docs/PUBLIC_ISSUES_PLAN_RU.md" "issue_compat_matrix"
|
||||||
|
require_grep "\\[ops\\] Validate release artifacts storage in RF" "docs/PUBLIC_ISSUES_PLAN_RU.md" "issue_artifact_storage"
|
||||||
|
require_grep "\\[docs\\] Refresh public demo pack and screenshots" "docs/PUBLIC_ISSUES_PLAN_RU.md" "issue_demo_pack"
|
||||||
|
require_grep "\\[pilot\\] Prepare Pilot Acceptance Checklist v2" "docs/PUBLIC_ISSUES_PLAN_RU.md" "issue_pilot_acceptance_v2"
|
||||||
|
require_grep "Do not mark restore test as completed until restore evidence exists" "docs/PUBLIC_ISSUES_PLAN_RU.md" "issues_restore_guardrail"
|
||||||
|
require_grep "Do not mark .*awatch-build-01.* as ready until provisioning evidence exists" "docs/PUBLIC_ISSUES_PLAN_RU.md" "issues_build_runner_guardrail"
|
||||||
require_grep "public mirror validation only" "SECURITY.md" "security_public_mirror_validation"
|
require_grep "public mirror validation only" "SECURITY.md" "security_public_mirror_validation"
|
||||||
require_grep "public mirror validation only" "CONTRIBUTING.md" "contributing_public_mirror_validation"
|
require_grep "public mirror validation only" "CONTRIBUTING.md" "contributing_public_mirror_validation"
|
||||||
require_grep "public mirror validation only" "ROADMAP.md" "roadmap_public_mirror_validation"
|
require_grep "public mirror validation only" "ROADMAP.md" "roadmap_public_mirror_validation"
|
||||||
@@ -250,6 +286,8 @@ scan_files=(
|
|||||||
"$REGISTRY_DIR"/*.json
|
"$REGISTRY_DIR"/*.json
|
||||||
"$ROOT/docs/QUALITY_STATUS_RU.md"
|
"$ROOT/docs/QUALITY_STATUS_RU.md"
|
||||||
"$ROOT/docs/SECURITY_SCANNING_POLICY_RU.md"
|
"$ROOT/docs/SECURITY_SCANNING_POLICY_RU.md"
|
||||||
|
"$ROOT/docs/RESIDUAL_RISKS_RU.md"
|
||||||
|
"$ROOT/docs/PUBLIC_ISSUES_PLAN_RU.md"
|
||||||
"$ROOT/SECURITY.md"
|
"$ROOT/SECURITY.md"
|
||||||
"$ROOT/CONTRIBUTING.md"
|
"$ROOT/CONTRIBUTING.md"
|
||||||
"$ROOT/ROADMAP.md"
|
"$ROOT/ROADMAP.md"
|
||||||
@@ -268,6 +306,8 @@ claim_scan_files=(
|
|||||||
"$REGISTRY_DIR"/*.json
|
"$REGISTRY_DIR"/*.json
|
||||||
"$ROOT/docs/QUALITY_STATUS_RU.md"
|
"$ROOT/docs/QUALITY_STATUS_RU.md"
|
||||||
"$ROOT/docs/SECURITY_SCANNING_POLICY_RU.md"
|
"$ROOT/docs/SECURITY_SCANNING_POLICY_RU.md"
|
||||||
|
"$ROOT/docs/RESIDUAL_RISKS_RU.md"
|
||||||
|
"$ROOT/docs/PUBLIC_ISSUES_PLAN_RU.md"
|
||||||
"$ROOT/SECURITY.md"
|
"$ROOT/SECURITY.md"
|
||||||
"$ROOT/CONTRIBUTING.md"
|
"$ROOT/CONTRIBUTING.md"
|
||||||
"$ROOT/ROADMAP.md"
|
"$ROOT/ROADMAP.md"
|
||||||
@@ -315,6 +355,34 @@ if grep -RInEi "(юридически заверш(е|ё)нн?ая регист
|
|||||||
fi
|
fi
|
||||||
rm -f /tmp/registry_forbidden_legal_done.$$
|
rm -f /tmp/registry_forbidden_legal_done.$$
|
||||||
|
|
||||||
|
if grep -RInEi "(restore(_| )?test|restore_tested|тестов(ое|ого)[[:space:]]+восстановлен).{0,120}(completed|done|passed|true|выполнен|готов|подтвержден)" "$ROOT/docs/RESIDUAL_RISKS_RU.md" "$ROOT/docs/PUBLIC_ISSUES_PLAN_RU.md" "$ROOT/docs/PROJECT_STATUS_RU.md" "$REGISTRY_DIR"/*.md "$REGISTRY_DIR"/*.json \
|
||||||
|
| grep -Eiv "(not |не |false|pending|not completed|not claimed|не выполнен|еще не выполнен|ещё не выполнен|не заяв|не готов|until evidence|restore_tested.*false|если.*выполнен)" \
|
||||||
|
>/tmp/registry_forbidden_restore_done.$$ 2>/dev/null; then
|
||||||
|
fail "forbidden_claim_restore_test_completed:$(cat /tmp/registry_forbidden_restore_done.$$)"
|
||||||
|
fi
|
||||||
|
rm -f /tmp/registry_forbidden_restore_done.$$
|
||||||
|
|
||||||
|
if grep -RInEi "(build-runner|awatch-build-01).{0,120}(ready|production_ready|provisioned|готов|поднят|развернут|запущен)" "$ROOT/docs/RESIDUAL_RISKS_RU.md" "$ROOT/docs/PUBLIC_ISSUES_PLAN_RU.md" "$ROOT/docs/PROJECT_STATUS_RU.md" "$REGISTRY_DIR"/*.md "$REGISTRY_DIR"/*.json \
|
||||||
|
| grep -Eiv "(not |не |planned|pending|not ready|not claimed|не готов|пока|until provisioning evidence|status != \"production_ready\"|requires|требует|подготовить|prepare)" \
|
||||||
|
>/tmp/registry_forbidden_build_runner_ready.$$ 2>/dev/null; then
|
||||||
|
fail "forbidden_claim_build_runner_ready:$(cat /tmp/registry_forbidden_build_runner_ready.$$)"
|
||||||
|
fi
|
||||||
|
rm -f /tmp/registry_forbidden_build_runner_ready.$$
|
||||||
|
|
||||||
|
if grep -RInEi "(release evidence (build|package)|first release evidence|перв(ый|ого).{0,40}release evidence).{0,120}(completed|done|produced|выполнен|готов|сформирован|создан)" "$ROOT/docs/RESIDUAL_RISKS_RU.md" "$ROOT/docs/PUBLIC_ISSUES_PLAN_RU.md" "$ROOT/docs/PROJECT_STATUS_RU.md" "$REGISTRY_DIR"/*.md "$REGISTRY_DIR"/*.json \
|
||||||
|
| grep -Eiv "(not |не |pending|not claimed|not yet|еще не|ещё не|не выполнен|не заяв|requires|требует|produce first|first real|scripts exist|automation.*partially done)" \
|
||||||
|
>/tmp/registry_forbidden_release_evidence_done.$$ 2>/dev/null; then
|
||||||
|
fail "forbidden_claim_release_evidence_completed:$(cat /tmp/registry_forbidden_release_evidence_done.$$)"
|
||||||
|
fi
|
||||||
|
rm -f /tmp/registry_forbidden_release_evidence_done.$$
|
||||||
|
|
||||||
|
if grep -RInEi "(community adoption).{0,120}(high|strong|mature|высок|сильн|зрел)" "$ROOT/docs/RESIDUAL_RISKS_RU.md" "$ROOT/docs/PUBLIC_ISSUES_PLAN_RU.md" "$ROOT/docs/PROJECT_STATUS_RU.md" "$ROOT/README.md" \
|
||||||
|
| grep -Eiv "(low|низк|не |not |fake|do not claim|не заяв)" \
|
||||||
|
>/tmp/registry_forbidden_fake_community.$$ 2>/dev/null; then
|
||||||
|
fail "forbidden_claim_fake_community_adoption:$(cat /tmp/registry_forbidden_fake_community.$$)"
|
||||||
|
fi
|
||||||
|
rm -f /tmp/registry_forbidden_fake_community.$$
|
||||||
|
|
||||||
if ((${#failures[@]} > 0)); then
|
if ((${#failures[@]} > 0)); then
|
||||||
printf 'registry_readiness_check=fail\n'
|
printf 'registry_readiness_check=fail\n'
|
||||||
for failure in "${failures[@]}"; do
|
for failure in "${failures[@]}"; do
|
||||||
|
|||||||
Reference in New Issue
Block a user