Skip to main content

Component Migration Standardized Workflow

1. Executive Summary

This document analyzes the complete H.22 component migration process executed on 2026-02-11 (migration of pdf-to-markdown pipeline from coditect-core to coditect-research-continuum), extracts a standardized repeatable workflow, and maps it against international standards for change management, configuration management, and software lifecycle governance.

Key deliverables:

  • 12-step interactive workflow with user prompt points
  • Standards compliance matrix (ISO 10007, ISO 20000, NIST SP 800-128, NIST CSF 2.0, NIST SSDF, ITIL v4)
  • ADR-175 Component Migration Process specification
  • Workflow definition (WF-component-migration.yaml)

2. Process Reconstruction — What Actually Happened

2.1 Chronological Steps (H.22, 2026-02-11)

#PhaseStepDurationUser Input Required
1AnalysisGap analysis — audited 12 existing migration components15 minNo
2AnalysisIdentified zero components handle cross-repo relocationNo
3DesignProposed 5-phase pipeline architecture10 minYes — user approved
4DesignUser chose Option A (Full Move) over recommended Option B (Split)Yes — architecture decision
5DesignUser corrected: stubs needed for ALL component types, not just SKILL.mdYes — requirement correction
6BuildCreated scripts/component-migration.py (~600 LOC, 8 subtasks)45 minNo
7BuildUpdated component-lifecycle.md v1.0.0 → v1.1.0 (Phase 6 MIGRATE)10 minNo
8BuildUpdated component-create.md v1.0.0 → v1.1.0 (--stub support)5 minNo
9TestDry-run single + batch — found schema pattern bug, fixed10 minNo
10ExecuteBatch migration: 4 components, 29 files, 3 stubs5 minYes — execute confirmation
11VerifyStub validation, registry audit, file count check5 minNo
12CommitBottom-up commit + push across 3 repos10 minYes — push confirmation

Total elapsed: ~2 hours User interaction points: 4 (architecture choice, requirement correction, execute confirmation, push confirmation)

2.2 Five-Phase Pipeline (Per Component)

PREFLIGHT ──→ COPY ──→ STUB ──→ REGISTRY ──→ VERIFY
│ │ │ │ │
├─ Source ├─ Files ├─ Stub ├─ framework ├─ Stubs exist?
│ exists? │ to │ in │ -registry ├─ Frontmatter?
├─ Target │ target │ source │ .json ├─ Registry
│ writable? │ repo │ repo ├─ component │ entries?
└─ Conflicts? │ │ │ -activation├─ Counts
│ │ │ .json │ correct?
│ │ └─ component └─ Files in
│ │ -counts target?
│ │ .json
│ └─ 3 variants:
│ Markdown (commands, agents)
│ Python (hooks, scripts)
│ Directory (skills)
└─ Schema: copy only, no stub

3. Standards Compliance Analysis

3.1 Applicable Standards

StandardFull NameRelevance
ISO 10007:2017Quality Management — Guidelines for Configuration ManagementConfiguration baseline, change control, status accounting, audit
ISO/IEC 20000-1:2018IT Service Management — RequirementsChange management, release/deployment management
NIST SP 800-128Guide for Security-Focused Configuration ManagementBaseline configuration, change control, monitoring
NIST CSF 2.0Cybersecurity Framework (2024)Asset management, configuration change control (PR.IP-3)
NIST SP 800-218Secure Software Development Framework (SSDF)Software supply chain provenance, traceability
ITIL v4IT Infrastructure LibraryChange enablement, release management, configuration management
CMMI CMCapability Maturity Model Integration — Configuration ManagementProcess maturity, baseline establishment

3.2 ISO 10007 Compliance Matrix

ISO 10007 defines 5 linked activities for configuration management:

ISO 10007 ActivityOur ImplementationStatus
1. CM PlanningMigration manifest (batch spec), reason, target selection✅ Implemented
2. Configuration Identificationdiscover_component_files() — discovers all files comprising a component, assigns type-specific patterns✅ Implemented
3. Change Control5-phase pipeline with preflight checks, dry-run mode, user approval gates✅ Implemented
4. Status AccountingRegistry updates (framework-registry.json, component-activation-status.json, component-counts.json), stub frontmatter with status: relocated✅ Implemented
5. Verification & AuditVERIFY phase checks stubs, registries, file counts; session log with commit hashes✅ Implemented

3.3 NIST SP 800-128 Compliance Matrix

NIST 800-128 RequirementOur ImplementationStatus
Baseline ConfigurationComponent registry (framework-registry.json) serves as baseline
Configuration Change ControlPreflight → user approval → execution → verification
Audit of ChangesSession log entries with timestamps, commit hashes, file counts
Continuous MonitoringRegistry status fields (activerelocated), stub discovery
SecCM Integration into SDLCMigration integrated into component lifecycle (Phase 6)

3.4 ITIL v4 Change Enablement Mapping

ITIL v4 PracticeOur Implementation
Change AuthorityUser approval gate before execution
Change TypesComponent migration = "normal change" (pre-authorized after dry-run approval)
Change ScheduleDocumented in session log with timestamp
Change ModelStandardized 5-phase pipeline, repeatable for any component type
Post-Implementation ReviewVERIFY phase + registry audit

3.5 Environment Promotion Mapping

The migration workflow maps to the industry standard R&D → Dev → Staging → Production pattern:

EnvironmentCODITECT EquivalentMigration Use Case
R&Dcoditect-core/skills/ (experimental)Components incubated here
DevProduct repos (e.g., coditect-research-continuum/src/)Components migrated here when ready
Staging--dry-run mode + preflight checksValidates migration before execution
ProductionPost-push stateComponents live in target repo, stubs in source

4. Standardized Interactive Workflow Design

4.1 Workflow Steps (12 Steps)

┌──────────────────────────────────────────────┐
│ STEP 1: INITIATION (User Prompt) │
│ ▸ What components to migrate? │
│ ▸ Source repository? │
│ ▸ Target repository? │
│ ▸ Reason for migration? │
└──────────────┬───────────────────────────────┘

┌──────────────────────────────────────────────┐
│ STEP 2: DISCOVERY (Automated) │
│ ▸ Discover all files for each component │
│ ▸ Count files, measure size │
│ ▸ Identify component types │
│ ▸ Map dependencies │
└──────────────┬───────────────────────────────┘

┌──────────────────────────────────────────────┐
│ STEP 3: INVENTORY REPORT (Display) │
│ ▸ Show migration manifest table │
│ ▸ File counts per component │
│ ▸ Estimated impact (registries, stubs) │
│ ▸ Dependency warnings │
└──────────────┬───────────────────────────────┘

┌──────────────────────────────────────────────┐
│ STEP 4: STRATEGY SELECTION (User Prompt) │
│ ▸ Full Move (copy + stub)? │
│ ▸ Split (some files stay)? │
│ ▸ Deprecate (stub only, no target)? │
│ ▸ Keep Source (copy only, no stub)? │
└──────────────┬───────────────────────────────┘

┌──────────────────────────────────────────────┐
│ STEP 5: PREFLIGHT CHECK (Automated) │
│ ▸ Source files exist? │
│ ▸ Target repo accessible? │
│ ▸ No naming conflicts in target? │
│ ▸ Git status clean? │
│ ▸ All registries writable? │
└──────────────┬───────────────────────────────┘

┌──────────────────────────────────────────────┐
│ STEP 6: DRY-RUN PREVIEW (Display) │
│ ▸ Show exactly what will be copied │
│ ▸ Show stub content preview │
│ ▸ Show registry changes preview │
│ ▸ Rollback plan if needed │
└──────────────┬───────────────────────────────┘

┌──────────────────────────────────────────────┐
│ STEP 7: APPROVAL GATE (User Prompt) │
│ ▸ Approve migration execution? │
│ ▸ Modify parameters? │
│ ▸ Abort? │
└──────────────┬───────────────────────────────┘

┌──────────────────────────────────────────────┐
│ STEP 8: EXECUTION (Automated) │
│ ▸ Phase A: Copy files to target │
│ ▸ Phase B: Create stubs in source │
│ ▸ Phase C: Update registries │
│ ▸ Progress reporting per component │
└──────────────┬───────────────────────────────┘

┌──────────────────────────────────────────────┐
│ STEP 9: VERIFICATION (Automated) │
│ ▸ Stubs exist with correct frontmatter? │
│ ▸ All files present in target? │
│ ▸ Registries reflect relocated status? │
│ ▸ Component counts refreshed? │
└──────────────┬───────────────────────────────┘

┌──────────────────────────────────────────────┐
│ STEP 10: AUDIT LOG (Automated) │
│ ▸ Session log entry with full details │
│ ▸ Migration manifest saved │
│ ▸ Before/after registry diff │
│ ▸ Timestamps and evidence │
└──────────────┬───────────────────────────────┘

┌──────────────────────────────────────────────┐
│ STEP 11: COMMIT & PUSH (User Prompt) │
│ ▸ Bottom-up: target repo first │
│ ▸ Then source repo (stubs + registries) │
│ ▸ Then parent repo (submodule pointers) │
│ ▸ Remote URL verification before each push │
└──────────────┬───────────────────────────────┘

┌──────────────────────────────────────────────┐
│ STEP 12: COMPLETION REPORT (Display) │
│ ▸ Summary table: components migrated │
│ ▸ Commit hashes across repos │
│ ▸ Updated component counts │
│ ▸ Next steps / follow-up items │
└──────────────────────────────────────────────┘

4.2 User Interaction Points Summary

StepTypeWhat User Decides
1INPUTComponents, source, target, reason
4CHOICEMigration strategy (Full Move / Split / Deprecate / Keep Source)
7GATEApprove, modify, or abort after dry-run preview
11GATEApprove commit and push to remotes

4.3 Automated Steps (No User Input)

StepWhat Happens
2File discovery across all component types
3Inventory report generation
5Preflight validation (5 checks)
6Dry-run preview generation
8File copy, stub creation, registry updates
9Post-execution verification (4 checks)
10Audit log creation with evidence
12Completion report with metrics

5. Cross-Reference: Steps vs. Standards

StepISO 10007NIST 800-128ITIL v4NIST CSF 2.0
1. InitiationCM PlanningChange RequestChange initiation
2. DiscoveryConfiguration IdentificationBaseline IDCI identificationID.AM (Asset Mgmt)
3. InventoryStatus AccountingBaseline documentationCMDB updateID.AM-1
4. StrategyChange ControlChange evaluationChange classification
5. PreflightVerificationPre-change validationChange assessmentPR.IP-3
6. Dry-RunVerificationImpact assessmentChange modeling
7. ApprovalChange ControlChange authorityCAB approval
8. ExecutionChange ControlChange implementationChange executionPR.IP-3
9. VerificationVerification & AuditPost-change auditPIRDE.CM
10. Audit LogStatus AccountingAudit trailChange record
11. CommitChange ControlBaseline updateRelease deployment
12. CompletionStatus AccountingStatus reportingChange closure

6. Component Types and Migration Patterns

6.1 Seven Component Types

TypeSource PatternStub TypeDiscovery
skillskills/{name}/ (directory)skills/{name}/SKILL.mdRecursive directory scan
commandcommands/{name}.mdSame file replacedSingle file
agentagents/{name}.mdSame file replacedSingle file
hookhooks/{name}.pyPython stub with __status__Single file
scriptscripts/{name}.pyPython stub with __status__Single file
workflowworkflows/{name}.yamlYAML stub with status: relocatedSingle file
schemaconfig/schemas/{name}.schema.jsonNone (copy only)Single file

6.2 Stub Frontmatter Standard

All markdown stubs MUST contain:

---
title: "{Name} (Relocated)"
component_type: {type}
version: 1.0.0
status: relocated
relocated_to: {target_repo}
relocated_path: {target_path}
relocated_date: "{ISO-8601}"
original_path: "{source_path}"
reason: "{migration_reason}"
summary: "RELOCATED — see {target_repo}"
keywords:
- relocated
- stub
created: "{original_created}"
updated: "{migration_date}"
---

7. Risk Assessment

RiskLikelihoodImpactMitigation
Broken imports/referencesMediumHighStub redirect discovery; grep for old paths
Registry inconsistencyLowMediumAtomic registry updates in single phase
Git push to wrong remoteLowCriticalURL verification before every push
Partial migration (power failure)LowMediumRollback capability via --rollback
Missing file in discoveryLowMediumRecursive scan + dry-run preview
Component not found after moveMediumHighStubs remain in source repo for discovery

8. Recommendations

  1. Automate stub validation (H.22.2) — Pre-commit hook that validates all status: relocated stubs have required frontmatter fields
  2. Migration manifest archival — Save each migration's manifest as JSON alongside the session log for audit retrieval
  3. Dependency graph check — Before migration, scan for components that import/reference the migrating component and warn about broken references
  4. Post-migration smoke test — After push, verify stubs are discoverable via component-indexer.py --search
  5. Quarterly audit — Periodic review of all status: relocated stubs to confirm target repos still contain the components

9. References

Standards

Internal Documents

  • internal/analysis/research-continuum/component-migration-workflow-analysis-2026-02-11.md — Initial gap analysis
  • internal/analysis/research-continuum/research-continuum-code-migration-analysis-2026-02-11.md — Code migration analysis
  • internal/architecture/adrs/ADR-175-component-migration-process.md — Architecture decision record
  • workflows/component-migration.yaml — Executable workflow definition

Environment Promotion Best Practices


Document: internal/analysis/research-continuum/component-migration-standardized-workflow-2026-02-11.md Author: Claude (Opus 4.6) Task: H.22 Project: PILOT