Skip to content

Phase 2B — Move Portable Scripts to Root & Update Paths (#1461) #1464

Closed

Description

@ashleyshaw

Phase 2B — Move Portable Scripts to Root & Update Paths

Status: ⚠️ INCOMPLETE — Requires Phase 2C.X Remediation
Parent: #1461 (Script Organization Architecture)
Related: #1465 (Phase 2C Testing), PR #1493 (Audit Findings)


Issue Summary

Move 117 portable scripts from .github/scripts/ to root-level scripts/ folder while maintaining backward compatibility and updating all references throughout the codebase.

Phase 2B Completion Status

✅ DONE:

  • Scripts copied to portable location (scripts/)
  • Validation infrastructure implemented
  • Schema paths updated
  • All 1,114 unit tests passing

❌ NOT DONE (Blocking Merge):

  • ❌ Dual paths not resolved (scripts still in .github/scripts/)
  • ❌ 21 workflow references not updated
  • ❌ 28 documentation references not updated
  • ❌ Script consolidation incomplete

Critical Issues Found (Phase 2C Audit)

Finding 1: Dual Path Problem 🔴

Status: BLOCKING

Scripts exist in BOTH locations:

  • .github/scripts/ → 107 files (old location)
  • scripts/ → 217 files (new location)
  • OVERLAP → ~54 files duplicated

Root Cause: Phase 2B copied scripts but didn't remove from source

Impact:

  • Maintenance burden (changes in two places)
  • Workflow confusion (which path is authoritative?)
  • Potential inconsistency if files diverge

Finding 2: Inconsistent Workflow References 🔴

Status: BLOCKING

21 workflows still reference old .github/scripts/ paths:

  1. documentation.yml
  2. docs-maintenance.yml
  3. docs-validation.yml
  4. labeling.yml
  5. labeling-governance.yml
  6. issue-remediation-bulk.yml
  7. metrics-pipeline.yml
  8. metrics-reporting.yml
  9. project-archival.yml
  10. issues.yml
  11. reviewer.yml
  12. release.yml
  13. meta.yml
  14. planner.yml
    15-21. (and 7 more workflows)

Impact:

  • Workflows may fail if files moved
  • No clear migration status
  • Inconsistent code paths

Finding 3: Documentation References 🟠

Status: HIGH PRIORITY

28 documentation files reference old paths:

  • docs/AUTOMATION.md
  • docs/LABELING.md
  • docs/RELEASE_PROCESS.md
  • docs/METRICS.md
  • docs/CHANGELOG_AUTOMATION.md
  • (and 23 more documentation files)

Phase 2B Execution Status

Stage 1: Inventory & Classification ✅

  • Identified all scripts
  • Classified portable vs GitHub-only
  • Documented folder structure

Stage 2: File Migration ⚠️

  • Copy portable scripts to root scripts/
  • ❌ ISSUE: Did not remove from .github/scripts/ (dual state)

Stage 3: Reference Updates 🔴 BLOCKED

  • Update all workflow references (21 files)
  • Update all documentation references (28 files)
  • Verify schema path references

Stage 4: Testing & Validation 🟡 PARTIAL

  • Unit tests pass (1,114 tests)
  • Validation scripts operational
  • Workflow references need verification
  • Full regression testing

Stage 5: Archive & Closure ⏳ PENDING


Phase 2C Extended Scope: Remediation Required

Phase 2C.X (NEW) addresses Phase 2B incomplete execution

2C.X.1: Resolve Dual Path Problem (2-3 hours)

  • Identify all duplicate files
  • Determine authoritative location
  • Move portable scripts to scripts/
  • Remove from .github/scripts/
  • Keep GitHub-only scripts in .github/scripts/

2C.X.2: Update Workflow References (3-4 hours)

  • Update 21 workflows with old references
  • Test each with dry-run
  • Verify execution
  • Commit with clear messages

2C.X.3: Update Documentation References (1-2 hours)

  • Update 28 documentation files
  • Verify examples still work
  • Ensure consistency

2C.X.4: Path Validation & Testing (1 hour)

  • Audit schema path references
  • Run npm test (1,114+ tests)
  • Run npm validate:all (all validators)
  • Verify no regressions

2C.X.5: Archive & Closure (1-2 hours)

  • Create follow-up PR
  • Review and address feedback
  • Merge to develop
  • Update issues/epic

Total Effort: 10-13 hours


Documentation & References

All audit findings available in PR #1493:

Key Documents:

  • PHASE_2B_EXECUTION_PLAN.md (830 lines)
  • SCRIPTS_INVENTORY.md (630 lines)
  • 2026-08-04-CRITICAL-AUDIT-SUMMARY.md
  • 2026-08-04-phase-2c-script-testing.md
  • STATUS.md (updated with findings)

Issue Comments:


Success Criteria (Phase 2B Completion)

  • Portable scripts migrated to scripts/
  • All dual paths resolved (duplicate files removed)
  • All 21 workflow references updated and tested
  • All 28 documentation references updated
  • Full regression testing passed
  • Zero path resolution errors
  • All issues closed with findings documented
  • Epic marked complete

Recommendation

Phase 2B cannot be marked complete until Phase 2C.X remediation resolves dual paths and updates all references. The portable script architecture is sound (all tests passing), but execution is incomplete.

Recommended Action:

  1. Execute Phase 2C.X remediation (10-13 hours)
  2. Create follow-up PR with all fixes
  3. Merge to develop and close Phase 2B/2C

Timeline

Phase Status Est. Duration
2B ⚠️ INCOMPLETE Original
2C.1-4 ✅ COMPLETE 5 hours
2C.X 🔴 PENDING 10-13 hours
2C.5 ⏳ PENDING 1-2 hours

Total for completion: ~10-13 hours from start of Phase 2C.X


Last Updated: 2026-08-04 (Phase 2C Audit)
Next Action: Review PR #1493 and plan Phase 2C.X remediation

Activity

  1. linear-code commented on Aug 4, 2026

    @linear-code
  2. github-actions commented on Aug 4, 2026

    @github-actions
    Contributor

    ⏱️ Aging and SLA annotation

    • Age: 1 day(s)
    • SLA state: Within SLA
    • Thresholds: warn at 7 days, breach at 14 days
    • Last updated: 2026-08-05T11:35:07.567Z

    Maintained by project-meta-sync workflow.

  3. github-actions commented on Aug 4, 2026

    @github-actions
    Contributor

    ⚠️ This issue does not follow a required issue template.

    Missing required section(s): Definition of Ready (DoR), Definition of Done (DoD)

    The issue will remain open and flagged until the body is corrected.
    Please update the issue with one of the official templates:

    If this was opened by automation, update the automation to preserve the template sections before creating the issue.

  4. github-actions commented on Aug 4, 2026

    @github-actions
    Contributor

    ✅ Issue checklists finalised after closure.

  5. ashleyshaw commented on Aug 4, 2026

    @ashleyshaw
    MemberAuthor

    Phase 2B Status Update — Critical Issues Identified

    Phase 2C testing audit completed. Phase 2B execution found to be INCOMPLETE with critical dual-path and reference issues.

    Phase 2B Completion Status

    ✅ DONE:

    • Scripts copied to portable location (scripts/)
    • All 1,114 unit tests passing
    • Validation infrastructure working
    • Schema paths updated

    ❌ NOT DONE (Blocking):

    • ❌ Dual paths not resolved (scripts still in .github/scripts/)
    • ❌ 21 workflow references not updated
    • ❌ 28 documentation references not updated
    • ❌ Script consolidation incomplete

    Why Phase 2B Is Blocked

    Phase 2B completion criteria requires:

    1. Scripts moved to portable location ✅
    2. All references updated ❌
    3. No dual paths ❌
    4. Workflows tested with new paths ❌

    Current state: Architecturally sound but operationally incomplete

    Critical Finding: Dual Path Problem

    .github/scripts/   → 107 files (old location)
    scripts/           → 217 files (new location)
    DUPLICATES         → ~54 files in BOTH locations
    

    This creates:

    • Maintenance burden (changes in two places)
    • Workflow confusion (which path is authoritative?)
    • Potential inconsistency if files diverge

    Remediation Plan

    Effort Estimate: 10-13 hours

    1. Resolve dual paths (2-3 hours)

      • Identify all duplicates
      • Move portable scripts to scripts/
      • Keep GitHub-only scripts in .github/scripts/
      • Remove duplicates
    2. Update workflows (3-4 hours)

      • 21 workflows need path updates
      • Test with dry-run
      • Verify execution
    3. Update documentation (1-2 hours)

      • 28 docs files need path updates
      • Verify examples still work
    4. Testing & validation (1 hour)

      • Full npm test
      • Full npm validate:all
      • Regression testing
    5. Merge & archive (1-2 hours)

      • Create follow-up PR
      • Review and merge
      • Update issue/epic status

    Documentation

    Phase 2C audit findings available in:

    Recommendation

    Phase 2B should be marked as requiring additional remediation work. The architecture is solid but execution is incomplete. Phase 2C testing confirmed all portable scripts are functional, but dual paths must be resolved before production merge.

    Status: INCOMPLETE — Awaiting Phase 2C remediation phase

  6. 26 remaining items

  7. ashleyshaw commented on Aug 5, 2026

    @ashleyshaw
    MemberAuthor

    ✅ COMPLETE: All Phase 2B work merged (PRs #1493, #1498, #1504, #1518, #1528). 117 portable scripts successfully migrated to root scripts/ directory with all path references updated. Phase 2B complete.

  8. 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:priority:critical
    • migrate:status:needs-more-info
    • migrate:type:task

    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

Fields

Priority

None yet

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions