Files
claude-plugins-official/plugins/code-modernization/commands/modernize-status.md
Morgan Lunt 96e3e8c6af code-modernization: pilot-first uplift migration, brief-driven execution, deeper preflight
/modernize-uplift migrates one representative project end-to-end and
writes its lessons to analysis/<system>/PLAYBOOK.md before touching the
rest. The remaining projects then fan out through a new uplift-migrate
workflow, one uplift-migrator agent per project, in dependency-aware
escalating batches behind a per-batch circuit breaker. A recorded
per-test baseline (analysis/<system>/BASELINE.md) gates the migration,
and the delta catalog reports a test framework whose runner does not
support the target as its own highest-blast-radius dependency.

The three execution commands (uplift, transform, reimagine) read
MODERNIZATION_BRIEF.md and treat their phase's scope and entry and exit
criteria as gates, so editing the brief steers execution. For a
same-stack uplift the brief requires the delta catalog and applies the
same ordering overrides the execution command does.

/modernize-preflight opens with a short interview (scope, local build
and test, bespoke build infrastructure, prior attempts, what is off
limits) without blocking on the answers, reads the CI/build definition
for how the system builds, escalates the smoke test to a whole-project
restore and build, and adds a scope-boundary check that enumerates
inbound and outbound dependencies when the system directory is a slice
of a larger repository.

Workflow scripts accept args delivered as either a JSON string or an
object.
2026-07-08 18:48:30 -07:00

2.9 KiB

description, argument-hint
description argument-hint
Where am I in the modernization workflow — artifact inventory, staleness, secrets hygiene, next step <system-dir>

Report where the modernization of $1 stands, in one screen. This is a read-only command — inspect, never modify.

1 — Artifact inventory

Check analysis/$1/ and modernized/$1*/ and build a table — one row per workflow stage, with the artifact's presence and modification time:

Stage Artifacts
preflight PREFLIGHT.md (note whether the Check 0 human answers and the Check 6 scope-boundary finding are present)
assess ASSESSMENT.md, ARCHITECTURE.mmd
map topology.json, TOPOLOGY.html, *.mmd, extract_topology.*
extract-rules BUSINESS_RULES.md, DATA_OBJECTS.md
brief MODERNIZATION_BRIEF.md (note whether the approval block is signed)
harden SECURITY_FINDINGS.md, security_remediation.patch
uplift DELTA_CATALOG.md, BASELINE.md, PLAYBOOK.md (no playbook = the pilot hasn't happened yet — the fan-out must not); modernized/$1-uplifted/UPLIFT_NOTES.md (note per-unit: builds on target? baseline reproduced?)
transform each modernized/$1/<module>/ dir — note test presence and whether TRANSFORMATION_NOTES.md exists
reimagine modernized/$1-reimagined/ — note per-service acceptance tests and the CLAUDE.md handoff (reimagine's completion markers; it does NOT write TRANSFORMATION_NOTES.md)

2 — Staleness

Flag any artifact older than an upstream artifact it derives from:

  • MODERNIZATION_BRIEF.md older than ASSESSMENT.md, topology.json, or BUSINESS_RULES.md → the brief no longer reflects discovery; recommend re-running /modernize-brief.
  • MODERNIZATION_BRIEF.md for a same-stack uplift plan that is older than DELTA_CATALOG.md — or that has no catalog at all — → the phase order was decided before (or without) the version deltas that determine it; recommend re-running /modernize-brief.
  • TOPOLOGY.html older than topology.json → re-run the injection step from /modernize-map.
  • Any TRANSFORMATION_NOTES.md older than BUSINESS_RULES.md → the module may not implement the latest rule set; list which.

3 — Secrets hygiene

  • Does analysis/.gitignore exist and cover SECRETS.local.md / *.local.patch? (git check-ignore when in a git repo.)
  • If SECRETS.local.md exists: confirm it is NOT tracked (git ls-files --error-unmatch, expect failure) and has never been committed (git log --all --oneline -- <path>, expect empty). If either check fails, say so prominently and recommend rotation plus history scrubbing.

4 — Verdict

End with three lines:

  • Where you are — the furthest completed stage and roughly how much of the system it covers (e.g. "mapped 100%, 2 of 14 modules transformed").
  • What's stale — or "nothing".
  • Next command — the single most useful next step, with a one-line reason.