NAME
Developer::Dashboard::CLI::SeededPages - manifest-based tracking for dashboard-managed starter pages
SYNOPSIS
use Developer::Dashboard::CLI::SeededPages;
my $status = Developer::Dashboard::CLI::SeededPages::ensure_seeded_page(
page => $page,
pages => $page_store,
paths => $paths,
);
DESCRIPTION
Tracks the manifest used for dashboard-managed starter pages and owns the non-destructive refresh contract for already-materialized saved pages. Core no longer ships the extracted optional browser workspaces, so this module now focuses on deciding whether an existing managed page may be refreshed safely or must be preserved.
PURPOSE
This module manages the manifest and refresh policy for dashboard-managed starter pages that already exist in a runtime.
WHY IT EXISTS
It exists because refreshing dashboard-managed starter pages is not just a copy operation. The runtime must preserve real user edits while still refreshing managed pages when shipped content changed.
WHEN TO USE
Use this file when changing starter-page refresh behavior or the safe-update policy for managed page copies in runtime dashboards.
HOW TO USE
Call the refresh routines from init or runtime update flows with the active runtime paths and page store. Keep managed-page detection here so the command layer does not guess about whether a page is user-owned or dashboard-managed.
WHAT USES IT
It is used by dashboard init, runtime bootstrap/update scripts, and seed-refresh regressions for stale managed copies.
EXAMPLES
Example 1:
perl -Ilib -MDeveloper::Dashboard::CLI::SeededPages -e 1
Do a direct compile-and-load check against the module from a source checkout.
Example 2:
prove -lv t/04-update-manager.t t/05-cli-smoke.t
Run the focused regression tests that most directly exercise this module's behavior.
Example 3:
HARNESS_PERL_SWITCHES=-MDevel::Cover prove -lr t
Recheck the module under the repository coverage gate rather than relying on a load-only probe.
Example 4:
prove -lr t
Put any module-level change back through the entire repository suite before release.