@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 +12 -5
- package/dist/bin.js.map +1 -1
- package/dist/data/mcp.mjs +11 -4
- package/harness/assets/epic-template.md +8 -0
- package/harness/harness/lint.py +10 -2
- package/harness/harness/model.py +7 -0
- package/harness/test_work.py +29 -2
- package/package.json +5 -5
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
|
|
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 = "
|
|
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" : ""}`;
|