getprismo 0.1.40 → 0.1.41

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.
@@ -269,7 +269,12 @@ module.exports = function createAgent(deps) {
269
269
  || (parsed.command === "repair" ? parsed.args.find((arg) => !arg.startsWith("-")) : null);
270
270
  const causeExecutor = repairExecutors ? repairExecutors.forCause(targetCause) : null;
271
271
  if (causeExecutor) {
272
- return causeExecutor(action, root, { progress, parsed, options });
272
+ // The backend escalates a repair by queueing "repair <cause> --tier
273
+ // aggressive" when the previous repair's verdict was no-change/regressed.
274
+ const tierIndex = parsed.args.indexOf("--tier");
275
+ const tierArg = tierIndex >= 0 ? parsed.args[tierIndex + 1] : null;
276
+ const executorOptions = tierArg ? { ...options, tier: tierArg } : options;
277
+ return causeExecutor(action, root, { progress, parsed, options: executorOptions });
273
278
  }
274
279
 
275
280
  if (parsed.command === "doctor" || action.actionType === "doctor") {
@@ -771,12 +771,13 @@ function createCli(deps) {
771
771
  const separatorIndex = rest.indexOf("--");
772
772
  const ownArgs = separatorIndex >= 0 ? rest.slice(0, separatorIndex) : rest;
773
773
  const commandArgs = separatorIndex >= 0 ? rest.slice(separatorIndex + 1) : [];
774
- const positional = getPositionals(ownArgs, new Set(["--limit", "--budget", "--scope"]));
774
+ const positional = getPositionals(ownArgs, new Set(["--limit", "--budget", "--scope", "--tier"]));
775
775
  const cause = (positional[0] || "").toLowerCase();
776
776
  const target = positional[1] || process.cwd();
777
777
  const limitIndex = ownArgs.indexOf("--limit");
778
778
  const budgetIndex = ownArgs.indexOf("--budget");
779
779
  const scopeIndex = ownArgs.indexOf("--scope");
780
+ const tierIndex = ownArgs.indexOf("--tier");
780
781
  if (cause === "auto") {
781
782
  const result = await runPlannerOnce(target, {
782
783
  execute: !ownArgs.includes("--dry-run"),
@@ -791,6 +792,7 @@ function createCli(deps) {
791
792
  limit: parsePositiveInt(limitIndex >= 0 ? ownArgs[limitIndex + 1] : null, 5),
792
793
  tokenBudget: parseTokenBudget(budgetIndex >= 0 ? ownArgs[budgetIndex + 1] : null),
793
794
  scope: scopeIndex >= 0 ? ownArgs[scopeIndex + 1] : null,
795
+ tier: tierIndex >= 0 ? ownArgs[tierIndex + 1] : null,
794
796
  commandArgs,
795
797
  });
796
798
  if (json) console.log(JSON.stringify(result, null, 2));
@@ -33,7 +33,7 @@ Usage:
33
33
  prismo boundaries [codex|claude|cursor|all] [--json] [--limit N] [path]
34
34
  prismo usage [codex|claude|cursor|all] [--json] [--limit N] [path]
35
35
  prismo guard [codex|claude|cursor|all] [--json] [--watch] [--once] [--no-sync] [--dry-run] [--limit N] [--budget N] [--interval N] [path]
36
- prismo repair <cause|auto> [--json] [--dry-run] [--limit N] [--budget N] [--scope SCOPE] [path] [-- <command ...>]
36
+ prismo repair <cause|auto> [--json] [--dry-run] [--tier mild|aggressive] [--limit N] [--budget N] [--scope SCOPE] [path] [-- <command ...>]
37
37
  prismo watch [codex|claude|cursor|all] [--json] [--once] [--agents] [--report] [--rescue] [--guardrails] [--throttle] [--events] [--no-events] [--auto] [--budget N] [--redact-paths] [--interval N] [path]
38
38
  prismo demo
39
39
 
@@ -293,7 +293,7 @@ Output:
293
293
  repair: `PrismoDev Repair
294
294
 
295
295
  Usage:
296
- prismo repair <cause|auto> [--json] [--dry-run] [--limit N] [--budget N] [--scope SCOPE] [path] [-- <command ...>]
296
+ prismo repair <cause|auto> [--json] [--dry-run] [--tier mild|aggressive] [--limit N] [--budget N] [--scope SCOPE] [path] [-- <command ...>]
297
297
 
298
298
  Causes:
299
299
  repeated-file-reads Refresh ignore rules and context packs, and map hot files into .prismo/hot-files.md.
@@ -319,6 +319,7 @@ Output:
319
319
  no-change or regressed escalates to an aggressive tier (adds a context firewall policy and tighter budgets);
320
320
  a cause that already failed both tiers is held for review instead of being retried forever.
321
321
  --dry-run with auto prints the planner decision without executing.
322
+ --tier aggressive forces the stronger repair; cloud-queued actions carry it automatically after a no-change/regressed verdict.
322
323
  Repairs only write .prismo/ files and append ignore rules with backups; they never overwrite CLAUDE.md, AGENTS.md, .gitignore, or source code.`,
323
324
  watch: `Prismo Watch
324
325
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "getprismo",
3
- "version": "0.1.40",
3
+ "version": "0.1.41",
4
4
  "description": "Local AI coding workflow scanner for Codex, Claude Code, Cursor, and token-waste diagnostics.",
5
5
  "license": "MIT",
6
6
  "homepage": "https://github.com/shanirsh/prismodev#readme",