@tacuchi/agent-workflow-cli 20.22.0 → 20.24.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/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/context/budget-service.js +128 -0
- package/dist/application/context/budget-service.js.map +1 -0
- package/dist/application/context/bundle-root.js +41 -0
- package/dist/application/context/bundle-root.js.map +1 -0
- package/dist/application/context/manifest.js +150 -0
- package/dist/application/context/manifest.js.map +1 -0
- package/dist/application/context/measure.js +227 -0
- package/dist/application/context/measure.js.map +1 -0
- package/dist/application/context/plan-service.js +177 -0
- package/dist/application/context/plan-service.js.map +1 -0
- 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/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 -388
- 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/context-budget.js +79 -0
- package/dist/cli/commands/context-budget.js.map +1 -0
- package/dist/cli/commands/context-plan.js +75 -0
- package/dist/cli/commands/context-plan.js.map +1 -0
- 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 +15 -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 +20 -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 +10 -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 +2 -2
- package/skills/w/commands/export-diagrams.md +13 -21
- package/skills/w/commands/export-manuals.md +15 -21
- package/skills/w/commands/export-reports.md +14 -21
- package/skills/w/commands/export-scripts.md +14 -21
- package/skills/w/commands/fix-git.md +24 -16
- package/skills/w/commands/generate-launch.md +13 -32
- package/skills/w/commands/persist.md +21 -77
- package/skills/w/commands/plan-exec.md +14 -30
- package/skills/w/commands/plan-new.md +11 -38
- package/skills/w/commands/plan-refine.md +13 -41
- package/skills/w/commands/quick.md +13 -20
- package/skills/w/commands/resume.md +19 -56
- package/skills/w/commands/spec-new.md +28 -69
- package/skills/w/commands/spec-refine.md +12 -37
- package/skills/w/commands/status.md +12 -55
- package/skills/w/commands/workspace-init.md +14 -21
- package/skills/w/context/MANIFEST.json +486 -0
- package/skills/w/harness/HARNESS.md +1 -1
- package/skills/w/hooks/README.md +21 -2
- package/skills/w/hooks/hooks.template.json +2 -2
- package/skills/w/loops/CHASSIS.md +53 -104
- package/skills/w/loops/CODE-POLICIES.md +4 -9
- package/skills/w/loops/plan-exec-loop/LOOP.md +5 -12
- package/skills/w/loops/plan-new-loop/LOOP.md +8 -32
- package/skills/w/loops/plan-refine-loop/LOOP.md +8 -36
- package/skills/w/loops/quick-loop/LOOP.md +4 -10
- package/skills/w/loops/spec-refine-loop/LOOP.md +7 -49
- package/skills/w/modules/ADOPTED-CONTEXT.md +10 -0
- package/skills/w/modules/COMPACTION.md +13 -0
- package/skills/w/modules/DB-RESEARCH-RULE.md +11 -0
- package/skills/w/modules/DB-SCRIPTS-ONLY.md +12 -0
- package/skills/w/modules/EXEC-DB-POLICY.md +7 -0
- package/skills/w/modules/EXEC-PROBE-TASKS.md +11 -0
- package/skills/w/modules/IDEATION-GATE.md +16 -0
- package/skills/w/modules/INCREMENTAL-STRATEGY.md +7 -0
- package/skills/w/modules/LAUNCH-DETECTION.md +26 -0
- package/skills/w/modules/PERSIST-ROUTING.md +16 -0
- package/skills/w/modules/PLAN-DESIGN-SPECS.md +12 -0
- package/skills/w/modules/PLAN-INPUT.md +26 -0
- package/skills/w/modules/PLAN-MODE.md +26 -0
- package/skills/w/modules/PLAN-PROBE-TASKS.md +10 -0
- package/skills/w/modules/PLAN-REFINE-DESIGN-SPECS.md +7 -0
- package/skills/w/modules/PLAN-REFINE-KEYS.md +9 -0
- package/skills/w/modules/PLAN-REFINE-SPLIT.md +12 -0
- package/skills/w/modules/PLAN-SPLIT-GATE.md +14 -0
- package/skills/w/modules/PROBE.md +12 -0
- package/skills/w/modules/PROMPT-CONTINUITY.md +13 -0
- package/skills/w/modules/RECONNAISSANCE.md +48 -0
- package/skills/w/modules/REPLANNING.md +12 -0
- package/skills/w/modules/SESSION-NUMBERING.md +19 -0
- package/skills/w/modules/SIMULATION-LIFECYCLE.md +11 -0
- package/skills/w/modules/SPEC-CHANGE-SHAPE.md +37 -0
- package/skills/w/modules/SPEC-REFINE-KEYS.md +14 -0
- package/skills/w/modules/SPLIT-GATE.md +42 -0
- package/skills/w/modules/WORKSPACE-SCAFFOLD.md +28 -0
- package/skills/w/roles/git/ROLE.md +7 -8
- package/skills/w/roles/ui-spec/ROLE.md +1 -1
package/dist/cli/help-groups.js
CHANGED
|
@@ -33,6 +33,7 @@ const GROUPS = [
|
|
|
33
33
|
"remove-source",
|
|
34
34
|
"git-flow",
|
|
35
35
|
"merge-state",
|
|
36
|
+
"fix-git",
|
|
36
37
|
"attach-multiroot",
|
|
37
38
|
"detach-multiroot",
|
|
38
39
|
"visibility",
|
|
@@ -43,7 +44,25 @@ const GROUPS = [
|
|
|
43
44
|
name: "Orchestration",
|
|
44
45
|
// next-number is a core helper (the bundle skills call it for NNN
|
|
45
46
|
// correlatives), not dev-only; skills/skill-index resolve capability bindings.
|
|
46
|
-
commands: [
|
|
47
|
+
commands: [
|
|
48
|
+
"status",
|
|
49
|
+
"resume",
|
|
50
|
+
"persist",
|
|
51
|
+
"stack",
|
|
52
|
+
"skill-index",
|
|
53
|
+
"skills",
|
|
54
|
+
"resume-summary",
|
|
55
|
+
"next-number",
|
|
56
|
+
// Context budget & read-set resolution (spec 009): what a command costs
|
|
57
|
+
// to load, and which documents it actually has to load.
|
|
58
|
+
"context-budget",
|
|
59
|
+
"context-plan",
|
|
60
|
+
],
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
name: "Exports",
|
|
64
|
+
// Each writes into exactly one docs/ folder and nowhere else.
|
|
65
|
+
commands: ["export-diagrams", "export-manuals", "export-reports", "export-scripts"],
|
|
47
66
|
},
|
|
48
67
|
{
|
|
49
68
|
name: "Doctor / Data",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"help-groups.js","sourceRoot":"","sources":["../../src/cli/help-groups.ts"],"names":[],"mappings":"AAAA,mFAAmF;AACnF,8EAA8E;AAC9E,sEAAsE;AACtE,EAAE;AACF,+EAA+E;AAC/E,8EAA8E;AAC9E,kFAAkF;AAClF,iEAAiE;AACjE,qEAAqE;AAOrE,MAAM,MAAM,GAA4B;IACtC;QACE,IAAI,EAAE,mBAAmB;QACzB,QAAQ,EAAE;YACR,UAAU;YACV,gBAAgB;YAChB,gBAAgB;YAChB,eAAe;YACf,mBAAmB;SACpB;KACF;IACD;QACE,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE,CAAC,iBAAiB,EAAE,kBAAkB,EAAE,uBAAuB,CAAC;KAC3E;IACD;QACE,IAAI,EAAE,oBAAoB;QAC1B,QAAQ,EAAE;YACR,gBAAgB;YAChB,SAAS;YACT,iBAAiB;YACjB,oBAAoB;YACpB,eAAe;YACf,eAAe;YACf,UAAU;YACV,aAAa;YACb,kBAAkB;YAClB,kBAAkB;YAClB,YAAY;YACZ,cAAc;SACf;KACF;IACD;QACE,IAAI,EAAE,eAAe;QACrB,kEAAkE;QAClE,+EAA+E;QAC/E,QAAQ,EAAE,
|
|
1
|
+
{"version":3,"file":"help-groups.js","sourceRoot":"","sources":["../../src/cli/help-groups.ts"],"names":[],"mappings":"AAAA,mFAAmF;AACnF,8EAA8E;AAC9E,sEAAsE;AACtE,EAAE;AACF,+EAA+E;AAC/E,8EAA8E;AAC9E,kFAAkF;AAClF,iEAAiE;AACjE,qEAAqE;AAOrE,MAAM,MAAM,GAA4B;IACtC;QACE,IAAI,EAAE,mBAAmB;QACzB,QAAQ,EAAE;YACR,UAAU;YACV,gBAAgB;YAChB,gBAAgB;YAChB,eAAe;YACf,mBAAmB;SACpB;KACF;IACD;QACE,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE,CAAC,iBAAiB,EAAE,kBAAkB,EAAE,uBAAuB,CAAC;KAC3E;IACD;QACE,IAAI,EAAE,oBAAoB;QAC1B,QAAQ,EAAE;YACR,gBAAgB;YAChB,SAAS;YACT,iBAAiB;YACjB,oBAAoB;YACpB,eAAe;YACf,eAAe;YACf,UAAU;YACV,aAAa;YACb,SAAS;YACT,kBAAkB;YAClB,kBAAkB;YAClB,YAAY;YACZ,cAAc;SACf;KACF;IACD;QACE,IAAI,EAAE,eAAe;QACrB,kEAAkE;QAClE,+EAA+E;QAC/E,QAAQ,EAAE;YACR,QAAQ;YACR,QAAQ;YACR,SAAS;YACT,OAAO;YACP,aAAa;YACb,QAAQ;YACR,gBAAgB;YAChB,aAAa;YACb,wEAAwE;YACxE,wDAAwD;YACxD,gBAAgB;YAChB,cAAc;SACf;KACF;IACD;QACE,IAAI,EAAE,SAAS;QACf,8DAA8D;QAC9D,QAAQ,EAAE,CAAC,iBAAiB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,gBAAgB,CAAC;KACpF;IACD;QACE,IAAI,EAAE,eAAe;QACrB,QAAQ,EAAE;YACR,eAAe;YACf,cAAc;YACd,aAAa;YACb,gBAAgB;YAChB,cAAc;YACd,WAAW;YACX,mBAAmB;YACnB,eAAe;SAChB;KACF;IACD,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,MAAM,CAAC,EAAE;IACrC,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE;IAClC,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,SAAS,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE;IAC/D,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,MAAM,CAAC,EAAE;CACrC,CAAC;AAEF,MAAM,UAAU,aAAa,CAAC,WAAqB;IACjD,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC;IACpC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,GAAG,GAAmB,EAAE,CAAC;IAC/B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5D,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QACnC,KAAK,MAAM,CAAC,IAAI,OAAO;YAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACrC,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;IACpD,CAAC;IACD,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACtD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;QAAE,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;IACnE,OAAO,GAAG,CAAC;AACb,CAAC;AAED,6EAA6E;AAC7E,2EAA2E;AAC3E,MAAM,iBAAiB,GAAG,EAAE,CAAC;AAE7B;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,QAAgB;IAC7C,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;IACxE,2EAA2E;IAC3E,2EAA2E;IAC3E,iEAAiE;IACjE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;IAC7D,IAAI,QAAQ,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;IAChD,IAAI,QAAQ,CAAC,MAAM,GAAG,iBAAiB,EAAE,CAAC;QACxC,QAAQ,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,iBAAiB,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC;IACtE,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,yBAAyB,CACvC,WAAqB,EACrB,SAAuC;IAEvC,MAAM,MAAM,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC;IAC1C,MAAM,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACnF,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACpB,IAAI,CAAC,CAAC;YAAE,SAAS;QACjB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;QACzB,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;YAC3B,MAAM,QAAQ,GAAG,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;YACnC,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACzD,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,OAAO,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC1E,CAAC;QACD,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC5C,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,OAA4C;IAC1E,OAAO,CAAC,kBAAkB,OAAO,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,QAAQ,IAAI,mBAAmB,EAAE,EAAE,CAAC,CAAC,IAAI,CAC7F,IAAI,CACL,CAAC;AACJ,CAAC"}
|
package/dist/cli/main.js
CHANGED
|
@@ -14,9 +14,10 @@ import { readPackageVersion } from "../runtime/version.js";
|
|
|
14
14
|
import { ALL_COMMANDS, commandDescribes } from "./commands/index.js";
|
|
15
15
|
import { commandHelpText, renderGroupedCommandLines } from "./help-groups.js";
|
|
16
16
|
import { shouldShowInteractiveMenu } from "./interactive-menu.js";
|
|
17
|
+
import { resolveOutputMode } from "./output-mode.js";
|
|
17
18
|
import { parseArgv } from "./parser.js";
|
|
18
19
|
import { CommandRegistry } from "./registry.js";
|
|
19
|
-
import { emitError, fail, formatArgvError, formatUnknownCommand, renderRaw, writeStdout, } from "./render.js";
|
|
20
|
+
import { emitError, fail, formatArgvError, formatUnknownCommand, renderHumanError, renderRaw, writeStdout, } from "./render.js";
|
|
20
21
|
import { runTui } from "./tui/run.js";
|
|
21
22
|
async function run(argv) {
|
|
22
23
|
const fs = new NodeFileSystem();
|
|
@@ -42,6 +43,11 @@ async function run(argv) {
|
|
|
42
43
|
}
|
|
43
44
|
const isTTY = process.stdout.isTTY === true;
|
|
44
45
|
const hasHelp = parsed.flags.has("--help") || parsed.flags.has("-h");
|
|
46
|
+
const output = resolveOutputMode(parsed, isTTY);
|
|
47
|
+
if (!output.ok) {
|
|
48
|
+
emitError(formatArgvError(output.message));
|
|
49
|
+
return 1;
|
|
50
|
+
}
|
|
45
51
|
const namespaceResolver = new NamespaceResolver(fs, env);
|
|
46
52
|
const namespace = await namespaceResolver.resolve(parsed.values.get("namespace"));
|
|
47
53
|
const paths = new PathsService(namespace.namespace, env.homeDir(), env.cwd());
|
|
@@ -92,33 +98,55 @@ async function run(argv) {
|
|
|
92
98
|
try {
|
|
93
99
|
const result = await command.execute(parsed, ctx);
|
|
94
100
|
await logger.log(result.ok ? "info" : "error", formatCommandOutcome(command.name, result.exitCode));
|
|
95
|
-
emit(result);
|
|
101
|
+
emit(result, command, output.mode);
|
|
96
102
|
return result.exitCode;
|
|
97
103
|
}
|
|
98
104
|
catch (err) {
|
|
99
105
|
await logger.error(formatCommandError(command.name, err));
|
|
100
106
|
const message = err instanceof Error ? err.message : String(err);
|
|
101
|
-
emit(fail("UNHANDLED", message));
|
|
107
|
+
emit(fail("UNHANDLED", message), command, output.mode);
|
|
102
108
|
return 1;
|
|
103
109
|
}
|
|
104
110
|
}
|
|
105
|
-
function emit(result) {
|
|
106
|
-
if (result.ok && result.data
|
|
107
|
-
writeStdout(renderRaw(result.data));
|
|
108
|
-
}
|
|
109
|
-
else if (result.ok && result.data === undefined) {
|
|
111
|
+
function emit(result, command, mode) {
|
|
112
|
+
if (result.ok && result.data === undefined) {
|
|
110
113
|
// Command already wrote stdout itself (custom rendering); nothing more to emit.
|
|
111
114
|
return;
|
|
112
115
|
}
|
|
113
|
-
|
|
114
|
-
const
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
payload.data = result.data;
|
|
120
|
-
writeStdout(renderRaw(payload));
|
|
116
|
+
if (mode.format === "human") {
|
|
117
|
+
const rendered = renderHuman(result, command, mode);
|
|
118
|
+
if (rendered !== undefined) {
|
|
119
|
+
writeStdout(rendered);
|
|
120
|
+
return;
|
|
121
|
+
}
|
|
121
122
|
}
|
|
123
|
+
emitJson(result);
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Human projection, or `undefined` when the command declares none — in which
|
|
127
|
+
* case the runtime keeps JSON. Success and failure are kept together on
|
|
128
|
+
* purpose: a command that renders prose on error but JSON on success would be
|
|
129
|
+
* incoherent to read and to script against.
|
|
130
|
+
*/
|
|
131
|
+
function renderHuman(result, command, mode) {
|
|
132
|
+
if (command.renderHuman === undefined)
|
|
133
|
+
return undefined;
|
|
134
|
+
if (!result.ok)
|
|
135
|
+
return renderHumanError(result.error, result.data);
|
|
136
|
+
return command.renderHuman(result, { detail: mode.detail });
|
|
137
|
+
}
|
|
138
|
+
function emitJson(result) {
|
|
139
|
+
if (result.ok) {
|
|
140
|
+
writeStdout(renderRaw(result.data));
|
|
141
|
+
return;
|
|
142
|
+
}
|
|
143
|
+
const payload = {
|
|
144
|
+
ok: result.ok,
|
|
145
|
+
error: result.error,
|
|
146
|
+
};
|
|
147
|
+
if (result.data !== undefined)
|
|
148
|
+
payload.data = result.data;
|
|
149
|
+
writeStdout(renderRaw(payload));
|
|
122
150
|
}
|
|
123
151
|
async function dispatchMenuAction(action, registry) {
|
|
124
152
|
switch (action) {
|
package/dist/cli/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/cli/main.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/cli/main.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
const OUTPUT_FORMATS = ["human", "json"];
|
|
2
|
+
export function resolveOutputMode(args, isTTY) {
|
|
3
|
+
const declared = readDeclaredFormat(args);
|
|
4
|
+
if (!declared.ok)
|
|
5
|
+
return declared;
|
|
6
|
+
const detail = args.flags.has("--detail");
|
|
7
|
+
if (detail && declared.format === "json") {
|
|
8
|
+
return {
|
|
9
|
+
ok: false,
|
|
10
|
+
message: "--detail solo aplica a la salida humana: el modelo JSON ya es completo",
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
const format = declared.format ?? (detail || isTTY ? "human" : "json");
|
|
14
|
+
return { ok: true, mode: { format, detail } };
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* The format the invocation *declares*, or none. Contradictions fail here
|
|
18
|
+
* rather than resolving by precedence: a caller who wrote both `--json` and
|
|
19
|
+
* `--format human` has a bug, and silently honoring one hides it.
|
|
20
|
+
*/
|
|
21
|
+
function readDeclaredFormat(args) {
|
|
22
|
+
const json = args.flags.has("--json");
|
|
23
|
+
const raw = args.values.get("format");
|
|
24
|
+
if (raw === undefined) {
|
|
25
|
+
if (args.flags.has("--format")) {
|
|
26
|
+
return { ok: false, message: "--format requiere un valor: human | json" };
|
|
27
|
+
}
|
|
28
|
+
return json ? { ok: true, format: "json" } : { ok: true };
|
|
29
|
+
}
|
|
30
|
+
if (!isOutputFormat(raw)) {
|
|
31
|
+
return { ok: false, message: `--format debe ser human o json (got '${raw}')` };
|
|
32
|
+
}
|
|
33
|
+
if (json && raw !== "json") {
|
|
34
|
+
return { ok: false, message: `--json contradice --format ${raw}: declará uno solo` };
|
|
35
|
+
}
|
|
36
|
+
return { ok: true, format: raw };
|
|
37
|
+
}
|
|
38
|
+
function isOutputFormat(value) {
|
|
39
|
+
return OUTPUT_FORMATS.includes(value);
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=output-mode.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"output-mode.js","sourceRoot":"","sources":["../../src/cli/output-mode.ts"],"names":[],"mappings":"AAiCA,MAAM,cAAc,GAAsB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;AAE5D,MAAM,UAAU,iBAAiB,CAAC,IAAgB,EAAE,KAAc;IAChE,MAAM,QAAQ,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAC1C,IAAI,CAAC,QAAQ,CAAC,EAAE;QAAE,OAAO,QAAQ,CAAC;IAElC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC1C,IAAI,MAAM,IAAI,QAAQ,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;QACzC,OAAO;YACL,EAAE,EAAE,KAAK;YACT,OAAO,EAAE,wEAAwE;SAClF,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IACvE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC;AAChD,CAAC;AAID;;;;GAIG;AACH,SAAS,kBAAkB,CAAC,IAAgB;IAC1C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACtC,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAEtC,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;YAC/B,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,0CAA0C,EAAE,CAAC;QAC5E,CAAC;QACD,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;IAC5D,CAAC;IAED,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;QACzB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,wCAAwC,GAAG,IAAI,EAAE,CAAC;IACjF,CAAC;IACD,IAAI,IAAI,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;QAC3B,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,8BAA8B,GAAG,oBAAoB,EAAE,CAAC;IACvF,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACnC,CAAC;AAED,SAAS,cAAc,CAAC,KAAa;IACnC,OAAO,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACxC,CAAC"}
|
package/dist/cli/parser.js
CHANGED
|
@@ -24,6 +24,10 @@ const MULTI_VALUE_FLAGS = new Set([
|
|
|
24
24
|
// Repeated `--path` (attach/detach-multiroot) and `--pattern` (code-scan).
|
|
25
25
|
"path",
|
|
26
26
|
"pattern",
|
|
27
|
+
// Repeated `--signal` and `--capability` (context-plan): a journey carries as
|
|
28
|
+
// many signals as it carries, and a host declares as many capabilities as it has.
|
|
29
|
+
"signal",
|
|
30
|
+
"capability",
|
|
27
31
|
]);
|
|
28
32
|
// Flag names (without leading `--`) that are booleans: their presence is the
|
|
29
33
|
// value, so they must NEVER consume the following token. Without this the parser
|
|
@@ -59,6 +63,12 @@ const BOOLEAN_FLAGS = new Set([
|
|
|
59
63
|
"include-graduated",
|
|
60
64
|
"include-legacy",
|
|
61
65
|
"include-recent-closed",
|
|
66
|
+
"can-pause",
|
|
67
|
+
// Output projection (see output-mode.ts). `--format` takes a value and stays
|
|
68
|
+
// out; these two are presence-only and MUST be here or `aw status --json` and
|
|
69
|
+
// `aw resume --detail 009` would swallow the following positional.
|
|
70
|
+
"json",
|
|
71
|
+
"detail",
|
|
62
72
|
"include-docs",
|
|
63
73
|
"from-sources",
|
|
64
74
|
"exported-only",
|
package/dist/cli/parser.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/cli/parser.ts"],"names":[],"mappings":"AAeA;;;;GAIG;AACH,MAAM,UAAU,SAAS,CAAC,IAAgB,EAAE,IAAY;IACtD,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACzC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC5E,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAC/B,CAAC;AAED,4EAA4E;AAC5E,4EAA4E;AAC5E,oCAAoC;AACpC,EAAE;AACF,+EAA+E;AAC/E,2EAA2E;AAC3E,mDAAmD;AACnD,MAAM,iBAAiB,GAAwB,IAAI,GAAG,CAAC;IACrD,QAAQ;IACR,QAAQ;IACR,gBAAgB;IAChB,WAAW;IACX,2EAA2E;IAC3E,MAAM;IACN,SAAS;
|
|
1
|
+
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/cli/parser.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/registry.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/cli/registry.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/cli/registry.ts"],"names":[],"mappings":"AAwBA,MAAM,OAAO,eAAe;IACT,QAAQ,GAAG,IAAI,GAAG,EAAsB,CAAC;IAE1D,QAAQ,CAAC,OAAmB;QAC1B,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CAAC,YAAY,OAAO,CAAC,IAAI,yBAAyB,CAAC,CAAC;QACrE,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC3C,CAAC;IAED,OAAO,CAAC,IAAY;QAClB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,IAAI;QACF,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC1C,CAAC;CACF"}
|
package/dist/cli/render.js
CHANGED
|
@@ -11,9 +11,62 @@ export function fail(code, message, data, exitCode = 1) {
|
|
|
11
11
|
exitCode,
|
|
12
12
|
};
|
|
13
13
|
}
|
|
14
|
+
/**
|
|
15
|
+
* Canonical envelope for a failed session resolution: the stable `code`, the
|
|
16
|
+
* human message, and — in `data` — the relevant candidates plus one valid next
|
|
17
|
+
* action. Every session-scoped command reports the failure this way, so the
|
|
18
|
+
* shape never depends on which command hit it.
|
|
19
|
+
*/
|
|
20
|
+
export function failSessionResolution(error) {
|
|
21
|
+
return fail(error.code, error.message, {
|
|
22
|
+
candidates: error.candidates,
|
|
23
|
+
action: error.action,
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Canonical failure of a hybrid operation: the stable code, the message, and
|
|
28
|
+
* the next valid action in `data` — the same shape `failSessionResolution`
|
|
29
|
+
* established, so every command's errors read the same way.
|
|
30
|
+
*
|
|
31
|
+
* The single cast lives here on purpose. On the failure path `data` carries the
|
|
32
|
+
* next action, never the command's success payload, and `renderHumanError`
|
|
33
|
+
* reads it structurally rather than through `T`. Three copies of this cast is
|
|
34
|
+
* what it replaces.
|
|
35
|
+
*/
|
|
36
|
+
export function failSemantic(failure) {
|
|
37
|
+
return {
|
|
38
|
+
ok: false,
|
|
39
|
+
error: { code: failure.code, message: failure.message },
|
|
40
|
+
data: { action: failure.action },
|
|
41
|
+
exitCode: 1,
|
|
42
|
+
};
|
|
43
|
+
}
|
|
14
44
|
export function renderRaw(payload) {
|
|
15
45
|
return `${JSON.stringify(payload, null, 2)}\n`;
|
|
16
46
|
}
|
|
47
|
+
/**
|
|
48
|
+
* Human projection of a failed result: the stable code, the message, and the
|
|
49
|
+
* next valid action when the command supplied one.
|
|
50
|
+
*
|
|
51
|
+
* It reads `action` out of the SAME `data` the JSON envelope carries (the shape
|
|
52
|
+
* `failSessionResolution` already produces), so the two projections cannot
|
|
53
|
+
* disagree about what to do next. The exit code is decided elsewhere and is
|
|
54
|
+
* untouched by which projection printed.
|
|
55
|
+
*/
|
|
56
|
+
export function renderHumanError(error, data) {
|
|
57
|
+
const code = error?.code ?? "UNKNOWN";
|
|
58
|
+
const lines = [`✗ ${code}`, error?.message ?? "el comando falló sin detallar la causa"];
|
|
59
|
+
const action = readNextAction(data);
|
|
60
|
+
if (action !== undefined)
|
|
61
|
+
lines.push("", `Siguiente acción: ${action}`);
|
|
62
|
+
return `${lines.join("\n")}\n`;
|
|
63
|
+
}
|
|
64
|
+
function readNextAction(data) {
|
|
65
|
+
if (typeof data !== "object" || data === null)
|
|
66
|
+
return undefined;
|
|
67
|
+
const action = data.action;
|
|
68
|
+
return typeof action === "string" && action.length > 0 ? action : undefined;
|
|
69
|
+
}
|
|
17
70
|
export function renderError(error) {
|
|
18
71
|
return `${JSON.stringify({ ok: false, error }, null, 2)}\n`;
|
|
19
72
|
}
|
package/dist/cli/render.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render.js","sourceRoot":"","sources":["../../src/cli/render.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"render.js","sourceRoot":"","sources":["../../src/cli/render.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tacuchi/agent-workflow-cli",
|
|
3
|
-
"version": "20.
|
|
3
|
+
"version": "20.24.0",
|
|
4
4
|
"description": "Runtime CLI for Workline — the stages + loops + artifacts system for agent work. Bundles the universal `w` skill set under `skills/w/` (slash commands `/w:*`: spec-new/spec-refine, plan-new/plan-exec, quick, persist, workspace-init, export-*); `self install --target <host>` copies SKILL + commands + hooks into the host. Pluggable capability skills via `.workflow/skills.toml`. Multi-empresa parametrization via `profile.json` cascade. Namespace auto-detected from any `.<ns>/sessions/` dir in CWD; default `workflow`.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
package/skills/w/SKILL.md
CHANGED
|
@@ -99,7 +99,7 @@ It is the **inter-turn** face of the *persistent objective* (same `CHECKPOINT`+r
|
|
|
99
99
|
|
|
100
100
|
### Host as producer — adopted context
|
|
101
101
|
|
|
102
|
-
The flows are **composable with host-native work, never exclusive**. The host is not only the executor of the loops: it is a legitimate **producer** of input. Work products born in the host conversation — an analysis reached with a host feature, a plan built in the host's plan mode, settled conclusions — are first-class flow input via **adoption**: transcribe with provenance (`## Origin` = adopted from the host conversation), verify like any other input (gate integrity), and never re-derive or re-ask what is already settled. Entry points: any loop start (adopted context — `
|
|
102
|
+
The flows are **composable with host-native work, never exclusive**. The host is not only the executor of the loops: it is a legitimate **producer** of input. Work products born in the host conversation — an analysis reached with a host feature, a plan built in the host's plan mode, settled conclusions — are first-class flow input via **adoption**: transcribe with provenance (`## Origin` = adopted from the host conversation), verify like any other input (gate integrity), and never re-derive or re-ask what is already settled. Entry points: any loop start (adopted context — `modules/ADOPTED-CONTEXT.md`, loaded under the `adopted` signal), `plan-new` input mode 4 (adopt an external plan), and `/w:persist` (classify + persist finished work into `docs/`).
|
|
103
103
|
|
|
104
104
|
### The commands (`/w:` namespace)
|
|
105
105
|
|
|
@@ -126,7 +126,7 @@ The flows are **composable with host-native work, never exclusive**. The host is
|
|
|
126
126
|
|
|
127
127
|
A loop is a skill that teaches the AI **how to iterate** to a deliverable: detect gaps, resolve them (human via structured-choice, inline research, a small probe/PoC or a composed capability), integrate and repeat until convergence. The 5 loops run the same **common engine** — persistent objective + verification-first, gap-driven convergent, single session per run, structured-choice + `flow` control (`Compactar`/`Cerrar`), compact/resume, artifacts as a live log, convergence gate — whose canon lives in [`loops/CHASSIS.md`](loops/CHASSIS.md); each loop is an **heir** adding only its deltas.
|
|
128
128
|
|
|
129
|
-
The **code-editing** loops (`plan-exec-loop`, `quick-loop`) additionally apply the *code-editing loop policies*: safe git, DB scripts-only and the pre-commit **closing review gate** (nothing reaches a proposed commit unreviewed) — see [`loops/CODE-POLICIES.md`](loops/CODE-POLICIES.md) (the chassis' sibling doc; document loops do not load it).
|
|
129
|
+
The **code-editing** loops (`plan-exec-loop`, `quick-loop`) additionally apply the *code-editing loop policies*: safe git, DB scripts-only (`modules/DB-SCRIPTS-ONLY.md`, under the `db` signal) and the pre-commit **closing review gate** (nothing reaches a proposed commit unreviewed) — see [`loops/CODE-POLICIES.md`](loops/CODE-POLICIES.md) (the chassis' sibling doc; document loops do not load it).
|
|
130
130
|
|
|
131
131
|
`spec-new` has no loop (single-pass): **6 commands / 5 loops**.
|
|
132
132
|
|
|
@@ -1,31 +1,23 @@
|
|
|
1
1
|
---
|
|
2
|
-
description:
|
|
3
|
-
argument-hint: [--
|
|
4
|
-
allowed-tools:
|
|
5
|
-
[
|
|
6
|
-
"Bash",
|
|
7
|
-
"Read",
|
|
8
|
-
"Write",
|
|
9
|
-
]
|
|
2
|
+
description: Use to promote diagram material from N sessions into a numbered dossier under docs/diagrams/. Read-only over sessions; `aw export-diagrams` owns the corpus, the numbering and the write. Never automatic.
|
|
3
|
+
argument-hint: "[--sessions <ids>] [--since <YYYY-MM-DD>] [--source <alias>]"
|
|
4
|
+
allowed-tools: ["Bash", "Read"]
|
|
10
5
|
---
|
|
11
6
|
|
|
12
|
-
|
|
7
|
+
## Run
|
|
13
8
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
9
|
+
1. `aw export-diagrams prepare --format human` (+ `--sessions`/`--since`/`--source`) → corpus, destination, shape, `input_digest`.
|
|
10
|
+
2. Answer with one JSON: `version`/`operation`/`input_digest` **verbatim**, `state: "proposed"`, `artifacts` = `{ path, content }` per file, all inside the destination; `NNN` is advisory: `apply` renumbers.
|
|
11
|
+
3. `echo '<json>' | aw export-diagrams validate --format human` → preview + `approval_digest`; confirm scope and destination with the user.
|
|
12
|
+
4. `echo '<json>' | aw export-diagrams apply --approval <digest>`. On rejection nothing was written: fix and repeat step 3.
|
|
17
13
|
|
|
18
14
|
## What it produces
|
|
19
15
|
|
|
20
|
-
- `docs/diagrams/`:
|
|
21
|
-
-
|
|
22
|
-
- Writes only `docs/diagrams/`.
|
|
23
|
-
|
|
24
|
-
## Plan mode
|
|
16
|
+
- `docs/diagrams/NNN-export-diagrams-YYYY-MM-DD/`: `README.md` (required) + the diagrams in Markdown, plus their DSL (`.dsl`/`.puml`/`.mmd`) when it helps.
|
|
17
|
+
- Never write into `docs/` with a file tool: one pass, all or nothing, no session or loop created/touched.
|
|
25
18
|
|
|
26
|
-
|
|
19
|
+
## More context
|
|
27
20
|
|
|
28
|
-
|
|
21
|
+
`aw context-plan --command export-diagrams --signal <s>` returns the extra documents a case needs; read exactly what it lists:
|
|
29
22
|
|
|
30
|
-
-
|
|
31
|
-
- Design reference: `docs/referencias/workflow-exports/README.md`
|
|
23
|
+
- `authoring` — the notation or the `--engine` choice is not obvious from the material → [`../exports/export-diagrams/EXPORT.md`](../exports/export-diagrams/EXPORT.md), no longer loaded on the normal path
|
|
@@ -1,31 +1,25 @@
|
|
|
1
1
|
---
|
|
2
|
-
description:
|
|
3
|
-
argument-hint: [--sessions <ids>] [--
|
|
4
|
-
allowed-tools:
|
|
5
|
-
[
|
|
6
|
-
"Bash",
|
|
7
|
-
"Read",
|
|
8
|
-
"Write",
|
|
9
|
-
]
|
|
2
|
+
description: Use to promote user and operator manuals from N sessions into a numbered dossier under docs/manuals/. Read-only over sessions; `aw export-manuals` owns numbering, INDEX.md and the write. Never automatic.
|
|
3
|
+
argument-hint: "[--sessions <ids>] [--since <YYYY-MM-DD>] [--source <alias>]"
|
|
4
|
+
allowed-tools: ["Bash", "Read"]
|
|
10
5
|
---
|
|
11
6
|
|
|
12
|
-
|
|
7
|
+
## Run
|
|
13
8
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
9
|
+
1. `aw export-manuals prepare --format human` (+ `--sessions`/`--since`/`--source`) → corpus, destination, shape, `input_digest`.
|
|
10
|
+
2. Answer with one JSON: `version`/`operation`/`input_digest` **verbatim**, `state: "proposed"`, `artifacts` = `{ path, content }` per file, all inside the destination; `NNN` is advisory: `apply` renumbers.
|
|
11
|
+
3. `echo '<json>' | aw export-manuals validate --format human` → preview + `approval_digest`; confirm scope and destination with the user.
|
|
12
|
+
4. `echo '<json>' | aw export-manuals apply --approval <digest> [--overwrite]`. On rejection nothing was written: fix and repeat step 3.
|
|
17
13
|
|
|
18
14
|
## What it produces
|
|
19
15
|
|
|
20
|
-
- `docs/manuals/`:
|
|
21
|
-
-
|
|
22
|
-
-
|
|
23
|
-
|
|
24
|
-
## Plan mode
|
|
16
|
+
- `docs/manuals/NNN-export-manuals-YYYY-MM-DD/`: `README.md` (required) + the manuals, in Markdown.
|
|
17
|
+
- `docs/manuals/INDEX.md`: optional; the **only** file an export may replace, with approved `--overwrite`.
|
|
18
|
+
- Never write into `docs/` with a file tool: one pass, all or nothing, no session or loop created/touched.
|
|
19
|
+
- Authoring ref: no longer loaded on the normal path.
|
|
25
20
|
|
|
26
|
-
|
|
21
|
+
## More context
|
|
27
22
|
|
|
28
|
-
|
|
23
|
+
`aw context-plan --command export-manuals --signal <s>` returns the extra documents a case needs; read exactly what it lists:
|
|
29
24
|
|
|
30
|
-
-
|
|
31
|
-
- Design reference: `docs/referencias/workflow-exports/README.md`
|
|
25
|
+
- `authoring` — the manual's structure or audience is not obvious from the material → [`../exports/export-manuals/EXPORT.md`](../exports/export-manuals/EXPORT.md), no longer loaded on the normal path
|
|
@@ -1,31 +1,24 @@
|
|
|
1
1
|
---
|
|
2
|
-
description:
|
|
3
|
-
argument-hint: [--sessions <ids>] [--
|
|
4
|
-
allowed-tools:
|
|
5
|
-
[
|
|
6
|
-
"Bash",
|
|
7
|
-
"Read",
|
|
8
|
-
"Write",
|
|
9
|
-
]
|
|
2
|
+
description: Use to promote findings from N sessions into ONE numbered Markdown report under docs/reports/. Read-only over sessions; `aw export-reports` owns the corpus, the numbering and the write. Never automatic.
|
|
3
|
+
argument-hint: "[--sessions <ids>] [--since <YYYY-MM-DD>] [--source <alias>]"
|
|
4
|
+
allowed-tools: ["Bash", "Read"]
|
|
10
5
|
---
|
|
11
6
|
|
|
12
|
-
|
|
7
|
+
## Run
|
|
13
8
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
9
|
+
1. `aw export-reports prepare --format human` (+ `--sessions`/`--since`/`--source`) → corpus, destination, shape, `input_digest`.
|
|
10
|
+
2. Answer with one JSON: `version`/`operation`/`input_digest` **verbatim**, `state: "proposed"`, `artifacts` = `{ path, content }` per file, all inside the destination; `NNN` is advisory: `apply` renumbers.
|
|
11
|
+
3. `echo '<json>' | aw export-reports validate --format human` → preview + `approval_digest`; confirm scope and destination with the user.
|
|
12
|
+
4. `echo '<json>' | aw export-reports apply --approval <digest>`. On rejection nothing was written: fix and repeat step 3.
|
|
17
13
|
|
|
18
14
|
## What it produces
|
|
19
15
|
|
|
20
|
-
- `docs/reports
|
|
21
|
-
-
|
|
22
|
-
-
|
|
23
|
-
|
|
24
|
-
## Plan mode
|
|
16
|
+
- `docs/reports/NNN-<slug>-YYYY-MM-DD.md`: ONE document that declares its audience and its scope in the opening lines.
|
|
17
|
+
- Never write into `docs/` with a file tool: one pass, all or nothing, no session or loop created/touched.
|
|
18
|
+
- Authoring ref: no longer loaded on the normal path.
|
|
25
19
|
|
|
26
|
-
|
|
20
|
+
## More context
|
|
27
21
|
|
|
28
|
-
|
|
22
|
+
`aw context-plan --command export-reports --signal <s>` returns the extra documents a case needs; read exactly what it lists:
|
|
29
23
|
|
|
30
|
-
-
|
|
31
|
-
- Design reference: `docs/referencias/workflow-exports/README.md`
|
|
24
|
+
- `authoring` — the report's structure or audience is not obvious from the material → [`../exports/export-reports/EXPORT.md`](../exports/export-reports/EXPORT.md), no longer loaded on the normal path
|
|
@@ -1,31 +1,24 @@
|
|
|
1
1
|
---
|
|
2
|
-
description:
|
|
3
|
-
argument-hint: [--sessions <ids>] [--
|
|
4
|
-
allowed-tools:
|
|
5
|
-
[
|
|
6
|
-
"Bash",
|
|
7
|
-
"Read",
|
|
8
|
-
"Write",
|
|
9
|
-
]
|
|
2
|
+
description: Use to promote the type-B `SCRIPTS.sql` artifacts of N sessions into a docs/scripts/ bundle — continuous forwards plus rollback. `aw export-scripts` checks the bundle shape and NEVER executes SQL. Never automatic.
|
|
3
|
+
argument-hint: "[--sessions <ids>] [--since <YYYY-MM-DD>] [--source <alias>]"
|
|
4
|
+
allowed-tools: ["Bash", "Read"]
|
|
10
5
|
---
|
|
11
6
|
|
|
12
|
-
|
|
7
|
+
## Run
|
|
13
8
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
9
|
+
1. `aw export-scripts prepare --format human` (+ `--sessions`/`--since`/`--source`) → corpus, destination, shape, `input_digest`.
|
|
10
|
+
2. Answer with one JSON: `version`/`operation`/`input_digest` **verbatim**, `state: "proposed"`, `artifacts` = `{ path, content }` per file, all inside the destination; `NNN` is advisory: `apply` renumbers.
|
|
11
|
+
3. `echo '<json>' | aw export-scripts validate --format human` → preview + `approval_digest`; confirm scope and destination with the user.
|
|
12
|
+
4. `echo '<json>' | aw export-scripts apply --approval <digest>`. On rejection nothing was written: fix and repeat step 3.
|
|
17
13
|
|
|
18
14
|
## What it produces
|
|
19
15
|
|
|
20
|
-
- `docs/scripts/`:
|
|
21
|
-
-
|
|
22
|
-
-
|
|
23
|
-
|
|
24
|
-
## Plan mode
|
|
16
|
+
- `docs/scripts/NNN-export-scripts-YYYY-MM-DD/`: `00-ROLLBACK.sql` and `README.md`, both required, + forwards `NN-<nombre>.sql` numbered **continuously from 01**; the CLI rejects a gap.
|
|
17
|
+
- Neither the AI nor the CLI executes the SQL: the bundle is for a human or DBA to apply.
|
|
18
|
+
- Never write into `docs/` with a file tool: one pass, all or nothing, no session or loop created/touched.
|
|
25
19
|
|
|
26
|
-
|
|
20
|
+
## More context
|
|
27
21
|
|
|
28
|
-
|
|
22
|
+
`aw context-plan --command export-scripts --signal <s>` returns the extra documents a case needs; read exactly what it lists:
|
|
29
23
|
|
|
30
|
-
-
|
|
31
|
-
- Design reference: `docs/referencias/workflow-exports/README.md`
|
|
24
|
+
- `authoring` — the rollback derivation or the ordering is not obvious from the material → [`../exports/export-scripts/EXPORT.md`](../exports/export-scripts/EXPORT.md), no longer loaded on the normal path
|