Skip to content

refactor(pm): extract resolver into pm/resolver.cppm (PR-R4)#6

Merged
Sunrisepeak merged 1 commit intomainfrom
refactor/pm-r4-resolver
May 8, 2026
Merged

refactor(pm): extract resolver into pm/resolver.cppm (PR-R4)#6
Sunrisepeak merged 1 commit intomainfrom
refactor/pm-r4-resolver

Conversation

@Sunrisepeak
Copy link
Copy Markdown
Member

Summary

Step four of the pm subsystem refactor.
Strictly zero behavior change.

  • New module mcpp.pm.resolver (src/pm/resolver.cppm) owns
    resolve_semver, is_version_constraint, and the kXpkgPlatform
    constant — previously in cli.cppm's anonymous namespace.
  • cli.cppm drops the originals (~80 lines) and qualifies the two
    call sites with mcpp::pm::.

Test plan

  • mcpp build (worktree)
  • mcpp test — 9/9 unit binaries pass
  • e2e subset: 02 / 09 / 12 / 23 / 27 all pass
  • Full CI green

Step four of the package-management subsystem refactor described in
`.agents/docs/2026-05-08-pm-subsystem-architecture.md`. Strictly zero
behavior change.

* New module `mcpp.pm.resolver` (`src/pm/resolver.cppm`) owns
  `resolve_semver`, `is_version_constraint`, and the `kXpkgPlatform`
  constant — previously sitting in `cli.cppm`'s anonymous namespace.
  Same signatures, same error strings, same platform key picking.
* `cli.cppm` drops the originals (~80 lines) and qualifies the two
  call sites with `mcpp::pm::`.

Verification:
* `mcpp build` compiles unchanged.
* `mcpp test` — 9/9 unit binaries pass.
* e2e subset (02 / 09 / 12 / 23 / 27) all pass.
@Sunrisepeak Sunrisepeak merged commit 4a038a0 into main May 8, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant