@tacuchi/agent-workflow-cli 21.8.0 → 21.10.0

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 (106) hide show
  1. package/dist/adapters/git-cli.js +217 -0
  2. package/dist/adapters/git-cli.js.map +1 -1
  3. package/dist/application/check-branch-service.js +48 -20
  4. package/dist/application/check-branch-service.js.map +1 -1
  5. package/dist/application/dev-only-services.js +53 -4
  6. package/dist/application/dev-only-services.js.map +1 -1
  7. package/dist/application/flow/advance.js +10 -3
  8. package/dist/application/flow/advance.js.map +1 -1
  9. package/dist/application/flow/flow-service.js +7 -0
  10. package/dist/application/flow/flow-service.js.map +1 -1
  11. package/dist/application/flow/internal-actions.js +74 -3
  12. package/dist/application/flow/internal-actions.js.map +1 -1
  13. package/dist/application/flow/internal-drive.js +1 -0
  14. package/dist/application/flow/internal-drive.js.map +1 -1
  15. package/dist/application/flow/run-projection.js +10 -4
  16. package/dist/application/flow/run-projection.js.map +1 -1
  17. package/dist/application/flow/submit.js +164 -15
  18. package/dist/application/flow/submit.js.map +1 -1
  19. package/dist/application/history-table.js +37 -0
  20. package/dist/application/history-table.js.map +1 -1
  21. package/dist/application/hook-branch-check.js +17 -0
  22. package/dist/application/hook-branch-check.js.map +1 -1
  23. package/dist/application/local-proposal.js +37 -0
  24. package/dist/application/local-proposal.js.map +1 -1
  25. package/dist/application/resume-service.js +1 -0
  26. package/dist/application/resume-service.js.map +1 -1
  27. package/dist/application/retirement/apply.js +448 -0
  28. package/dist/application/retirement/apply.js.map +1 -0
  29. package/dist/application/retirement/attribution.js +395 -0
  30. package/dist/application/retirement/attribution.js.map +1 -0
  31. package/dist/application/retirement/graph.js +196 -0
  32. package/dist/application/retirement/graph.js.map +1 -0
  33. package/dist/application/retirement/history-events.js +158 -0
  34. package/dist/application/retirement/history-events.js.map +1 -0
  35. package/dist/application/retirement/journal.js +113 -0
  36. package/dist/application/retirement/journal.js.map +1 -0
  37. package/dist/application/retirement/prepare.js +233 -0
  38. package/dist/application/retirement/prepare.js.map +1 -0
  39. package/dist/application/retirement/preview.js +101 -0
  40. package/dist/application/retirement/preview.js.map +1 -0
  41. package/dist/application/retirement/resolve.js +356 -0
  42. package/dist/application/retirement/resolve.js.map +1 -0
  43. package/dist/application/session-close-service.js +108 -14
  44. package/dist/application/session-close-service.js.map +1 -1
  45. package/dist/application/session-create-service.js +103 -12
  46. package/dist/application/session-create-service.js.map +1 -1
  47. package/dist/application/session-custody-recorder.js +137 -0
  48. package/dist/application/session-custody-recorder.js.map +1 -0
  49. package/dist/application/session-custody-service.js +171 -0
  50. package/dist/application/session-custody-service.js.map +1 -0
  51. package/dist/application/session-resolver.js +21 -0
  52. package/dist/application/session-resolver.js.map +1 -1
  53. package/dist/application/status-service.js +5 -0
  54. package/dist/application/status-service.js.map +1 -1
  55. package/dist/application/workline-index-service.js +31 -0
  56. package/dist/application/workline-index-service.js.map +1 -1
  57. package/dist/application/worktree-service.js +247 -34
  58. package/dist/application/worktree-service.js.map +1 -1
  59. package/dist/cli/commands/check-branch.js +9 -5
  60. package/dist/cli/commands/check-branch.js.map +1 -1
  61. package/dist/cli/commands/dev-only.js +21 -2
  62. package/dist/cli/commands/dev-only.js.map +1 -1
  63. package/dist/cli/commands/flow.js +6 -2
  64. package/dist/cli/commands/flow.js.map +1 -1
  65. package/dist/cli/commands/index.js +6 -0
  66. package/dist/cli/commands/index.js.map +1 -1
  67. package/dist/cli/commands/retirement.js +137 -0
  68. package/dist/cli/commands/retirement.js.map +1 -0
  69. package/dist/cli/commands/session-close.js +12 -1
  70. package/dist/cli/commands/session-close.js.map +1 -1
  71. package/dist/cli/commands/session-create.js +4 -1
  72. package/dist/cli/commands/session-create.js.map +1 -1
  73. package/dist/cli/commands/sources.js +8 -4
  74. package/dist/cli/commands/sources.js.map +1 -1
  75. package/dist/cli/commands/worktree.js +14 -7
  76. package/dist/cli/commands/worktree.js.map +1 -1
  77. package/dist/cli/help-groups.js +4 -0
  78. package/dist/cli/help-groups.js.map +1 -1
  79. package/dist/cli/parser.js +26 -0
  80. package/dist/cli/parser.js.map +1 -1
  81. package/dist/domain/flow/answer.js +72 -4
  82. package/dist/domain/flow/answer.js.map +1 -1
  83. package/dist/domain/flow/authority.js +219 -47
  84. package/dist/domain/flow/authority.js.map +1 -1
  85. package/dist/domain/flow/rules.js +8 -1
  86. package/dist/domain/flow/rules.js.map +1 -1
  87. package/dist/domain/flow/run-state.js +34 -1
  88. package/dist/domain/flow/run-state.js.map +1 -1
  89. package/dist/domain/reservation.js +33 -0
  90. package/dist/domain/reservation.js.map +1 -0
  91. package/dist/domain/retirement/proposal.js +83 -0
  92. package/dist/domain/retirement/proposal.js.map +1 -0
  93. package/dist/domain/retirement/selector.js +109 -0
  94. package/dist/domain/retirement/selector.js.map +1 -0
  95. package/dist/domain/session/custody.js +176 -0
  96. package/dist/domain/session/custody.js.map +1 -0
  97. package/dist/domain/workline-node.js +56 -0
  98. package/dist/domain/workline-node.js.map +1 -0
  99. package/package.json +1 -1
  100. package/skills/w/commands/discard.md +49 -0
  101. package/skills/w/commands/reset.md +50 -0
  102. package/skills/w/context/MANIFEST.json +147 -139
  103. package/skills/w/loops/CODE-POLICIES.md +9 -9
  104. package/skills/w/loops/plan-exec-loop/LOOP.md +23 -13
  105. package/skills/w/loops/plan-new-loop/LOOP.md +1 -1
  106. package/skills/w/modules/PLAN-INPUT.md +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"check-branch.js","sourceRoot":"","sources":["../../../src/cli/commands/check-branch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAC;AAE3E,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAmB,SAAS,EAAE,MAAM,cAAc,CAAC;AAI1D,MAAM,CAAC,MAAM,kBAAkB,GAAe;IAC5C,IAAI,EAAE,cAAc;IACpB,QAAQ,EAAE,iDAAiD;IAC3D,KAAK,CAAC,OAAO,CAAC,IAAgB,EAAE,GAAe;QAC7C,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACxC,2EAA2E;QAC3E,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACxC,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACxC,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAE1C,MAAM,KAAK,GAAyC,EAAE,CAAC;QACvD,IAAI,KAAK,KAAK,SAAS;YAAE,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;QAC7C,IAAI,OAAO,KAAK,SAAS;YAAE,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;QACnD,IAAI,OAAO,KAAK,SAAS;YAAE,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;QACnD,IAAI,OAAO,KAAK,SAAS;YAAE,KAAK,CAAC,WAAW,GAAG,OAAO,CAAC;QACvD,MAAM,SAAS,GAAG,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACzC,IAAI,SAAS,KAAK,SAAS;YAAE,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;QAEzD,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC9E,MAAM,IAAI,GAAc,MAAM,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/D,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC5C,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"check-branch.js","sourceRoot":"","sources":["../../../src/cli/commands/check-branch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAC;AAE3E,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAmB,SAAS,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE3E,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAGpC,MAAM,CAAC,MAAM,kBAAkB,GAAe;IAC5C,IAAI,EAAE,cAAc;IACpB,QAAQ,EACN,wIAAwI;QACxI,oFAAoF;IACtF,KAAK,CAAC,OAAO,CAAC,IAAgB,EAAE,GAAe;QAC7C,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACxC,2EAA2E;QAC3E,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACxC,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACxC,MAAM,OAAO,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,CAAC,OAAO,CAAC,EAAE;YAAE,OAAO,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QAC3F,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAE1C,MAAM,KAAK,GAAyC,EAAE,CAAC;QACvD,IAAI,KAAK,KAAK,SAAS;YAAE,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;QAC7C,IAAI,OAAO,KAAK,SAAS;YAAE,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;QACnD,IAAI,OAAO,KAAK,SAAS;YAAE,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;QACnD,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS;YAAE,KAAK,CAAC,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;QACjE,MAAM,SAAS,GAAG,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACzC,IAAI,SAAS,KAAK,SAAS;YAAE,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;QAEzD,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC9E,MAAM,IAAI,GAAc,MAAM,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/D,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC5C,CAAC;CACF,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import { isHarnessId, runHarness, runLogs, runNextNumber, runProfiles, } from "../../application/dev-only-services.js";
2
+ import { resolveSessionTarget } from "../../application/session-resolver.js";
2
3
  import { HARNESSES } from "../../domain/harnesses.js";
3
4
  import { fail } from "../render.js";
4
5
  // Derived from the catalog: the describe used to name two hosts out of seven.
@@ -41,11 +42,11 @@ export const logsCommand = {
41
42
  };
42
43
  export const nextNumberCommand = {
43
44
  name: "next-number",
44
- describe: "Compute next NNN correlative for a directory, creating it when missing. With --claim <resto-del-nombre> the number is CLAIMED instead of consulted: the file is materialized under the workspace lock, so two concurrent flows never receive the same NNN. Usage: aw next-number <directorio> [--claim <resto-del-nombre>] [--dry-run].",
45
+ describe: "Compute next NNN correlative for a directory, creating it when missing. With --claim <resto-del-nombre> the number is CLAIMED instead of consulted: the file is materialized under the workspace lock, so two concurrent flows never receive the same NNN. With --code <NNN> the reservation BELONGS to that session — only its own sealed proposal can complete it, asking again returns the same slot, and closing the session releases it if it never did. Usage: aw next-number <directorio> [--claim <resto-del-nombre>] [--code <NNN>] [--dry-run].",
45
46
  async execute(args, ctx) {
46
47
  const dir = args.rest[0];
47
48
  if (!dir) {
48
- const usage = "uso: next-number <directorio> [--claim <resto-del-nombre>] [--dry-run]";
49
+ const usage = "uso: next-number <directorio> [--claim <resto-del-nombre>] [--code <NNN>] [--dry-run]";
49
50
  return fail("INVALID_INPUT", usage, { error: usage });
50
51
  }
51
52
  const claim = args.values.get("claim");
@@ -53,10 +54,28 @@ export const nextNumberCommand = {
53
54
  const message = "--claim y --dry-run se excluyen: un reclamo escribe, una consulta no";
54
55
  return fail("INVALID_INPUT", message, { error: message });
55
56
  }
57
+ const code = args.values.get("code");
58
+ if (code !== undefined && claim === undefined) {
59
+ const message = "--code sólo tiene sentido con --claim: una consulta no reserva nada";
60
+ return fail("INVALID_INPUT", message, { error: message });
61
+ }
62
+ // Asking for an owner and getting an anonymous slot instead is the one
63
+ // outcome that must not happen quietly: the caller would believe its run
64
+ // holds a reservation nobody can attribute to it.
65
+ let owner;
66
+ if (code !== undefined) {
67
+ const resolution = await resolveSessionTarget(ctx.fs, ctx.paths, { code });
68
+ if (resolution.outcome !== "resolved") {
69
+ const message = `no se pudo resolver la sesión '${code}' que reclamaría el correlativo`;
70
+ return fail("INVALID_INPUT", message, { error: message, sessionError: resolution });
71
+ }
72
+ owner = resolution.session.folder;
73
+ }
56
74
  const data = await runNextNumber(ctx.fs, ctx.env, ctx.paths, {
57
75
  directory: dir,
58
76
  dryRun: args.flags.has("--dry-run"),
59
77
  ...(claim !== undefined ? { claim } : {}),
78
+ ...(owner !== undefined ? { owner } : {}),
60
79
  });
61
80
  return { ok: true, data, exitCode: 0 };
62
81
  },
@@ -1 +1 @@
1
- {"version":3,"file":"dev-only.js","sourceRoot":"","sources":["../../../src/cli/commands/dev-only.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dev-only.js","sourceRoot":"","sources":["../../../src/cli/commands/dev-only.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ import { internalActionExecutor } from "../../application/flow/internal-actions.
5
5
  import { submitFlow } from "../../application/flow/submit.js";
6
6
  import { renderDirectiveHuman } from "../../domain/flow/directive.js";
7
7
  import { readContextId, readRequiredStdin } from "../context-id.js";
8
+ import { sessionCodeFlag } from "../parser.js";
8
9
  import { fail, failSemantic, failSessionResolution } from "../render.js";
9
10
  /**
10
11
  * The deterministic direction engine, as a public command.
@@ -37,10 +38,13 @@ export const flowCommand = {
37
38
  if (flow !== undefined && !WORKLINE_FLOWS.includes(flow)) {
38
39
  return fail("ARGS_INVALID", `--flow no reconoce '${flow}'; los flows son: ${WORKLINE_FLOWS.join(", ")}`);
39
40
  }
40
- const code = args.values.get("session");
41
+ const named = sessionCodeFlag(args);
42
+ if (!named.ok) {
43
+ return fail("ARGS_INVALID", named.message);
44
+ }
41
45
  const contextId = readContextId(ctx.env);
42
46
  const session = {
43
- ...(code !== undefined ? { code } : {}),
47
+ ...(named.code !== undefined ? { code: named.code } : {}),
44
48
  ...(contextId !== undefined ? { contextId } : {}),
45
49
  };
46
50
  // Only `submit` reads stdin: an `advance` that waited on a pipe would hang a
@@ -1 +1 @@
1
- {"version":3,"file":"flow.js","sourceRoot":"","sources":["../../../src/cli/commands/flow.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"flow.js","sourceRoot":"","sources":["../../../src/cli/commands/flow.ts"],"names":[],"mappings":"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"}
@@ -32,6 +32,7 @@ import { releaseDataCommand } from "./release-data.js";
32
32
  import { removeSourceCommand } from "./remove-source.js";
33
33
  import { resumeSummaryCommand } from "./resume-summary.js";
34
34
  import { resumeCommand } from "./resume.js";
35
+ import { discardCommand, resetCommand } from "./retirement.js";
35
36
  import { selfCommand } from "./self.js";
36
37
  import { sessionArtifactsCommand } from "./session-artifacts.js";
37
38
  import { sessionCloseCommand } from "./session-close.js";
@@ -90,6 +91,11 @@ export const ALL_COMMANDS = [
90
91
  profilesCommand,
91
92
  logsCommand,
92
93
  nextNumberCommand,
94
+ // Retirement: the two cross-cutting commands that take work away. They open no
95
+ // flow and create no session, because a retirement can end by deleting the very
96
+ // session that drove it.
97
+ discardCommand,
98
+ resetCommand,
93
99
  bootstrapDsnCommand,
94
100
  codeScanCommand,
95
101
  pluginCacheCommand,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/commands/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/commands/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,137 @@
1
+ /**
2
+ * `aw discard` and `aw reset`: the two surfaces of one retirement contract.
3
+ *
4
+ * Both are CROSS-CUTTING commands, and deliberately so: neither opens a
5
+ * WorklineFlow nor creates a session. A retirement can end by deleting the very
6
+ * session that drove it, so a run of its own would be a run that erases its own
7
+ * state mid-flight — the one shape this feature must not have.
8
+ *
9
+ * `prepare` is read-only and answers with the sealed proposal plus its digest.
10
+ * `apply` demands that digest back, RE-computes everything under the workspace
11
+ * lock, and only then delegates to the coordinator. Approving is not applying, and
12
+ * the digest is what makes those two the same decision rather than two.
13
+ *
14
+ * The two verbs share every rule; what differs is the mode, which is the whole
15
+ * reason they are two commands and not one with a flag: `discard` takes work away
16
+ * and `reset` puts a document back, and a person typing the wrong one should be
17
+ * typing a different WORD, not a different option.
18
+ */
19
+ import { applyRetirement } from "../../application/retirement/apply.js";
20
+ import { prepareRetirement } from "../../application/retirement/prepare.js";
21
+ import { renderRetirementPreview, retirementPreview, } from "../../application/retirement/preview.js";
22
+ const ACTIONS = new Set(["prepare", "apply"]);
23
+ /**
24
+ * A refusal, in this command's own result type.
25
+ *
26
+ * The diagnostic detail travels in the ERROR and not in `data`, because `data` is
27
+ * this command's output shape and a rejection is not a retirement. Conflating them
28
+ * would let a caller read a refusal as if it were a result.
29
+ */
30
+ function refuse(code, message, detail) {
31
+ return { ok: false, error: { code, message, ...asDetail(detail) }, exitCode: 1 };
32
+ }
33
+ function asDetail(detail) {
34
+ return detail !== null && typeof detail === "object"
35
+ ? { details: detail }
36
+ : {};
37
+ }
38
+ function usage(mode) {
39
+ return `uso: ${mode} prepare <objetivo> | ${mode} apply <objetivo> --approval <digest>`;
40
+ }
41
+ function retirementCommand(mode) {
42
+ return {
43
+ name: mode,
44
+ describe: describeOf(mode),
45
+ async execute(args, ctx) {
46
+ const action = args.rest[0];
47
+ const target = args.rest[1];
48
+ if (action === undefined || !ACTIONS.has(action) || target === undefined) {
49
+ return refuse("INVALID_INPUT", usage(mode), { error: usage(mode) });
50
+ }
51
+ const deps = { fs: ctx.fs, env: ctx.env, git: ctx.git, paths: ctx.paths };
52
+ if (action === "prepare") {
53
+ const outcome = await prepareRetirement(deps, { mode, target });
54
+ if (!outcome.ok) {
55
+ return refuse(outcome.rejection.code, outcome.rejection.message, outcome.rejection);
56
+ }
57
+ const preview = retirementPreview(outcome.proposal);
58
+ return {
59
+ ok: true,
60
+ data: {
61
+ mode,
62
+ action: "prepare",
63
+ digest: outcome.proposal.digest,
64
+ preview,
65
+ next: `aw ${mode} apply ${target} --approval ${outcome.proposal.digest}`,
66
+ },
67
+ exitCode: 0,
68
+ };
69
+ }
70
+ const approval = args.values.get("approval");
71
+ if (approval === undefined || approval.trim().length === 0) {
72
+ const missing = `${mode} apply exige --approval <digest>: corré '${mode} prepare ${target}' y aprobá el digest que muestra`;
73
+ return refuse("APPROVAL_REQUIRED", missing, { error: missing });
74
+ }
75
+ const applied = await applyRetirement(deps, { mode, target, approval: approval.trim() });
76
+ if (!applied.ok) {
77
+ return refuse(applied.rejection.code, applied.rejection.message, applied.rejection);
78
+ }
79
+ return { ok: true, data: { action: "apply", ...applied.result }, exitCode: 0 };
80
+ },
81
+ renderHuman(result, context) {
82
+ return render(mode, result, context);
83
+ },
84
+ };
85
+ }
86
+ function describeOf(mode) {
87
+ const shared = "Cross-cutting: it opens no flow and creates no session. `prepare` is read-only and returns the sealed proposal + its digest; " +
88
+ "`apply` requires that digest, recomputes everything under the workspace lock and converges all-or-nothing. " +
89
+ "Local changes attributable to the scope are discarded; commits are only reverted as new commits, never rewritten, and no push happens.";
90
+ return mode === "discard"
91
+ ? `Retire a spec, plan, quick or session together with every descendant it exclusively owns. ${shared} Usage: aw discard prepare|apply <spec:NNN|plan:PPP|quick:NNN|session:NNN|ruta> [--approval <digest>].`
92
+ : `Return an incomplete session's inputs to the exact bytes they had before it ran, and retire the session with its outputs. ${shared} Usage: aw reset prepare|apply <plan:PPP|session:NNN|ruta> [--approval <digest>].`;
93
+ }
94
+ /**
95
+ * The human projection of the SAME result the JSON carries.
96
+ *
97
+ * A terminal reader and an agent host must be able to differ in shape and never in
98
+ * scope, so this only chooses a rendering — it re-derives nothing.
99
+ */
100
+ function render(mode, result, context) {
101
+ if (!result.ok || result.data === undefined)
102
+ return "";
103
+ const data = result.data;
104
+ if (data.action === "prepare") {
105
+ const lines = [renderRetirementPreview(data.preview)];
106
+ if (data.preview.touches_git_history) {
107
+ lines.push("", "Aprobar esto AUTORIZA commits: se agregan reverts a la rama de arriba. Los originales siguen alcanzables y ningún push ocurre.");
108
+ }
109
+ lines.push("", `Para aplicar exactamente esto:\n ${data.next}`);
110
+ return lines.join("\n");
111
+ }
112
+ const lines = [
113
+ data.already_applied
114
+ ? `${mode}: la operación ya estaba aplicada; esta corrida sólo la terminó.`
115
+ : `${mode} aplicado: ${data.target}`,
116
+ ];
117
+ if (data.removed.length > 0)
118
+ lines.push(`Retirado: ${data.removed.join(", ")}`);
119
+ if (data.restored.length > 0)
120
+ lines.push(`Restaurado: ${data.restored.join(", ")}`);
121
+ if (data.published !== null) {
122
+ lines.push(`Publicado en ${data.published.ref}: ${data.published.to.slice(0, 12)}`);
123
+ }
124
+ if (data.pending_remote_publication.length > 0) {
125
+ lines.push(`Pendiente y externo: publicar el revert de ${data.pending_remote_publication.join(", ")} (el retiro nunca pushea)`);
126
+ }
127
+ if (data.pending_reconciliation.length > 0) {
128
+ lines.push(`Sin reconciliar: ${data.pending_reconciliation.join(", ")} — la unidad tiene trabajo sin commitear y no se fuerza`);
129
+ }
130
+ if (context.detail) {
131
+ lines.push(`Digest: ${data.digest}`, `Asociaciones invalidadas: ${data.bindings_invalidated}`, `Unidades devueltas: ${data.units_released.length}`);
132
+ }
133
+ return lines.join("\n");
134
+ }
135
+ export const discardCommand = retirementCommand("discard");
136
+ export const resetCommand = retirementCommand("reset");
137
+ //# sourceMappingURL=retirement.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retirement.js","sourceRoot":"","sources":["../../../src/cli/commands/retirement.ts"],"names":[],"mappings":"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"}
@@ -17,12 +17,23 @@ export const sessionCloseCommand = {
17
17
  // be the one way a flow's uncommitted-upstream work disappears from view.
18
18
  const data = await runSessionClose(ctx.fs, ctx.paths, input, async () => {
19
19
  const listed = await runWorktree({ fs: ctx.fs, env: ctx.env, git: ctx.git, paths: ctx.paths }, { action: "list" });
20
- return "units" in listed ? listed.units : [];
20
+ // Never the reassuring half: an unreadable list comes back as the error the
21
+ // receipt reports, not as "this session held nothing".
22
+ if (!("units" in listed))
23
+ throw new Error(JSON.stringify(listed));
24
+ return listed.units;
21
25
  });
22
26
  if ("sessionError" in data)
23
27
  return failSessionResolution(data.sessionError);
24
28
  if ("error" in data)
25
29
  return fail(data.code ?? "INVALID_INPUT", data.error, data);
30
+ // Unreachable from here on purpose: this surface never asks for the refusal
31
+ // (see `requireIntegrated`). It is handled rather than cast away so the day
32
+ // somebody wires the flag through, the command answers with the remedy
33
+ // instead of crashing on a shape it never expected.
34
+ if ("sessionHeld" in data) {
35
+ return fail("SESSION_UNITS_PENDING", data.sessionHeld.reason, data.sessionHeld);
36
+ }
26
37
  return { ok: true, data: data.sessionClose, exitCode: 0 };
27
38
  },
28
39
  };
@@ -1 +1 @@
1
- {"version":3,"file":"session-close.js","sourceRoot":"","sources":["../../../src/cli/commands/session-close.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,eAAe,GAChB,MAAM,4CAA4C,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAC;AAIpE,OAAO,EAAE,IAAI,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAG3D,MAAM,CAAC,MAAM,mBAAmB,GAAe;IAC7C,IAAI,EAAE,eAAe;IACrB,QAAQ,EACN,6HAA6H;QAC7H,0DAA0D;IAC5D,KAAK,CAAC,OAAO,CAAC,IAAgB,EAAE,GAAe;QAC7C,MAAM,KAAK,GAAsB,EAAE,CAAC;QACpC,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACrC,IAAI,IAAI,KAAK,SAAS;YAAE,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;QAC1C,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACrC,IAAI,IAAI,KAAK,SAAS;YAAE,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;QAE1C,2EAA2E;QAC3E,0EAA0E;QAC1E,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,IAAI,EAAE;YACtE,MAAM,MAAM,GAAG,MAAM,WAAW,CAC9B,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,EAC5D,EAAE,MAAM,EAAE,MAAM,EAAE,CACnB,CAAC;YACF,OAAO,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/C,CAAC,CAAC,CAAC;QACH,IAAI,cAAc,IAAI,IAAI;YAAE,OAAO,qBAAqB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC5E,IAAI,OAAO,IAAI,IAAI;YAAE,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,eAAe,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACjF,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,YAAY,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;IAC5D,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"session-close.js","sourceRoot":"","sources":["../../../src/cli/commands/session-close.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,eAAe,GAChB,MAAM,4CAA4C,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAC;AAIpE,OAAO,EAAE,IAAI,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAG3D,MAAM,CAAC,MAAM,mBAAmB,GAAe;IAC7C,IAAI,EAAE,eAAe;IACrB,QAAQ,EACN,6HAA6H;QAC7H,0DAA0D;IAC5D,KAAK,CAAC,OAAO,CAAC,IAAgB,EAAE,GAAe;QAC7C,MAAM,KAAK,GAAsB,EAAE,CAAC;QACpC,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACrC,IAAI,IAAI,KAAK,SAAS;YAAE,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;QAC1C,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACrC,IAAI,IAAI,KAAK,SAAS;YAAE,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;QAE1C,2EAA2E;QAC3E,0EAA0E;QAC1E,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,IAAI,EAAE;YACtE,MAAM,MAAM,GAAG,MAAM,WAAW,CAC9B,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,EAC5D,EAAE,MAAM,EAAE,MAAM,EAAE,CACnB,CAAC;YACF,4EAA4E;YAC5E,uDAAuD;YACvD,IAAI,CAAC,CAAC,OAAO,IAAI,MAAM,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;YAClE,OAAO,MAAM,CAAC,KAAK,CAAC;QACtB,CAAC,CAAC,CAAC;QACH,IAAI,cAAc,IAAI,IAAI;YAAE,OAAO,qBAAqB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC5E,IAAI,OAAO,IAAI,IAAI;YAAE,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,eAAe,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACjF,4EAA4E;QAC5E,4EAA4E;QAC5E,uEAAuE;QACvE,oDAAoD;QACpD,IAAI,aAAa,IAAI,IAAI,EAAE,CAAC;YAC1B,OAAO,IAAI,CAAC,uBAAuB,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAClF,CAAC;QACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,YAAY,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;IAC5D,CAAC;CACF,CAAC"}
@@ -3,9 +3,12 @@ import { readContextId } from "../context-id.js";
3
3
  import { fail } from "../render.js";
4
4
  export const sessionCreateCommand = {
5
5
  name: "session-create",
6
- describe: "Create an internal session folder + SESSION.md. Flags: --type {research|refine|exec|quick} --name <folder> --objetivo <text> [--from <origin>].",
6
+ describe: "Create an internal session folder + SESSION.md and seal its custody (typed parents + byte-exact baseline of every declared input). Flags: --type {research|refine|exec|quick} --name <folder> --objetivo <text> [--from <origin>] [--input <ruta-relativa> (repeatable)].",
7
7
  async execute(args, ctx) {
8
8
  const input = {};
9
+ const inputs = args.valuesMulti.get("input");
10
+ if (inputs !== undefined)
11
+ input.inputs = inputs;
9
12
  const type = args.values.get("type");
10
13
  if (type !== undefined)
11
14
  input.type = type;
@@ -1 +1 @@
1
- {"version":3,"file":"session-create.js","sourceRoot":"","sources":["../../../src/cli/commands/session-create.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,gBAAgB,GACjB,MAAM,6CAA6C,CAAC;AAErD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAGjD,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAGpC,MAAM,CAAC,MAAM,oBAAoB,GAAe;IAC9C,IAAI,EAAE,gBAAgB;IACtB,QAAQ,EACN,iJAAiJ;IACnJ,KAAK,CAAC,OAAO,CAAC,IAAgB,EAAE,GAAe;QAC7C,MAAM,KAAK,GAAuB,EAAE,CAAC;QACrC,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACrC,IAAI,IAAI,KAAK,SAAS;YAAE,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;QAC1C,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACrC,IAAI,IAAI,KAAK,SAAS;YAAE,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;QAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC7C,IAAI,QAAQ,KAAK,SAAS;YAAE,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACtD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACrC,IAAI,IAAI,KAAK,SAAS;YAAE,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC;QAC/C,MAAM,SAAS,GAAG,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACzC,IAAI,SAAS,KAAK,SAAS;YAAE,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;QAEzD,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC9D,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;YACpB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,eAAe,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAC9D,CAAC;QACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,aAAa,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;IAC7D,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"session-create.js","sourceRoot":"","sources":["../../../src/cli/commands/session-create.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,gBAAgB,GACjB,MAAM,6CAA6C,CAAC;AAErD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAGjD,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAGpC,MAAM,CAAC,MAAM,oBAAoB,GAAe;IAC9C,IAAI,EAAE,gBAAgB;IACtB,QAAQ,EACN,2QAA2Q;IAC7Q,KAAK,CAAC,OAAO,CAAC,IAAgB,EAAE,GAAe;QAC7C,MAAM,KAAK,GAAuB,EAAE,CAAC;QACrC,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC7C,IAAI,MAAM,KAAK,SAAS;YAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;QAChD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACrC,IAAI,IAAI,KAAK,SAAS;YAAE,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;QAC1C,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACrC,IAAI,IAAI,KAAK,SAAS;YAAE,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;QAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC7C,IAAI,QAAQ,KAAK,SAAS;YAAE,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACtD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACrC,IAAI,IAAI,KAAK,SAAS;YAAE,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC;QAC/C,MAAM,SAAS,GAAG,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACzC,IAAI,SAAS,KAAK,SAAS;YAAE,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;QAEzD,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC9D,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;YACpB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,eAAe,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAC9D,CAAC;QACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,aAAa,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;IAC7D,CAAC;CACF,CAAC"}
@@ -1,16 +1,20 @@
1
1
  import { runSources } from "../../application/sources-service.js";
2
+ import { sessionCodeFlag } from "../parser.js";
3
+ import { fail } from "../render.js";
2
4
  export const sourcesCommand = {
3
5
  name: "sources",
4
6
  describe: "List sources from <NS>-PROJECT block with git status enrichment. " +
5
- "Usage: aw sources [--scope <scope>] [--session <code>] [--no-git] [--verbose].",
7
+ "Usage: aw sources [--scope <scope>] [--code <NNN>] [--no-git] [--verbose].",
6
8
  async execute(args, ctx) {
7
- const session = args.values.get("session");
9
+ const session = sessionCodeFlag(args);
10
+ if (!session.ok)
11
+ return fail("INVALID_INPUT", session.message, { error: session.message });
8
12
  const scopeRaw = args.values.get("scope");
9
13
  const skipGit = args.flags.has("--no-git");
10
14
  const verbose = args.flags.has("--verbose");
11
15
  const input = {};
12
- if (session !== undefined)
13
- input.sessionCode = session;
16
+ if (session.code !== undefined)
17
+ input.sessionCode = session.code;
14
18
  if (scopeRaw !== undefined) {
15
19
  input.scope = scopeRaw
16
20
  .split(",")
@@ -1 +1 @@
1
- {"version":3,"file":"sources.js","sourceRoot":"","sources":["../../../src/cli/commands/sources.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sCAAsC,CAAC;AAMlE,MAAM,CAAC,MAAM,cAAc,GAAe;IACxC,IAAI,EAAE,SAAS;IACf,QAAQ,EACN,mEAAmE;QACnE,gFAAgF;IAClF,KAAK,CAAC,OAAO,CAAC,IAAgB,EAAE,GAAe;QAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC5C,MAAM,KAAK,GAAqC,EAAE,CAAC;QACnD,IAAI,OAAO,KAAK,SAAS;YAAE,KAAK,CAAC,WAAW,GAAG,OAAO,CAAC;QACvD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,KAAK,CAAC,KAAK,GAAG,QAAQ;iBACnB,KAAK,CAAC,GAAG,CAAC;iBACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;iBACpB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACjC,CAAC;QACD,IAAI,OAAO;YAAE,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;QAClC,IAAI,OAAO;YAAE,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;QAClC,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC1E,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;IACzC,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"sources.js","sourceRoot":"","sources":["../../../src/cli/commands/sources.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sCAAsC,CAAC;AAElE,OAAO,EAAmB,eAAe,EAAE,MAAM,cAAc,CAAC;AAEhE,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAGpC,MAAM,CAAC,MAAM,cAAc,GAAe;IACxC,IAAI,EAAE,SAAS;IACf,QAAQ,EACN,mEAAmE;QACnE,4EAA4E;IAC9E,KAAK,CAAC,OAAO,CAAC,IAAgB,EAAE,GAAe;QAC7C,MAAM,OAAO,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,CAAC,OAAO,CAAC,EAAE;YAAE,OAAO,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QAC3F,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC5C,MAAM,KAAK,GAAqC,EAAE,CAAC;QACnD,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS;YAAE,KAAK,CAAC,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;QACjE,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,KAAK,CAAC,KAAK,GAAG,QAAQ;iBACnB,KAAK,CAAC,GAAG,CAAC;iBACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;iBACpB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACjC,CAAC;QACD,IAAI,OAAO;YAAE,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;QAClC,IAAI,OAAO;YAAE,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;QAClC,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC1E,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;IACzC,CAAC;CACF,CAAC"}
@@ -1,14 +1,16 @@
1
1
  import { runWorktree } from "../../application/worktree-service.js";
2
2
  import { readContextId } from "../context-id.js";
3
- import { flagValue } from "../parser.js";
3
+ import { flagValue, sessionCodeFlag } from "../parser.js";
4
4
  import { fail } from "../render.js";
5
5
  const ACTIONS = new Set(["ensure", "list", "release", "integrate"]);
6
6
  export const worktreeCommand = {
7
7
  name: "worktree",
8
8
  describe: "Isolation unit of a flow: one git worktree of a source on its own branch, so concurrent flows never share a working tree. " +
9
9
  "The unit lives at ~/<ns>/worktrees/<workspace>/<alias>/<session> on branch aw/<session>; the path IS the registry and " +
10
- "`git worktree list` its live view. `integrate` merges the flow's branch into the source's declared working branch and gives the unit back; " +
11
- "a conflict is reported with its files and routed to `aw fix-git --path`, never resolved on its own. " +
10
+ "`git worktree list` its live view. `integrate` merges the flow's branch into the source's declared working branch and gives the unit back " +
11
+ "one source with --source, or every unit of the session in alias order with only --code; a conflict is reported with its plan, files and " +
12
+ "source path and routed to `aw fix-git --path`, never resolved on its own. " +
13
+ "`list` shows every unit and orphan of the workspace, or only one session's with --code, each with its branch, dirty state and HEAD. " +
12
14
  "Usage: aw worktree ensure|list|release|integrate [--source <alias>] [--code <NNN>].",
13
15
  async execute(args, ctx) {
14
16
  const action = args.rest[0];
@@ -17,14 +19,19 @@ export const worktreeCommand = {
17
19
  return fail("INVALID_INPUT", usage, { error: usage });
18
20
  }
19
21
  const alias = flagValue(args, "source");
20
- const code = args.values.get("code");
22
+ const session = sessionCodeFlag(args);
23
+ if (!session.ok)
24
+ return fail("INVALID_INPUT", session.message, { error: session.message });
21
25
  const contextId = readContextId(ctx.env);
22
26
  const input = { action };
23
27
  if (alias !== undefined)
24
28
  input.alias = alias;
25
- if (code !== undefined)
26
- input.sessionCode = code;
27
- if (contextId !== undefined)
29
+ if (session.code !== undefined)
30
+ input.sessionCode = session.code;
31
+ // The conversation's own binding resolves the unit a VERB acts on. `list` is
32
+ // the inventory — including the orphans nobody is coming back for — so it
33
+ // narrows only when the caller names a session out loud.
34
+ if (contextId !== undefined && action !== "list")
28
35
  input.contextId = contextId;
29
36
  const data = await runWorktree({ fs: ctx.fs, env: ctx.env, git: ctx.git, paths: ctx.paths }, input);
30
37
  if ("error" in data) {
@@ -1 +1 @@
1
- {"version":3,"file":"worktree.js","sourceRoot":"","sources":["../../../src/cli/commands/worktree.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,WAAW,EAAE,MAAM,uCAAuC,CAAC;AAExF,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAmB,SAAS,EAAE,MAAM,cAAc,CAAC;AAE1D,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAGpC,MAAM,OAAO,GAAG,IAAI,GAAG,CAA0B,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC;AAE7F,MAAM,CAAC,MAAM,eAAe,GAAe;IACzC,IAAI,EAAE,UAAU;IAChB,QAAQ,EACN,4HAA4H;QAC5H,wHAAwH;QACxH,6IAA6I;QAC7I,sGAAsG;QACtG,qFAAqF;IACvF,KAAK,CAAC,OAAO,CAAC,IAAgB,EAAE,GAAe;QAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAwC,CAAC;QACnE,IAAI,MAAM,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YACjD,MAAM,KAAK,GAAG,+EAA+E,CAAC;YAC9F,OAAO,IAAI,CAAC,eAAe,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QACxD,CAAC;QACD,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACxC,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACrC,MAAM,SAAS,GAAG,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAEzC,MAAM,KAAK,GAAkB,EAAE,MAAM,EAAE,CAAC;QACxC,IAAI,KAAK,KAAK,SAAS;YAAE,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;QAC7C,IAAI,IAAI,KAAK,SAAS;YAAE,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC;QACjD,IAAI,SAAS,KAAK,SAAS;YAAE,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;QAEzD,MAAM,IAAI,GAAG,MAAM,WAAW,CAC5B,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,EAC5D,KAAK,CACN,CAAC;QACF,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;YACpB,yEAAyE;YACzE,uEAAuE;YACvE,qDAAqD;YACrD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;QACzC,CAAC;QACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;IACzC,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"worktree.js","sourceRoot":"","sources":["../../../src/cli/commands/worktree.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,WAAW,EAAE,MAAM,uCAAuC,CAAC;AAExF,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAmB,SAAS,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE3E,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAGpC,MAAM,OAAO,GAAG,IAAI,GAAG,CAA0B,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC;AAE7F,MAAM,CAAC,MAAM,eAAe,GAAe;IACzC,IAAI,EAAE,UAAU;IAChB,QAAQ,EACN,4HAA4H;QAC5H,wHAAwH;QACxH,8IAA8I;QAC9I,0IAA0I;QAC1I,4EAA4E;QAC5E,sIAAsI;QACtI,qFAAqF;IACvF,KAAK,CAAC,OAAO,CAAC,IAAgB,EAAE,GAAe;QAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAwC,CAAC;QACnE,IAAI,MAAM,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YACjD,MAAM,KAAK,GAAG,+EAA+E,CAAC;YAC9F,OAAO,IAAI,CAAC,eAAe,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QACxD,CAAC;QACD,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACxC,MAAM,OAAO,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,CAAC,OAAO,CAAC,EAAE;YAAE,OAAO,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QAC3F,MAAM,SAAS,GAAG,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAEzC,MAAM,KAAK,GAAkB,EAAE,MAAM,EAAE,CAAC;QACxC,IAAI,KAAK,KAAK,SAAS;YAAE,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;QAC7C,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS;YAAE,KAAK,CAAC,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;QACjE,6EAA6E;QAC7E,0EAA0E;QAC1E,yDAAyD;QACzD,IAAI,SAAS,KAAK,SAAS,IAAI,MAAM,KAAK,MAAM;YAAE,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;QAE9E,MAAM,IAAI,GAAG,MAAM,WAAW,CAC5B,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,EAC5D,KAAK,CACN,CAAC;QACF,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;YACpB,yEAAyE;YACzE,uEAAuE;YACvE,qDAAqD;YACrD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;QACzC,CAAC;QACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;IACzC,CAAC;CACF,CAAC"}
@@ -69,6 +69,10 @@ const GROUPS = [
69
69
  // to load, and which documents it actually has to load.
70
70
  "context-budget",
71
71
  "context-plan",
72
+ // Retirement: `discard` takes a node and everything it exclusively owns;
73
+ // `reset` puts an incomplete session's inputs back. Both all-or-nothing.
74
+ "discard",
75
+ "reset",
72
76
  ],
73
77
  },
74
78
  {
@@ -1 +1 @@
1
- {"version":3,"file":"help-groups.js","sourceRoot":"","sources":["../../src/cli/help-groups.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"help-groups.js","sourceRoot":"","sources":["../../src/cli/help-groups.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,32 @@ export function flagValue(args, name) {
9
9
  return multi[multi.length - 1];
10
10
  return args.values.get(name);
11
11
  }
12
+ /**
13
+ * The session a command is being pointed at: `--code`, with `--session` as its
14
+ * surviving alias.
15
+ *
16
+ * One reader for every surface that names a session, because the two spellings
17
+ * were a real divergence and not a cosmetic one: `aw worktree` took `--code`
18
+ * while `aw check-branch` took `--session`, so the same conversation asking "is
19
+ * this my tree?" and "give me my tree" had to spell its own identity two ways —
20
+ * and a flag that lands nowhere is silently no identity at all, which is the
21
+ * failure mode the isolation check must not have.
22
+ *
23
+ * Two spellings that DISAGREE are refused rather than arbitrated: picking either
24
+ * would mean writing in, or verifying, the wrong flow's tree.
25
+ */
26
+ export function sessionCodeFlag(args) {
27
+ const code = args.values.get("code");
28
+ const alias = args.values.get("session");
29
+ if (code !== undefined && alias !== undefined && code !== alias) {
30
+ return {
31
+ ok: false,
32
+ message: `--code dice '${code}' y --session dice '${alias}': nombran sesiones distintas, resolvé cuál corresponde`,
33
+ };
34
+ }
35
+ const chosen = code ?? alias;
36
+ return chosen === undefined ? { ok: true } : { ok: true, code: chosen };
37
+ }
12
38
  // Flag names (without leading `--`) that accept repetition. Each occurrence
13
39
  // pushes onto `valuesMulti`; non-multi flags continue to use `values` (last
14
40
  // occurrence wins) for back-compat.
@@ -1 +1 @@
1
- {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/cli/parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/cli/parser.ts"],"names":[],"mappings":"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"}