# RMGR-INV-EXTRACT-0001 id: RMGR-INV-EXTRACT-0001 version: "0.1" status: draft-reviewable created: "2026-08-09" document: docs/state-hub-extraction-inventory_v0.1.md workplan_task: RMGR-WP-0001-T03 source_repo: state-hub candidates: - id: E-REG-01 source: api/models/managed_repo.py area: registration disposition: adapt contract: RepositorySnapshot - id: E-REG-02 source: api/routers/repos.py area: registration disposition: adapt contract: [GetRepository, ListRepositories, repo.register] - id: E-REG-03 source: POST /repos/{slug}/paths area: host_paths disposition: keep contract: repo.set_host_path - id: E-REG-04 source: api/classification.py area: classification disposition: keep - id: E-REG-05 source: scripts/register_from_classification.py area: registration disposition: adapt - id: E-REG-06 source: statehub_register.py area: onboarding disposition: adapt notes: split register from workplan seed; no id collision - id: E-REG-07 source: POST /repos/onboard area: onboarding disposition: adapt - id: E-REG-08 source: managed_repos.topic_id area: registration disposition: retire - id: E-PATH-01 source: resolve_repo_path area: host_paths disposition: keep - id: E-PATH-02 source: auto host_paths in fix-consistency area: host_paths disposition: adapt - id: E-PARSE-01 source: api/services/workplan_files.py area: parsing disposition: keep - id: E-PARSE-02 source: scripts/consistency_check.py parsers area: parsing disposition: keep - id: E-PARSE-03 source: C-31 work-record registry area: parsing disposition: keep - id: E-C-CORE source: scripts/consistency_check.py C-01..C-27 (minus inbox) area: consistency disposition: keep contract: repo.reconcile - id: E-C-INBOX source: C-28 C-29 C-25 area: consistency disposition: retire owner: hub-core - id: E-C-33 source: WORK-RECORDS.md generator area: consistency disposition: keep - id: E-WR-01 source: frontmatter/task patch helpers area: file_mutation disposition: keep contract: repo.work.update_task_status - id: E-WR-02 source: _git_commit_writeback area: file_mutation disposition: keep - id: E-WR-03 source: UUID inject writeback area: file_mutation disposition: adapt contract: repo.work.writeback_ids - id: E-WR-04 source: api/routers/reconciliation.py area: reconciliation disposition: adapt - id: E-WR-05 source: api/services/reconciliation.py area: reconciliation disposition: keep - id: E-DEP-01 source: workplan dependencies area: dependencies disposition: adapt - id: E-JOB-01 source: POST /consistency/sweep/remote-all area: jobs disposition: adapt owner_executor: activity-core - id: E-OUT-01 source: api/edge/outbox.py area: outbox disposition: adapt notes: optional offline; prefer edge/client - id: E-OUT-02 source: api/edge/relay.py area: outbox disposition: retire owner: hub-core-or-state-hub-edge compat_suites: - T-PARSE - T-C-RULES - T-WRITEBACK - T-HOST - T-REGISTER - T-RECON-MATRIX - T-DUAL-RUN phases: - id: P0 name: parser_and_reconcile_readonly - id: P1 name: registry_and_host_paths - id: P2 name: writeback_commands - id: P3 name: dual_run_adapter - id: P4 name: sbom_contrib_doi_goals - id: P5 name: state_hub_strangler_cutover