@appchy/jarvis 0.1.89 → 0.1.91

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.
package/dist/bin.js CHANGED
@@ -8478,14 +8478,14 @@ function planScope(ctx, req) {
8478
8478
  anticipated,
8479
8479
  editCodeNodes,
8480
8480
  governance,
8481
- obligations: toObligations(governance, anticipated),
8481
+ obligations: toObligations(governance, anticipated, testsCovering),
8482
8482
  references,
8483
8483
  testsCovering,
8484
8484
  blastRadius,
8485
8485
  lowConfidence
8486
8486
  };
8487
8487
  }
8488
- function toObligations(governance, existing = []) {
8488
+ function toObligations(governance, existing = [], keep = []) {
8489
8489
  const rules = governance.map((g) => {
8490
8490
  const full = g.body !== void 0;
8491
8491
  return {
@@ -8495,13 +8495,19 @@ function toObligations(governance, existing = []) {
8495
8495
  statement: full ? `Its full text is here. Say how the plan satisfies it, or why it does not apply.` : `Not read yet \u2014 only its title arrived. Read it, then say how the plan satisfies it.`
8496
8496
  };
8497
8497
  });
8498
+ const preserved = keep.map((c) => ({
8499
+ type: "keep",
8500
+ id: c.line === void 0 ? c.file : `${c.file}:${c.line}`,
8501
+ statement: `Passes over this code today. It must still pass \u2014 and it must not be the thing the plan changes to make it.`
8502
+ }));
8498
8503
  return [
8499
8504
  ...rules,
8500
8505
  ...existing.map((e) => ({
8501
8506
  type: "existing",
8502
8507
  id: e.line === void 0 ? e.file : `${e.file}:${e.line}`,
8503
8508
  statement: `Already in the tree and close to what was described. Reuse it, or say why the plan builds alongside it.`
8504
- }))
8509
+ })),
8510
+ ...preserved
8505
8511
  ];
8506
8512
  }
8507
8513
  function isCodeHit(hit) {
@@ -9131,7 +9137,8 @@ async function scope(ctx, req) {
9131
9137
  const topGov = plan.governance.filter((g) => g.body === void 0).slice(0, 3).map((g) => g.id).join(", ");
9132
9138
  const unread = plan.obligations.filter((o) => o.type === "governance" && !o.full).length;
9133
9139
  const reuse = plan.obligations.filter((o) => o.type === "existing").length;
9134
- const summary = plan.lowConfidence ? `Low-confidence (build-new) scope for "${req.task}": no code strongly matched \u2014 ${plan.anticipated.length} integration point(s) to READ, not edit; ${plan.governance.length} concept-matched governance. Lead with search + read.` : `Scoped "${req.task}": ${plan.editSet.length} edit target(s), ${plan.governance.length} governance, ${plan.testsCovering.length} covering test(s), blast radius ${plan.blastRadius.total} (${confidence})${topFiles ? ` \u2014 ${topFiles}` : ""}.${rules.ids > 0 && topGov ? ` ${rules.full} rule(s) came back in full; NEXT: read ${topGov} for the ${rules.ids} that did not,` : rules.full > 0 ? ` All ${rules.full} governing rule(s) came back in FULL \u2014 read them here, not with map_read;` : " NEXT:"} then check the edit-set with map_scope {edits} before you commit.${plan.obligations.length > 0 ? ` ${plan.obligations.length} obligation(s) outstanding${unread > 0 ? `, ${unread} rule(s) not yet read` : ""}${reuse > 0 ? `, ${reuse} thing(s) that already exist` : ""} \u2014 see \`obligations\`.` : ""}`;
9140
+ const keep = plan.obligations.filter((o) => o.type === "keep").length;
9141
+ const summary = plan.lowConfidence ? `Low-confidence (build-new) scope for "${req.task}": no code strongly matched \u2014 ${plan.anticipated.length} integration point(s) to READ, not edit; ${plan.governance.length} concept-matched governance. Lead with search + read.` : `Scoped "${req.task}": ${plan.editSet.length} edit target(s), ${plan.governance.length} governance, ${plan.testsCovering.length} covering test(s), blast radius ${plan.blastRadius.total} (${confidence})${topFiles ? ` \u2014 ${topFiles}` : ""}.${rules.ids > 0 && topGov ? ` ${rules.full} rule(s) came back in full; NEXT: read ${topGov} for the ${rules.ids} that did not,` : rules.full > 0 ? ` All ${rules.full} governing rule(s) came back in FULL \u2014 read them here, not with map_read;` : " NEXT:"} then check the edit-set with map_scope {edits} before you commit.${plan.obligations.length > 0 ? ` ${plan.obligations.length} obligation(s) outstanding${unread > 0 ? `, ${unread} rule(s) not yet read` : ""}${reuse > 0 ? `, ${reuse} thing(s) that already exist` : ""}${keep > 0 ? `, ${keep} that must keep passing` : ""} \u2014 see \`obligations\`.` : ""}`;
9135
9142
  return {
9136
9143
  summary,
9137
9144
  task: req.task,
@@ -10138,7 +10145,7 @@ import { createRequire as createRequire2 } from "module";
10138
10145
  var _require = createRequire2(import.meta.url);
10139
10146
  var VERSION2 = _require("../package.json").version ?? "0.0.0";
10140
10147
  var IS_DEV = String(_require("../package.json").name ?? "").endsWith("-dev");
10141
- var SHA = "ec7e216";
10148
+ var SHA = "eaa6a77";
10142
10149
  var BUILT = "2026-09-11";
10143
10150
  var BUILD = SHA ?? "source";
10144
10151
  var BUILD_LABEL = `${SHA ? `${VERSION2} (${SHA}${BUILT ? ` ${BUILT}` : ""})` : `${VERSION2} (source)`}${IS_DEV ? " \u2014 development build" : ""}`;