You are helping an enterprise architect rationalise the application portfolio using keep/merge/replace/retire decisions. This produces a portfolio-level rationalisation document (APPR) that informs transition planning and gap analysis.
User Input
$ARGUMENTS
Prerequisites: Read Foundational Artifacts
Note: Before generating, scan projects/ for existing project directories. For each project, list all ARC-*.md artifacts, check external/ for reference documents, and check 000-global/ for cross-project policies. If no external docs exist but they would improve output, ask the user.
MANDATORY (warn if missing)
- APP (Application Portfolio) — Extract: Application inventory, current state, capabilities served, technology stack, lifecycle status, business criticality, cost data, vendor dependencies
- If missing: STOP and ask user to run
$arckit-application-inventory (or equivalent APP command) first. Rationalisation requires an existing application inventory.
RECOMMENDED (read if available, note if missing)
- BPCM (Business Capability Model) — Extract: Capability map, capability-to-application mapping, criticality ratings, future state capabilities
- If missing: warn user but proceed. Capability alignment strengthens rationale.
- ADR-* (Architecture Decision Records) — Extract: Prior technology decisions, platform preferences, integration standards, retirement criteria
- If missing: proceed with reasonable defaults.
- ADMP (ADM Preliminary) — Extract: Transformation vision, scope boundaries, strategic themes
- PRIN (Architecture Principles) — Extract: Technology standards, platform preferences, build-vs-buy stance
- TRANS (Transition Architecture) — Extract: Existing migration plans, work packages, sequencing constraints
Prerequisites 2b: Read external documents and policies
- Read any external documents listed in the project context (
external/ files) — extract application rationalisation criteria, TCO models, vendor contracts, licensing data, retirement policies
- Read any enterprise standards in
projects/000-global/external/ — extract technology refresh policies, cloud migration strategy, application lifecycle standards
- If no external documents found but they would improve the output, ask: "Do you have application inventory spreadsheets, TCO models, or vendor contracts? I can read PDFs and Excel files directly. Place them in
projects/{project-dir}/external/ and re-run, or skip."
- Citation traceability: When referencing content from external documents, follow the citation instructions in
.arckit/references/citation-instructions.md. Place inline citation markers (e.g., [PP-C1]) next to findings informed by source documents and populate the "External References" section in the template.
Instructions
1. Identify the Project
Identify the target project from the hook context or user input. Extract the project ID (e.g., 001 from projects/001-project-name).
2. Read the Application Inventory
Read APP artifacts from projects/{P}/ARC-{P}-APP-v*.md:
- Extract the full application inventory: application ID, name, type, status, technology stack, lifecycle phase, owner, business criticality
- Map applications to capabilities (from BPCM if available)
- Note any applications already flagged for retirement or replacement
3. Read the Template
Read the template (with user override support):
- First, check if
.arckit/templates-custom/rationalization-template.md exists in the project root
- If found: Read the user's customised template (user override takes precedence)
- If not found: Read
.arckit/templates/rationalization-template.md (default)
- Then, read
.arckit/templates/_partials/RENDERING.md and resolve the template's <!-- DOC-CONTROL-HEADER --> marker to the Document Control partial it selects, applying the ${organisation_name} and ${default_classification} substitutions. Remove the marker and its comment from the output — a rendered artefact must never contain either.
Tip: Users can customise templates with $arckit-customize application-rationalization
4. Gather Context via Questions
Gathering rules (apply to all user questions in this command):
- Ask the most important question first; fill in secondary details from context or reasonable defaults.
- Maximum 2 rounds of questions total. After that, infer the best answer from available context.
- If still ambiguous after 2 rounds, make a reasonable choice and note: "I went with [X] — easy to adjust if you prefer [Y]."
Key questions (ask only if context is insufficient):
- What is the target timeframe for portfolio rationalisation? (Default: 24 months)
- What are the key drivers for rationalisation? (e.g., cost reduction, cloud migration, security compliance)
- Are there any applications that are non-negotiable (must keep or must retire)?
5. Generate Rationalisation Decisions
For each application in the inventory, determine a rationalisation decision:
Decision Framework
| Decision |
When to Use |
Typical Rationale |
| Keep |
Strategic fit, good condition, no duplication |
Application is mission-critical, well-maintained, aligned to strategy |
| Merge |
Overlapping functionality, duplicate capabilities |
Two apps serve same capability — consolidate to one |
| Replace |
Aging technology, strategic misalignment, high cost |
Legacy platform needs modern replacement — same capability, better technology |
| Retire |
No longer needed, superseded, excessive cost |
Capability no longer required or moved to another system |
Per-Application Analysis
For each application, evaluate:
Strategic Fit — Does the application support strategic objectives?
- Strategic (directly enables business outcomes)
- Critical (essential for operations but not a differentiator)
- Support (enables operations but easily replaceable)
Technical Condition — Current technology state
- Modern (supported, cloud-native, low maintenance)
- Aging (supported but legacy, moderate maintenance)
- Legacy (end-of-life, high maintenance, known vulnerabilities)
Business Value — Current contribution to the enterprise
- High (direct revenue or compliance impact)
- Medium (indirect value, operational efficiency)
- Low (minimal direct impact, potential duplicate)
Cost Profile — Total cost of ownership
- License fees, maintenance contracts, infrastructure, support staff
- Compare cost to delivered value
Risk Factors — Migration or retention risks
- Data migration complexity
- Business disruption potential
- Vendor dependency
- Integration dependencies
6. Consolidation Benefits Analysis
Calculate estimated benefits from each decision category:
- License reduction: Count eliminated or merged applications × average license cost
- Maintenance savings: Reduced FTE costs, support contracts, infrastructure
- Operational efficiency: Standardised platforms, fewer integration points
- Security posture: Fewer attack surface points, compliance alignment
7. Risk Register
For each rationalisation decision, identify migration risks:
| Risk Category |
Description |
Likelihood |
Impact |
Mitigation |
| Business disruption |
Service outage during migration |
[Low/Med/High] |
[Low/Med/High] |
[Mitigation plan] |
| Data loss |
Migration of application data |
[Low/Med/High] |
[Low/Med/High] |
[Mitigation plan] |
| Integration failure |
Downstream system dependencies |
[Low/Med/High] |
[Low/Med/High] |
[Mitigation plan] |
| Vendor dependency |
Contract termination or non-cooperation |
[Low/Med/High] |
[Low/Med/High] |
[Mitigation plan] |
8. Implementation Sequencing
Group rationalisation activities into implementation waves:
- Wave 1 — Quick Wins: Low-risk retirements, clear duplicate merges
- Wave 2 — Foundation: Platform standardisation, infrastructure readiness
- Wave 3 — Transformation: Major replacements, complex migrations
- Wave 4 — Optimisation: Final rationalisation, performance tuning
Consider dependencies between applications and capability requirements.
9. Auto-Populate Document Control Fields
Before completing the document, populate ALL document control fields in the header:
Construct Document ID:
- Document ID:
ARC-{P}-APPR-v{VERSION} (e.g., ARC-001-APPR-v1.0)
Populate Required Fields:
Auto-populated fields:
[PROJECT_ID] → Extract from project path (e.g., "001" from "projects/001-project-name")
[VERSION] → "1.0" (or increment if previous version exists)
[DATE] / [YYYY-MM-DD] → Current date in YYYY-MM-DD format
[DOCUMENT_TYPE_NAME] → "Application Rationalisation"
[COMMAND] → "arckit.application-rationalization"
User-provided fields:
[PROJECT_NAME] → Full project name from project metadata or user input
[OWNER_NAME_AND_ROLE] → Document owner (prompt user if not in metadata)
- Classification → comes from the resolved Document Control header, not from a placeholder.
_partials/RENDERING.md fixes the ladder from the artefact's own regime; ${default_classification} applies only where that regime falls through to user config.
Calculated fields:
[YYYY-MM-DD] for Next Review Date → Current date + 90 days
Pending fields (leave as [PENDING] until manually updated):
[REVIEWER_NAME] → [PENDING]
[APPROVER_NAME] → [PENDING]
[DISTRIBUTION_LIST] → Default to "Project Team, Architecture Team, Application Owners" or [PENDING]
Populate Revision History:
| 1.0 | {DATE} | ArcKit AI | Initial creation from `$arckit-application-rationalization` command | [PENDING] | [PENDING] |
Populate Generation Metadata Footer:
**Generated by**: ArcKit `$arckit-application-rationalization` command
**Generated on**: {DATE} {TIME} GMT
**ArcKit Version**: {ARCKIT_VERSION}
**Project**: {PROJECT_NAME} (Project {P})
**AI Model**: [Use actual model name, e.g., "Claude Sonnet 5 (session default)"]
**Generation Context**: [Brief note about source documents used]
10. Quality Gate
Before writing the file, read .arckit/references/quality-checklist.md and verify all Common Checks plus the APPR per-type checks pass. Fix any failures before proceeding.
APPR-specific quality requirements:
- Minimum 3 applications with rationalisation decisions documented
- Decision rationale present for every application — no orphaned entries
- Target state portfolio documented with distribution breakdown
- Consolidation benefits quantified with estimated values
- Risk register populated with per-application migration risks
- Implementation sequencing includes wave assignments and timeline
- Traceability links APP → APPR → BPCM
11. Write the Rationalisation File
IMPORTANT: The Application Rationalisation document will be a substantial document (typically 150-300 lines). You MUST use the Write tool to create the file, NOT output the full content in chat.
Create the file at:
projects/{P}/ARC-{P}-APPR-v1.0.md
Use the Write tool with the complete content following the template structure.
12. Show Summary to User
After writing the file, show a concise summary (NOT the full document):
## Application Rationalisation Complete
**Document**: `projects/{P}/ARC-{P}-APPR-v1.0.md`
**Document ID**: ARC-{P}-APPR-v1.0
### Decision Summary
| Decision | Count | Applications |
|----------|-------|-------------|
| Keep | [N] | [List] |
| Merge | [N] | [List] |
| Replace | [N] | [List] |
| Retire | [N] | [List] |
### Portfolio Impact
- **Total applications assessed**: [N]
- **Estimated license reduction**: £[X]/year
- **Estimated maintenance savings**: £[X]/year
- **Implementation waves**: [N] waves planned
### Risks Identified
| # | Risk | Likelihood | Impact |
|---|------|-----------|--------|
| 1 | [Risk] | [Level] | [Level] |
### Implementation Sequencing
- **Wave 1**: [Quick wins] — [Start date] to [End date]
- **Wave 2**: [Foundation] — [Start date] to [End date]
### Synthesised From
- ✅ Application Portfolio: ARC-{P}-APP-v[N].md
- [✅/⚠️] Business Capability Model: ARC-{P}-BPCM-v[N].md
- [✅/⚠️] Architecture Decisions: ARC-{P}-ADR-*.md
### Next Steps
1. Review rationalisation decisions with Application Owners
2. Validate consolidation benefit estimates with Finance
3. Begin gap analysis for replaced applications: `$arckit-gap-analysis`
4. Plan transition work packages: `$arckit-transition-architecture`
**File location**: `projects/{P}/ARC-{P}-APPR-v1.0.md`
Important Notes
Decision Justification: Every rationalisation decision must include clear rationale. A "Retire" decision without rationale is a governance failure. Document the "why" behind each choice.
Capability Continuity: When retiring or merging applications, verify that the capability they serve has a successor. Never leave a capability orphaned.
Dependency Mapping: Map application dependencies before making decisions. Retiring an upstream application without retiring downstream dependents causes operational failures.
Cost vs. Value: Always weigh Total Cost of Ownership against delivered business value. A high-cost, high-value application may be a strategic "Keep" even if it looks expensive in isolation.
Stakeholder Alignment: Application owners and business sponsors must review and approve rationalisation decisions before implementation. This document is a proposal, not a mandate.
Version Management: If a rationalisation document already exists (ARC-{P}-APPR-v*.md), create a new version (v2.0) rather than overwriting. Rationalisation decisions evolve as the portfolio changes.
Integration with Other Commands:
- APPR feeds into:
$arckit-gap-analysis (capability gaps from replacements), $arckit-transition-architecture (migration work packages)
- APPR is informed by: APP (inventory), BPCM (capability alignment), ADR-* (decision history), PRIN (principles)
UK Government Specifics: If this is a UK Government project, include:
- Cabinet Office Application Portfolio Management: Reference APP guidelines
- Cloud First/Cloud Only: Align decisions with cloud policy
- G-Cloud/DOS procurement: Consider procurement strategy for replacements
- Data Centre Strategy: Reference exit timelines
Markdown escaping: When writing less-than or greater-than comparisons, always include a space after < or > (e.g., < 3 seconds, > 99.9% uptime) to prevent markdown renderers from interpreting them as HTML tags or emoji
Suggested Next Steps
After completing this command, consider running:
$arckit-gap-analysis -- Analyze capability gaps from rationalization decisions
$arckit-transition-architecture -- Plan migration work packages for rationalized applications
1---2name: arckit-application-rationalization3description: Rationalize application portfolio with keep/merge/replace/retire decisions4---56You are helping an enterprise architect rationalise the application portfolio using **keep/merge/replace/retire** decisions. This produces a portfolio-level rationalisation document (APPR) that informs transition planning and gap analysis.78## User Input910```text11$ARGUMENTS12```1314## Prerequisites: Read Foundational Artifacts1516> **Note**: Before generating, scan `projects/` for existing project directories. For each project, list all `ARC-*.md` artifacts, check `external/` for reference documents, and check `000-global/` for cross-project policies. If no external docs exist but they would improve output, ask the user.1718### MANDATORY (warn if missing)1920- **APP** (Application Portfolio) — Extract: Application inventory, current state, capabilities served, technology stack, lifecycle status, business criticality, cost data, vendor dependencies21 - If missing: STOP and ask user to run `$arckit-application-inventory` (or equivalent APP command) first. Rationalisation requires an existing application inventory.2223### RECOMMENDED (read if available, note if missing)2425- **BPCM** (Business Capability Model) — Extract: Capability map, capability-to-application mapping, criticality ratings, future state capabilities26 - If missing: warn user but proceed. Capability alignment strengthens rationale.27- **ADR-*** (Architecture Decision Records) — Extract: Prior technology decisions, platform preferences, integration standards, retirement criteria28 - If missing: proceed with reasonable defaults.29- **ADMP** (ADM Preliminary) — Extract: Transformation vision, scope boundaries, strategic themes30- **PRIN** (Architecture Principles) — Extract: Technology standards, platform preferences, build-vs-buy stance31- **TRANS** (Transition Architecture) — Extract: Existing migration plans, work packages, sequencing constraints3233### Prerequisites 2b: Read external documents and policies3435- Read any **external documents** listed in the project context (`external/` files) — extract application rationalisation criteria, TCO models, vendor contracts, licensing data, retirement policies36- Read any **enterprise standards** in `projects/000-global/external/` — extract technology refresh policies, cloud migration strategy, application lifecycle standards37- If no external documents found but they would improve the output, ask: "Do you have application inventory spreadsheets, TCO models, or vendor contracts? I can read PDFs and Excel files directly. Place them in `projects/{project-dir}/external/` and re-run, or skip."38- **Citation traceability**: When referencing content from external documents, follow the citation instructions in `.arckit/references/citation-instructions.md`. Place inline citation markers (e.g., `[PP-C1]`) next to findings informed by source documents and populate the "External References" section in the template.3940## Instructions4142### 1. Identify the Project4344Identify the target project from the hook context or user input. Extract the project ID (e.g., `001` from `projects/001-project-name`).4546### 2. Read the Application Inventory4748**Read APP artifacts** from `projects/{P}/ARC-{P}-APP-v*.md`:4950- Extract the full application inventory: application ID, name, type, status, technology stack, lifecycle phase, owner, business criticality51- Map applications to capabilities (from BPCM if available)52- Note any applications already flagged for retirement or replacement5354### 3. Read the Template5556**Read the template** (with user override support):5758- **First**, check if `.arckit/templates-custom/rationalization-template.md` exists in the project root59- **If found**: Read the user's customised template (user override takes precedence)60- **If not found**: Read `.arckit/templates/rationalization-template.md` (default)61- **Then**, read `.arckit/templates/_partials/RENDERING.md` and resolve the template's `<!-- DOC-CONTROL-HEADER -->` marker to the Document Control partial it selects, applying the `${organisation_name}` and `${default_classification}` substitutions. Remove the marker and its comment from the output — a rendered artefact must never contain either.6263> **Tip**: Users can customise templates with `$arckit-customize application-rationalization`6465### 4. Gather Context via Questions6667**Gathering rules** (apply to all user questions in this command):6869- Ask the most important question first; fill in secondary details from context or reasonable defaults.70- **Maximum 2 rounds of questions total.** After that, infer the best answer from available context.71- If still ambiguous after 2 rounds, make a reasonable choice and note: *"I went with [X] — easy to adjust if you prefer [Y]."*7273**Key questions** (ask only if context is insufficient):7475- What is the target timeframe for portfolio rationalisation? (Default: 24 months)76- What are the key drivers for rationalisation? (e.g., cost reduction, cloud migration, security compliance)77- Are there any applications that are non-negotiable (must keep or must retire)?7879### 5. Generate Rationalisation Decisions8081For each application in the inventory, determine a rationalisation decision:8283#### Decision Framework8485| Decision | When to Use | Typical Rationale |86|----------|-----------|-------------------|87| **Keep** | Strategic fit, good condition, no duplication | Application is mission-critical, well-maintained, aligned to strategy |88| **Merge** | Overlapping functionality, duplicate capabilities | Two apps serve same capability — consolidate to one |89| **Replace** | Aging technology, strategic misalignment, high cost | Legacy platform needs modern replacement — same capability, better technology |90| **Retire** | No longer needed, superseded, excessive cost | Capability no longer required or moved to another system |9192#### Per-Application Analysis9394For each application, evaluate:95961. **Strategic Fit** — Does the application support strategic objectives?97 - Strategic (directly enables business outcomes)98 - Critical (essential for operations but not a differentiator)99 - Support (enables operations but easily replaceable)1001012. **Technical Condition** — Current technology state102 - Modern (supported, cloud-native, low maintenance)103 - Aging (supported but legacy, moderate maintenance)104 - Legacy (end-of-life, high maintenance, known vulnerabilities)1051063. **Business Value** — Current contribution to the enterprise107 - High (direct revenue or compliance impact)108 - Medium (indirect value, operational efficiency)109 - Low (minimal direct impact, potential duplicate)1101114. **Cost Profile** — Total cost of ownership112 - License fees, maintenance contracts, infrastructure, support staff113 - Compare cost to delivered value1141155. **Risk Factors** — Migration or retention risks116 - Data migration complexity117 - Business disruption potential118 - Vendor dependency119 - Integration dependencies120121### 6. Consolidation Benefits Analysis122123Calculate estimated benefits from each decision category:124125- **License reduction**: Count eliminated or merged applications × average license cost126- **Maintenance savings**: Reduced FTE costs, support contracts, infrastructure127- **Operational efficiency**: Standardised platforms, fewer integration points128- **Security posture**: Fewer attack surface points, compliance alignment129130### 7. Risk Register131132For each rationalisation decision, identify migration risks:133134| Risk Category | Description | Likelihood | Impact | Mitigation |135|--------------|-------------|-----------|--------|------------|136| Business disruption | Service outage during migration | [Low/Med/High] | [Low/Med/High] | [Mitigation plan] |137| Data loss | Migration of application data | [Low/Med/High] | [Low/Med/High] | [Mitigation plan] |138| Integration failure | Downstream system dependencies | [Low/Med/High] | [Low/Med/High] | [Mitigation plan] |139| Vendor dependency | Contract termination or non-cooperation | [Low/Med/High] | [Low/Med/High] | [Mitigation plan] |140141### 8. Implementation Sequencing142143Group rationalisation activities into implementation waves:144145- **Wave 1 — Quick Wins**: Low-risk retirements, clear duplicate merges146- **Wave 2 — Foundation**: Platform standardisation, infrastructure readiness147- **Wave 3 — Transformation**: Major replacements, complex migrations148- **Wave 4 — Optimisation**: Final rationalisation, performance tuning149150Consider dependencies between applications and capability requirements.151152### 9. Auto-Populate Document Control Fields153154Before completing the document, populate ALL document control fields in the header:155156**Construct Document ID**:157158- **Document ID**: `ARC-{P}-APPR-v{VERSION}` (e.g., `ARC-001-APPR-v1.0`)159160**Populate Required Fields**:161162*Auto-populated fields*:163164- `[PROJECT_ID]` → Extract from project path (e.g., "001" from "projects/001-project-name")165- `[VERSION]` → "1.0" (or increment if previous version exists)166- `[DATE]` / `[YYYY-MM-DD]` → Current date in YYYY-MM-DD format167- `[DOCUMENT_TYPE_NAME]` → "Application Rationalisation"168- `[COMMAND]` → "arckit.application-rationalization"169170*User-provided fields*:171172- `[PROJECT_NAME]` → Full project name from project metadata or user input173- `[OWNER_NAME_AND_ROLE]` → Document owner (prompt user if not in metadata)174- **Classification** → comes from the resolved Document Control header, not from a placeholder. `_partials/RENDERING.md` fixes the ladder from the artefact's own regime; `${default_classification}` applies only where that regime falls through to user config.175176*Calculated fields*:177178- `[YYYY-MM-DD]` for Next Review Date → Current date + 90 days179180*Pending fields* (leave as `[PENDING]` until manually updated):181182- `[REVIEWER_NAME]` → `[PENDING]`183- `[APPROVER_NAME]` → `[PENDING]`184- `[DISTRIBUTION_LIST]` → Default to "Project Team, Architecture Team, Application Owners" or `[PENDING]`185186**Populate Revision History**:187188```markdown189| 1.0 | {DATE} | ArcKit AI | Initial creation from `$arckit-application-rationalization` command | [PENDING] | [PENDING] |190```191192**Populate Generation Metadata Footer**:193194```markdown195**Generated by**: ArcKit `$arckit-application-rationalization` command196**Generated on**: {DATE} {TIME} GMT197**ArcKit Version**: {ARCKIT_VERSION}198**Project**: {PROJECT_NAME} (Project {P})199**AI Model**: [Use actual model name, e.g., "Claude Sonnet 5 (session default)"]200**Generation Context**: [Brief note about source documents used]201```202203### 10. Quality Gate204205Before writing the file, read `.arckit/references/quality-checklist.md` and verify all **Common Checks** plus the **APPR** per-type checks pass. Fix any failures before proceeding.206207**APPR-specific quality requirements**:208209- **Minimum 3 applications** with rationalisation decisions documented210- **Decision rationale present** for every application — no orphaned entries211- **Target state portfolio** documented with distribution breakdown212- **Consolidation benefits** quantified with estimated values213- **Risk register** populated with per-application migration risks214- **Implementation sequencing** includes wave assignments and timeline215- **Traceability** links APP → APPR → BPCM216217### 11. Write the Rationalisation File218219**IMPORTANT**: The Application Rationalisation document will be a substantial document (typically 150-300 lines). You MUST use the Write tool to create the file, NOT output the full content in chat.220221Create the file at:222223```text224projects/{P}/ARC-{P}-APPR-v1.0.md225```226227Use the Write tool with the complete content following the template structure.228229### 12. Show Summary to User230231After writing the file, show a concise summary (NOT the full document):232233```markdown234## Application Rationalisation Complete235236**Document**: `projects/{P}/ARC-{P}-APPR-v1.0.md`237**Document ID**: ARC-{P}-APPR-v1.0238239### Decision Summary240| Decision | Count | Applications |241|----------|-------|-------------|242| Keep | [N] | [List] |243| Merge | [N] | [List] |244| Replace | [N] | [List] |245| Retire | [N] | [List] |246247### Portfolio Impact248- **Total applications assessed**: [N]249- **Estimated license reduction**: £[X]/year250- **Estimated maintenance savings**: £[X]/year251- **Implementation waves**: [N] waves planned252253### Risks Identified254| # | Risk | Likelihood | Impact |255|---|------|-----------|--------|256| 1 | [Risk] | [Level] | [Level] |257258### Implementation Sequencing259- **Wave 1**: [Quick wins] — [Start date] to [End date]260- **Wave 2**: [Foundation] — [Start date] to [End date]261262### Synthesised From263- ✅ Application Portfolio: ARC-{P}-APP-v[N].md264- [✅/⚠️] Business Capability Model: ARC-{P}-BPCM-v[N].md265- [✅/⚠️] Architecture Decisions: ARC-{P}-ADR-*.md266267### Next Steps2681. Review rationalisation decisions with Application Owners2692. Validate consolidation benefit estimates with Finance2703. Begin gap analysis for replaced applications: `$arckit-gap-analysis`2714. Plan transition work packages: `$arckit-transition-architecture`272273**File location**: `projects/{P}/ARC-{P}-APPR-v1.0.md`274```275276## Important Notes2772781. **Decision Justification**: Every rationalisation decision must include clear rationale. A "Retire" decision without rationale is a governance failure. Document the "why" behind each choice.2792802. **Capability Continuity**: When retiring or merging applications, verify that the capability they serve has a successor. Never leave a capability orphaned.2812823. **Dependency Mapping**: Map application dependencies before making decisions. Retiring an upstream application without retiring downstream dependents causes operational failures.2832844. **Cost vs. Value**: Always weigh Total Cost of Ownership against delivered business value. A high-cost, high-value application may be a strategic "Keep" even if it looks expensive in isolation.2852865. **Stakeholder Alignment**: Application owners and business sponsors must review and approve rationalisation decisions before implementation. This document is a proposal, not a mandate.2872886. **Version Management**: If a rationalisation document already exists (`ARC-{P}-APPR-v*.md`), create a new version (v2.0) rather than overwriting. Rationalisation decisions evolve as the portfolio changes.2892907. **Integration with Other Commands**:291 - APPR feeds into: `$arckit-gap-analysis` (capability gaps from replacements), `$arckit-transition-architecture` (migration work packages)292 - APPR is informed by: APP (inventory), BPCM (capability alignment), ADR-* (decision history), PRIN (principles)2932948. **UK Government Specifics**: If this is a UK Government project, include:295 - **Cabinet Office Application Portfolio Management**: Reference APP guidelines296 - **Cloud First/Cloud Only**: Align decisions with cloud policy297 - **G-Cloud/DOS procurement**: Consider procurement strategy for replacements298 - **Data Centre Strategy**: Reference exit timelines2993009. **Markdown escaping**: When writing less-than or greater-than comparisons, always include a space after `<` or `>` (e.g., `< 3 seconds`, `> 99.9% uptime`) to prevent markdown renderers from interpreting them as HTML tags or emoji301302## Suggested Next Steps303304After completing this command, consider running:305306- `$arckit-gap-analysis` -- Analyze capability gaps from rationalization decisions307- `$arckit-transition-architecture` -- Plan migration work packages for rationalized applications