Skip to content

refactor(repo): Phase 1 — relocate orphaned example and tool#1914

Open
SamErde wants to merge 3 commits into
maester365:mainfrom
SamErde:restructure/phase-1-orphans
Open

refactor(repo): Phase 1 — relocate orphaned example and tool#1914
SamErde wants to merge 3 commits into
maester365:mainfrom
SamErde:restructure/phase-1-orphans

Conversation

@SamErde

@SamErde SamErde commented Jul 7, 2026

Copy link
Copy Markdown
Contributor

📑 Description

Phase 1 of the repository restructure described in docs/proposals/repo-restructure.md.
This phase only relocates two orphaned files that have no in-repo consumers — there are
no source-code or shipped-module changes.

  • Move powershell/examples/multi-tenant-pipeline.ymldocs/examples/. The sample is
    kept as tracked documentation rather than deleted.
  • Move tools/Save-MaesterOffline.ps1powershell/tools/. This groups the user-facing
    offline-installer script with the rest of the PowerShell deliverables and anticipates the
    Phase 4 powershell/{module, unit-tests, tools} layout. It is not a build script, so
    build/ was the wrong home.
  • Add the restructure proposal (docs/proposals/repo-restructure.md) as the plan of
    record for the phased migration.

Both moves use git mv (100% rename — history preserved).

Closes #

✅ Checks

  • My pull request adheres to the code style of this project.
  • My code requires changes to the documentation.
  • I have updated the documentation as required.
  • The build and unit tests pass after running /powershell/tests/pester.ps1 locally.

ℹ️ Additional Information

Why this is safe. The relocations touch none of the build inputs (powershell/public/,
powershell/internal/, powershell/assets/, Maester.Format.ps1xml, tests/), so the
shipped module is unchanged. A grep confirmed the two moved paths have no functional
consumers anywhere in the repo, workflows, or website.

Verification run locally on this branch:

  • ./build/Build-MaesterModule.ps1 — ✅ build complete (408 public functions, 67 ORCA
    classes).
  • ./build/Test-MaesterModuleOutput.ps1 — ✅ built-module output validation passed.
  • ./powershell/tests/pester.ps1 — general tests incl. PSScriptAnalyzer ✅; the
    per-function suite was still running at submission time. Since the change is entirely
    outside the test input scope, CI will confirm the full run here.

This is the first of a four-phase, independently-shippable migration; each subsequent phase
will be its own PR. See the proposal for the full plan and per-move safety ratings.

Summary by CodeRabbit

  • Documentation
    • Added a repository restructuring proposal documenting the current tree, verified consumer paths, and identified constraints/unknowns.
    • Recommended a target directory structure (including aligning the root tests/ naming) with a phased git mv migration plan, dev-time shim, and required ignore/workflow/docs updates.
    • Included draft conventions and placement rules for future additions, with clear “never-change” expectations for build output and runtime behavior.

Copilot AI review requested due to automatic review settings July 7, 2026 22:32
@SamErde SamErde requested a review from a team as a code owner July 7, 2026 22:32
@coderabbitai

coderabbitai Bot commented Jul 7, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

📝 Walkthrough

Walkthrough

This PR adds docs/proposals/repo-restructure.md, a proposal document covering the current repository layout, path consumers, target directory candidates, a phased migration plan, and draft conventions for future placement rules.

Changes

Repo Restructure Proposal

Layer / File(s) Summary
Purpose and current repository audit
docs/proposals/repo-restructure.md
Documents the proposal purpose and goals, then inventories the current repository tree, discrepancies, flags, and path consumers.
Candidate structures and migration plan
docs/proposals/repo-restructure.md
Defines and compares candidate target structures, selects Candidate B, and specifies the phased git mv migration plan with validation gates and frozen contract rules.
Draft conventions and placement rules appendices
docs/proposals/repo-restructure.md
Adds Appendix A draft repository conventions and Appendix B draft placement rules for new .ps1 files.

Estimated code review effort: 1 (Trivial) | ~5 minutes

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Title check ✅ Passed The title clearly matches the main change: a phase-1 repo restructure moving an orphaned example and tool.
Description check ✅ Passed The description follows the template sections and gives a clear summary, checks, and extra context.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@codacy-production

Copy link
Copy Markdown

Up to standards ✅

🟢 Issues 0 issues

Results:
0 new issues

View in Codacy

NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer
TIP This summary will be updated as you push new changes.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Phase 1 of the planned repo restructure: adds the restructure proposal as the plan-of-record and relocates two previously orphaned artifacts (an Azure DevOps pipeline example and an offline download helper script) without changing shipped module source/layout.

Changes:

  • Added docs/proposals/repo-restructure.md documenting the phased migration plan and path-consumer inventory.
  • Relocated the multi-tenant Azure DevOps pipeline example into docs/examples/.
  • Relocated the offline downloader script into powershell/tools/ to group PowerShell deliverables.

Reviewed changes

Copilot reviewed 1 out of 3 changed files in this pull request and generated no comments.

File Description
powershell/tools/Save-MaesterOffline.ps1 Adds the offline module download helper script under powershell/tools/.
docs/proposals/repo-restructure.md Adds a detailed restructure proposal and phased migration plan.
docs/examples/multi-tenant-pipeline.yml Adds the Azure DevOps multi-tenant pipeline example under docs/examples/.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (1)
docs/proposals/repo-restructure.md (1)

284-295: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Align Phase 1 with the actual destination.

This section talks about website/docs and website/static, but the PR objective moves the sample to docs/examples/. Please make the proposal name the same landing zone you’re actually introducing, or the placement guidance will be misleading.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/proposals/repo-restructure.md` around lines 284 - 295, Update the
proposal text so it refers to the actual destination being introduced,
`docs/examples/`, instead of `website/docs` or `website/static`. Keep the
guidance aligned with the real landing zone by revising the Phase 1 placement
instructions in the restructure proposal to mention the `docs/examples/` sample
location consistently.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Nitpick comments:
In `@docs/proposals/repo-restructure.md`:
- Around line 284-295: Update the proposal text so it refers to the actual
destination being introduced, `docs/examples/`, instead of `website/docs` or
`website/static`. Keep the guidance aligned with the real landing zone by
revising the Phase 1 placement instructions in the restructure proposal to
mention the `docs/examples/` sample location consistently.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: e4aa505f-7fe0-45f1-86ae-68401ea18421

📥 Commits

Reviewing files that changed from the base of the PR and between 312f7d6 and a6b1973.

📒 Files selected for processing (3)
  • docs/examples/multi-tenant-pipeline.yml
  • docs/proposals/repo-restructure.md
  • powershell/tools/Save-MaesterOffline.ps1

SamErde added a commit to SamErde/maester that referenced this pull request Jul 8, 2026
CodeRabbit nitpick: Phase 1 in the restructure proposal still described the
original approach (git rm the example + fold its YAML into website/docs),
which contradicted what the PR actually does — git mv the sample to
docs/examples/. Rewrote Phase 1 item 1 to describe the docs/examples/ move
(and the standalone-vs-website-copy drift that motivates keeping the file),
and updated the move-by-move safety summary row to match.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@SamErde

SamErde commented Jul 8, 2026

Copy link
Copy Markdown
Contributor Author

Addressed the review feedback (commit 362ce1d).

  • CodeRabbit"Align Phase 1 with the actual destination" (docs/proposals/repo-restructure.md L284–295): Confidence ~95% (correct) → implemented. Phase 1 §1 still described the original approach (git rm the example + fold its YAML into website/docs, with the website/docs vs website/static discussion), which contradicted what this PR actually does — git mv the sample to docs/examples/. Rewrote Phase 1 item 1 to describe the docs/examples/ move (and the standalone-vs-website-copy drift that motivates keeping the file), and updated the move-by-move safety-summary row to match. Note: no inline review thread existed to resolve — the nitpick was posted in the review summary body.
  • Copilot — overview only, no comments; nothing to action.

@SamErde SamErde self-assigned this Jul 8, 2026
@SamErde SamErde marked this pull request as draft July 8, 2026 14:16
SamErde and others added 2 commits July 8, 2026 10:16
Phase 1 of the repository restructure (docs/proposals/repo-restructure.md):
relocate two orphaned files that have no in-repo consumers. No source code
or shipped-module output changes.

- Move powershell/examples/multi-tenant-pipeline.yml -> docs/examples/
  (keep the sample as tracked documentation rather than deleting it).
- Move tools/Save-MaesterOffline.ps1 -> powershell/tools/, grouping the
  user-facing offline-installer script with the PowerShell deliverables and
  anticipating the Phase 4 powershell/{module,unit-tests,tools} layout.
- Add the restructure proposal as the plan of record.

Both moves use git mv (100% rename, history preserved). The moves touch no
build input (public/, internal/, assets/, the format file, tests/), so the
shipped module is unchanged; ./build/Build-MaesterModule.ps1,
./build/Test-MaesterModuleOutput.ps1, and the PSScriptAnalyzer pass all
succeed.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
CodeRabbit nitpick: Phase 1 in the restructure proposal still described the
original approach (git rm the example + fold its YAML into website/docs),
which contradicted what the PR actually does — git mv the sample to
docs/examples/. Rewrote Phase 1 item 1 to describe the docs/examples/ move
(and the standalone-vs-website-copy drift that motivates keeping the file),
and updated the move-by-move safety summary row to match.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@SamErde SamErde force-pushed the restructure/phase-1-orphans branch from 362ce1d to aefdad6 Compare July 8, 2026 14:16
@SamErde SamErde marked this pull request as ready for review July 8, 2026 14:16

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@docs/proposals/repo-restructure.md`:
- Around line 23-42: The current-tree inventory in the proposal is incomplete
because it omits the top-level docs/ directory even though this document lives
there and Phase 1 introduces docs/examples/. Update the “Current tree (verified
against the working tree)” section to add docs/ alongside the other top-level
entries, keeping the inventory consistent with the actual repository layout.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 90bc977b-713a-4386-8b50-29a812568a29

📥 Commits

Reviewing files that changed from the base of the PR and between 362ce1d and aefdad6.

📒 Files selected for processing (3)
  • docs/examples/multi-tenant-pipeline.yml
  • docs/proposals/repo-restructure.md
  • powershell/tools/Save-MaesterOffline.ps1

Comment thread docs/proposals/repo-restructure.md
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants