# Plan Detail ## Step 0: Migrate the kab_ingestion domain models, ports, GitHub SCM connector, and SharePoint CMS connector into the repository's app/ package. - **Capability:** Move ingestion contracts and connector implementations under app/, preserving typed interfaces and adapting imports so the migrated components are available to the agent application. - **Plan label:** gap - **Reusable capability:** False - **Rationale:** These are implementation components of this agent's requested ingestion deliverable, not a separately reusable registry capability. - **Input schema:** `{'repository_url': 'string'}` - **Output schema:** `{'repository_url': 'string', 'migrated_paths': 'string[]', 'migration_summary': 'object', 'imports_resolved': 'boolean'}` - **Acceptance criteria:** (none) - **Success conditions:** (none) ## Step 1: Wire the migrated ingestion components into the agent application entry point, card, settings, triggers, governance, publication, and validation layers. - **Capability:** Integrate the migrated ingestion contracts and connectors with create_agent_app, AgentCard skills, typed settings, application routes and triggers, governance and publication helpers, and validation helpers. - **Plan label:** gap - **Reusable capability:** False - **Rationale:** This wiring is specific to the existing content-ingestion-agent deliverable and depends on the migrated package. - **Input schema:** `{'repository_url': 'string', 'migrated_paths': 'string[]', 'migration_summary': 'object', 'imports_resolved': 'boolean'}` - **Output schema:** `{'repository_url': 'string', 'wired_paths': 'string[]', 'routes_registered': 'string[]', 'skills_registered': 'string[]', 'settings_fields': 'string[]', 'governance_publication_integrated': 'boolean', 'validation_integrated': 'boolean', 'imports_resolved': 'boolean', 'wiring_summary': 'object'}` - **Acceptance criteria:** (none) - **Success conditions:** (none) ## Step 2: Populate every remaining placeholder file with working application, package, test, dependency, and Kubernetes content. - **Capability:** Complete the agent modules, package initializers, test fixtures, pinned runtime and development dependencies, and Kubernetes deployment, configuration, and service manifests without leaving empty, comment-only, docstring-only, or TODO-scaffold files. - **Plan label:** gap - **Reusable capability:** False - **Rationale:** These files are repository-specific operational and test scaffolding required to make this agent complete; they are not standalone reusable capabilities. - **Input schema:** `{'repository_url': 'string', 'wired_paths': 'string[]', 'routes_registered': 'string[]', 'skills_registered': 'string[]', 'settings_fields': 'string[]', 'governance_publication_integrated': 'boolean', 'validation_integrated': 'boolean', 'imports_resolved': 'boolean', 'wiring_summary': 'object'}` - **Output schema:** `{'repository_url': 'string', 'populated_paths': 'string[]', 'dependency_files': 'string[]', 'kubernetes_manifest_paths': 'string[]', 'test_fixture_paths': 'string[]', 'placeholder_files_remaining': 'string[]', 'imports_resolved': 'boolean', 'content_checks_passed': 'boolean', 'population_summary': 'object'}` - **Acceptance criteria:** (none) - **Success conditions:** (none) ## Step 3: Verify the migrated agent and completed repository end to end. - **Capability:** Run the repository test suite and targeted validation for ingestion behavior, application wiring, typed settings, agent-card skills, Kubernetes manifests, dependency files, and absence of empty, comment-only, docstring-only, or TODO-scaffold files. - **Plan label:** gap - **Reusable capability:** False - **Rationale:** Verification is deliverable-specific content for this repository. - **Input schema:** `{'repository_url': 'string', 'populated_paths': 'string[]', 'dependency_files': 'string[]', 'kubernetes_manifest_paths': 'string[]', 'test_fixture_paths': 'string[]', 'placeholder_files_remaining': 'string[]', 'imports_resolved': 'boolean', 'content_checks_passed': 'boolean', 'population_summary': 'object'}` - **Output schema:** `{'repository_url': 'string', 'tests_passed': 'boolean', 'ingestion_validation_passed': 'boolean', 'wiring_validation_passed': 'boolean', 'settings_validation_passed': 'boolean', 'manifest_validation_passed': 'boolean', 'dependency_validation_passed': 'boolean', 'placeholder_files_remaining': 'string[]', 'verification_errors': 'string[]', 'verification_summary': 'object'}` - **Acceptance criteria:** (none) - **Success conditions:** (none)