fix: oracle review fixes — resolver exit code, dead include, pointer compose

- Exit code: plan.missing.empty() ? 0 : 1 (was always returning 0)
- Removed dead <algorithm> include from plan.cpp
- BuildStep now composes config::ResolvedPackage instead of duplicating
  features/config fields; PackageDef stored as const pointer
This commit is contained in:
2026-07-30 00:47:50 -04:00
parent ee9f280346
commit 72e582eb15
2 changed files with 8 additions and 10 deletions
+5 -7
View File
@@ -1,7 +1,6 @@
#include "kappa/resolve/plan.hpp"
#include "kappa/config/merge.hpp"
#include <algorithm>
#include <queue>
namespace kappa::resolve {
@@ -23,15 +22,14 @@ BuildPlan resolve(const dsl::SystemConfig& cfg, const Registry& registry) {
BuildStep step;
step.name = pkg.name;
step.package = pkg;
step.features = resolved.features;
step.config = resolved.config;
step.package = &pkg;
step.resolved = std::move(resolved);
for (auto& dep : pkg.depends) {
if (!dep.feature.empty()) {
auto fit = step.features.find(dep.feature);
if (fit == step.features.end() || !fit->second.enabled) {
continue; // feature-gated and disabled
auto fit = step.resolved.features.find(dep.feature);
if (fit == step.resolved.features.end() || !fit->second.enabled) {
continue;
}
}
step.dependencies.push_back({dep.name, dep.version});