@tacuchi/agent-workflow-cli 14.9.0 → 14.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/adapters/git-cli.d.ts +2 -0
- package/dist/adapters/git-cli.d.ts.map +1 -1
- package/dist/adapters/git-cli.js +32 -24
- package/dist/adapters/git-cli.js.map +1 -1
- package/dist/adapters/node-process.d.ts.map +1 -1
- package/dist/adapters/node-process.js +34 -7
- package/dist/adapters/node-process.js.map +1 -1
- package/dist/application/logging/log-events.d.ts +6 -0
- package/dist/application/logging/log-events.d.ts.map +1 -1
- package/dist/application/logging/log-events.js +10 -0
- package/dist/application/logging/log-events.js.map +1 -1
- package/dist/application/mcp-host-paths.d.ts +17 -0
- package/dist/application/mcp-host-paths.d.ts.map +1 -0
- package/dist/application/mcp-host-paths.js +30 -0
- package/dist/application/mcp-host-paths.js.map +1 -0
- package/dist/application/mcp-host-reader.d.ts.map +1 -1
- package/dist/application/mcp-host-reader.js +15 -5
- package/dist/application/mcp-host-reader.js.map +1 -1
- package/dist/application/mcp-host-writer.d.ts.map +1 -1
- package/dist/application/mcp-host-writer.js +19 -5
- package/dist/application/mcp-host-writer.js.map +1 -1
- package/dist/application/mcp-remove-service.js +3 -3
- package/dist/application/mcp-remove-service.js.map +1 -1
- package/dist/application/mcp-setup-service.js +3 -3
- package/dist/application/mcp-setup-service.js.map +1 -1
- package/dist/application/release-data/artifacts.d.ts.map +1 -1
- package/dist/application/release-data/artifacts.js +5 -1
- package/dist/application/release-data/artifacts.js.map +1 -1
- package/dist/application/self/detect-hosts.d.ts.map +1 -1
- package/dist/application/self/detect-hosts.js +12 -8
- package/dist/application/self/detect-hosts.js.map +1 -1
- package/dist/cli/commands/check-branch.d.ts.map +1 -1
- package/dist/cli/commands/check-branch.js +2 -1
- package/dist/cli/commands/check-branch.js.map +1 -1
- package/dist/cli/commands/checkpoint-read.d.ts.map +1 -1
- package/dist/cli/commands/checkpoint-read.js +2 -1
- package/dist/cli/commands/checkpoint-read.js.map +1 -1
- package/dist/cli/commands/checkpoint-write.d.ts.map +1 -1
- package/dist/cli/commands/checkpoint-write.js +2 -1
- package/dist/cli/commands/checkpoint-write.js.map +1 -1
- package/dist/cli/commands/code-scan.d.ts.map +1 -1
- package/dist/cli/commands/code-scan.js +9 -10
- package/dist/cli/commands/code-scan.js.map +1 -1
- package/dist/cli/commands/compress-checkpoint.d.ts.map +1 -1
- package/dist/cli/commands/compress-checkpoint.js +2 -1
- package/dist/cli/commands/compress-checkpoint.js.map +1 -1
- package/dist/cli/commands/dev-only.js +2 -2
- package/dist/cli/commands/dev-only.js.map +1 -1
- package/dist/cli/commands/history-data.d.ts.map +1 -1
- package/dist/cli/commands/history-data.js +2 -1
- package/dist/cli/commands/history-data.js.map +1 -1
- package/dist/cli/commands/history-update.d.ts.map +1 -1
- package/dist/cli/commands/history-update.js +3 -1
- package/dist/cli/commands/history-update.js.map +1 -1
- package/dist/cli/commands/index.d.ts +5 -0
- package/dist/cli/commands/index.d.ts.map +1 -0
- package/dist/cli/commands/index.js +89 -0
- package/dist/cli/commands/index.js.map +1 -0
- package/dist/cli/commands/mcp.d.ts +8 -0
- package/dist/cli/commands/mcp.d.ts.map +1 -1
- package/dist/cli/commands/mcp.js +9 -8
- package/dist/cli/commands/mcp.js.map +1 -1
- package/dist/cli/commands/multiroot.d.ts.map +1 -1
- package/dist/cli/commands/multiroot.js +8 -14
- package/dist/cli/commands/multiroot.js.map +1 -1
- package/dist/cli/commands/plugin-doctor.d.ts.map +1 -1
- package/dist/cli/commands/plugin-doctor.js +3 -1
- package/dist/cli/commands/plugin-doctor.js.map +1 -1
- package/dist/cli/commands/project-md-upsert.d.ts.map +1 -1
- package/dist/cli/commands/project-md-upsert.js +4 -1
- package/dist/cli/commands/project-md-upsert.js.map +1 -1
- package/dist/cli/commands/resume-summary.d.ts.map +1 -1
- package/dist/cli/commands/resume-summary.js +2 -1
- package/dist/cli/commands/resume-summary.js.map +1 -1
- package/dist/cli/commands/session-artifacts.d.ts.map +1 -1
- package/dist/cli/commands/session-artifacts.js +53 -1
- package/dist/cli/commands/session-artifacts.js.map +1 -1
- package/dist/cli/commands/session-close.d.ts.map +1 -1
- package/dist/cli/commands/session-close.js +2 -1
- package/dist/cli/commands/session-close.js.map +1 -1
- package/dist/cli/commands/session-resume.d.ts.map +1 -1
- package/dist/cli/commands/session-resume.js +2 -1
- package/dist/cli/commands/session-resume.js.map +1 -1
- package/dist/cli/commands/sessions.d.ts.map +1 -1
- package/dist/cli/commands/sessions.js +2 -1
- package/dist/cli/commands/sessions.js.map +1 -1
- package/dist/cli/commands/skill-index.d.ts.map +1 -1
- package/dist/cli/commands/skill-index.js +2 -1
- package/dist/cli/commands/skill-index.js.map +1 -1
- package/dist/cli/commands/sources.d.ts.map +1 -1
- package/dist/cli/commands/sources.js +2 -1
- package/dist/cli/commands/sources.js.map +1 -1
- package/dist/cli/commands/stack.d.ts.map +1 -1
- package/dist/cli/commands/stack.js +2 -1
- package/dist/cli/commands/stack.js.map +1 -1
- package/dist/cli/help-groups.d.ts +12 -1
- package/dist/cli/help-groups.d.ts.map +1 -1
- package/dist/cli/help-groups.js +44 -8
- package/dist/cli/help-groups.js.map +1 -1
- package/dist/cli/main.js +8 -5
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/parser.d.ts.map +1 -1
- package/dist/cli/parser.js +59 -2
- package/dist/cli/parser.js.map +1 -1
- package/dist/cli/tui/app.js +4 -2
- package/dist/cli/tui/app.js.map +1 -1
- package/dist/cli/tui/data/workflow-content.d.ts.map +1 -1
- package/dist/cli/tui/data/workflow-content.js +6 -3
- package/dist/cli/tui/data/workflow-content.js.map +1 -1
- package/dist/cli/tui/notification-center.d.ts +11 -1
- package/dist/cli/tui/notification-center.d.ts.map +1 -1
- package/dist/cli/tui/notification-center.js +9 -2
- package/dist/cli/tui/notification-center.js.map +1 -1
- package/dist/cli/tui/tabs/mcp-tab.d.ts.map +1 -1
- package/dist/cli/tui/tabs/mcp-tab.js +9 -0
- package/dist/cli/tui/tabs/mcp-tab.js.map +1 -1
- package/dist/cli/tui/tabs/project-tab.d.ts.map +1 -1
- package/dist/cli/tui/tabs/project-tab.js +21 -17
- package/dist/cli/tui/tabs/project-tab.js.map +1 -1
- package/dist/cli/tui/tabs/skills-tab.d.ts.map +1 -1
- package/dist/cli/tui/tabs/skills-tab.js +4 -0
- package/dist/cli/tui/tabs/skills-tab.js.map +1 -1
- package/dist/cli/types.d.ts +7 -0
- package/dist/cli/types.d.ts.map +1 -1
- package/dist/domain/harnesses.d.ts.map +1 -1
- package/dist/domain/harnesses.js +3 -1
- package/dist/domain/harnesses.js.map +1 -1
- package/dist/domain/mcp-entry.d.ts +1 -1
- package/dist/domain/mcp-entry.d.ts.map +1 -1
- package/dist/domain/mcp-entry.js +9 -3
- package/dist/domain/mcp-entry.js.map +1 -1
- package/dist/ports/process.d.ts +3 -2
- package/dist/ports/process.d.ts.map +1 -1
- package/package.json +1 -1
- package/skills/w/SKILL.md +1 -1
- package/skills/w/exports/README.md +1 -1
- package/skills/w/exports/export-diagrams/SKILL.md +2 -2
- package/skills/w/exports/export-manuals/SKILL.md +2 -2
- package/skills/w/exports/export-reports/SKILL.md +2 -2
- package/skills/w/exports/export-scripts/SKILL.md +2 -2
- package/skills/w/loops/README.md +1 -1
- package/skills/w/loops/plan-exec-loop/SKILL.md +2 -2
- package/skills/w/loops/quick-loop/SKILL.md +2 -2
- package/skills/w/loops/spec-refine-loop/SKILL.md +1 -1
- package/skills/w/roles/README.md +1 -1
- package/skills/w/roles/git/SKILL.md +3 -3
package/dist/domain/harnesses.js
CHANGED
|
@@ -117,13 +117,15 @@ export const HARNESSES = [
|
|
|
117
117
|
// Crush (charmbracelet/crush). Config `crush.json` ($schema charm.land/crush.json);
|
|
118
118
|
// MCP under `mcp` (type "stdio"). Reads .agents/skills + .claude/skills. Hooks are
|
|
119
119
|
// preliminary; enforcement via `allowed_tools` allowlist — Phase 3.
|
|
120
|
+
// Global config verificado 2026-07 (README charmbracelet/crush): Unix XDG,
|
|
121
|
+
// Windows %LOCALAPPDATA%\crush\crush.json (override CRUSH_GLOBAL_CONFIG).
|
|
120
122
|
id: "crush",
|
|
121
123
|
envMarkers: ["CRUSH", "CRUSH_CONFIG"],
|
|
122
124
|
mcpHostId: "crush",
|
|
123
125
|
globalMcpPaths: {
|
|
124
126
|
darwin: { stable: "~/.config/crush/crush.json" },
|
|
125
127
|
linux: { stable: "~/.config/crush/crush.json" },
|
|
126
|
-
win32: { stable: "
|
|
128
|
+
win32: { stable: "%LOCALAPPDATA%/crush/crush.json" },
|
|
127
129
|
},
|
|
128
130
|
projectMcpPath: "crush.json",
|
|
129
131
|
pluginManifest: null,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"harnesses.js","sourceRoot":"","sources":["../../src/domain/harnesses.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"harnesses.js","sourceRoot":"","sources":["../../src/domain/harnesses.ts"],"names":[],"mappings":"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"}
|
|
@@ -58,5 +58,5 @@ export declare function validateDsnVarName(input: string): {
|
|
|
58
58
|
ok: false;
|
|
59
59
|
error: string;
|
|
60
60
|
};
|
|
61
|
-
export declare function buildMcpEntry(instance: McpInstance, dsnVar?: string): McpEntry;
|
|
61
|
+
export declare function buildMcpEntry(instance: McpInstance, dsnVar?: string, platform?: string): McpEntry;
|
|
62
62
|
//# sourceMappingURL=mcp-entry.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-entry.d.ts","sourceRoot":"","sources":["../../src/domain/mcp-entry.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,GAAG,UAAU,GAAG,OAAO,CAAC;AAEpF,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC;AAEjC,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC;AAElC,eAAO,MAAM,qBAAqB,2BAA4B,CAAC;AAE/D,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,YAAY,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC7B;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,SAAS,GAAG,oBAAoB,GAAG,SAAS,CAAC;AAEtF,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,cAAc,CAAC;IACvB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,MAAM,cAAc,GAAG,IAAI,GAAG,aAAa,GAAG,cAAc,GAAG,aAAa,GAAG,aAAa,CAAC;AAEnG,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,EAAE,WAAW,CAAC;IACtB,KAAK,EAAE,WAAW,GAAG,QAAQ,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,OAAO,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IACtE,GAAG,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IAC1D,MAAM,EAAE,cAAc,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,CAK/D;AAED,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,MAAM,GACZ;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,WAAW,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAejE;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,WAAW,GAAG,YAAY,CAEnE;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEzD;AAED,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,MAAM,GACZ;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAY5D;AAED,wBAAgB,aAAa,
|
|
1
|
+
{"version":3,"file":"mcp-entry.d.ts","sourceRoot":"","sources":["../../src/domain/mcp-entry.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,GAAG,UAAU,GAAG,OAAO,CAAC;AAEpF,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC;AAEjC,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC;AAElC,eAAO,MAAM,qBAAqB,2BAA4B,CAAC;AAE/D,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,YAAY,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC7B;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,SAAS,GAAG,oBAAoB,GAAG,SAAS,CAAC;AAEtF,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,cAAc,CAAC;IACvB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,MAAM,cAAc,GAAG,IAAI,GAAG,aAAa,GAAG,cAAc,GAAG,aAAa,GAAG,aAAa,CAAC;AAEnG,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,EAAE,WAAW,CAAC;IACtB,KAAK,EAAE,WAAW,GAAG,QAAQ,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,OAAO,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IACtE,GAAG,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IAC1D,MAAM,EAAE,cAAc,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,CAK/D;AAED,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,MAAM,GACZ;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,WAAW,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAejE;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,WAAW,GAAG,YAAY,CAEnE;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEzD;AAED,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,MAAM,GACZ;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAY5D;AAED,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,WAAW,EACrB,MAAM,CAAC,EAAE,MAAM,EACf,QAAQ,GAAE,MAAyB,GAClC,QAAQ,CAsBV"}
|
package/dist/domain/mcp-entry.js
CHANGED
|
@@ -40,7 +40,7 @@ export function validateDsnVarName(input) {
|
|
|
40
40
|
}
|
|
41
41
|
return { ok: true, value };
|
|
42
42
|
}
|
|
43
|
-
export function buildMcpEntry(instance, dsnVar) {
|
|
43
|
+
export function buildMcpEntry(instance, dsnVar, platform = process.platform) {
|
|
44
44
|
const normalized = normalizeMcpInstance(instance);
|
|
45
45
|
const env = {
|
|
46
46
|
MAX_ROWS: "1000",
|
|
@@ -50,10 +50,16 @@ export function buildMcpEntry(instance, dsnVar) {
|
|
|
50
50
|
if (dsnVar !== undefined) {
|
|
51
51
|
env.DBHUB_DSN_VAR = normalizeDsnVarName(dsnVar);
|
|
52
52
|
}
|
|
53
|
+
// Windows: el bin npm global es un shim `agent-workflow.cmd`; los hosts que
|
|
54
|
+
// spawnean el server sin shell fallan (ENOENT/EINVAL) → envolver en `cmd /c`.
|
|
55
|
+
// El doctor compara contra esta misma forma en la misma máquina, sin drift.
|
|
56
|
+
const isWin = platform === "win32";
|
|
53
57
|
return {
|
|
54
58
|
name: mcpEntryNameFor(normalized),
|
|
55
|
-
command: "agent-workflow",
|
|
56
|
-
args:
|
|
59
|
+
command: isWin ? "cmd" : "agent-workflow",
|
|
60
|
+
args: isWin
|
|
61
|
+
? ["/c", "agent-workflow", "mcp", "dbhub", normalized]
|
|
62
|
+
: ["mcp", "dbhub", normalized],
|
|
57
63
|
env,
|
|
58
64
|
};
|
|
59
65
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-entry.js","sourceRoot":"","sources":["../../src/domain/mcp-entry.ts"],"names":[],"mappings":"AAMA,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,MAAM,EAAE,MAAM,CAAU,CAAC;AAsC/D,MAAM,UAAU,oBAAoB,CAAC,KAAa;IAChD,OAAO,KAAK;SACT,IAAI,EAAE;SACN,WAAW,EAAE;SACb,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,KAAa;IAEb,MAAM,KAAK,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;IAC1C,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,gDAAgD,EAAE,CAAC;IAChF,CAAC;IACD,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACrC,OAAO;YACL,EAAE,EAAE,KAAK;YACT,KAAK,EAAE,qCAAqC,KAAK,0DAA0D;SAC5G,CAAC;IACJ,CAAC;IACD,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;QACrB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,+CAA+C,EAAE,CAAC;IAC/E,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,QAAqB;IACnD,OAAO,oBAAoB,CAAC,QAAQ,CAAC,CAAC;AACxC,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,KAAa;IAC/C,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,KAAa;IAEb,MAAM,KAAK,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;IACzC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,gDAAgD,EAAE,CAAC;IAChF,CAAC;IACD,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACtC,OAAO;YACL,EAAE,EAAE,KAAK;YACT,KAAK,EAAE,2BAA2B,KAAK,sEAAsE;SAC9G,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,aAAa,
|
|
1
|
+
{"version":3,"file":"mcp-entry.js","sourceRoot":"","sources":["../../src/domain/mcp-entry.ts"],"names":[],"mappings":"AAMA,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,MAAM,EAAE,MAAM,CAAU,CAAC;AAsC/D,MAAM,UAAU,oBAAoB,CAAC,KAAa;IAChD,OAAO,KAAK;SACT,IAAI,EAAE;SACN,WAAW,EAAE;SACb,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,KAAa;IAEb,MAAM,KAAK,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;IAC1C,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,gDAAgD,EAAE,CAAC;IAChF,CAAC;IACD,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACrC,OAAO;YACL,EAAE,EAAE,KAAK;YACT,KAAK,EAAE,qCAAqC,KAAK,0DAA0D;SAC5G,CAAC;IACJ,CAAC;IACD,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;QACrB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,+CAA+C,EAAE,CAAC;IAC/E,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,QAAqB;IACnD,OAAO,oBAAoB,CAAC,QAAQ,CAAC,CAAC;AACxC,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,KAAa;IAC/C,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,KAAa;IAEb,MAAM,KAAK,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;IACzC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,gDAAgD,EAAE,CAAC;IAChF,CAAC;IACD,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACtC,OAAO;YACL,EAAE,EAAE,KAAK;YACT,KAAK,EAAE,2BAA2B,KAAK,sEAAsE;SAC9G,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,aAAa,CAC3B,QAAqB,EACrB,MAAe,EACf,WAAmB,OAAO,CAAC,QAAQ;IAEnC,MAAM,UAAU,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IAClD,MAAM,GAAG,GAA2B;QAClC,QAAQ,EAAE,MAAM;QAChB,QAAQ,EAAE,MAAM;QAChB,SAAS,EAAE,OAAO;KACnB,CAAC;IACF,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,GAAG,CAAC,aAAa,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAClD,CAAC;IACD,4EAA4E;IAC5E,8EAA8E;IAC9E,4EAA4E;IAC5E,MAAM,KAAK,GAAG,QAAQ,KAAK,OAAO,CAAC;IACnC,OAAO;QACL,IAAI,EAAE,eAAe,CAAC,UAAU,CAAC;QACjC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,gBAAgB;QACzC,IAAI,EAAE,KAAK;YACT,CAAC,CAAC,CAAC,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,CAAC;YACtD,CAAC,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,UAAU,CAAC;QAChC,GAAG;KACJ,CAAC;AACJ,CAAC"}
|
package/dist/ports/process.d.ts
CHANGED
|
@@ -55,8 +55,9 @@ export interface ProcessPort {
|
|
|
55
55
|
/**
|
|
56
56
|
* Open a file in an EXTERNAL application — the OS default text editor, or
|
|
57
57
|
* `opts.app` when given — spawned detached so it never captures the TUI's TTY.
|
|
58
|
-
*
|
|
59
|
-
*
|
|
58
|
+
* Failure is observable: rejects if the opener can't be launched (missing
|
|
59
|
+
* binary) or exits non-zero quickly (e.g. macOS `open -a <bad app>`); resolves
|
|
60
|
+
* once the opener is running.
|
|
60
61
|
*/
|
|
61
62
|
openPath(path: string, opts?: {
|
|
62
63
|
app?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"process.d.ts","sourceRoot":"","sources":["../../src/ports/process.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,UAAU;IACzB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,oBAAoB;IACnC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,0EAA0E;IAC1E,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,mBAAmB;IAClC,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,sBAAsB;IACrC,GAAG,EAAE,MAAM,CAAC;IACZ,2HAA2H;IAC3H,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5B,gJAAgJ;IAChJ,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,yGAAyG;IACzG,OAAO,EAAE,MAAM,CAAC;IAChB,sCAAsC;IACtC,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,qBAAqB;IACpC,GAAG,EAAE,MAAM,CAAC;IACZ,iIAAiI;IACjI,IAAI,EAAE,UAAU,GAAG,YAAY,CAAC;CACjC;AAED,MAAM,WAAW,WAAW;IAC1B,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IACxE,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAChD;;;;OAIG;IACH,aAAa,CACX,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EAAE,EACd,IAAI,EAAE,oBAAoB,GACzB,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAChC;;;;;;;OAOG;IACH,eAAe,CACb,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EAAE,EACd,IAAI,EAAE,sBAAsB,GAC3B,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAClC
|
|
1
|
+
{"version":3,"file":"process.d.ts","sourceRoot":"","sources":["../../src/ports/process.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,UAAU;IACzB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,oBAAoB;IACnC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,0EAA0E;IAC1E,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,mBAAmB;IAClC,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,sBAAsB;IACrC,GAAG,EAAE,MAAM,CAAC;IACZ,2HAA2H;IAC3H,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5B,gJAAgJ;IAChJ,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,yGAAyG;IACzG,OAAO,EAAE,MAAM,CAAC;IAChB,sCAAsC;IACtC,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,qBAAqB;IACpC,GAAG,EAAE,MAAM,CAAC;IACZ,iIAAiI;IACjI,IAAI,EAAE,UAAU,GAAG,YAAY,CAAC;CACjC;AAED,MAAM,WAAW,WAAW;IAC1B,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IACxE,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAChD;;;;OAIG;IACH,aAAa,CACX,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EAAE,EACd,IAAI,EAAE,oBAAoB,GACzB,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAChC;;;;;;;OAOG;IACH,eAAe,CACb,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EAAE,EACd,IAAI,EAAE,sBAAsB,GAC3B,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAClC;;;;;;OAMG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/D;;;OAGG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC,6EAA6E;IAC7E,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACxC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tacuchi/agent-workflow-cli",
|
|
3
|
-
"version": "14.
|
|
3
|
+
"version": "14.10.0",
|
|
4
4
|
"description": "Agnostic runtime CLI for AI development workflows — a stages + loops + artifacts harness. Bundles the universal `w` skill set under `skills/w/` (slash commands `/w:*`: spec-new/spec-refine, plan-new/plan-exec, quick, 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
|
@@ -154,7 +154,7 @@ Catálogo de roles y su default:
|
|
|
154
154
|
| `diagrams` | `diagrams` | should | `export-diagrams` |
|
|
155
155
|
| `overview` | `workflow` | should | cualquiera (orientación) |
|
|
156
156
|
|
|
157
|
-
> **Convenciones ambientes (no roles)
|
|
157
|
+
> **Convenciones ambientes (no roles):** estándares de código/testing/redacción y `creating-tools` son skills standalone que el host auto-descubre por su `description` — el workflow no las bindea ni depende de ellas. Doctrina completa: [roles/README.md](roles/README.md).
|
|
158
158
|
|
|
159
159
|
El **chasis del loop** NO se bindea: **es** el loop, no es enchufable.
|
|
160
160
|
|
|
@@ -64,7 +64,7 @@ Exports read the corpus through the CLI — **never hard-coded paths**:
|
|
|
64
64
|
|
|
65
65
|
- `aw sessions` — list sessions (counts + next correlative) to enumerate the corpus.
|
|
66
66
|
- `aw release-data [--since sessionNNN] [--source alias]` — consolidated dump of sessions (corpus enumeration).
|
|
67
|
-
- `aw session-artifacts --code <NNN
|
|
67
|
+
- `aw session-artifacts --code <NNN> [--dump [kinds]]` — counts by default; `--dump` returns `{path, content, size}` per artifact (objetivo, decisiones, conclusiones, tasks, checkpoint, backlog, scripts).
|
|
68
68
|
- `aw next-number docs/<category>` — deterministic numbering of the output.
|
|
69
69
|
|
|
70
70
|
> The destination-folder resolution (workspace root, single- vs multi-source) is handled by the CLI internally. If a specific flag is uncertain at implementation time, it is noted inline in each SKILL.
|
|
@@ -50,7 +50,7 @@ En plan mode **describe**, no escribe: el motor resuelto, los niveles/secciones
|
|
|
50
50
|
**CLI `agent-workflow` (alias `aw`)** — no leer paths hardcodeados:
|
|
51
51
|
|
|
52
52
|
- `aw sessions` / `aw release-data [--since sessionNNN] [--source <alias>]` — enumera el corpus (insumo del delta AS-IS/TO-BE).
|
|
53
|
-
- `aw session-artifacts --code <NNN
|
|
53
|
+
- `aw session-artifacts --code <NNN> --dump objetivo` — ubica la sesión y su referencia al plan-doc; `AS-IS`/`TO-BE`/`Impacted` se leen del plan-doc por su path.
|
|
54
54
|
- `aw next-number docs/diagrams` — numeración determinística (la resolución de la carpeta destino la maneja el CLI).
|
|
55
55
|
|
|
56
56
|
**Filesystem / código**:
|
|
@@ -90,7 +90,7 @@ Por cada fuente: estructura básica, componentes internos (módulos, servicios,
|
|
|
90
90
|
|
|
91
91
|
### Paso 3 — Leer el delta del corpus
|
|
92
92
|
|
|
93
|
-
Por sesión filtrada (`aw session-artifacts --code <NNN
|
|
93
|
+
Por sesión filtrada (`aw session-artifacts --code <NNN> --dump objetivo`): seguir la referencia al plan-doc y leer `Current state (AS-IS)` / `Target state (TO-BE)` e `Impacted`. Sirve para resaltar lo que cambió sobre el snapshot vigente.
|
|
94
94
|
|
|
95
95
|
### Paso 4 — Inspeccionar MCP (opcional)
|
|
96
96
|
|
|
@@ -51,7 +51,7 @@ En plan mode **describe**, no escribe: el modo resuelto, los temas detectados (c
|
|
|
51
51
|
**CLI `agent-workflow` (alias `aw`)** — no leer paths hardcodeados:
|
|
52
52
|
|
|
53
53
|
- `aw sessions` / `aw release-data [--since sessionNNN] [--source <alias>]` — enumera el corpus.
|
|
54
|
-
- `aw session-artifacts --code <NNN
|
|
54
|
+
- `aw session-artifacts --code <NNN> --dump objetivo,decisiones` — devuelve `{path, content, size}` por artefacto (`SESSION` con su `## Objective`, `DECISION`); el plan-doc se lee por su path.
|
|
55
55
|
- `aw next-number docs/manuals` — numeración determinística (solo modo `regenerate`).
|
|
56
56
|
|
|
57
57
|
**Filesystem**:
|
|
@@ -97,7 +97,7 @@ Listar `docs/manuals/*.md` (excluyendo `INDEX.md` y subdirectorios `NNN-export-m
|
|
|
97
97
|
|
|
98
98
|
### Paso 3 — Detectar temas
|
|
99
99
|
|
|
100
|
-
Por cada sesión del corpus filtrado (`aw session-artifacts --code <NNN
|
|
100
|
+
Por cada sesión del corpus filtrado (`aw session-artifacts --code <NNN> --dump objetivo,decisiones`): tomar `DECISION` del dump + plan-doc (`Solution`/`Final behavior`/`Validations`) + el código tocado. Tema **primario**: la sección de temas en `SESSION` (su `## Objective`). **Secundario**: inferencia por keywords operativos ("configurar", "instalar", "paso a paso", "cómo …"). Filtrar por `--topics` si está presente. Listar (slug, confidence, sesiones de origen).
|
|
101
101
|
|
|
102
102
|
### Paso 4 — Sintetizar (prosa: convenciones ambientes)
|
|
103
103
|
|
|
@@ -50,7 +50,7 @@ En plan mode **describe**, no escribe: la audiencia/longitud resuelta, las sesio
|
|
|
50
50
|
**CLI `agent-workflow` (alias `aw`)** — no leer paths hardcodeados:
|
|
51
51
|
|
|
52
52
|
- `aw sessions` / `aw release-data [--since sessionNNN] [--source <alias>]` — enumera + filtra el corpus.
|
|
53
|
-
- `aw session-artifacts --code <NNN
|
|
53
|
+
- `aw session-artifacts --code <NNN> --dump objetivo,conclusiones,decisiones` — devuelve `{path, content, size}` de `SESSION` (spec referido), `CONCLUSIONS` y `DECISION`; el estado del plan-doc se lee por su path.
|
|
54
54
|
- `aw next-number docs/reports` — numeración determinística (la resolución de la carpeta destino la maneja el CLI).
|
|
55
55
|
|
|
56
56
|
**Filesystem**:
|
|
@@ -85,7 +85,7 @@ Sin args: todo el corpus, audiencia ejecutiva por default. *(Si algún flag exac
|
|
|
85
85
|
|
|
86
86
|
### Paso 2 — Recolectar inputs por sesión
|
|
87
87
|
|
|
88
|
-
Por sesión filtrada (`aw session-artifacts --code <NNN
|
|
88
|
+
Por sesión filtrada (`aw session-artifacts --code <NNN> --dump objetivo,conclusiones,decisiones`): el spec referido (qué se planteó), `CONCLUSIONS` (cierre técnico / R-items), `DECISION` (qué se decidió), estado del plan-doc (qué se entregó / qué queda). Recoger también componentes impactados (fuentes tocadas) para la tabla de síntesis.
|
|
89
89
|
|
|
90
90
|
### Paso 3 — Dedup de recomendaciones (cross-session)
|
|
91
91
|
|
|
@@ -51,7 +51,7 @@ En plan mode **describe**, no escribe: el `NNN` resuelto, las fuentes detectadas
|
|
|
51
51
|
**CLI `agent-workflow` (alias `aw`)** — no leer paths hardcodeados:
|
|
52
52
|
|
|
53
53
|
- `aw sessions` / `aw release-data [--since sessionNNN] [--source <alias>]` — enumera el corpus de sesiones.
|
|
54
|
-
- `aw session-artifacts --code <NNN
|
|
54
|
+
- `aw session-artifacts --code <NNN> --dump scripts` — lista los `.sql` de la sesión con path y size (el contenido se lee por path). Si no hay scripts → lista vacía, skip silencioso.
|
|
55
55
|
- `aw next-number docs/scripts` — numeración determinística del directorio del bundle (la resolución de la carpeta destino la maneja el CLI).
|
|
56
56
|
|
|
57
57
|
**Filesystem**:
|
|
@@ -79,7 +79,7 @@ Sin args: todas las sesiones del corpus + todos los `.sql` standalone (excluyend
|
|
|
79
79
|
|
|
80
80
|
### Paso 1 — Recolección de fuentes SQL
|
|
81
81
|
|
|
82
|
-
**Fuente A — sesiones**: por cada sesión del corpus (`aw sessions` / `release-data` + `session-artifacts --code <NNN
|
|
82
|
+
**Fuente A — sesiones**: por cada sesión del corpus (`aw sessions` / `release-data` + `session-artifacts --code <NNN> --dump scripts`), leer los `.sql` que el dump lista (path por script). Tomar **solo** las sentencias tipo-B (migraciones DDL/DML entregables); ignorar el tipo-A read-only (consultas de diagnóstico). Markers esperados por sentencia: `-- @category: <01-04>` + `-- @stmt: NNN-verbo-objetivo` (formato definido por la capacidad `sql`).
|
|
83
83
|
|
|
84
84
|
**Fuente B — standalone** (salvo `--skip-standalone`): listar `docs/scripts/*.sql` top-level, **excluyendo** `docs/scripts/NNN-export-scripts-*/`. Por archivo: respetar markers `@category` si los hay; si no, inferir categoría del contenido (`CREATE/ALTER TABLE`, `CREATE INDEX` → `01`; `CREATE OR REPLACE FUNCTION`/`PROCEDURE` → `02`; `UPDATE`/`DELETE` → `03`; `INSERT INTO … VALUES` → `04`). Si el filename contiene `rollback` → skip (no entra en forward).
|
|
85
85
|
|
package/skills/w/loops/README.md
CHANGED
|
@@ -111,7 +111,7 @@ Los loops componen **capacidades por su rol**, no skills concretas; la skill que
|
|
|
111
111
|
| `research` | `research` | todos los loops (research inline) |
|
|
112
112
|
| `overview` | `workflow` | cualquiera (orientación) |
|
|
113
113
|
|
|
114
|
-
> **Convenciones ambientes (no roles)
|
|
114
|
+
> **Convenciones ambientes (no roles):** estándares de código/testing/redacción y `creating-tools` son skills standalone que el host auto-descubre por su `description` — el workflow no las bindea ni depende de ellas. Doctrina completa: [../roles/README.md](../roles/README.md).
|
|
115
115
|
|
|
116
116
|
`off` en config → capacidad desactivada: el loop sigue sin ella; si era necesaria, lo dice o pregunta al humano.
|
|
117
117
|
|
|
@@ -51,7 +51,7 @@ Del chasis [`spec-refine-loop`](../spec-refine-loop/SKILL.md), sin cambios:
|
|
|
51
51
|
|
|
52
52
|
`git` (rama segura + commits propuestos) · `sql` (regla BD). Ambas resueltas por `.workflow/skills.toml`; `off` → el loop sigue sin la capacidad y, si era necesaria, lo dice o pregunta.
|
|
53
53
|
|
|
54
|
-
> **Convenciones ambientes (no roles)
|
|
54
|
+
> **Convenciones ambientes (no roles):** estándares de código/testing/redacción y `creating-tools` son skills standalone que el host auto-descubre por su `description` — el workflow no las bindea ni depende de ellas. Doctrina completa: [../../roles/README.md](../../roles/README.md).
|
|
55
55
|
|
|
56
56
|
## Internal sessions (managed)
|
|
57
57
|
|
|
@@ -71,7 +71,7 @@ Del chasis [`spec-refine-loop`](../spec-refine-loop/SKILL.md), sin cambios:
|
|
|
71
71
|
|
|
72
72
|
## Delta 2 — Git policy: **rama segura + commits propuestos**
|
|
73
73
|
|
|
74
|
-
- **Antes de editar** archivos de una fuente: verifica rama actual = rama esperada de esa fuente (
|
|
74
|
+
- **Antes de editar** archivos de una fuente: verifica rama actual = rama esperada de esa fuente (`aw check-branch --source <alias>`; ver rol `git`). Si no coincide → **pausa y resuelve con el humano**; nunca `stash`/`reset --hard`/`checkout -- .`/`clean` sin confirmación por fuente.
|
|
75
75
|
- **Al cerrar una fase** (o al `Cerrar`): **tras pasar el gate de revisión de cierre** (Delta 5), **propone commits por fuente** (propose-then-execute, aprobar antes); nunca `push`/`--amend`/`--no-verify`. Nada llega a un commit propuesto sin revisar.
|
|
76
76
|
- **Commit rechazado**: los cambios **quedan en el working tree** (no se revierten). Se permite reproponer / editar mensaje. Se registra en `CHECKPOINT` + `BACKLOG` que la fase quedó **sin commitear** (reanudable).
|
|
77
77
|
- **Precondición entre fases**: `branch-check` valida *identidad* de rama, **no** *limpieza* del working tree. Antes de iniciar la siguiente fase, el working tree de cada fuente debe estar **limpio** (committeado) o explícitamente **reconocido** como "cambios sin commitear de la fase N" — para no co-mezclar dos fases en un mismo commit.
|
|
@@ -46,7 +46,7 @@ QUICK
|
|
|
46
46
|
|
|
47
47
|
`git` · `sql` (regla BD) · `research` (inline). Resueltas por `.workflow/skills.toml`.
|
|
48
48
|
|
|
49
|
-
> **Convenciones ambientes (no roles)
|
|
49
|
+
> **Convenciones ambientes (no roles):** estándares de código/testing/redacción y `creating-tools` son skills standalone que el host auto-descubre por su `description` — el workflow no las bindea ni depende de ellas. Doctrina completa: [../../roles/README.md](../../roles/README.md).
|
|
50
50
|
|
|
51
51
|
## Delta QUICK — minimal ceremony
|
|
52
52
|
|
|
@@ -78,7 +78,7 @@ quick-loop(prompt):
|
|
|
78
78
|
seed SESSION.Success criteria = check del deliverable # verification-first, ANTES: test(s) si código · rúbrica corta RATIFICADA si análisis/diseño
|
|
79
79
|
seed CHECKPOINT.Pending/Next = la tarea (s) # ANTES: sembrar intención (artifact-first)
|
|
80
80
|
trabajar la tarea (loop mínimo):
|
|
81
|
-
si edita código → verificar rama esperada por fuente (branch
|
|
81
|
+
si edita código → verificar rama esperada por fuente (`aw check-branch`); si no → pausar + resolver
|
|
82
82
|
producir el deliverable: editar código (cambio mínimo) Ó autorar el análisis/diseño
|
|
83
83
|
si consulta BD read-only → SCRIPTS.sql + ejecutar read-only
|
|
84
84
|
si cambio BD (DDL/DML) → SCRIPTS.sql (artefacto session, NO ejecutar)
|
|
@@ -127,7 +127,7 @@ El gap **UI sin especificar** (cuando el requerimiento involucra UI; ver *Gap ta
|
|
|
127
127
|
|
|
128
128
|
Otras capacidades transversales que el chasis usa siempre: `research` (research **inline**, ver abajo), `sql` (regla BD en research). Todas se resuelven por config; `off` → el loop sigue sin la capacidad y, si era necesaria, lo dice o pregunta. La **prosa del spec** sigue las convenciones de redacción **ambientes** (el host auto-aplica una skill de writing instalada si está presente), no un rol compuesto.
|
|
129
129
|
|
|
130
|
-
> **Convenciones ambientes (no roles)
|
|
130
|
+
> **Convenciones ambientes (no roles):** estándares de código/testing/redacción y `creating-tools` son skills standalone que el host auto-descubre por su `description` — el workflow no las bindea ni depende de ellas. Doctrina completa: [../../roles/README.md](../../roles/README.md).
|
|
131
131
|
|
|
132
132
|
## Deliverable schema (el spec, editado in place)
|
|
133
133
|
|
package/skills/w/roles/README.md
CHANGED
|
@@ -23,7 +23,7 @@ All 6 roles, their built-in defaults, their tier, and which loops/exports compos
|
|
|
23
23
|
- `must` — core to almost every session; built-in always active unless explicitly `off`.
|
|
24
24
|
- `should` — loaded on-demand; active by default but lower priority to override.
|
|
25
25
|
|
|
26
|
-
> **Convenciones ambientes (no roles).** Los estándares de código, testing, redacción **y la creación de herramientas** (`creating-tools`) **no son roles** del workflow ni se bindean: son **skills standalone que el host auto-descubre por su `description`** y aplica cuando son relevantes. El workflow es **indiferente** (no las lee ni las busca). Familias útiles viven en plugins del marketplace (`dev-conventions`, `tool-builder`), pero el workflow **no depende** de ellos.
|
|
26
|
+
> **Convenciones ambientes (no roles).** Los estándares de código, testing, redacción **y la creación de herramientas** (`creating-tools`, escribe `docs/tools`) **no son roles** del workflow ni se bindean: son **skills standalone que el host auto-descubre por su `description`** y aplica cuando son relevantes. El workflow es **indiferente** (no las lee ni las busca). Familias útiles viven en plugins del marketplace (`dev-conventions`, `tool-builder`), pero el workflow **no depende** de ellos.
|
|
27
27
|
>
|
|
28
28
|
> **La revisión de cierre tampoco es un rol** (decisión deliberada — se evaluó y descartó un rol `conventions`/`rules`/`review`): el **gate de revisión de cierre** de `plan-exec-loop`/`quick-loop` (pre-commit) es un **paso del loop**; el loop crea el **momento** y las convenciones ambientes instaladas lo llenan. Un rol que "señale las skills del marketplace" re-acoplaría lo que esta extracción desacopló.
|
|
29
29
|
|
|
@@ -52,7 +52,7 @@ Y **siempre** prohibido, aún cuando el usuario pida commit: `--no-verify` (resp
|
|
|
52
52
|
|
|
53
53
|
La rama esperada **nunca se asume desde la rama actual** — el usuario pudo cambiarla a mano. Verificar contra la rama de trabajo declarada por fuente antes de cualquier `Write/Edit`.
|
|
54
54
|
|
|
55
|
-
|
|
55
|
+
**Mecanismo primario**: `aw check-branch --source <alias>` (o `--file <path-del-edit-inminente>`; `--strict` devuelve exit 2 en mismatch — útil como gate). Devuelve ya computados los campos por fuente: `alias`, `path`, `main_branch` (base, default `certificacion`), `expected_work_branch`, `current_branch`, `match` (`current == expected`), `dirty` (cambios sin commit). **Fallback** (repo suelto sin workspace/CLI): computarlos con git read-only directo (`git branch --show-current` + `git status --porcelain`) más la rama declarada por la sesión.
|
|
56
56
|
|
|
57
57
|
Casos:
|
|
58
58
|
|
|
@@ -67,7 +67,7 @@ Casos:
|
|
|
67
67
|
|
|
68
68
|
Ante cualquier pedido o disparo de commit (cierre de loop, "commitea esto", "guardá los cambios"):
|
|
69
69
|
|
|
70
|
-
1. Resolver las fuentes y su estado dirty/rama.
|
|
70
|
+
1. Resolver las fuentes y su estado dirty/rama con `aw sources` (inventario con git status enriquecido; fallback: git directo por fuente).
|
|
71
71
|
2. Si hay 1+ fuentes `dirty=true`, invocar **una sola** *structured-choice* con una pregunta de contenido por fuente dirty (máx 4 simultáneas → **≤3 preguntas de contenido + 1 control `flow`**; si N>3, en tandas):
|
|
72
72
|
- Header de la pregunta: el `alias` de la fuente.
|
|
73
73
|
- Opciones: "Aprobar sugerido (Recomendado)" con el mensaje canónico / "Saltar esta fuente". `Other` = mensaje custom.
|
|
@@ -116,4 +116,4 @@ Ninguno en `docs/`. Produce commits **solo** cuando el usuario aprueba, en los r
|
|
|
116
116
|
|
|
117
117
|
## Source
|
|
118
118
|
|
|
119
|
-
Reciclada de la doctrina vieja: `doctrine/session/references/commits-policy.md` (Reglas 1-5: propose-then-execute, formato canónico, bypass) + `doctrine/session/references/branch-verification.md` (Casos A/B/C, cross-fuente hard gate).
|
|
119
|
+
Reciclada de la doctrina vieja: `doctrine/session/references/commits-policy.md` (Reglas 1-5: propose-then-execute, formato canónico, bypass) + `doctrine/session/references/branch-verification.md` (Casos A/B/C, cross-fuente hard gate). La verificación delega lo mecánico al CLI (`aw check-branch`, `aw sources`) — computarlo a mano en cada task pagaba tokens por trabajo que el runtime ya expone; el git read-only directo queda como fallback para repos sin workspace.
|