Skip to content

fix: Address CodeRabbit security and correctness feedback on documentation workflow #1386

Closed

Description

@ashleyshaw

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

  1. Job-scoped permissions — Remove overly broad top-level permissions; scope to audit, regenerate, maintain jobs
  2. persist-credentials flags — Set to false for read-only (audit), true for write operations
  3. Maintenance report accuracy — Track individual step outcomes; display actual success/failure status
  4. README resolver optimization — Only add root README when subdirectory files change
  5. Enhanced documentation — Comments explaining output format, execFileSync security rationale

Related Issues


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

Related issues: #1227, #1309, #1310, #1317

Activity

  1. linear-code commented on Jul 26, 2026

    @linear-code
  2. github-actions commented on Jul 26, 2026

    @github-actions
    Contributor

    ✅ Template check passed after update. Thanks for fixing the issue body.

  3. added this to the v1.0 milestone on Jul 26, 2026
  4. github-actions commented on Jul 26, 2026

    @github-actions
    Contributor

    ⏱️ Aging and SLA annotation

    • Age: 3 day(s)
    • SLA state: Within SLA
    • Thresholds: warn at 7 days, breach at 14 days
    • Last updated: 2026-07-29T20:44:32.557Z

    Maintained by project-meta-sync workflow.

  5. github-actions commented on Jul 29, 2026

    @github-actions
    Contributor

    ✅ Issue checklists finalised after closure.

  6. github-actions commented on Sep 8, 2026

    @github-actions
    Contributor

    ⚠️ Bare Labels Detected

    This issue has labels that are not in the canonical taxonomy:

    • migrate:area:ci
    • migrate:type:bug
    • priority:high

    Valid Canonical Labels

    Please use labels with a prefix from the canonical taxonomy:

    • Type: type:bug, type:feature, type:task, type:documentation, etc.
    • Status: status:needs-triage, status:in-progress, status:done, etc.
    • Priority: priority:critical, priority:high, priority:normal, priority:low
    • Area: area:ci, area:docs, area:labels, area:security, etc.
    • Meta: meta:needs-changelog, meta:duplicate, meta:blocked, etc.

    For the complete list, see .github/labels.yml.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Fields

Priority

None yet

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions