Repository navigation
Closed
Labels
area:buildsmigrate:area:ciBuild and CI pipelinesBuild and CI pipelinesmigrate:type:bugBug or defectBug or defectpriority:hightype:bug
Milestone
Description
Summary
CodeRabbit identified security and correctness issues in the consolidated documentation.yml workflow (PR #1317). This issue tracks fixes for:
Issues Identified
Security
- Overly broad workflow permissions (scope to individual jobs)
- Missing persist-credentials flags on checkout steps
- Shell script variable handling security
Correctness
- Maintenance report misrepresents outcomes (shows success when scripts fail)
- README resolver over-includes root README on every change
- Documentation lacks clarity on output format (comma-separated vs space-separated)
Solution
Branch: fix/workflows-documentation-security-hardening
Changes Included
- Job-scoped permissions — Remove overly broad top-level permissions; scope to audit, regenerate, maintain jobs
- persist-credentials flags — Set to false for read-only (audit), true for write operations
- Maintenance report accuracy — Track individual step outcomes; display actual success/failure status
- README resolver optimization — Only add root README when subdirectory files change
- Enhanced documentation — Comments explaining output format, execFileSync security rationale
Related Issues
- Epic: feat: Consolidate 31 GitHub workflows for efficiency and maintainability #1227 (GitHub Workflows Consolidation Initiative)
- PR refactor(workflows): consolidate documentation & validation workflows (Phase 2) #1313: Documentation consolidation implementation
- PR chore(workflows): cleanup legacy README workflows (Phase 2.4) #1317: Legacy workflow cleanup (merged)
- Issue #2.3: Integration Testing — Documentation Workflows #1309: Phase 2.3 Integration Testing
- Issue #2.4: Cleanup Old Workflows — Disable & Delete #1310: Phase 2.4 Cleanup (resolved)
Definition of Ready (DoR)
- Bug is reproducible and clearly described
- Steps to reproduce written
- Environment details provided
- Linked to existing issues/PRs (if any)
- Ready for triage
Definition of Done (DoD)
- Bug confirmed and reproducible
- Fix implemented and tested
- Follows coding standards
- Changelog entry prepared for PR (CHANGELOG.md)
- Security: job-scoped permissions and persist-credentials applied
- Performance: no adverse impact introduced
- QA performed
- Linked issue closed
Metadata
Metadata
Assignees
Labels
area:buildsmigrate:area:ciBuild and CI pipelinesBuild and CI pipelinesmigrate:type:bugBug or defectBug or defectpriority:hightype:bug
Type
Fields
Priority
None yet
Activity
linear-code commentedon Jul 26, 2026
LS-1926
github-actions commentedon Jul 26, 2026
✅ Template check passed after update. Thanks for fixing the issue body.
github-actions commentedon Jul 26, 2026
⏱️ Aging and SLA annotation
Maintained by project-meta-sync workflow.
github-actions commentedon Jul 29, 2026
✅ Issue checklists finalised after closure.
docs(phase-2-3): Add next session prompt with PR and issue references
docs(workflows-consolidation): Add Phase 2.3, Phase 2 summary, and Ph…
docs(workflows-consolidation): Add Phase 2.3, Phase 2 summary, and Ph…
refactor(scripts): Phase 2B Batch 1 — Move validation scripts to root (…
refactor: Complete Phase 2B script migration (Batches 1-3) (#1528)
github-actions commentedon Sep 8, 2026
This issue has labels that are not in the canonical taxonomy:
migrate:area:cimigrate:type:bugpriority:highValid Canonical Labels
Please use labels with a prefix from the canonical taxonomy:
type:bug,type:feature,type:task,type:documentation, etc.status:needs-triage,status:in-progress,status:done, etc.priority:critical,priority:high,priority:normal,priority:lowarea:ci,area:docs,area:labels,area:security, etc.meta:needs-changelog,meta:duplicate,meta:blocked, etc.For the complete list, see .github/labels.yml.