@tacuchi/agent-workflow-cli 20.21.0 → 20.23.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.
- package/README.md +17 -6
- package/dist/adapters/git-cli.js +42 -0
- package/dist/adapters/git-cli.js.map +1 -1
- package/dist/application/artifacts-service.js +5 -5
- package/dist/application/artifacts-service.js.map +1 -1
- package/dist/application/checkpoint-service.js +60 -55
- package/dist/application/checkpoint-service.js.map +1 -1
- package/dist/application/checkpoint-write-service.js +61 -66
- package/dist/application/checkpoint-write-service.js.map +1 -1
- package/dist/application/decisiones-service.js +5 -5
- package/dist/application/decisiones-service.js.map +1 -1
- package/dist/application/export-service.js +250 -0
- package/dist/application/export-service.js.map +1 -0
- package/dist/application/fix-git-service.js +244 -0
- package/dist/application/fix-git-service.js.map +1 -0
- package/dist/application/history-update-service.js +35 -24
- package/dist/application/history-update-service.js.map +1 -1
- package/dist/application/lifecycle-target.js +39 -0
- package/dist/application/lifecycle-target.js.map +1 -0
- package/dist/application/markdown.js +61 -16
- package/dist/application/markdown.js.map +1 -1
- package/dist/application/parsers/phases.js +38 -45
- package/dist/application/parsers/phases.js.map +1 -1
- package/dist/application/parsers/plan-status.js +75 -0
- package/dist/application/parsers/plan-status.js.map +1 -0
- package/dist/application/parsers/spec-relation.js +80 -0
- package/dist/application/parsers/spec-relation.js.map +1 -0
- package/dist/application/paths-service.js +8 -0
- package/dist/application/paths-service.js.map +1 -1
- package/dist/application/persist-service.js +285 -0
- package/dist/application/persist-service.js.map +1 -0
- package/dist/application/release-data/artifacts.js +17 -21
- package/dist/application/release-data/artifacts.js.map +1 -1
- package/dist/application/resume-service.js +184 -0
- package/dist/application/resume-service.js.map +1 -0
- package/dist/application/semantic-operation/protocol.js +247 -0
- package/dist/application/semantic-operation/protocol.js.map +1 -0
- package/dist/application/semantic-operation/publish.js +80 -0
- package/dist/application/semantic-operation/publish.js.map +1 -0
- package/dist/application/session-binding-service.js +125 -0
- package/dist/application/session-binding-service.js.map +1 -0
- package/dist/application/session-close-service.js +60 -39
- package/dist/application/session-close-service.js.map +1 -1
- package/dist/application/session-create-service.js +45 -19
- package/dist/application/session-create-service.js.map +1 -1
- package/dist/application/session-resolver.js +180 -44
- package/dist/application/session-resolver.js.map +1 -1
- package/dist/application/session-resume-service.js +39 -9
- package/dist/application/session-resume-service.js.map +1 -1
- package/dist/application/sessions-service.js +0 -2
- package/dist/application/sessions-service.js.map +1 -1
- package/dist/application/status-service.js +24 -352
- package/dist/application/status-service.js.map +1 -1
- package/dist/application/tasks-service.js +5 -5
- package/dist/application/tasks-service.js.map +1 -1
- package/dist/application/workline-index-service.js +510 -0
- package/dist/application/workline-index-service.js.map +1 -0
- package/dist/cli/commands/checkpoint-read.js +10 -6
- package/dist/cli/commands/checkpoint-read.js.map +1 -1
- package/dist/cli/commands/checkpoint-write.js +38 -11
- package/dist/cli/commands/checkpoint-write.js.map +1 -1
- package/dist/cli/commands/export.js +117 -0
- package/dist/cli/commands/export.js.map +1 -0
- package/dist/cli/commands/fix-git.js +109 -0
- package/dist/cli/commands/fix-git.js.map +1 -0
- package/dist/cli/commands/generate-launch.js +35 -3
- package/dist/cli/commands/generate-launch.js.map +1 -1
- package/dist/cli/commands/history-update.js +1 -1
- package/dist/cli/commands/history-update.js.map +1 -1
- package/dist/cli/commands/index.js +11 -0
- package/dist/cli/commands/index.js.map +1 -1
- package/dist/cli/commands/persist.js +67 -0
- package/dist/cli/commands/persist.js.map +1 -0
- package/dist/cli/commands/resume-summary.js +14 -3
- package/dist/cli/commands/resume-summary.js.map +1 -1
- package/dist/cli/commands/resume.js +73 -0
- package/dist/cli/commands/resume.js.map +1 -0
- package/dist/cli/commands/session-artifacts.js +12 -11
- package/dist/cli/commands/session-artifacts.js.map +1 -1
- package/dist/cli/commands/session-close.js +8 -7
- package/dist/cli/commands/session-close.js.map +1 -1
- package/dist/cli/commands/session-create.js +5 -1
- package/dist/cli/commands/session-create.js.map +1 -1
- package/dist/cli/commands/session-resume.js +16 -10
- package/dist/cli/commands/session-resume.js.map +1 -1
- package/dist/cli/commands/status.js +66 -2
- package/dist/cli/commands/status.js.map +1 -1
- package/dist/cli/commands/workspace-init.js +21 -2
- package/dist/cli/commands/workspace-init.js.map +1 -1
- package/dist/cli/context-id.js +133 -0
- package/dist/cli/context-id.js.map +1 -0
- package/dist/cli/help-groups.js +16 -1
- package/dist/cli/help-groups.js.map +1 -1
- package/dist/cli/main.js +44 -16
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/output-mode.js +41 -0
- package/dist/cli/output-mode.js.map +1 -0
- package/dist/cli/parser.js +6 -0
- package/dist/cli/parser.js.map +1 -1
- package/dist/cli/registry.js.map +1 -1
- package/dist/cli/render.js +53 -0
- package/dist/cli/render.js.map +1 -1
- package/package.json +1 -1
- package/skills/w/SKILL.md +3 -1
- package/skills/w/commands/export-diagrams.md +19 -10
- package/skills/w/commands/export-manuals.md +20 -10
- package/skills/w/commands/export-reports.md +20 -11
- package/skills/w/commands/export-scripts.md +20 -10
- package/skills/w/commands/fix-git.md +31 -12
- package/skills/w/commands/generate-launch.md +1 -1
- package/skills/w/commands/persist.md +33 -68
- package/skills/w/commands/plan-new.md +1 -1
- package/skills/w/commands/resume.md +25 -41
- package/skills/w/commands/spec-refine.md +12 -0
- package/skills/w/commands/status.md +12 -40
- package/skills/w/commands/workspace-init.md +3 -3
- package/skills/w/hooks/README.md +21 -2
- package/skills/w/hooks/hooks.template.json +2 -2
- package/skills/w/loops/README.md +5 -3
- package/skills/w/loops/plan-exec-loop/LOOP.md +10 -5
- package/skills/w/loops/plan-new-loop/LOOP.md +17 -8
- package/skills/w/loops/plan-refine-loop/LOOP.md +3 -1
- package/skills/w/loops/spec-refine-loop/LOOP.md +20 -7
- package/skills/w/roles/git/ROLE.md +7 -8
package/README.md
CHANGED
|
@@ -16,11 +16,11 @@ Workline has three layers plus a permanent `docs/` zone:
|
|
|
16
16
|
|
|
17
17
|
- **Layer 1 · Commands** (`/w:*`) — the only thing the user invokes:
|
|
18
18
|
- **SPEC** — `/w:spec-new` (single-pass draft after a bounded reconnaissance of the sources; may split into sibling specs) → `/w:spec-refine` (gap-driven loop; converges at `status: ready-for-plan` — the blocking functional decisions closed, the technical ones declared for PLAN) → `docs/specs/`.
|
|
19
|
-
- **PLAN** — `/w:plan-new` → (`/w:plan-refine` — aux, optional) → `/w:plan-exec` → `docs/plans/` (the plan loops may split into sibling plans). A plan is a sequence of **functional states**: every phase names a verifiable state, carries its own primary proof, and declares where a
|
|
19
|
+
- **PLAN** — `/w:plan-new` → (`/w:plan-refine` — aux, optional) → `/w:plan-exec` → `docs/plans/` (the plan loops may split into sibling plans). A plan is a sequence of **functional states**: every phase names a verifiable state, carries its own primary proof, and — **only when the change carries temporary behavior** — declares where a simulation lives and when it retires. Ticking every checkbox is not validation, and validating every phase is not closing the plan.
|
|
20
20
|
- **QUICK** — `/w:quick` — lightweight shortcut; escalates live to SPEC when the goal outgrows a quick.
|
|
21
21
|
- **EXPORTS** — `/w:export-scripts` · `export-manuals` · `export-diagrams` · `export-reports` (the only path that promotes artifacts to `docs/`).
|
|
22
22
|
- **Bootstrap** — `/w:workspace-init` turns any folder into a workspace (1+ sources; no project/hub distinction).
|
|
23
|
-
- **Transversal** — `/w:status` · `/w:fix-git` · `/w:generate-launch` · `/w:persist` (persists in-conversation work into `docs/` — classify → `docs/research` · spec draft · plan adoption; the host→`docs/` counterpart of `export-*`).
|
|
23
|
+
- **Transversal** — `/w:status` · `/w:resume` (read-only: composes `/w:status` and proposes how to continue, routed to the target command) · `/w:fix-git` · `/w:generate-launch` · `/w:persist` (persists in-conversation work into `docs/` — classify → `docs/research` · spec draft · plan adoption; the host→`docs/` counterpart of `export-*`).
|
|
24
24
|
- **Layer 2 · Loops** — the AI runs them whole: `spec-refine-loop` · `plan-new-loop` · `plan-refine-loop` · `plan-exec-loop` · `quick-loop` — all heirs of the shared engine `skills/w/loops/CHASSIS.md` (+ `CODE-POLICIES.md` for the code-editing loops). Each loop is a **persistent goal** that runs until its success criteria are green (verification-first); gap-driven, with **structured-choice** lifecycle control (compact/close — `AskUserQuestion` on Claude Code, numbered markdown elsewhere) and resumable `CHECKPOINT`.
|
|
25
25
|
- **Layer 3 · Sessions + artifacts** — internal, ephemeral process state under `.workflow/sessions/` (`SESSION` · `CHECKPOINT` · `BACKLOG` · `SCRIPTS.sql` · `ANALYSIS-FILE` · `CONCLUSIONS` · `DECISION` · …). Sessions are slug-named folders, created by loops, never by the user.
|
|
26
26
|
|
|
@@ -32,9 +32,10 @@ Workline has three layers plus a permanent `docs/` zone:
|
|
|
32
32
|
|
|
33
33
|
A `### Fn` phase is a **verifiable state of the system**, not a batch of technical tasks. It answers one question: *what can the system do or demonstrate at the end that it could not at the start?* The contract is defined **once** in `skills/w/loops/plan-new-loop/LOOP.md` (§ *Phase contract*); the other two plan loops reference it and never redefine it.
|
|
34
34
|
|
|
35
|
-
- **Phase shape** — always `Resultado` · `Trabajo` · `Validación de fase` · `Condición de salida
|
|
36
|
-
- **Phase state** — one `> Estado:` line per phase (`pendiente` | `en ejecución` | `bloqueada` | `validada`), machine state that `aw status` parses. A phase reaches `validada` only with its proof green, its exit condition true and the closing review gate passed — **never** because its checkboxes are ticked.
|
|
37
|
-
- **
|
|
35
|
+
- **Phase shape** — required always: `Resultado` · `Trabajo` · `Validación de fase` · `Condición de salida`. Conditional, each only when its condition holds: `Estado inicial`, `Recorrido afectado`, `Dependencias`, `Límite de simulación` and `Diferido`. A conditional block is **never written empty** — no `no aplica` placeholders. Granularity is semantic: a task is a unit of purpose that may touch several files, never an edit operation ("create class X").
|
|
36
|
+
- **Phase state** — one `> Estado:` line per phase (`pendiente` | `en ejecución` | `bloqueada` | `validada`), machine state that `aw status` parses. A phase reaches `validada` only with its proof green, its exit condition true and the closing review gate passed — **never** because its checkboxes are ticked. A `bloqueada` phase states what it waits on in its own `> Bloqueo:` line.
|
|
37
|
+
- **Plan state** — one `> Estado:` line under the title (`open` | `done`), plus a `> Cierre: YYYY-MM-DD · sesión NNN` line on close. It is the third axis, not a summary of the other two: every phase validated with no closure is a plan still `open`, awaiting its **final validation**.
|
|
38
|
+
- **Temporary simulation** — **only when the change carries one**, and then planned with a lifecycle: where it is born, how it moves (`antes → después`), which phase retires it, and what prevents it from being selected in a production runtime. A change with no temporary behavior declares no boundary and no gate asks for one. A stub still live on the main path with no declared removal is a review finding.
|
|
38
39
|
- **Evidence** — one primary proof per phase; focused tests only where a layer owns rules, transformation, persistence or integration; risk tests on top of those. Tests that only mirror structure are flagged `overtest` at the closing review gate.
|
|
39
40
|
|
|
40
41
|
The authoring side and the execution side share one gate, seen from both ends:
|
|
@@ -47,7 +48,17 @@ The authoring side and the execution side share one gate, seen from both ends:
|
|
|
47
48
|
└─ functional change ────▶ spec-refine
|
|
48
49
|
```
|
|
49
50
|
|
|
50
|
-
`plan-refine` converges when the plan is executable; `plan-exec` re-checks that same shape on entry, normalizes only minor gaps with consent, and returns the work instead of redesigning it silently.
|
|
51
|
+
`plan-refine` converges when the plan is executable; `plan-exec` re-checks that same shape on entry, normalizes only minor gaps with consent, and returns the work instead of redesigning it silently.
|
|
52
|
+
|
|
53
|
+
Progress is reported on **three** independent axes, and none stands in for another:
|
|
54
|
+
|
|
55
|
+
| Axis | Question | Field |
|
|
56
|
+
|---|---|---|
|
|
57
|
+
| task completed | what work was done | `progress_pct` (checkbox-derived, unchanged) |
|
|
58
|
+
| phase validated | what functional state was demonstrated | `phases_validated` / `phases_total` |
|
|
59
|
+
| plan closed | whether the whole solution was validated | `plan_state` |
|
|
60
|
+
|
|
61
|
+
A plan at 100% of checkboxes with zero validated phases is work implemented, not validated. A plan with every phase validated and no closure is `open` with `final_validation_pending: true` — the **final validation** never ran. A plan declaring `done` over open tasks or unvalidated phases is `inconsistent`, reported as a contradiction rather than a closure. Both `/w:status` and `/w:resume` say so, and a `bloqueada` phase is shown with the `> Bloqueo:` reason that says what unblocks it.
|
|
51
62
|
|
|
52
63
|
## Bundled SKILL
|
|
53
64
|
|
package/dist/adapters/git-cli.js
CHANGED
|
@@ -121,6 +121,48 @@ export class GitCliAdapter {
|
|
|
121
121
|
return undefined;
|
|
122
122
|
return cleanRefName(raw);
|
|
123
123
|
}
|
|
124
|
+
async conflictStages(repoPath, path) {
|
|
125
|
+
// `ls-files -u` is the only source that gives BOTH the stage number and the
|
|
126
|
+
// blob hash. Reading the worktree file instead would show the conflict
|
|
127
|
+
// markers git already wrote, not the three sides that produced them.
|
|
128
|
+
const listed = await this.process.run("git", ["ls-files", "-u", "--", path], this.opts(repoPath));
|
|
129
|
+
const hashes = new Map();
|
|
130
|
+
if (listed.code === 0) {
|
|
131
|
+
for (const line of listed.stdout.split("\n")) {
|
|
132
|
+
const match = /^\d+ ([0-9a-f]{40}) ([123])\t/.exec(line);
|
|
133
|
+
if (match?.[1] && match[2])
|
|
134
|
+
hashes.set(match[2], match[1]);
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
const base = await this.readStage(repoPath, hashes.get("1"));
|
|
138
|
+
const ours = await this.readStage(repoPath, hashes.get("2"));
|
|
139
|
+
const theirs = await this.readStage(repoPath, hashes.get("3"));
|
|
140
|
+
const present = [base, ours, theirs].filter((s) => s.hash !== null);
|
|
141
|
+
return {
|
|
142
|
+
path,
|
|
143
|
+
base,
|
|
144
|
+
ours,
|
|
145
|
+
theirs,
|
|
146
|
+
binary: present.some((s) => s.content === null),
|
|
147
|
+
};
|
|
148
|
+
}
|
|
149
|
+
async readStage(repoPath, hash) {
|
|
150
|
+
if (hash === undefined)
|
|
151
|
+
return { hash: null, content: null, bytes: 0 };
|
|
152
|
+
const result = await this.process.run("git", ["cat-file", "-p", hash], this.opts(repoPath));
|
|
153
|
+
if (result.code !== 0)
|
|
154
|
+
return { hash, content: null, bytes: 0 };
|
|
155
|
+
const bytes = Buffer.byteLength(result.stdout, "utf8");
|
|
156
|
+
// A NUL byte is the same heuristic git itself uses to call a blob binary.
|
|
157
|
+
const content = result.stdout.includes("\u0000") ? null : result.stdout;
|
|
158
|
+
return { hash, content, bytes };
|
|
159
|
+
}
|
|
160
|
+
async stagePath(repoPath, path) {
|
|
161
|
+
await this.mustRun(`add ${path}`, ["add", "--", path], repoPath);
|
|
162
|
+
}
|
|
163
|
+
async commit(repoPath, message) {
|
|
164
|
+
await this.mustRun("commit", ["commit", "-m", message], repoPath);
|
|
165
|
+
}
|
|
124
166
|
}
|
|
125
167
|
/**
|
|
126
168
|
* `git name-rev` can return `remotes/origin/x`, `tags/x`, `x~2`, `x^0` — reduce
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git-cli.js","sourceRoot":"","sources":["../../src/adapters/git-cli.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"git-cli.js","sourceRoot":"","sources":["../../src/adapters/git-cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,12 +4,12 @@ import { parseDecisiones } from "./parsers/decisiones.js";
|
|
|
4
4
|
import { parseTasks } from "./parsers/tasks.js";
|
|
5
5
|
import { relpath } from "./paths.js";
|
|
6
6
|
import { findArtifact, listExistingArtifacts } from "./session-artifacts.js";
|
|
7
|
-
import {
|
|
7
|
+
import { resolveSessionTarget, sessionReadRequest, } from "./session-resolver.js";
|
|
8
8
|
export async function runArtifactsCommand(fs, env, paths, input) {
|
|
9
|
-
const
|
|
10
|
-
if (
|
|
11
|
-
return {
|
|
12
|
-
|
|
9
|
+
const resolution = await resolveSessionTarget(fs, paths, sessionReadRequest(input));
|
|
10
|
+
if (resolution.outcome !== "resolved")
|
|
11
|
+
return { sessionError: resolution };
|
|
12
|
+
const session = resolution.session;
|
|
13
13
|
const cwd = env.cwd();
|
|
14
14
|
const verbose = input.verbose === true;
|
|
15
15
|
const sessionSummary = await summarizeSession(fs, session.path);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"artifacts-service.js","sourceRoot":"","sources":["../../src/application/artifacts-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGjC,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAiB,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAE/D,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC7E,OAAO,
|
|
1
|
+
{"version":3,"file":"artifacts-service.js","sourceRoot":"","sources":["../../src/application/artifacts-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { join } from "node:path";
|
|
2
|
+
import { resolveLifecycleTarget, unresolvedDetail, } from "./lifecycle-target.js";
|
|
2
3
|
import { parseMdSection, parseMdSectionBilingual, parseMdValue } from "./markdown.js";
|
|
3
4
|
import { listExistingArtifacts } from "./session-artifacts.js";
|
|
4
|
-
import { CLOSED_MARKER, listSessionFolders, parseSessionFolder } from "./session-resolver.js";
|
|
5
|
+
import { CLOSED_MARKER, listSessionFolders, parseSessionFolder, resolveSessionTarget, sessionNumericCode, sessionReadRequest, } from "./session-resolver.js";
|
|
5
6
|
const PLACEHOLDER_MARKER = "_[AI:";
|
|
6
7
|
const DEFAULT_STALE_THRESHOLD_SECONDS = 300;
|
|
7
8
|
export async function readLatestCheckpoint(fs, sessionPath) {
|
|
@@ -132,16 +133,18 @@ function parseActualizado(value) {
|
|
|
132
133
|
const date = new Date(Number.parseInt(m[1], 10), Number.parseInt(m[2], 10) - 1, Number.parseInt(m[3], 10), Number.parseInt(m[4], 10), Number.parseInt(m[5], 10), m[6] ? Number.parseInt(m[6], 10) : 0);
|
|
133
134
|
return Number.isFinite(date.getTime()) ? date : null;
|
|
134
135
|
}
|
|
135
|
-
export async function runCheckpointRead(fs,
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
136
|
+
export async function runCheckpointRead(fs, paths, input) {
|
|
137
|
+
// Reading a checkpoint is a read: a closed session's checkpoint is legitimate
|
|
138
|
+
// to inspect, and the association makes later turns stay on this line.
|
|
139
|
+
const resolution = await resolveSessionTarget(fs, paths, sessionReadRequest(input));
|
|
140
|
+
if (resolution.outcome !== "resolved")
|
|
141
|
+
return { sessionError: resolution };
|
|
142
|
+
const session = resolution.session;
|
|
143
|
+
const cp = await readLatestCheckpoint(fs, session.path);
|
|
141
144
|
if (!cp) {
|
|
142
|
-
return { session: folder, checkpoint: null, reason: "CHECKPOINT.md no existe" };
|
|
145
|
+
return { session: session.folder, checkpoint: null, reason: "CHECKPOINT.md no existe" };
|
|
143
146
|
}
|
|
144
|
-
return { session: folder, checkpoint: cp };
|
|
147
|
+
return { session: session.folder, checkpoint: cp };
|
|
145
148
|
}
|
|
146
149
|
/**
|
|
147
150
|
* Active sessions are non-`.closed` folders under `.workflow/sessions/`.
|
|
@@ -158,59 +161,47 @@ export async function findActiveSessions(fs, paths) {
|
|
|
158
161
|
}
|
|
159
162
|
return active;
|
|
160
163
|
}
|
|
161
|
-
async function resolveTargetSession(fs, env, paths, code) {
|
|
162
|
-
if (code) {
|
|
163
|
-
const sessionsDir = paths.cwdSessionsDir();
|
|
164
|
-
if (!(await fs.exists(sessionsDir)))
|
|
165
|
-
return null;
|
|
166
|
-
const entries = await fs.list(sessionsDir);
|
|
167
|
-
const norm = code.replace("session", "").split("-")[0]?.padStart(3, "0") ?? code;
|
|
168
|
-
for (const entry of entries) {
|
|
169
|
-
if (entry.type !== "dir")
|
|
170
|
-
continue;
|
|
171
|
-
const m = entry.name.match(/^session(\d{3})-/);
|
|
172
|
-
if (m?.[1] === norm)
|
|
173
|
-
return entry.name;
|
|
174
|
-
}
|
|
175
|
-
return null;
|
|
176
|
-
}
|
|
177
|
-
void env;
|
|
178
|
-
const actives = await findActiveSessions(fs, paths);
|
|
179
|
-
return actives.length === 1 ? (actives[0]?.folder ?? null) : null;
|
|
180
|
-
}
|
|
181
164
|
const DEFAULT_RECENT_DAYS = 7;
|
|
182
|
-
|
|
183
|
-
|
|
165
|
+
/**
|
|
166
|
+
* PostCompact payload. It used to present `actives[0]` — the OLDEST active
|
|
167
|
+
* session — as the primary one, so a compacted conversation could be handed
|
|
168
|
+
* another conversation's checkpoint. The target is now the canonical one, and
|
|
169
|
+
* an unresolvable target degrades: `primary_session: null` plus candidates,
|
|
170
|
+
* never an arbitrary session. PostCompact never blocks — the host already
|
|
171
|
+
* compacted; what it must not do is restore the wrong line.
|
|
172
|
+
*/
|
|
173
|
+
export async function runResumeSummary(fs, paths, options = {}) {
|
|
174
|
+
// Deliberately an aggregated read: it may list N sessions and turns none of
|
|
175
|
+
// them into the conversation's association (AC-09).
|
|
184
176
|
const actives = await findActiveSessions(fs, paths);
|
|
185
|
-
const
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
if (options.includeRecentClosed === true) {
|
|
196
|
-
baseEmpty.recent_closed_with_artifacts = await findRecentClosedWithArtifacts(fs, paths, actives.map((a) => a.folder), options.recentDays ?? DEFAULT_RECENT_DAYS);
|
|
197
|
-
}
|
|
198
|
-
return baseEmpty;
|
|
177
|
+
const activeFolders = actives.map((a) => a.folder);
|
|
178
|
+
const target = await resolveLifecycleTarget(fs, paths, {
|
|
179
|
+
...(options.code !== undefined ? { code: options.code } : {}),
|
|
180
|
+
...(options.contextId !== undefined ? { contextId: options.contextId } : {}),
|
|
181
|
+
});
|
|
182
|
+
const summary = target.outcome === "resolved"
|
|
183
|
+
? await summarizeResolved(fs, activeFolders, target.session)
|
|
184
|
+
: degradedSummary(activeFolders, target);
|
|
185
|
+
if (options.includeRecentClosed === true) {
|
|
186
|
+
summary.recent_closed_with_artifacts = await findRecentClosedWithArtifacts(fs, paths, activeFolders, options.recentDays ?? DEFAULT_RECENT_DAYS);
|
|
199
187
|
}
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
const
|
|
188
|
+
return summary;
|
|
189
|
+
}
|
|
190
|
+
async function summarizeResolved(fs, activeFolders, session) {
|
|
191
|
+
const cp = await readLatestCheckpoint(fs, session.path);
|
|
192
|
+
const cpStatus = await computeCheckpointStatus(fs, session.path);
|
|
193
|
+
const code = sessionNumericCode(session.folder);
|
|
204
194
|
const summary = {
|
|
205
|
-
active_sessions:
|
|
206
|
-
primary_session:
|
|
207
|
-
primary_session_code:
|
|
195
|
+
active_sessions: activeFolders,
|
|
196
|
+
primary_session: session.folder,
|
|
197
|
+
primary_session_code: code,
|
|
208
198
|
checkpoint_present: cp !== null,
|
|
209
199
|
checkpoint_path: cpStatus.checkpoint_path,
|
|
210
200
|
checkpoint_status: cpStatus.status,
|
|
211
201
|
checkpoint_age_seconds: cpStatus.age_seconds,
|
|
212
202
|
unfilled_placeholders: cpStatus.unfilled_placeholders,
|
|
213
203
|
needs_ai_action: cpStatus.needs_ai_action,
|
|
204
|
+
continuity: "ok",
|
|
214
205
|
};
|
|
215
206
|
if (cp) {
|
|
216
207
|
const proximoLines = cp.proximo
|
|
@@ -225,11 +216,25 @@ export async function runResumeSummary(fs, env, paths, options = {}) {
|
|
|
225
216
|
proximo: proximoLines && proximoLines.length > 0 ? proximoLines : null,
|
|
226
217
|
};
|
|
227
218
|
}
|
|
228
|
-
if (options.includeRecentClosed === true) {
|
|
229
|
-
summary.recent_closed_with_artifacts = await findRecentClosedWithArtifacts(fs, paths, actives.map((a) => a.folder), options.recentDays ?? DEFAULT_RECENT_DAYS);
|
|
230
|
-
}
|
|
231
219
|
return summary;
|
|
232
220
|
}
|
|
221
|
+
function degradedSummary(activeFolders, target) {
|
|
222
|
+
const detail = unresolvedDetail(target);
|
|
223
|
+
return {
|
|
224
|
+
active_sessions: activeFolders,
|
|
225
|
+
primary_session: null,
|
|
226
|
+
primary_session_code: null,
|
|
227
|
+
checkpoint_present: false,
|
|
228
|
+
checkpoint_status: "missing",
|
|
229
|
+
unfilled_placeholders: [],
|
|
230
|
+
// Nothing to do when there is no session at all; with candidates present,
|
|
231
|
+
// resolving the target IS the pending action.
|
|
232
|
+
needs_ai_action: activeFolders.length > 0,
|
|
233
|
+
continuity: "degraded",
|
|
234
|
+
candidates: detail.candidates,
|
|
235
|
+
action: detail.action,
|
|
236
|
+
};
|
|
237
|
+
}
|
|
233
238
|
/**
|
|
234
239
|
* Finds closed sessions (`.closed` sentinel present) within the `recentDays`
|
|
235
240
|
* window (folder mtime) that carry new-model closure artifacts (CONCLUSIONS.md
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkpoint-service.js","sourceRoot":"","sources":["../../src/application/checkpoint-service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"checkpoint-service.js","sourceRoot":"","sources":["../../src/application/checkpoint-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,43 +2,37 @@ import { join } from "node:path";
|
|
|
2
2
|
import { findActiveSessions } from "./checkpoint-service.js";
|
|
3
3
|
import { formatCheckpointMd } from "./checkpoint/markdown.js";
|
|
4
4
|
import { extractSessionState } from "./checkpoint/state-reader.js";
|
|
5
|
+
import { resolveLifecycleTarget, unresolvedDetail, } from "./lifecycle-target.js";
|
|
5
6
|
const PLACEHOLDER_MARKER = "_[AI:";
|
|
7
|
+
/**
|
|
8
|
+
* PreCompact payload. `--code` used to be honoured only for legacy
|
|
9
|
+
* `sessionNNN-*` folders, so a perfectly unambiguous current-model code was
|
|
10
|
+
* silently skipped whenever a second session was active. It now goes through
|
|
11
|
+
* the canonical resolver like everything else.
|
|
12
|
+
*/
|
|
6
13
|
export async function runCheckpointWrite(fs, env, git, paths, options = {}) {
|
|
7
|
-
const
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
return { skipped: true, reason: "no hay sesiones activas en .workflow/sessions" };
|
|
13
|
-
}
|
|
14
|
-
return {
|
|
15
|
-
skipped: true,
|
|
16
|
-
reason: "múltiples sesiones activas; especificá --code <CODE>",
|
|
17
|
-
active_sessions: actives.map((a) => a.folder),
|
|
18
|
-
};
|
|
19
|
-
}
|
|
20
|
-
const sessionPath = join(paths.cwdSessionsDir(), folder);
|
|
21
|
-
if (!(await fs.exists(sessionPath))) {
|
|
22
|
-
throw new Error(`folder no existe: ${sessionPath}`);
|
|
23
|
-
}
|
|
24
|
-
const cpPath = join(sessionPath, "CHECKPOINT.md");
|
|
14
|
+
const target = await resolveLifecycleTarget(fs, paths, options);
|
|
15
|
+
if (target.outcome !== "resolved")
|
|
16
|
+
return unresolved(fs, paths, target);
|
|
17
|
+
const session = target.session;
|
|
18
|
+
const cpPath = join(session.path, "CHECKPOINT.md");
|
|
25
19
|
if ((await fs.exists(cpPath)) && options.force !== true) {
|
|
26
20
|
const existing = await fs.readText(cpPath);
|
|
27
21
|
if (!existing.includes(PLACEHOLDER_MARKER)) {
|
|
28
22
|
return {
|
|
29
|
-
session: folder,
|
|
23
|
+
session: session.folder,
|
|
30
24
|
checkpoint_path: cpPath,
|
|
31
25
|
skipped: true,
|
|
32
26
|
reason: "CHECKPOINT.md ya está sintetizado (sin placeholders); pasar --force para regenerar",
|
|
33
27
|
};
|
|
34
28
|
}
|
|
35
29
|
}
|
|
36
|
-
const state = await extractSessionState(fs, git, cwd,
|
|
30
|
+
const state = await extractSessionState(fs, git, env.cwd(), session.path);
|
|
37
31
|
const md = formatCheckpointMd(state);
|
|
38
|
-
await fs.mkdirp(
|
|
32
|
+
await fs.mkdirp(session.path);
|
|
39
33
|
await fs.writeText(cpPath, md);
|
|
40
34
|
return {
|
|
41
|
-
session: folder,
|
|
35
|
+
session: session.folder,
|
|
42
36
|
checkpoint_path: cpPath,
|
|
43
37
|
lines_written: md.replace(/\n$/, "").split("\n").length,
|
|
44
38
|
progress_pct: state.progress_pct,
|
|
@@ -47,52 +41,38 @@ export async function runCheckpointWrite(fs, env, git, paths, options = {}) {
|
|
|
47
41
|
files_touched_count: state.files_touched.length,
|
|
48
42
|
};
|
|
49
43
|
}
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
return
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
const cwd = env.cwd();
|
|
72
|
-
const actives = await findActiveSessions(fs, paths);
|
|
73
|
-
if (actives.length === 0) {
|
|
74
|
-
return { skipped: true, reason: "no hay sesiones activas" };
|
|
75
|
-
}
|
|
76
|
-
const written = [];
|
|
77
|
-
for (const a of actives) {
|
|
78
|
-
const entry = await writeCheckpointForActive(fs, git, cwd, paths, a.folder);
|
|
79
|
-
if (entry)
|
|
80
|
-
written.push(entry);
|
|
44
|
+
/**
|
|
45
|
+
* SessionEnd. It used to iterate EVERY active session, so closing one host
|
|
46
|
+
* conversation wrote checkpoints over lines belonging to others. It now
|
|
47
|
+
* checkpoints the resolved target and nothing else; with no sufficient
|
|
48
|
+
* identity it writes nothing at all. The host is exiting, so there is nobody
|
|
49
|
+
* left to answer a selection prompt: this surface always degrades, never blocks.
|
|
50
|
+
*/
|
|
51
|
+
export async function runAutoCompactOnClose(fs, env, git, paths, options = {}) {
|
|
52
|
+
const target = await resolveLifecycleTarget(fs, paths, {
|
|
53
|
+
...options,
|
|
54
|
+
canPauseCompaction: false,
|
|
55
|
+
});
|
|
56
|
+
if (target.outcome !== "resolved") {
|
|
57
|
+
const detail = unresolvedDetail(target);
|
|
58
|
+
return {
|
|
59
|
+
checkpoints_written: [],
|
|
60
|
+
continuity: "degraded",
|
|
61
|
+
primary_session: null,
|
|
62
|
+
candidates: detail.candidates,
|
|
63
|
+
action: detail.action,
|
|
64
|
+
};
|
|
81
65
|
}
|
|
82
|
-
|
|
66
|
+
const entry = await writeCheckpointForTarget(fs, git, env.cwd(), target.session);
|
|
67
|
+
return { checkpoints_written: [entry] };
|
|
83
68
|
}
|
|
84
|
-
async function
|
|
85
|
-
|
|
86
|
-
return null;
|
|
87
|
-
const sessionPath = join(paths.cwdSessionsDir(), folder);
|
|
88
|
-
if (!(await fs.exists(sessionPath)))
|
|
89
|
-
return null;
|
|
90
|
-
const cpPath = join(sessionPath, "CHECKPOINT.md");
|
|
69
|
+
async function writeCheckpointForTarget(fs, git, cwd, session) {
|
|
70
|
+
const cpPath = join(session.path, "CHECKPOINT.md");
|
|
91
71
|
if (await fs.exists(cpPath)) {
|
|
92
72
|
const existing = await fs.readText(cpPath);
|
|
93
73
|
if (!existing.includes(PLACEHOLDER_MARKER)) {
|
|
94
74
|
return {
|
|
95
|
-
session: folder,
|
|
75
|
+
session: session.folder,
|
|
96
76
|
checkpoint_path: cpPath,
|
|
97
77
|
skipped: true,
|
|
98
78
|
reason: "CHECKPOINT.md ya sintetizado",
|
|
@@ -100,21 +80,36 @@ async function writeCheckpointForActive(fs, git, cwd, paths, folder) {
|
|
|
100
80
|
}
|
|
101
81
|
}
|
|
102
82
|
try {
|
|
103
|
-
const state = await extractSessionState(fs, git, cwd,
|
|
83
|
+
const state = await extractSessionState(fs, git, cwd, session.path);
|
|
104
84
|
const md = formatCheckpointMd(state);
|
|
105
|
-
await fs.mkdirp(
|
|
85
|
+
await fs.mkdirp(session.path);
|
|
106
86
|
await fs.writeText(cpPath, md);
|
|
107
87
|
return {
|
|
108
|
-
session: folder,
|
|
88
|
+
session: session.folder,
|
|
109
89
|
checkpoint_path: cpPath,
|
|
110
90
|
progress_pct: state.progress_pct,
|
|
111
91
|
};
|
|
112
92
|
}
|
|
113
93
|
catch (err) {
|
|
114
94
|
return {
|
|
115
|
-
session: folder,
|
|
95
|
+
session: session.folder,
|
|
116
96
|
error: err instanceof Error ? `${err.name}: ${err.message}` : String(err),
|
|
117
97
|
};
|
|
118
98
|
}
|
|
119
99
|
}
|
|
100
|
+
async function unresolved(fs, paths, target) {
|
|
101
|
+
if (target.outcome === "blocked") {
|
|
102
|
+
return { blocked: true, selection_required: true, sessionError: target.error };
|
|
103
|
+
}
|
|
104
|
+
const actives = await findActiveSessions(fs, paths);
|
|
105
|
+
return {
|
|
106
|
+
skipped: true,
|
|
107
|
+
reason: target.reason,
|
|
108
|
+
continuity: "degraded",
|
|
109
|
+
primary_session: null,
|
|
110
|
+
active_sessions: actives.map((a) => a.folder),
|
|
111
|
+
candidates: target.candidates,
|
|
112
|
+
action: target.action,
|
|
113
|
+
};
|
|
114
|
+
}
|
|
120
115
|
//# sourceMappingURL=checkpoint-write-service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkpoint-write-service.js","sourceRoot":"","sources":["../../src/application/checkpoint-write-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAIjC,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"checkpoint-write-service.js","sourceRoot":"","sources":["../../src/application/checkpoint-write-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { parseDecisiones } from "./parsers/decisiones.js";
|
|
2
2
|
import { relpath } from "./paths.js";
|
|
3
3
|
import { canonicalArtifactPath, findArtifact } from "./session-artifacts.js";
|
|
4
|
-
import {
|
|
4
|
+
import { resolveSessionTarget, sessionReadRequest, } from "./session-resolver.js";
|
|
5
5
|
export async function runDecisionesCommand(fs, env, paths, input) {
|
|
6
|
-
const
|
|
7
|
-
if (
|
|
8
|
-
return {
|
|
9
|
-
|
|
6
|
+
const resolution = await resolveSessionTarget(fs, paths, sessionReadRequest(input));
|
|
7
|
+
if (resolution.outcome !== "resolved")
|
|
8
|
+
return { sessionError: resolution };
|
|
9
|
+
const session = resolution.session;
|
|
10
10
|
const decPath = await findArtifact(session.path, "decisions", fs);
|
|
11
11
|
if (!decPath) {
|
|
12
12
|
return {
|