@rse/ase 2.0.0 → 2.0.1

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 (85) hide show
  1. package/dst/ase-config-schema.js +7 -1
  2. package/dst/ase-lib-version.js +8 -4
  3. package/dst/ase-service.js +19 -6
  4. package/dst/man/ase-agent-adhoc.1 +1 -1
  5. package/dst/man/ase-agent-condenser.1 +1 -1
  6. package/dst/man/ase-agent-editor.1 +1 -1
  7. package/dst/man/ase-agent-estimator.1 +1 -1
  8. package/dst/man/ase-agent-fleet.1 +1 -1
  9. package/dst/man/ase-agent-implementer.1 +1 -1
  10. package/dst/man/ase-agent-integrator.1 +1 -1
  11. package/dst/man/ase-agent-qualifier.1 +1 -1
  12. package/dst/man/ase-agent-rebooter.1 +1 -1
  13. package/dst/man/ase-agent-relay.1 +1 -1
  14. package/dst/man/ase-agent-researcher.1 +1 -1
  15. package/dst/man/ase-agent.1 +1 -1
  16. package/dst/man/ase-artifact-list.1 +1 -1
  17. package/dst/man/ase-artifact-name.1 +1 -1
  18. package/dst/man/ase-artifact.1 +1 -1
  19. package/dst/man/ase-config-delete.1 +1 -1
  20. package/dst/man/ase-config-edit.1 +1 -1
  21. package/dst/man/ase-config-get.1 +1 -1
  22. package/dst/man/ase-config-init.1 +1 -1
  23. package/dst/man/ase-config-list.1 +1 -1
  24. package/dst/man/ase-config-set.1 +1 -1
  25. package/dst/man/ase-config.1 +7 -1
  26. package/dst/man/ase-hook-permission-request.1 +1 -1
  27. package/dst/man/ase-hook-pre-tool-use.1 +1 -1
  28. package/dst/man/ase-hook-session-end.1 +1 -1
  29. package/dst/man/ase-hook-session-persona.1 +1 -1
  30. package/dst/man/ase-hook-session-start.1 +1 -1
  31. package/dst/man/ase-hook-stop.1 +1 -1
  32. package/dst/man/ase-hook-user-prompt-submit.1 +1 -1
  33. package/dst/man/ase-hook.1 +1 -1
  34. package/dst/man/ase-man.1 +1 -1
  35. package/dst/man/ase-mcp.1 +1 -1
  36. package/dst/man/ase-service-log.1 +1 -1
  37. package/dst/man/ase-service-send.1 +1 -1
  38. package/dst/man/ase-service-start.1 +4 -4
  39. package/dst/man/ase-service-status.1 +1 -1
  40. package/dst/man/ase-service-stop.1 +1 -1
  41. package/dst/man/ase-service.1 +2 -2
  42. package/dst/man/ase-setup-disable.1 +1 -1
  43. package/dst/man/ase-setup-enable.1 +1 -1
  44. package/dst/man/ase-setup-install.1 +1 -1
  45. package/dst/man/ase-setup-mcp.1 +1 -1
  46. package/dst/man/ase-setup-status.1 +1 -1
  47. package/dst/man/ase-setup-statusline.1 +1 -1
  48. package/dst/man/ase-setup-telemetry.1 +1 -1
  49. package/dst/man/ase-setup-uninstall.1 +1 -1
  50. package/dst/man/ase-setup-update.1 +1 -1
  51. package/dst/man/ase-setup.1 +1 -1
  52. package/dst/man/ase-spec-export.1 +1 -1
  53. package/dst/man/ase-spec-lint.1 +1 -1
  54. package/dst/man/ase-spec-preview.1 +1 -1
  55. package/dst/man/ase-spec.1 +1 -1
  56. package/dst/man/ase-statusline.1 +1 -1
  57. package/dst/man/ase-task-assign.1 +1 -1
  58. package/dst/man/ase-task-board.1 +1 -1
  59. package/dst/man/ase-task-delete.1 +1 -1
  60. package/dst/man/ase-task-edit.1 +1 -1
  61. package/dst/man/ase-task-idscheme.1 +1 -1
  62. package/dst/man/ase-task-lifecycle.1 +1 -1
  63. package/dst/man/ase-task-list.1 +1 -1
  64. package/dst/man/ase-task-load.1 +1 -1
  65. package/dst/man/ase-task-newid.1 +1 -1
  66. package/dst/man/ase-task-purge.1 +1 -1
  67. package/dst/man/ase-task-rename.1 +1 -1
  68. package/dst/man/ase-task-request.1 +1 -1
  69. package/dst/man/ase-task-save.1 +1 -1
  70. package/dst/man/ase-task-status.1 +1 -1
  71. package/dst/man/ase-task-store.1 +1 -1
  72. package/dst/man/ase-task-view.1 +1 -1
  73. package/dst/man/ase-task.1 +1 -1
  74. package/dst/man/ase-util-compat.1 +1 -1
  75. package/dst/man/ase-util-diagram.1 +1 -1
  76. package/dst/man/ase-util-meta.1 +1 -1
  77. package/dst/man/ase-util-metric.1 +1 -1
  78. package/dst/man/ase-util-mint.1 +1 -1
  79. package/dst/man/ase-util-worktree.1 +1 -1
  80. package/dst/man/ase-util.1 +1 -1
  81. package/dst/man/ase.1 +1 -1
  82. package/package.json +3 -1
  83. package/plugin/.claude-plugin/plugin.json +1 -1
  84. package/plugin/.codex-plugin/plugin.json +1 -1
  85. package/plugin/.github/plugin/plugin.json +1 -1
@@ -114,6 +114,7 @@ export const configWritableScopes = {
114
114
  "project.relay.token": ["user"],
115
115
  "project.relay.crt": ["user", "project"],
116
116
  "project.relay.key": ["user", "project"],
117
+ "project.service.port": ["project"],
117
118
  "project.artifact.spec.basedir": ["user", "project"],
118
119
  "project.artifact.spec.files": ["user", "project"],
119
120
  "project.artifact.spec.schema": ["user", "project"],
@@ -255,6 +256,8 @@ const flowSchema = (forms) => v.optional(v.pipe(v.string(), v.check((value) => {
255
256
  const minutesSchema = v.optional(v.pipe(v.union([v.number(), v.string()]), v.check((s) => /^\d+(?:\.\d+)?$/.test(String(s)) && Number(s) > 0, "expected a positive number of minutes")));
256
257
  /* schema for a multiplier of the effort estimation */
257
258
  const multiplierSchema = v.optional(v.pipe(v.union([v.number(), v.string()]), v.check((s) => /^\d+(?:\.\d+)?$/.test(String(s)) && Number(s) >= 1, "expected a multiplier of at least 1")));
259
+ /* schema for an unprivileged TCP port number */
260
+ const portSchema = v.optional(v.pipe(v.union([v.number(), v.string()]), v.check((s) => /^\d+$/.test(String(s)) && Number(s) >= 1024 && Number(s) <= 65535, "expected a port number (1024-65535)")));
258
261
  /* schema for ".ase/config.yaml" */
259
262
  export const configSchema = v.nullish(v.strictObject({
260
263
  project: v.optional(v.strictObject({
@@ -290,6 +293,9 @@ export const configSchema = v.nullish(v.strictObject({
290
293
  crt: v.optional(v.pipe(v.string(), v.minLength(1))),
291
294
  key: v.optional(v.pipe(v.string(), v.minLength(1)))
292
295
  })),
296
+ service: v.optional(v.strictObject({
297
+ port: portSchema
298
+ })),
293
299
  artifact: v.optional(v.strictObject({
294
300
  spec: artifactSpecSchema,
295
301
  code: artifactSchema,
@@ -305,7 +311,7 @@ export const configSchema = v.nullish(v.strictObject({
305
311
  enabled: v.optional(v.union([v.boolean(), v.picklist(["true", "false"])])),
306
312
  implicit: v.optional(v.union([v.boolean(), v.picklist(["true", "false"])])),
307
313
  service: v.optional(v.strictObject({
308
- port: v.optional(v.pipe(v.union([v.number(), v.string()]), v.check((s) => /^\d+$/.test(String(s)) && Number(s) >= 1024 && Number(s) <= 65535, "expected a port number (1024-65535)"))),
314
+ port: portSchema,
309
315
  token: v.optional(v.pipe(v.string(), v.minLength(1))),
310
316
  interval: v.optional(v.pipe(v.union([v.number(), v.string()]), v.check((s) => /^\d+$/.test(String(s)), "expected a number of minutes (0 disables)"))),
311
317
  idle: v.optional(v.pipe(v.union([v.number(), v.string()]), v.check((s) => /^\d+$/.test(String(s)), "expected a number of minutes (0 disables)")))
@@ -4,6 +4,7 @@
4
4
  ** Licensed under Apache 2.0 <https://spdx.org/licenses/Apache-2.0>
5
5
  */
6
6
  import updateNotifier from "update-notifier";
7
+ import semver from "semver";
7
8
  import pkg from "../package.json" with { type: "json" };
8
9
  /* determination of current and available ASE versions */
9
10
  export default class Version {
@@ -18,9 +19,12 @@ export default class Version {
18
19
  pkg,
19
20
  updateCheckInterval: 1000 * 60 * 60
20
21
  });
21
- /* re-persist the cached update information, as update-notifier consumes it on read */
22
- if (notifier.update !== undefined)
23
- notifier.config?.set("update", notifier.update);
24
- return notifier.update?.latest ?? Version.current();
22
+ /* re-persist the cached update information, as update-notifier consumes it on read,
23
+ but only while it still denotes a newer version (it is never cleared otherwise) */
24
+ const latest = notifier.update?.latest;
25
+ if (latest === undefined || !semver.valid(latest) || !semver.gt(latest, Version.current()))
26
+ return Version.current();
27
+ notifier.config?.set("update", notifier.update);
28
+ return latest;
25
29
  }
26
30
  }
@@ -86,7 +86,7 @@ const LOG_MAX_SIZE = 1024 * 1024;
86
86
  const LOG_KEEP_LINES = 2000;
87
87
  const LOG_ARGS_MAX = 200;
88
88
  /* load the optional "config.yaml" and "service.yaml" files and derive
89
- the service identity context (project id, port, service config) */
89
+ the service identity context (project id, port, preferred port, service config) */
90
90
  export const loadServiceContext = (log) => {
91
91
  /* load files */
92
92
  const cfg = new Config("config", configSchema, log);
@@ -97,10 +97,13 @@ export const loadServiceContext = (log) => {
97
97
  const projectId = cfg.get("project.id") || Task.projectIdOf(Task.projectRoot());
98
98
  /* determine service port */
99
99
  const port = svc.get("port") ?? null;
100
+ /* determine preferred service port */
101
+ const pref = cfg.get("project.service.port");
102
+ const portPref = pref !== null && pref !== undefined ? Number(pref) : null;
100
103
  /* determine path to ".ase" directory */
101
104
  const aseDir = path.dirname(svc.filename);
102
105
  /* return context information */
103
- return { projectId, port, svc, aseDir };
106
+ return { projectId, port, portPref, svc, aseDir };
104
107
  };
105
108
  /* reusable functionality: port allocation, persistence, and process spawning */
106
109
  export class Service {
@@ -117,8 +120,11 @@ export class Service {
117
120
  s.listen(port, HOST);
118
121
  });
119
122
  }
120
- /* allocate a fresh random port in PORT_MIN..PORT_MAX */
121
- static async allocatePort() {
123
+ /* allocate the preferred port, if given and available,
124
+ else a fresh random port in PORT_MIN..PORT_MAX */
125
+ static async allocatePort(pref = null) {
126
+ if (pref !== null && await Service.tryBind(pref))
127
+ return pref;
122
128
  for (let i = 0; i < PORT_TRIES; i++) {
123
129
  const p = PORT_MIN + Math.floor(Math.random() * (PORT_MAX - PORT_MIN + 1));
124
130
  if (await Service.tryBind(p))
@@ -588,6 +594,13 @@ export default class ServiceCommand {
588
594
  }
589
595
  }, TICK_MS).unref();
590
596
  }
597
+ /* allocate the service port, preferring the configured one, else falling back to a random one */
598
+ async allocatePort(ctx) {
599
+ const port = await Service.allocatePort(ctx.portPref);
600
+ if (ctx.portPref !== null && port !== ctx.portPref)
601
+ this.log.write("warning", `service: preferred port ${ctx.portPref} unavailable, falling back to port ${port}`);
602
+ return port;
603
+ }
591
604
  /* start flow: ensure port, probe, optionally detach (or run in the foreground) */
592
605
  async doStart(opts = {}) {
593
606
  const ctx = this.loadContext();
@@ -614,7 +627,7 @@ export default class ServiceCommand {
614
627
  }
615
628
  /* run the service in the foreground, logging to the terminal and without idle timeout */
616
629
  if (opts.foreground) {
617
- port = await Service.allocatePort();
630
+ port = await this.allocatePort(ctx);
618
631
  await this.runService({ ...ctx, port }, true);
619
632
  return await new Promise(() => { });
620
633
  }
@@ -622,7 +635,7 @@ export default class ServiceCommand {
622
635
  re-allocate, re-spawn; early-break on foreign listener */
623
636
  let lastErr = new Error("service failed to start within timeout");
624
637
  for (let attempt = 0; attempt < 3; attempt++) {
625
- port = await Service.allocatePort();
638
+ port = await this.allocatePort(ctx);
626
639
  const { child, logFile } = Service.spawnDetached(ctx.aseDir, port, this.log.logLevel());
627
640
  let exited = false;
628
641
  let exitCode = null;
@@ -1,4 +1,4 @@
1
- .TH "ASE-AGENT-ADHOC" "1" "October 2026" "2.0.0" "Agentic Software Engineering (ASE)"
1
+ .TH "ASE-AGENT-ADHOC" "1" "October 2026" "2.0.1" "Agentic Software Engineering (ASE)"
2
2
  .SH "NAME"
3
3
  \fBase-agent-adhoc\fR - Run an Ad-Hoc Agent of a Definition Given by Options
4
4
  .SH "SYNOPSIS"
@@ -1,4 +1,4 @@
1
- .TH "ASE-AGENT-CONDENSER" "1" "October 2026" "2.0.0" "Agentic Software Engineering (ASE)"
1
+ .TH "ASE-AGENT-CONDENSER" "1" "October 2026" "2.0.1" "Agentic Software Engineering (ASE)"
2
2
  .SH "NAME"
3
3
  \fBase-agent-condenser\fR - Plan Condensing Agent
4
4
  .SH "SYNOPSIS"
@@ -1,4 +1,4 @@
1
- .TH "ASE-AGENT-EDITOR" "1" "October 2026" "2.0.0" "Agentic Software Engineering (ASE)"
1
+ .TH "ASE-AGENT-EDITOR" "1" "October 2026" "2.0.1" "Agentic Software Engineering (ASE)"
2
2
  .SH "NAME"
3
3
  \fBase-agent-editor\fR - Edit Request Agent
4
4
  .SH "SYNOPSIS"
@@ -1,4 +1,4 @@
1
- .TH "ASE-AGENT-ESTIMATOR" "1" "October 2026" "2.0.0" "Agentic Software Engineering (ASE)"
1
+ .TH "ASE-AGENT-ESTIMATOR" "1" "October 2026" "2.0.1" "Agentic Software Engineering (ASE)"
2
2
  .SH "NAME"
3
3
  \fBase-agent-estimator\fR - Effort Estimation Agent
4
4
  .SH "SYNOPSIS"
@@ -1,4 +1,4 @@
1
- .TH "ASE-AGENT-FLEET" "1" "October 2026" "2.0.0" "Agentic Software Engineering (ASE)"
1
+ .TH "ASE-AGENT-FLEET" "1" "October 2026" "2.0.1" "Agentic Software Engineering (ASE)"
2
2
  .SH "NAME"
3
3
  \fBase-agent-fleet\fR - Manage a Fleet of Agents
4
4
  .SH "SYNOPSIS"
@@ -1,4 +1,4 @@
1
- .TH "ASE-AGENT-IMPLEMENTER" "1" "October 2026" "2.0.0" "Agentic Software Engineering (ASE)"
1
+ .TH "ASE-AGENT-IMPLEMENTER" "1" "October 2026" "2.0.1" "Agentic Software Engineering (ASE)"
2
2
  .SH "NAME"
3
3
  \fBase-agent-implementer\fR - Implementation Phase Agent
4
4
  .SH "SYNOPSIS"
@@ -1,4 +1,4 @@
1
- .TH "ASE-AGENT-INTEGRATOR" "1" "October 2026" "2.0.0" "Agentic Software Engineering (ASE)"
1
+ .TH "ASE-AGENT-INTEGRATOR" "1" "October 2026" "2.0.1" "Agentic Software Engineering (ASE)"
2
2
  .SH "NAME"
3
3
  \fBase-agent-integrator\fR - Integration Phase Agent
4
4
  .SH "SYNOPSIS"
@@ -1,4 +1,4 @@
1
- .TH "ASE-AGENT-QUALIFIER" "1" "October 2026" "2.0.0" "Agentic Software Engineering (ASE)"
1
+ .TH "ASE-AGENT-QUALIFIER" "1" "October 2026" "2.0.1" "Agentic Software Engineering (ASE)"
2
2
  .SH "NAME"
3
3
  \fBase-agent-qualifier\fR - Qualification Phase Agent
4
4
  .SH "SYNOPSIS"
@@ -1,4 +1,4 @@
1
- .TH "ASE-AGENT-REBOOTER" "1" "October 2026" "2.0.0" "Agentic Software Engineering (ASE)"
1
+ .TH "ASE-AGENT-REBOOTER" "1" "October 2026" "2.0.1" "Agentic Software Engineering (ASE)"
2
2
  .SH "NAME"
3
3
  \fBase-agent-rebooter\fR - Plan Rebooting Agent
4
4
  .SH "SYNOPSIS"
@@ -1,4 +1,4 @@
1
- .TH "ASE-AGENT-RELAY" "1" "October 2026" "2.0.0" "Agentic Software Engineering (ASE)"
1
+ .TH "ASE-AGENT-RELAY" "1" "October 2026" "2.0.1" "Agentic Software Engineering (ASE)"
2
2
  .SH "NAME"
3
3
  \fBase-agent-relay\fR - Manage the Agent Relay Server
4
4
  .SH "SYNOPSIS"
@@ -1,4 +1,4 @@
1
- .TH "ASE-AGENT-RESEARCHER" "1" "October 2026" "2.0.0" "Agentic Software Engineering (ASE)"
1
+ .TH "ASE-AGENT-RESEARCHER" "1" "October 2026" "2.0.1" "Agentic Software Engineering (ASE)"
2
2
  .SH "NAME"
3
3
  \fBase-agent-researcher\fR - Research Agent
4
4
  .SH "SYNOPSIS"
@@ -1,4 +1,4 @@
1
- .TH "ASE-AGENT" "1" "October 2026" "2.0.0" "Agentic Software Engineering (ASE)"
1
+ .TH "ASE-AGENT" "1" "October 2026" "2.0.1" "Agentic Software Engineering (ASE)"
2
2
  .SH "NAME"
3
3
  \fBase-agent\fR - Autonomous Task Lifecycle Agents
4
4
  .SH "SYNOPSIS"
@@ -1,4 +1,4 @@
1
- .TH "ASE-ARTIFACT-LIST" "1" "October 2026" "2.0.0" "Agentic Software Engineering (ASE)"
1
+ .TH "ASE-ARTIFACT-LIST" "1" "October 2026" "2.0.1" "Agentic Software Engineering (ASE)"
2
2
  .SH "NAME"
3
3
  \fBase-artifact-list\fR - Resolve Artifact Kinds to Project-Relative File Paths
4
4
  .SH "SYNOPSIS"
@@ -1,4 +1,4 @@
1
- .TH "ASE-ARTIFACT-NAME" "1" "October 2026" "2.0.0" "Agentic Software Engineering (ASE)"
1
+ .TH "ASE-ARTIFACT-NAME" "1" "October 2026" "2.0.1" "Agentic Software Engineering (ASE)"
2
2
  .SH "NAME"
3
3
  \fBase-artifact-name\fR - Resolve a Filename within an Artifact Kind
4
4
  .SH "SYNOPSIS"
@@ -1,4 +1,4 @@
1
- .TH "ASE-ARTIFACT" "1" "October 2026" "2.0.0" "Agentic Software Engineering (ASE)"
1
+ .TH "ASE-ARTIFACT" "1" "October 2026" "2.0.1" "Agentic Software Engineering (ASE)"
2
2
  .SH "NAME"
3
3
  \fBase-artifact\fR - Resolve Project Artifact Kinds to File Lists
4
4
  .SH "SYNOPSIS"
@@ -1,4 +1,4 @@
1
- .TH "ASE-CONFIG-DELETE" "1" "October 2026" "2.0.0" "Agentic Software Engineering (ASE)"
1
+ .TH "ASE-CONFIG-DELETE" "1" "October 2026" "2.0.1" "Agentic Software Engineering (ASE)"
2
2
  .SH "NAME"
3
3
  \fBase-config-delete\fR - Delete a Configuration Value
4
4
  .SH "SYNOPSIS"
@@ -1,4 +1,4 @@
1
- .TH "ASE-CONFIG-EDIT" "1" "October 2026" "2.0.0" "Agentic Software Engineering (ASE)"
1
+ .TH "ASE-CONFIG-EDIT" "1" "October 2026" "2.0.1" "Agentic Software Engineering (ASE)"
2
2
  .SH "NAME"
3
3
  \fBase-config-edit\fR - Edit the Configuration File with an Editor
4
4
  .SH "SYNOPSIS"
@@ -1,4 +1,4 @@
1
- .TH "ASE-CONFIG-GET" "1" "October 2026" "2.0.0" "Agentic Software Engineering (ASE)"
1
+ .TH "ASE-CONFIG-GET" "1" "October 2026" "2.0.1" "Agentic Software Engineering (ASE)"
2
2
  .SH "NAME"
3
3
  \fBase-config-get\fR - Print a Configuration Value
4
4
  .SH "SYNOPSIS"
@@ -1,4 +1,4 @@
1
- .TH "ASE-CONFIG-INIT" "1" "October 2026" "2.0.0" "Agentic Software Engineering (ASE)"
1
+ .TH "ASE-CONFIG-INIT" "1" "October 2026" "2.0.1" "Agentic Software Engineering (ASE)"
2
2
  .SH "NAME"
3
3
  \fBase-config-init\fR - Initialize Configuration with Preset Values
4
4
  .SH "SYNOPSIS"
@@ -1,4 +1,4 @@
1
- .TH "ASE-CONFIG-LIST" "1" "October 2026" "2.0.0" "Agentic Software Engineering (ASE)"
1
+ .TH "ASE-CONFIG-LIST" "1" "October 2026" "2.0.1" "Agentic Software Engineering (ASE)"
2
2
  .SH "NAME"
3
3
  \fBase-config-list\fR - List the Effective Configuration
4
4
  .SH "SYNOPSIS"
@@ -1,4 +1,4 @@
1
- .TH "ASE-CONFIG-SET" "1" "October 2026" "2.0.0" "Agentic Software Engineering (ASE)"
1
+ .TH "ASE-CONFIG-SET" "1" "October 2026" "2.0.1" "Agentic Software Engineering (ASE)"
2
2
  .SH "NAME"
3
3
  \fBase-config-set\fR - Set a Configuration Value
4
4
  .SH "SYNOPSIS"
@@ -1,4 +1,4 @@
1
- .TH "ASE-CONFIG" "1" "October 2026" "2.0.0" "Agentic Software Engineering (ASE)"
1
+ .TH "ASE-CONFIG" "1" "October 2026" "2.0.1" "Agentic Software Engineering (ASE)"
2
2
  .SH "NAME"
3
3
  \fBase-config\fR - Manage the Layered ASE Configuration
4
4
  .SH "SYNOPSIS"
@@ -120,6 +120,12 @@ list\fR.
120
120
  \fBproject.relay.crt\fR, \fBproject.relay.key\fR (\fIstring\fR): The PEM certificate (chain) and private key files of the agent relay server, relative to the directory of the configuration file defining them.
121
121
  .RE 0
122
122
  .P
123
+ Per-project service:
124
+ .RS 0
125
+ .IP \(bu 4
126
+ \fBproject.service.port\fR (\fIport\fR \fB1024\fR..\fB65535\fR, \fBproject\fR scope only): The preferred port of the per-project background service on \fB127.0.0.1\fR, falling back to a random port out of the range \fB42000\fR..\fB44000\fR if unavailable (default: none). See \fBase-service-start\fR(1).
127
+ .RE 0
128
+ .P
123
129
  Project artifacts (all writable on the \fBuser\fR and \fBproject\fR scopes only), each kind defined by a \fBbasedir\fR directory (relative to the project root, empty for the root itself) and a whitespace-separated \fBfiles\fR glob specification (relative to \fBbasedir\fR, with \fB!\fR negating a glob). See \fBase-artifact\fR(1):
124
130
  .RS 0
125
131
  .IP \(bu 4
@@ -1,4 +1,4 @@
1
- .TH "ASE-HOOK-PERMISSION-REQUEST" "1" "October 2026" "2.0.0" "Agentic Software Engineering (ASE)"
1
+ .TH "ASE-HOOK-PERMISSION-REQUEST" "1" "October 2026" "2.0.1" "Agentic Software Engineering (ASE)"
2
2
  .SH "NAME"
3
3
  \fBase-hook-permission-request\fR - Handle the PermissionRequest Hook Event
4
4
  .SH "SYNOPSIS"
@@ -1,4 +1,4 @@
1
- .TH "ASE-HOOK-PRE-TOOL-USE" "1" "October 2026" "2.0.0" "Agentic Software Engineering (ASE)"
1
+ .TH "ASE-HOOK-PRE-TOOL-USE" "1" "October 2026" "2.0.1" "Agentic Software Engineering (ASE)"
2
2
  .SH "NAME"
3
3
  \fBase-hook-pre-tool-use\fR - Handle the PreToolUse Hook Event
4
4
  .SH "SYNOPSIS"
@@ -1,4 +1,4 @@
1
- .TH "ASE-HOOK-SESSION-END" "1" "October 2026" "2.0.0" "Agentic Software Engineering (ASE)"
1
+ .TH "ASE-HOOK-SESSION-END" "1" "October 2026" "2.0.1" "Agentic Software Engineering (ASE)"
2
2
  .SH "NAME"
3
3
  \fBase-hook-session-end\fR - Handle the SessionEnd Hook Event
4
4
  .SH "SYNOPSIS"
@@ -1,4 +1,4 @@
1
- .TH "ASE-HOOK-SESSION-PERSONA" "1" "October 2026" "2.0.0" "Agentic Software Engineering (ASE)"
1
+ .TH "ASE-HOOK-SESSION-PERSONA" "1" "October 2026" "2.0.1" "Agentic Software Engineering (ASE)"
2
2
  .SH "NAME"
3
3
  \fBase-hook-session-persona\fR - Handle the SessionStart Hook Event for the Persona
4
4
  .SH "SYNOPSIS"
@@ -1,4 +1,4 @@
1
- .TH "ASE-HOOK-SESSION-START" "1" "October 2026" "2.0.0" "Agentic Software Engineering (ASE)"
1
+ .TH "ASE-HOOK-SESSION-START" "1" "October 2026" "2.0.1" "Agentic Software Engineering (ASE)"
2
2
  .SH "NAME"
3
3
  \fBase-hook-session-start\fR - Handle the SessionStart Hook Event
4
4
  .SH "SYNOPSIS"
@@ -1,4 +1,4 @@
1
- .TH "ASE-HOOK-STOP" "1" "October 2026" "2.0.0" "Agentic Software Engineering (ASE)"
1
+ .TH "ASE-HOOK-STOP" "1" "October 2026" "2.0.1" "Agentic Software Engineering (ASE)"
2
2
  .SH "NAME"
3
3
  \fBase-hook-stop\fR - Handle the Stop Hook Event
4
4
  .SH "SYNOPSIS"
@@ -1,4 +1,4 @@
1
- .TH "ASE-HOOK-USER-PROMPT-SUBMIT" "1" "October 2026" "2.0.0" "Agentic Software Engineering (ASE)"
1
+ .TH "ASE-HOOK-USER-PROMPT-SUBMIT" "1" "October 2026" "2.0.1" "Agentic Software Engineering (ASE)"
2
2
  .SH "NAME"
3
3
  \fBase-hook-user-prompt-submit\fR - Handle the UserPromptSubmit Hook Event
4
4
  .SH "SYNOPSIS"
@@ -1,4 +1,4 @@
1
- .TH "ASE-HOOK" "1" "October 2026" "2.0.0" "Agentic Software Engineering (ASE)"
1
+ .TH "ASE-HOOK" "1" "October 2026" "2.0.1" "Agentic Software Engineering (ASE)"
2
2
  .SH "NAME"
3
3
  \fBase-hook\fR - Handle the Hook Events of the Agent Tool
4
4
  .SH "SYNOPSIS"
package/dst/man/ase-man.1 CHANGED
@@ -1,4 +1,4 @@
1
- .TH "ASE-MAN" "1" "October 2026" "2.0.0" "Agentic Software Engineering (ASE)"
1
+ .TH "ASE-MAN" "1" "October 2026" "2.0.1" "Agentic Software Engineering (ASE)"
2
2
  .SH "NAME"
3
3
  \fBase-man\fR - Show an internally shipped manual page
4
4
  .SH "SYNOPSIS"
package/dst/man/ase-mcp.1 CHANGED
@@ -1,4 +1,4 @@
1
- .TH "ASE-MCP" "1" "October 2026" "2.0.0" "Agentic Software Engineering (ASE)"
1
+ .TH "ASE-MCP" "1" "October 2026" "2.0.1" "Agentic Software Engineering (ASE)"
2
2
  .SH "NAME"
3
3
  \fBase-mcp\fR - Bridge Stdio MCP to the Per-Project Service
4
4
  .SH "SYNOPSIS"
@@ -1,4 +1,4 @@
1
- .TH "ASE-SERVICE-LOG" "1" "October 2026" "2.0.0" "Agentic Software Engineering (ASE)"
1
+ .TH "ASE-SERVICE-LOG" "1" "October 2026" "2.0.1" "Agentic Software Engineering (ASE)"
2
2
  .SH "NAME"
3
3
  \fBase-service-log\fR - Show the Log of the Background Service
4
4
  .SH "SYNOPSIS"
@@ -1,4 +1,4 @@
1
- .TH "ASE-SERVICE-SEND" "1" "October 2026" "2.0.0" "Agentic Software Engineering (ASE)"
1
+ .TH "ASE-SERVICE-SEND" "1" "October 2026" "2.0.1" "Agentic Software Engineering (ASE)"
2
2
  .SH "NAME"
3
3
  \fBase-service-send\fR - Send a Command to the Background Service
4
4
  .SH "SYNOPSIS"
@@ -1,4 +1,4 @@
1
- .TH "ASE-SERVICE-START" "1" "October 2026" "2.0.0" "Agentic Software Engineering (ASE)"
1
+ .TH "ASE-SERVICE-START" "1" "October 2026" "2.0.1" "Agentic Software Engineering (ASE)"
2
2
  .SH "NAME"
3
3
  \fBase-service-start\fR - Start the Per-Project Background Service
4
4
  .SH "SYNOPSIS"
@@ -9,7 +9,7 @@
9
9
  \fBase service start\fR starts the per-project background HTTP service of \fIASE\fR (see \fBase-service\fR(1)) for the project of the current working directory.
10
10
  .P
11
11
  If a service of this project already answers on the port persisted in \fB.ase/service.yaml\fR, the command just reports \fBservice: already running
12
- on port\fR \fIport\fR and exits with status \fB0\fR. Otherwise, it allocates a fresh random free port out of the range \fB42000\fR..\fB44000\fR (trying up to 20 candidates), spawns the service as a detached background process (with its standard output and standard error appended to \fB.ase/service.log\fR, trimmed to its last 2000 lines beforehand if larger than 1 MB), and probes its readiness for up to 5 seconds.
12
+ on port\fR \fIport\fR and exits with status \fB0\fR. Otherwise, it allocates the preferred port \fBproject.service.port\fR (see \fBase-config\fR(1)), if configured and free, else (with a warning, if configured) a fresh random free port out of the range \fB42000\fR..\fB44000\fR (trying up to 20 candidates), spawns the service as a detached background process (with its standard output and standard error appended to \fB.ase/service.log\fR, trimmed to its last 2000 lines beforehand if larger than 1 MB), and probes its readiness for up to 5 seconds.
13
13
  .P
14
14
  Once ready, the service persists its port into \fB.ase/service.yaml\fR, and the command reports \fBservice: started on port\fR \fIport\fR. If the spawned service exits during its startup, does not become ready in time, or loses its port to a foreign listener, the attempt is aborted (killing the process) and retried with a new port, up to three attempts in total, after which the command fails with the reason and the last 20 lines of the log.
15
15
  .P
@@ -21,7 +21,7 @@ Usually, the service does not have to be started explicitly, as the MCP bridge \
21
21
  .IP \(bu 4
22
22
  \[lB]\fB-h\fR|\fB--help\fR\[rB]: Show usage information and exit.
23
23
  .IP \(bu 4
24
- \[lB]\fB-f\fR|\fB--foreground\fR\[rB]: Run the service in the current process instead, on a fresh random port, logging to the terminal (resp. the global \fB--log-file\fR) instead of \fB.ase/service.log\fR and without the idle timeout, until it is interrupted (via \fBSIGINT\fR, e.g., \fBCTRL+C\fR, \fBSIGTERM\fR, \fBSIGHUP\fR, or \fBSIGQUIT\fR) or stopped via \fBase service stop\fR. A service of this project already running is an error in this mode.
24
+ \[lB]\fB-f\fR|\fB--foreground\fR\[rB]: Run the service in the current process instead, on a port allocated as above, logging to the terminal (resp. the global \fB--log-file\fR) instead of \fB.ase/service.log\fR and without the idle timeout, until it is interrupted (via \fBSIGINT\fR, e.g., \fBCTRL+C\fR, \fBSIGTERM\fR, \fBSIGHUP\fR, or \fBSIGQUIT\fR) or stopped via \fBase service stop\fR. A service of this project already running is an error in this mode.
25
25
  .RE 0
26
26
  .SH "FILES"
27
27
  .RS 0
@@ -48,7 +48,7 @@ $ ase --log-level debug service start --foreground
48
48
  .RE
49
49
  .SH "SEE ALSO"
50
50
  .P
51
- \fBase\fR(1), \fBase-service\fR(1), \fBase-service-status\fR(1), \fBase-service-stop\fR(1), \fBase-service-log\fR(1).
51
+ \fBase\fR(1), \fBase-service\fR(1), \fBase-service-status\fR(1), \fBase-service-stop\fR(1), \fBase-service-log\fR(1), \fBase-config\fR(1).
52
52
  .SH "AUTHOR"
53
53
  .P
54
54
  Dr. Ralf S. Engelschall \fI\(larse@engelschall.com\(ra\fR
@@ -1,4 +1,4 @@
1
- .TH "ASE-SERVICE-STATUS" "1" "October 2026" "2.0.0" "Agentic Software Engineering (ASE)"
1
+ .TH "ASE-SERVICE-STATUS" "1" "October 2026" "2.0.1" "Agentic Software Engineering (ASE)"
2
2
  .SH "NAME"
3
3
  \fBase-service-status\fR - Report Whether the Background Service Is Running
4
4
  .SH "SYNOPSIS"
@@ -1,4 +1,4 @@
1
- .TH "ASE-SERVICE-STOP" "1" "October 2026" "2.0.0" "Agentic Software Engineering (ASE)"
1
+ .TH "ASE-SERVICE-STOP" "1" "October 2026" "2.0.1" "Agentic Software Engineering (ASE)"
2
2
  .SH "NAME"
3
3
  \fBase-service-stop\fR - Stop the Background Service
4
4
  .SH "SYNOPSIS"
@@ -1,4 +1,4 @@
1
- .TH "ASE-SERVICE" "1" "October 2026" "2.0.0" "Agentic Software Engineering (ASE)"
1
+ .TH "ASE-SERVICE" "1" "October 2026" "2.0.1" "Agentic Software Engineering (ASE)"
2
2
  .SH "NAME"
3
3
  \fBase-service\fR - Manage the Per-Project Background Service
4
4
  .SH "SYNOPSIS"
@@ -16,7 +16,7 @@
16
16
  \fBase service stop\fR
17
17
  .SH "DESCRIPTION"
18
18
  .P
19
- \fBase service\fR manages the per-project background HTTP service of \fIASE\fR. The service is bound to \fB127.0.0.1\fR on a random port out of the range \fB42000\fR..\fB44000\fR, which is persisted in \fB.ase/service.yaml\fR of the project, and logs into \fB.ase/service.log\fR. It is identified by the id of the project (\fBproject.id\fR, else derived from the project root), so a port answered by the service of another project counts as a \fIforeign\fR service.
19
+ \fBase service\fR manages the per-project background HTTP service of \fIASE\fR. The service is bound to \fB127.0.0.1\fR on the preferred port \fBproject.service.port\fR, if configured and available, else on a random port out of the range \fB42000\fR..\fB44000\fR, which is persisted in \fB.ase/service.yaml\fR of the project, and logs into \fB.ase/service.log\fR. It is identified by the id of the project (\fBproject.id\fR, else derived from the project root), so a port answered by the service of another project counts as a \fIforeign\fR service.
20
20
  .P
21
21
  The service provides:
22
22
  .RS 0
@@ -1,4 +1,4 @@
1
- .TH "ASE-SETUP-DISABLE" "1" "October 2026" "2.0.0" "Agentic Software Engineering (ASE)"
1
+ .TH "ASE-SETUP-DISABLE" "1" "October 2026" "2.0.1" "Agentic Software Engineering (ASE)"
2
2
  .SH "NAME"
3
3
  \fBase-setup-disable\fR - Disable the ASE Plugin in an Agent Tool
4
4
  .SH "SYNOPSIS"
@@ -1,4 +1,4 @@
1
- .TH "ASE-SETUP-ENABLE" "1" "October 2026" "2.0.0" "Agentic Software Engineering (ASE)"
1
+ .TH "ASE-SETUP-ENABLE" "1" "October 2026" "2.0.1" "Agentic Software Engineering (ASE)"
2
2
  .SH "NAME"
3
3
  \fBase-setup-enable\fR - Enable the ASE Plugin in an Agent Tool
4
4
  .SH "SYNOPSIS"
@@ -1,4 +1,4 @@
1
- .TH "ASE-SETUP-INSTALL" "1" "October 2026" "2.0.0" "Agentic Software Engineering (ASE)"
1
+ .TH "ASE-SETUP-INSTALL" "1" "October 2026" "2.0.1" "Agentic Software Engineering (ASE)"
2
2
  .SH "NAME"
3
3
  \fBase-setup-install\fR - Install the ASE Plugin into an Agent Tool
4
4
  .SH "SYNOPSIS"
@@ -1,4 +1,4 @@
1
- .TH "ASE-SETUP-MCP" "1" "October 2026" "2.0.0" "Agentic Software Engineering (ASE)"
1
+ .TH "ASE-SETUP-MCP" "1" "October 2026" "2.0.1" "Agentic Software Engineering (ASE)"
2
2
  .SH "NAME"
3
3
  \fBase-setup-mcp\fR - Manage the Pre-Defined Foreign MCP Servers
4
4
  .SH "SYNOPSIS"
@@ -1,4 +1,4 @@
1
- .TH "ASE-SETUP-STATUS" "1" "October 2026" "2.0.0" "Agentic Software Engineering (ASE)"
1
+ .TH "ASE-SETUP-STATUS" "1" "October 2026" "2.0.1" "Agentic Software Engineering (ASE)"
2
2
  .SH "NAME"
3
3
  \fBase-setup-status\fR - Report the ASE Registrations of an Agent Tool
4
4
  .SH "SYNOPSIS"
@@ -1,4 +1,4 @@
1
- .TH "ASE-SETUP-STATUSLINE" "1" "October 2026" "2.0.0" "Agentic Software Engineering (ASE)"
1
+ .TH "ASE-SETUP-STATUSLINE" "1" "October 2026" "2.0.1" "Agentic Software Engineering (ASE)"
2
2
  .SH "NAME"
3
3
  \fBase-setup-statusline\fR - Activate or Deactivate the ASE Statusline
4
4
  .SH "SYNOPSIS"
@@ -1,4 +1,4 @@
1
- .TH "ASE-SETUP-TELEMETRY" "1" "October 2026" "2.0.0" "Agentic Software Engineering (ASE)"
1
+ .TH "ASE-SETUP-TELEMETRY" "1" "October 2026" "2.0.1" "Agentic Software Engineering (ASE)"
2
2
  .SH "NAME"
3
3
  \fBase-setup-telemetry\fR - Activate or Deactivate the ASE Telemetry Export
4
4
  .SH "SYNOPSIS"
@@ -1,4 +1,4 @@
1
- .TH "ASE-SETUP-UNINSTALL" "1" "October 2026" "2.0.0" "Agentic Software Engineering (ASE)"
1
+ .TH "ASE-SETUP-UNINSTALL" "1" "October 2026" "2.0.1" "Agentic Software Engineering (ASE)"
2
2
  .SH "NAME"
3
3
  \fBase-setup-uninstall\fR - Uninstall the ASE Plugin and Tool
4
4
  .SH "SYNOPSIS"
@@ -1,4 +1,4 @@
1
- .TH "ASE-SETUP-UPDATE" "1" "October 2026" "2.0.0" "Agentic Software Engineering (ASE)"
1
+ .TH "ASE-SETUP-UPDATE" "1" "October 2026" "2.0.1" "Agentic Software Engineering (ASE)"
2
2
  .SH "NAME"
3
3
  \fBase-setup-update\fR - Update the ASE Tool and Plugin
4
4
  .SH "SYNOPSIS"
@@ -1,4 +1,4 @@
1
- .TH "ASE-SETUP" "1" "October 2026" "2.0.0" "Agentic Software Engineering (ASE)"
1
+ .TH "ASE-SETUP" "1" "October 2026" "2.0.1" "Agentic Software Engineering (ASE)"
2
2
  .SH "NAME"
3
3
  \fBase-setup\fR - Install, Update, and Uninstall the ASE Tool and Plugin
4
4
  .SH "SYNOPSIS"
@@ -1,4 +1,4 @@
1
- .TH "ASE-SPEC-EXPORT" "1" "October 2026" "2.0.0" "Agentic Software Engineering (ASE)"
1
+ .TH "ASE-SPEC-EXPORT" "1" "October 2026" "2.0.1" "Agentic Software Engineering (ASE)"
2
2
  .SH "NAME"
3
3
  \fBase-spec-export\fR - Export the Project Specification
4
4
  .SH "SYNOPSIS"
@@ -1,4 +1,4 @@
1
- .TH "ASE-SPEC-LINT" "1" "October 2026" "2.0.0" "Agentic Software Engineering (ASE)"
1
+ .TH "ASE-SPEC-LINT" "1" "October 2026" "2.0.1" "Agentic Software Engineering (ASE)"
2
2
  .SH "NAME"
3
3
  \fBase-spec-lint\fR - Lint the Project Specification
4
4
  .SH "SYNOPSIS"
@@ -1,4 +1,4 @@
1
- .TH "ASE-SPEC-PREVIEW" "1" "October 2026" "2.0.0" "Agentic Software Engineering (ASE)"
1
+ .TH "ASE-SPEC-PREVIEW" "1" "October 2026" "2.0.1" "Agentic Software Engineering (ASE)"
2
2
  .SH "NAME"
3
3
  \fBase-spec-preview\fR - Serve a Live Preview of the Project Specification
4
4
  .SH "SYNOPSIS"
@@ -1,4 +1,4 @@
1
- .TH "ASE-SPEC" "1" "October 2026" "2.0.0" "Agentic Software Engineering (ASE)"
1
+ .TH "ASE-SPEC" "1" "October 2026" "2.0.1" "Agentic Software Engineering (ASE)"
2
2
  .SH "NAME"
3
3
  \fBase-spec\fR - Lint, Export, and Preview the Project Specification
4
4
  .SH "SYNOPSIS"
@@ -1,4 +1,4 @@
1
- .TH "ASE-STATUSLINE" "1" "October 2026" "2.0.0" "Agentic Software Engineering (ASE)"
1
+ .TH "ASE-STATUSLINE" "1" "October 2026" "2.0.1" "Agentic Software Engineering (ASE)"
2
2
  .SH "NAME"
3
3
  \fBase-statusline\fR - Render the Statusline of the Agent Tool
4
4
  .SH "SYNOPSIS"
@@ -1,4 +1,4 @@
1
- .TH "ASE-TASK-ASSIGN" "1" "October 2026" "2.0.0" "Agentic Software Engineering (ASE)"
1
+ .TH "ASE-TASK-ASSIGN" "1" "October 2026" "2.0.1" "Agentic Software Engineering (ASE)"
2
2
  .SH "NAME"
3
3
  \fBase-task-assign\fR - Assign a Task
4
4
  .SH "SYNOPSIS"
@@ -1,4 +1,4 @@
1
- .TH "ASE-TASK-BOARD" "1" "October 2026" "2.0.0" "Agentic Software Engineering (ASE)"
1
+ .TH "ASE-TASK-BOARD" "1" "October 2026" "2.0.1" "Agentic Software Engineering (ASE)"
2
2
  .SH "NAME"
3
3
  \fBase-task-board\fR - Show the interactive task board of the project
4
4
  .SH "SYNOPSIS"
@@ -1,4 +1,4 @@
1
- .TH "ASE-TASK-DELETE" "1" "October 2026" "2.0.0" "Agentic Software Engineering (ASE)"
1
+ .TH "ASE-TASK-DELETE" "1" "October 2026" "2.0.1" "Agentic Software Engineering (ASE)"
2
2
  .SH "NAME"
3
3
  \fBase-task-delete\fR - Delete a Task Plan
4
4
  .SH "SYNOPSIS"
@@ -1,4 +1,4 @@
1
- .TH "ASE-TASK-EDIT" "1" "October 2026" "2.0.0" "Agentic Software Engineering (ASE)"
1
+ .TH "ASE-TASK-EDIT" "1" "October 2026" "2.0.1" "Agentic Software Engineering (ASE)"
2
2
  .SH "NAME"
3
3
  \fBase-task-edit\fR - Edit a Task Plan in the Editor
4
4
  .SH "SYNOPSIS"
@@ -1,4 +1,4 @@
1
- .TH "ASE-TASK-IDSCHEME" "1" "October 2026" "2.0.0" "Agentic Software Engineering (ASE)"
1
+ .TH "ASE-TASK-IDSCHEME" "1" "October 2026" "2.0.1" "Agentic Software Engineering (ASE)"
2
2
  .SH "NAME"
3
3
  \fBase-task-idscheme\fR - Get or Set the Task Id Scheme
4
4
  .SH "SYNOPSIS"
@@ -1,4 +1,4 @@
1
- .TH "ASE-TASK-LIFECYCLE" "1" "October 2026" "2.0.0" "Agentic Software Engineering (ASE)"
1
+ .TH "ASE-TASK-LIFECYCLE" "1" "October 2026" "2.0.1" "Agentic Software Engineering (ASE)"
2
2
  .SH "NAME"
3
3
  \fBase-task-lifecycle\fR - Get or Set the Task Lifecycle Model
4
4
  .SH "SYNOPSIS"
@@ -1,4 +1,4 @@
1
- .TH "ASE-TASK-LIST" "1" "October 2026" "2.0.0" "Agentic Software Engineering (ASE)"
1
+ .TH "ASE-TASK-LIST" "1" "October 2026" "2.0.1" "Agentic Software Engineering (ASE)"
2
2
  .SH "NAME"
3
3
  \fBase-task-list\fR - List Persisted Task Ids
4
4
  .SH "SYNOPSIS"
@@ -1,4 +1,4 @@
1
- .TH "ASE-TASK-LOAD" "1" "October 2026" "2.0.0" "Agentic Software Engineering (ASE)"
1
+ .TH "ASE-TASK-LOAD" "1" "October 2026" "2.0.1" "Agentic Software Engineering (ASE)"
2
2
  .SH "NAME"
3
3
  \fBase-task-load\fR - Write a Task Plan to Standard Output
4
4
  .SH "SYNOPSIS"
@@ -1,4 +1,4 @@
1
- .TH "ASE-TASK-NEWID" "1" "October 2026" "2.0.0" "Agentic Software Engineering (ASE)"
1
+ .TH "ASE-TASK-NEWID" "1" "October 2026" "2.0.1" "Agentic Software Engineering (ASE)"
2
2
  .SH "NAME"
3
3
  \fBase-task-newid\fR - Print the Next Free Task Id
4
4
  .SH "SYNOPSIS"
@@ -1,4 +1,4 @@
1
- .TH "ASE-TASK-PURGE" "1" "October 2026" "2.0.0" "Agentic Software Engineering (ASE)"
1
+ .TH "ASE-TASK-PURGE" "1" "October 2026" "2.0.1" "Agentic Software Engineering (ASE)"
2
2
  .SH "NAME"
3
3
  \fBase-task-purge\fR - Remove Old Task Plans
4
4
  .SH "SYNOPSIS"
@@ -1,4 +1,4 @@
1
- .TH "ASE-TASK-RENAME" "1" "October 2026" "2.0.0" "Agentic Software Engineering (ASE)"
1
+ .TH "ASE-TASK-RENAME" "1" "October 2026" "2.0.1" "Agentic Software Engineering (ASE)"
2
2
  .SH "NAME"
3
3
  \fBase-task-rename\fR - Rename a Task Plan
4
4
  .SH "SYNOPSIS"
@@ -1,4 +1,4 @@
1
- .TH "ASE-TASK-REQUEST" "1" "October 2026" "2.0.0" "Agentic Software Engineering (ASE)"
1
+ .TH "ASE-TASK-REQUEST" "1" "October 2026" "2.0.1" "Agentic Software Engineering (ASE)"
2
2
  .SH "NAME"
3
3
  \fBase-task-request\fR - Request the Processing of a Task by a Prompt
4
4
  .SH "SYNOPSIS"
@@ -1,4 +1,4 @@
1
- .TH "ASE-TASK-SAVE" "1" "October 2026" "2.0.0" "Agentic Software Engineering (ASE)"
1
+ .TH "ASE-TASK-SAVE" "1" "October 2026" "2.0.1" "Agentic Software Engineering (ASE)"
2
2
  .SH "NAME"
3
3
  \fBase-task-save\fR - Save a Task Plan from Standard Input
4
4
  .SH "SYNOPSIS"
@@ -1,4 +1,4 @@
1
- .TH "ASE-TASK-STATUS" "1" "October 2026" "2.0.0" "Agentic Software Engineering (ASE)"
1
+ .TH "ASE-TASK-STATUS" "1" "October 2026" "2.0.1" "Agentic Software Engineering (ASE)"
2
2
  .SH "NAME"
3
3
  \fBase-task-status\fR - Get or Set the Lifecycle Status of a Task
4
4
  .SH "SYNOPSIS"
@@ -1,4 +1,4 @@
1
- .TH "ASE-TASK-STORE" "1" "October 2026" "2.0.0" "Agentic Software Engineering (ASE)"
1
+ .TH "ASE-TASK-STORE" "1" "October 2026" "2.0.1" "Agentic Software Engineering (ASE)"
2
2
  .SH "NAME"
3
3
  \fBase-task-store\fR - Manage the per-user task store REST API server
4
4
  .SH "SYNOPSIS"
@@ -1,4 +1,4 @@
1
- .TH "ASE-TASK-VIEW" "1" "October 2026" "2.0.0" "Agentic Software Engineering (ASE)"
1
+ .TH "ASE-TASK-VIEW" "1" "October 2026" "2.0.1" "Agentic Software Engineering (ASE)"
2
2
  .SH "NAME"
3
3
  \fBase-task-view\fR - Show a Task Plan in the Pager
4
4
  .SH "SYNOPSIS"
@@ -1,4 +1,4 @@
1
- .TH "ASE-TASK" "1" "October 2026" "2.0.0" "Agentic Software Engineering (ASE)"
1
+ .TH "ASE-TASK" "1" "October 2026" "2.0.1" "Agentic Software Engineering (ASE)"
2
2
  .SH "NAME"
3
3
  \fBase-task\fR - Manage Persisted Task Plans
4
4
  .SH "SYNOPSIS"
@@ -1,4 +1,4 @@
1
- .TH "ASE-UTIL-COMPAT" "1" "October 2026" "2.0.0" "Agentic Software Engineering (ASE)"
1
+ .TH "ASE-UTIL-COMPAT" "1" "October 2026" "2.0.1" "Agentic Software Engineering (ASE)"
2
2
  .SH "NAME"
3
3
  \fBase-util-compat\fR - Output Expected Probe Values of the Compatibility Self-Test
4
4
  .SH "SYNOPSIS"
@@ -1,4 +1,4 @@
1
- .TH "ASE-UTIL-DIAGRAM" "1" "October 2026" "2.0.0" "Agentic Software Engineering (ASE)"
1
+ .TH "ASE-UTIL-DIAGRAM" "1" "October 2026" "2.0.1" "Agentic Software Engineering (ASE)"
2
2
  .SH "NAME"
3
3
  \fBase-util-diagram\fR - Render Mermaid or D2 Diagrams as Unicode/ASCII Art or SVG
4
4
  .SH "SYNOPSIS"
@@ -1,4 +1,4 @@
1
- .TH "ASE-UTIL-META" "1" "October 2026" "2.0.0" "Agentic Software Engineering (ASE)"
1
+ .TH "ASE-UTIL-META" "1" "October 2026" "2.0.1" "Agentic Software Engineering (ASE)"
2
2
  .SH "NAME"
3
3
  \fBase-util-meta\fR - Output Plugin Meta Files
4
4
  .SH "SYNOPSIS"
@@ -1,4 +1,4 @@
1
- .TH "ASE-UTIL-METRIC" "1" "October 2026" "2.0.0" "Agentic Software Engineering (ASE)"
1
+ .TH "ASE-UTIL-METRIC" "1" "October 2026" "2.0.1" "Agentic Software Engineering (ASE)"
2
2
  .SH "NAME"
3
3
  \fBase-util-metric\fR - Measure the Length Metrics of a Text
4
4
  .SH "SYNOPSIS"
@@ -1,4 +1,4 @@
1
- .TH "ASE-UTIL-MINT" "1" "October 2026" "2.0.0" "Agentic Software Engineering (ASE)"
1
+ .TH "ASE-UTIL-MINT" "1" "October 2026" "2.0.1" "Agentic Software Engineering (ASE)"
2
2
  .SH "NAME"
3
3
  \fBase-util-mint\fR - Mint Hash-Derived Identifiers
4
4
  .SH "SYNOPSIS"
@@ -1,4 +1,4 @@
1
- .TH "ASE-UTIL-WORKTREE" "1" "October 2026" "2.0.0" "Agentic Software Engineering (ASE)"
1
+ .TH "ASE-UTIL-WORKTREE" "1" "October 2026" "2.0.1" "Agentic Software Engineering (ASE)"
2
2
  .SH "NAME"
3
3
  \fBase-util-worktree\fR - Resolve the ASE Worktree Directories
4
4
  .SH "SYNOPSIS"
@@ -1,4 +1,4 @@
1
- .TH "ASE-UTIL" "1" "October 2026" "2.0.0" "Agentic Software Engineering (ASE)"
1
+ .TH "ASE-UTIL" "1" "October 2026" "2.0.1" "Agentic Software Engineering (ASE)"
2
2
  .SH "NAME"
3
3
  \fBase-util\fR - Utility Commands
4
4
  .SH "SYNOPSIS"
package/dst/man/ase.1 CHANGED
@@ -1,4 +1,4 @@
1
- .TH "ASE" "1" "October 2026" "2.0.0" "Agentic Software Engineering (ASE)"
1
+ .TH "ASE" "1" "October 2026" "2.0.1" "Agentic Software Engineering (ASE)"
2
2
  .SH "NAME"
3
3
  \fBase\fR - Agentic Software Engineering (ASE)
4
4
  .SH "SYNOPSIS"
package/package.json CHANGED
@@ -6,7 +6,7 @@
6
6
  "homepage": "https://ase.tools",
7
7
  "repository": { "url": "git+https://github.com/rse/ase.git", "type": "git" },
8
8
  "bugs": { "url": "https://github.com/rse/ase/issues" },
9
- "version": "2.0.0",
9
+ "version": "2.0.1",
10
10
  "license": "Apache-2.0",
11
11
  "author": {
12
12
  "name": "Dr. Ralf S. Engelschall",
@@ -62,6 +62,7 @@
62
62
  "@types/luxon": "3.7.6",
63
63
  "@types/which": "3.0.4",
64
64
  "@types/update-notifier": "6.0.8",
65
+ "@types/semver": "7.8.0",
65
66
  "@types/shell-quote": "1.7.5",
66
67
  "@types/proper-lockfile": "4.1.4",
67
68
  "@types/write-file-atomic": "4.0.3",
@@ -97,6 +98,7 @@
97
98
  "zod": "4.6.7",
98
99
  "which": "7.0.0",
99
100
  "update-notifier": "7.3.1",
101
+ "semver": "7.8.5",
100
102
  "shell-quote": "1.12.0",
101
103
  "get-stdin": "10.0.0",
102
104
  "proper-lockfile": "4.1.2",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ase",
3
- "version": "2.0.0",
3
+ "version": "2.0.1",
4
4
  "description": "Agentic Software Engineering (ASE)",
5
5
  "keywords": [ "agentic", "software", "engineering" ],
6
6
  "homepage": "https://ase.tools",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ase",
3
- "version": "2.0.0",
3
+ "version": "2.0.1",
4
4
  "description": "Agentic Software Engineering (ASE)",
5
5
  "keywords": [ "agentic", "software", "engineering" ],
6
6
  "homepage": "https://ase.tools",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ase",
3
- "version": "2.0.0",
3
+ "version": "2.0.1",
4
4
  "description": "Agentic Software Engineering (ASE)",
5
5
  "keywords": [ "agentic", "software", "engineering" ],
6
6
  "homepage": "https://ase.tools",