@chamba/core 0.5.0 → 0.5.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/dist/index.js +19 -0
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -634,6 +634,7 @@ var TESTS_RE = /\b(tests?|vitest|jest|spec|unit test|integration test)\b/i;
634
634
  var PLACEHOLDER_RE = /\b(todo|tbd|fixme|placeholder)\b/i;
635
635
  var DELETION_RE = /\b(delete[ds]?|deleting|remove[ds]?|removing|removal|drop(?:ping|s|ped)?|eliminat\w*|deprecat\w*|elimina\w*|borra\w*|quita\w*)\b/i;
636
636
  var ORPHAN_CHECK_RE = /\b(orphan\w*|dead[-\s]?code|unused\s+(?:export|import|symbol|function|code|reference)|referential|callers?|knip|ts-prune|depcheck|type-?check|typecheck|tsc|build\s+(?:passes|green|clean))\b/i;
637
+ var RESOLVED_MARKER_RE = /\b(answers?|answered|resolved|resuelt\w*|respuesta|respondid\w*|decidid\w*|confirmed|confirmad\w*)\b|→|=>/i;
637
638
  var DEFAULT_MODULES = /* @__PURE__ */ new Set([
638
639
  "packages",
639
640
  "examples",
@@ -728,6 +729,24 @@ function validatePlan(input) {
728
729
  "After removing code, verify nothing was orphaned: run the build/typecheck and a dead-code check (e.g. knip / ts-prune), not just a grep."
729
730
  );
730
731
  }
732
+ const openQuestions = [
733
+ .../* @__PURE__ */ new Set([
734
+ ...listItems(getSection(sec, "open question")),
735
+ ...listItems(getSection(sec, "preguntas abiertas")),
736
+ ...listItems(getSection(sec, "clarification"))
737
+ ])
738
+ ];
739
+ const unresolved = openQuestions.filter((q) => isConcrete(q) && !RESOLVED_MARKER_RE.test(q));
740
+ if (unresolved.length > 0) {
741
+ issues.push({
742
+ code: "unresolved-open-questions",
743
+ severity: "warning",
744
+ message: `${unresolved.length} open question(s) in the plan are unresolved. Ask the human and fold the answers in before executing.`
745
+ });
746
+ suggestions.push(
747
+ 'Resolve the "Open questions" with the human (or mark each one answered) before creating worktrees.'
748
+ );
749
+ }
731
750
  return { issues, suggestions, riskFlags };
732
751
  }
733
752
  function sections(plan) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@chamba/core",
3
- "version": "0.5.0",
3
+ "version": "0.5.2",
4
4
  "description": "Core logic for chamba: workspace scanner, plan + heuristic reviewer, git worktrees, Obsidian, memory — no Node APIs, no LLM",
5
5
  "license": "MIT",
6
6
  "type": "module",