@tacuchi/agent-workflow-cli 25.8.0 → 26.0.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/CHANGELOG.md +106 -0
- package/README.md +6 -3
- package/dist/adapters/git-cli.js +225 -17
- package/dist/adapters/git-cli.js.map +1 -1
- package/dist/adapters/node-file-system.js +48 -0
- package/dist/adapters/node-file-system.js.map +1 -1
- package/dist/application/amend-service.js +51 -14
- package/dist/application/amend-service.js.map +1 -1
- package/dist/application/branch-resolver.js +6 -3
- package/dist/application/branch-resolver.js.map +1 -1
- package/dist/application/capability/design-handler.js +218 -43
- package/dist/application/capability/design-handler.js.map +1 -1
- package/dist/application/capability/dispatcher.js +182 -19
- package/dist/application/capability/dispatcher.js.map +1 -1
- package/dist/application/capability/durable-effect.js +3 -0
- package/dist/application/capability/durable-effect.js.map +1 -1
- package/dist/application/capability/readiness.js +8 -54
- package/dist/application/capability/readiness.js.map +1 -1
- package/dist/application/capability/resolution.js +124 -192
- package/dist/application/capability/resolution.js.map +1 -1
- package/dist/application/check-branch-service.js +158 -19
- package/dist/application/check-branch-service.js.map +1 -1
- package/dist/application/checkpoint/markdown.js +2 -2
- package/dist/application/checkpoint/markdown.js.map +1 -1
- package/dist/application/checkpoint/state-reader.js +12 -0
- package/dist/application/checkpoint/state-reader.js.map +1 -1
- package/dist/application/checkpoint-service.js +12 -4
- package/dist/application/checkpoint-service.js.map +1 -1
- package/dist/application/checkpoint-write-service.js +91 -17
- package/dist/application/checkpoint-write-service.js.map +1 -1
- package/dist/application/claims-ledger.js +137 -11
- package/dist/application/claims-ledger.js.map +1 -1
- package/dist/application/claims-recovery.js +85 -44
- package/dist/application/claims-recovery.js.map +1 -1
- package/dist/application/database-tool-catalog.js +33 -0
- package/dist/application/database-tool-catalog.js.map +1 -1
- package/dist/application/design/consumer-document.js +2 -2
- package/dist/application/design/consumer-document.js.map +1 -1
- package/dist/application/design/design-content-gate-service.js +20 -2
- package/dist/application/design/design-content-gate-service.js.map +1 -1
- package/dist/application/design/design-gate-service.js +2 -0
- package/dist/application/design/design-gate-service.js.map +1 -1
- package/dist/application/design/design-index-service.js +4 -0
- package/dist/application/design/design-index-service.js.map +1 -1
- package/dist/application/design/design-publish-service.js +1 -4
- package/dist/application/design/design-publish-service.js.map +1 -1
- package/dist/application/design/design-record-service.js +13 -7
- package/dist/application/design/design-record-service.js.map +1 -1
- package/dist/application/design/design-resolver-service.js +22 -3
- package/dist/application/design/design-resolver-service.js.map +1 -1
- package/dist/application/design/design-simple-service.js +24 -5
- package/dist/application/design/design-simple-service.js.map +1 -1
- package/dist/application/design/digest.js +41 -0
- package/dist/application/design/digest.js.map +1 -0
- package/dist/application/dev-only-services.js +166 -20
- package/dist/application/dev-only-services.js.map +1 -1
- package/dist/application/doc-branch-ledger.js +145 -0
- package/dist/application/doc-branch-ledger.js.map +1 -0
- package/dist/application/docs-canon-service.js +1 -1
- package/dist/application/docs-canon-service.js.map +1 -1
- package/dist/application/doctor/dist-integrity.js +113 -0
- package/dist/application/doctor/dist-integrity.js.map +1 -0
- package/dist/application/doctor/hosts.js +5 -2
- package/dist/application/doctor/hosts.js.map +1 -1
- package/dist/application/doctor/prepare.js +3 -3
- package/dist/application/doctor/prepare.js.map +1 -1
- package/dist/application/doctor/provider-installation.js +39 -19
- package/dist/application/doctor/provider-installation.js.map +1 -1
- package/dist/application/doctor/provider-mcps.js +9 -1
- package/dist/application/doctor/provider-mcps.js.map +1 -1
- package/dist/application/doctor/provider-skills.js +29 -115
- package/dist/application/doctor/provider-skills.js.map +1 -1
- package/dist/application/doctor/provider-visibility.js +76 -3
- package/dist/application/doctor/provider-visibility.js.map +1 -1
- package/dist/application/doctor/provider-workspace-block.js +156 -0
- package/dist/application/doctor/provider-workspace-block.js.map +1 -0
- package/dist/application/doctor/repair-runner.js +36 -39
- package/dist/application/doctor/repair-runner.js.map +1 -1
- package/dist/application/doctor/report.js +24 -4
- package/dist/application/doctor/report.js.map +1 -1
- package/dist/application/export-catalog-check.js +200 -0
- package/dist/application/export-catalog-check.js.map +1 -0
- package/dist/application/export-service.js +716 -79
- package/dist/application/export-service.js.map +1 -1
- package/dist/application/fix-git-service.js +285 -64
- package/dist/application/fix-git-service.js.map +1 -1
- package/dist/application/flow/advance.js +202 -25
- package/dist/application/flow/advance.js.map +1 -1
- package/dist/application/flow/annul-service.js +3 -1
- package/dist/application/flow/annul-service.js.map +1 -1
- package/dist/application/flow/batch-commit.js +189 -0
- package/dist/application/flow/batch-commit.js.map +1 -0
- package/dist/application/flow/checkout-observation.js +63 -10
- package/dist/application/flow/checkout-observation.js.map +1 -1
- package/dist/application/flow/close-artifacts.js +105 -0
- package/dist/application/flow/close-artifacts.js.map +1 -0
- package/dist/application/flow/close-at-boundary.js +25 -14
- package/dist/application/flow/close-at-boundary.js.map +1 -1
- package/dist/application/flow/close-document-guidance.js +70 -0
- package/dist/application/flow/close-document-guidance.js.map +1 -0
- package/dist/application/flow/flow-service.js +46 -3
- package/dist/application/flow/flow-service.js.map +1 -1
- package/dist/application/flow/internal-actions.js +300 -82
- package/dist/application/flow/internal-actions.js.map +1 -1
- package/dist/application/flow/internal-drive.js +24 -1
- package/dist/application/flow/internal-drive.js.map +1 -1
- package/dist/application/flow/plan-entry.js +82 -0
- package/dist/application/flow/plan-entry.js.map +1 -0
- package/dist/application/flow/prove.js +32 -1
- package/dist/application/flow/prove.js.map +1 -1
- package/dist/application/flow/quick-checkouts.js +48 -0
- package/dist/application/flow/quick-checkouts.js.map +1 -0
- package/dist/application/flow/reinfer-batch.js +177 -0
- package/dist/application/flow/reinfer-batch.js.map +1 -0
- package/dist/application/flow/reopen-run.js +12 -5
- package/dist/application/flow/reopen-run.js.map +1 -1
- package/dist/application/flow/run-state-service.js +2 -0
- package/dist/application/flow/run-state-service.js.map +1 -1
- package/dist/application/flow/submit.js +584 -117
- package/dist/application/flow/submit.js.map +1 -1
- package/dist/application/generate-launch-service.js +16 -6
- package/dist/application/generate-launch-service.js.map +1 -1
- package/dist/application/git-flow-service.js +34 -3
- package/dist/application/git-flow-service.js.map +1 -1
- package/dist/application/history-publications.js +24 -0
- package/dist/application/history-publications.js.map +1 -1
- package/dist/application/history-reconcile-service.js +45 -0
- package/dist/application/history-reconcile-service.js.map +1 -0
- package/dist/application/history-table.js +61 -12
- package/dist/application/history-table.js.map +1 -1
- package/dist/application/history-update-service.js +25 -4
- package/dist/application/history-update-service.js.map +1 -1
- package/dist/application/hook-branch-check.js +25 -3
- package/dist/application/hook-branch-check.js.map +1 -1
- package/dist/application/hook-git-commit-advisor.js +3 -4
- package/dist/application/hook-git-commit-advisor.js.map +1 -1
- package/dist/application/hook-turn-start.js +51 -0
- package/dist/application/hook-turn-start.js.map +1 -0
- package/dist/application/host-memory/codex.js +1 -1
- package/dist/application/host-memory/codex.js.map +1 -1
- package/dist/application/hub-registry.js +135 -0
- package/dist/application/hub-registry.js.map +1 -0
- package/dist/application/local-proposal.js +72 -19
- package/dist/application/local-proposal.js.map +1 -1
- package/dist/application/mcp-host-reader.js +1 -1
- package/dist/application/mcp-host-reader.js.map +1 -1
- package/dist/application/mcp-host-writer.js +16 -10
- package/dist/application/mcp-host-writer.js.map +1 -1
- package/dist/application/merge-state-service.js +150 -34
- package/dist/application/merge-state-service.js.map +1 -1
- package/dist/application/multiroot/claude.js +17 -10
- package/dist/application/multiroot/claude.js.map +1 -1
- package/dist/application/multiroot/codex.js +17 -11
- package/dist/application/multiroot/codex.js.map +1 -1
- package/dist/application/multiroot-service.js +52 -28
- package/dist/application/multiroot-service.js.map +1 -1
- package/dist/application/parsers/execution-batches.js +64 -0
- package/dist/application/parsers/execution-batches.js.map +1 -0
- package/dist/application/parsers/phases.js +23 -2
- package/dist/application/parsers/phases.js.map +1 -1
- package/dist/application/parsers/project-block.js +146 -17
- package/dist/application/parsers/project-block.js.map +1 -1
- package/dist/application/parsers/tasks.js +16 -2
- package/dist/application/parsers/tasks.js.map +1 -1
- package/dist/application/parsers/toml.js +19 -0
- package/dist/application/parsers/toml.js.map +1 -0
- package/dist/application/paths-service.js +13 -16
- package/dist/application/paths-service.js.map +1 -1
- package/dist/application/persist-service.js +118 -5
- package/dist/application/persist-service.js.map +1 -1
- package/dist/application/plan-exec-batch-service.js +162 -22
- package/dist/application/plan-exec-batch-service.js.map +1 -1
- package/dist/application/plan-exec-decision-service.js +61 -12
- package/dist/application/plan-exec-decision-service.js.map +1 -1
- package/dist/application/plan-exec-plan-diff.js +105 -0
- package/dist/application/plan-exec-plan-diff.js.map +1 -0
- package/dist/application/plan-lint-service.js +33 -5
- package/dist/application/plan-lint-service.js.map +1 -1
- package/dist/application/plan-passes.js +41 -0
- package/dist/application/plan-passes.js.map +1 -0
- package/dist/application/preparation-receipts.js +58 -0
- package/dist/application/preparation-receipts.js.map +1 -0
- package/dist/application/project-md-upsert-service.js +191 -52
- package/dist/application/project-md-upsert-service.js.map +1 -1
- package/dist/application/project-tab-data.js +40 -10
- package/dist/application/project-tab-data.js.map +1 -1
- package/dist/application/release-data/artifacts.js +15 -7
- package/dist/application/release-data/artifacts.js.map +1 -1
- package/dist/application/release-data/bundles.js +52 -6
- package/dist/application/release-data/bundles.js.map +1 -1
- package/dist/application/release-data/common.js +2 -2
- package/dist/application/release-data/common.js.map +1 -1
- package/dist/application/release-data/rollback.js +7 -0
- package/dist/application/release-data/rollback.js.map +1 -0
- package/dist/application/release-data/sessions.js +2 -2
- package/dist/application/release-data/sessions.js.map +1 -1
- package/dist/application/release-pass-ledger.js +1 -1
- package/dist/application/render/history-row.js +2 -0
- package/dist/application/render/history-row.js.map +1 -1
- package/dist/application/render/project-block.js +28 -11
- package/dist/application/render/project-block.js.map +1 -1
- package/dist/application/reseal-service.js +1 -0
- package/dist/application/reseal-service.js.map +1 -1
- package/dist/application/resume-service.js +55 -8
- package/dist/application/resume-service.js.map +1 -1
- package/dist/application/retirement/apply.js +25 -7
- package/dist/application/retirement/apply.js.map +1 -1
- package/dist/application/retirement/attribution.js +122 -50
- package/dist/application/retirement/attribution.js.map +1 -1
- package/dist/application/retirement/prepare.js +17 -11
- package/dist/application/retirement/prepare.js.map +1 -1
- package/dist/application/retirement/preview.js +2 -1
- package/dist/application/retirement/preview.js.map +1 -1
- package/dist/application/self/clean-legacy.js +1 -2
- package/dist/application/self/clean-legacy.js.map +1 -1
- package/dist/application/self/codex-plugin.js +1 -1
- package/dist/application/self/codex-plugin.js.map +1 -1
- package/dist/application/self/host-states.js +3 -3
- package/dist/application/self/host-states.js.map +1 -1
- package/dist/application/self/install-hooks.js +1 -1
- package/dist/application/self/install-hooks.js.map +1 -1
- package/dist/application/self/install-skill.js +5 -49
- package/dist/application/self/install-skill.js.map +1 -1
- package/dist/application/self/mcp-config.js +19 -11
- package/dist/application/self/mcp-config.js.map +1 -1
- package/dist/application/self/opencode-plugin.js +1 -0
- package/dist/application/self/opencode-plugin.js.map +1 -1
- package/dist/application/self/skill-files.js +29 -0
- package/dist/application/self/skill-files.js.map +1 -0
- package/dist/application/self/uninstall.js +1 -1
- package/dist/application/self/uninstall.js.map +1 -1
- package/dist/application/semantic-operation/protocol.js +66 -5
- package/dist/application/semantic-operation/protocol.js.map +1 -1
- package/dist/application/session-archive-service.js +113 -0
- package/dist/application/session-archive-service.js.map +1 -0
- package/dist/application/session-binding-service.js +35 -0
- package/dist/application/session-binding-service.js.map +1 -1
- package/dist/application/session-close-service.js +390 -54
- package/dist/application/session-close-service.js.map +1 -1
- package/dist/application/session-create-service.js +97 -5
- package/dist/application/session-create-service.js.map +1 -1
- package/dist/application/session-custody-recorder.js +15 -12
- package/dist/application/session-custody-recorder.js.map +1 -1
- package/dist/application/session-custody-service.js +1 -0
- package/dist/application/session-custody-service.js.map +1 -1
- package/dist/application/session-narrative.js +42 -12
- package/dist/application/session-narrative.js.map +1 -1
- package/dist/application/session-pause-service.js +46 -0
- package/dist/application/session-pause-service.js.map +1 -0
- package/dist/application/session-resolver.js +36 -11
- package/dist/application/session-resolver.js.map +1 -1
- package/dist/application/session-resume-service.js +134 -13
- package/dist/application/session-resume-service.js.map +1 -1
- package/dist/application/sessions-service.js +4 -0
- package/dist/application/sessions-service.js.map +1 -1
- package/dist/application/sessions-sweep-service.js +77 -0
- package/dist/application/sessions-sweep-service.js.map +1 -0
- package/dist/application/settle-service.js +3 -1
- package/dist/application/settle-service.js.map +1 -1
- package/dist/application/skills-resolver-service.js +6 -92
- package/dist/application/skills-resolver-service.js.map +1 -1
- package/dist/application/source-add-service.js +37 -0
- package/dist/application/source-add-service.js.map +1 -0
- package/dist/application/source-boundary-policy.js +105 -8
- package/dist/application/source-boundary-policy.js.map +1 -1
- package/dist/application/source-pipeline.js +68 -0
- package/dist/application/source-pipeline.js.map +1 -0
- package/dist/application/source-remove-service.js +15 -3
- package/dist/application/source-remove-service.js.map +1 -1
- package/dist/application/sources-service.js +71 -16
- package/dist/application/sources-service.js.map +1 -1
- package/dist/application/status-service.js +55 -5
- package/dist/application/status-service.js.map +1 -1
- package/dist/application/unit-dependencies.js +100 -0
- package/dist/application/unit-dependencies.js.map +1 -0
- package/dist/application/unit-membership.js +37 -0
- package/dist/application/unit-membership.js.map +1 -0
- package/dist/application/unit-residue.js +72 -0
- package/dist/application/unit-residue.js.map +1 -0
- package/dist/application/visibility-doctor-service.js +66 -4
- package/dist/application/visibility-doctor-service.js.map +1 -1
- package/dist/application/working-branch-service.js +6 -0
- package/dist/application/working-branch-service.js.map +1 -1
- package/dist/application/workline-graph.js +1 -1
- package/dist/application/workline-graph.js.map +1 -1
- package/dist/application/workline-index-service.js +118 -17
- package/dist/application/workline-index-service.js.map +1 -1
- package/dist/application/workspace-commit-service.js +218 -0
- package/dist/application/workspace-commit-service.js.map +1 -0
- package/dist/application/workspace-init-service.js +64 -34
- package/dist/application/workspace-init-service.js.map +1 -1
- package/dist/application/workspace-local-config.js +90 -0
- package/dist/application/workspace-local-config.js.map +1 -0
- package/dist/application/workspace-materialization-service.js +52 -3
- package/dist/application/workspace-materialization-service.js.map +1 -1
- package/dist/application/workspace-migrate/apply.js +525 -4
- package/dist/application/workspace-migrate/apply.js.map +1 -1
- package/dist/application/workspace-migrate/markers.js +9 -6
- package/dist/application/workspace-migrate/markers.js.map +1 -1
- package/dist/application/workspace-migrate/plan.js +97 -5
- package/dist/application/workspace-migrate/plan.js.map +1 -1
- package/dist/application/workspace-move-service.js +270 -0
- package/dist/application/workspace-move-service.js.map +1 -0
- package/dist/application/workspace-untrack-service.js +28 -0
- package/dist/application/workspace-untrack-service.js.map +1 -0
- package/dist/application/worktree-service.js +654 -105
- package/dist/application/worktree-service.js.map +1 -1
- package/dist/cli/ascii.js +2 -0
- package/dist/cli/ascii.js.map +1 -1
- package/dist/cli/commands/add-source.js +38 -0
- package/dist/cli/commands/add-source.js.map +1 -0
- package/dist/cli/commands/amend.js +14 -3
- package/dist/cli/commands/amend.js.map +1 -1
- package/dist/cli/commands/capability.js +23 -4
- package/dist/cli/commands/capability.js.map +1 -1
- package/dist/cli/commands/designs.js +14 -5
- package/dist/cli/commands/designs.js.map +1 -1
- package/dist/cli/commands/dev-only.js +19 -6
- package/dist/cli/commands/dev-only.js.map +1 -1
- package/dist/cli/commands/doc-branch.js +184 -0
- package/dist/cli/commands/doc-branch.js.map +1 -0
- package/dist/cli/commands/doctor.js +5 -1
- package/dist/cli/commands/doctor.js.map +1 -1
- package/dist/cli/commands/export.js +78 -18
- package/dist/cli/commands/export.js.map +1 -1
- package/dist/cli/commands/fix-git.js +89 -14
- package/dist/cli/commands/fix-git.js.map +1 -1
- package/dist/cli/commands/flow.js +120 -15
- package/dist/cli/commands/flow.js.map +1 -1
- package/dist/cli/commands/generate-launch.js +14 -2
- 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/history.js +14 -0
- package/dist/cli/commands/history.js.map +1 -0
- package/dist/cli/commands/hook.js +15 -2
- package/dist/cli/commands/hook.js.map +1 -1
- package/dist/cli/commands/index.js +18 -5
- package/dist/cli/commands/index.js.map +1 -1
- package/dist/cli/commands/merge-state.js +2 -2
- package/dist/cli/commands/merge-state.js.map +1 -1
- package/dist/cli/commands/persist.js +6 -5
- package/dist/cli/commands/persist.js.map +1 -1
- package/dist/cli/commands/project-md-upsert.js +5 -3
- package/dist/cli/commands/project-md-upsert.js.map +1 -1
- package/dist/cli/commands/release-pass.js +3 -3
- package/dist/cli/commands/release-pass.js.map +1 -1
- package/dist/cli/commands/resume.js +12 -3
- package/dist/cli/commands/resume.js.map +1 -1
- package/dist/cli/commands/self.js +8 -24
- package/dist/cli/commands/self.js.map +1 -1
- package/dist/cli/commands/session-close.js +64 -9
- package/dist/cli/commands/session-close.js.map +1 -1
- package/dist/cli/commands/session-create.js +4 -2
- package/dist/cli/commands/session-create.js.map +1 -1
- package/dist/cli/commands/session-pause.js +14 -0
- package/dist/cli/commands/session-pause.js.map +1 -0
- package/dist/cli/commands/sessions.js +16 -3
- package/dist/cli/commands/sessions.js.map +1 -1
- package/dist/cli/commands/set-branch.js +28 -4
- package/dist/cli/commands/set-branch.js.map +1 -1
- package/dist/cli/commands/set-edit-mode.js +20 -0
- package/dist/cli/commands/set-edit-mode.js.map +1 -0
- package/dist/cli/commands/set-pipeline.js +35 -0
- package/dist/cli/commands/set-pipeline.js.map +1 -0
- package/dist/cli/commands/skills.js +4 -11
- package/dist/cli/commands/skills.js.map +1 -1
- package/dist/cli/commands/sources.js +4 -0
- package/dist/cli/commands/sources.js.map +1 -1
- package/dist/cli/commands/status.js +35 -2
- package/dist/cli/commands/status.js.map +1 -1
- package/dist/cli/commands/unknown-flags.js +1 -0
- package/dist/cli/commands/unknown-flags.js.map +1 -1
- package/dist/cli/commands/visibility.js +1 -0
- package/dist/cli/commands/visibility.js.map +1 -1
- package/dist/cli/commands/workspace-commit.js +62 -0
- package/dist/cli/commands/workspace-commit.js.map +1 -0
- package/dist/cli/commands/workspace-init.js +39 -2
- package/dist/cli/commands/workspace-init.js.map +1 -1
- package/dist/cli/commands/workspace-migrate.js +31 -3
- package/dist/cli/commands/workspace-migrate.js.map +1 -1
- package/dist/cli/commands/workspace-move.js +42 -0
- package/dist/cli/commands/workspace-move.js.map +1 -0
- package/dist/cli/commands/worktree.js +4 -4
- package/dist/cli/commands/worktree.js.map +1 -1
- package/dist/cli/context-id.js +6 -0
- package/dist/cli/context-id.js.map +1 -1
- package/dist/cli/full-cli.js +555 -0
- package/dist/cli/full-cli.js.map +1 -0
- package/dist/cli/help-groups.js +76 -19
- package/dist/cli/help-groups.js.map +1 -1
- package/dist/cli/hook-stdin-cache.js +12 -0
- package/dist/cli/hook-stdin-cache.js.map +1 -0
- package/dist/cli/main.js +47 -453
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/parser.js +4 -0
- package/dist/cli/parser.js.map +1 -1
- package/dist/cli/tui/app.js +3 -4
- package/dist/cli/tui/app.js.map +1 -1
- package/dist/cli/tui/components/host-admin-section.js +2 -13
- package/dist/cli/tui/components/host-admin-section.js.map +1 -1
- package/dist/cli/tui/components/tabs-config.js +1 -2
- package/dist/cli/tui/components/tabs-config.js.map +1 -1
- package/dist/cli/tui/components/workspace-init-form.js +4 -1
- package/dist/cli/tui/components/workspace-init-form.js.map +1 -1
- package/dist/cli/tui/data/workflow-content.js +6 -1
- package/dist/cli/tui/data/workflow-content.js.map +1 -1
- package/dist/cli/tui/tabs/mcp-tab.js +4 -3
- package/dist/cli/tui/tabs/mcp-tab.js.map +1 -1
- package/dist/cli/tui/tabs/project-tab.js +7 -2
- package/dist/cli/tui/tabs/project-tab.js.map +1 -1
- package/dist/cli/tui/tui-prefs.js +2 -0
- package/dist/cli/tui/tui-prefs.js.map +1 -1
- package/dist/dist-manifest.json +3973 -0
- package/dist/domain/capability/protocol.js +3 -1
- package/dist/domain/capability/protocol.js.map +1 -1
- package/dist/domain/decision-note.js +13 -0
- package/dist/domain/decision-note.js.map +1 -1
- package/dist/domain/design/artifact.js +22 -3
- package/dist/domain/design/artifact.js.map +1 -1
- package/dist/domain/design/capability.js +1 -0
- package/dist/domain/design/capability.js.map +1 -1
- package/dist/domain/design/expansion.js +1 -1
- package/dist/domain/design/expansion.js.map +1 -1
- package/dist/domain/design/maturity.js +16 -0
- package/dist/domain/design/maturity.js.map +1 -1
- package/dist/domain/design/reference.js +5 -0
- package/dist/domain/design/reference.js.map +1 -1
- package/dist/domain/doctor/operations.js +20 -12
- package/dist/domain/doctor/operations.js.map +1 -1
- package/dist/domain/effective-contract.js +3 -1
- package/dist/domain/effective-contract.js.map +1 -1
- package/dist/domain/elicitation.js +1 -1
- package/dist/domain/flow/answer.js +265 -130
- package/dist/domain/flow/answer.js.map +1 -1
- package/dist/domain/flow/authority.js +194 -37
- package/dist/domain/flow/authority.js.map +1 -1
- package/dist/domain/flow/batch-review.js +65 -0
- package/dist/domain/flow/batch-review.js.map +1 -0
- package/dist/domain/flow/decision-schema.js +47 -0
- package/dist/domain/flow/decision-schema.js.map +1 -0
- package/dist/domain/flow/directive.js +16 -0
- package/dist/domain/flow/directive.js.map +1 -1
- package/dist/domain/flow/execution-result.js +91 -2
- package/dist/domain/flow/execution-result.js.map +1 -1
- package/dist/domain/flow/run-state.js +352 -24
- package/dist/domain/flow/run-state.js.map +1 -1
- package/dist/domain/flow/test-run-evidence.js +285 -0
- package/dist/domain/flow/test-run-evidence.js.map +1 -0
- package/dist/domain/flow/unchanged-phase.js +15 -0
- package/dist/domain/flow/unchanged-phase.js.map +1 -0
- package/dist/domain/harnesses.js +14 -5
- package/dist/domain/harnesses.js.map +1 -1
- package/dist/domain/isolation-unit.js +2 -2
- package/dist/domain/isolation-unit.js.map +1 -1
- package/dist/domain/lineage.js +7 -2
- package/dist/domain/lineage.js.map +1 -1
- package/dist/domain/obligation-correspondence.js +4 -2
- package/dist/domain/obligation-correspondence.js.map +1 -1
- package/dist/domain/plan-handoff.js +5 -0
- package/dist/domain/plan-handoff.js.map +1 -0
- package/dist/domain/proposal.js +18 -7
- package/dist/domain/proposal.js.map +1 -1
- package/dist/domain/reservation.js +5 -3
- package/dist/domain/reservation.js.map +1 -1
- package/dist/domain/retirement/proposal.js +1 -0
- package/dist/domain/retirement/proposal.js.map +1 -1
- package/dist/domain/session/custody.js +10 -6
- package/dist/domain/session/custody.js.map +1 -1
- package/dist/domain/session/narrative.js +4 -1
- package/dist/domain/session/narrative.js.map +1 -1
- package/dist/domain/skills.js +4 -6
- package/dist/domain/skills.js.map +1 -1
- package/dist/domain/sql-lexer.js +1 -1
- package/dist/domain/sql-lexer.js.map +1 -1
- package/dist/runtime/namespace-resolver.js +4 -0
- package/dist/runtime/namespace-resolver.js.map +1 -1
- package/dist/runtime/workline-marker.js +35 -8
- package/dist/runtime/workline-marker.js.map +1 -1
- package/dist/runtime/workspace-resolution.js +123 -0
- package/dist/runtime/workspace-resolution.js.map +1 -0
- package/package.json +6 -5
- package/skills/w/SKILL.md +12 -17
- package/skills/w/artifacts/artifacts-core/CHECKPOINT.md +1 -1
- package/skills/w/artifacts/artifacts-core/SCRIPTS.rollback.sql +8 -0
- package/skills/w/artifacts/artifacts-core/SCRIPTS.sql +4 -8
- package/skills/w/commands/export-diagrams.md +3 -3
- package/skills/w/commands/export-manuals.md +6 -6
- package/skills/w/commands/export-reports.md +3 -3
- package/skills/w/commands/export-scripts.md +5 -5
- package/skills/w/commands/fix-git.md +12 -13
- package/skills/w/commands/persist.md +2 -2
- package/skills/w/commands/plan-exec.md +4 -2
- package/skills/w/commands/spec-new.md +1 -1
- package/skills/w/commands/workspace-init.md +2 -0
- package/skills/w/context/MANIFEST.json +1 -1
- package/skills/w/exports/README.md +4 -4
- package/skills/w/exports/export-diagrams/EXPORT.md +4 -4
- package/skills/w/exports/export-manuals/EXPORT.md +14 -16
- package/skills/w/exports/export-reports/EXPORT.md +3 -3
- package/skills/w/exports/export-scripts/EXPORT.md +46 -22
- package/skills/w/harness/HARNESS.md +4 -7
- package/skills/w/hooks/hooks.template.json +6 -4
- package/skills/w/loops/CHASSIS.md +12 -6
- package/skills/w/loops/CODE-POLICIES.md +8 -5
- package/skills/w/loops/README.md +2 -2
- package/skills/w/loops/plan-exec-loop/LOOP.md +23 -22
- package/skills/w/loops/plan-new-loop/LOOP.md +23 -31
- package/skills/w/loops/plan-refine-loop/LOOP.md +8 -2
- package/skills/w/loops/quick-loop/LOOP.md +7 -6
- package/skills/w/loops/spec-refine-loop/LOOP.md +1 -1
- package/skills/w/modules/DESIGN-REFERENCES.md +9 -11
- package/skills/w/modules/PLAN-EXECUTION-BATCHES.md +4 -4
- package/skills/w/modules/SESSION-NUMBERING.md +2 -0
- package/skills/w/roles/README.md +11 -47
- package/skills/w/roles/design/CONTRACT.md +6 -4
- package/skills/w/roles/design/ROLE.md +7 -3
- package/skills/w/roles/diagrams/ROLE.md +1 -1
- package/skills/w/roles/git/ROLE.md +17 -10
- package/skills/w/roles/research/ROLE.md +2 -2
- package/skills/w/roles/sql/ROLE.md +17 -15
- package/skills/w/schemas/design/ui-screen.v1.schema.json +9 -0
- package/dist/application/capability/descriptor-loader.js +0 -109
- package/dist/application/capability/descriptor-loader.js.map +0 -1
- package/dist/application/capability/installed-inventory.js +0 -168
- package/dist/application/capability/installed-inventory.js.map +0 -1
- package/dist/application/self/install-plugin-skills-git.js +0 -226
- package/dist/application/self/install-plugin-skills-git.js.map +0 -1
- package/dist/application/self/install-plugin-skills.js +0 -203
- package/dist/application/self/install-plugin-skills.js.map +0 -1
- package/dist/application/self/plugin-cache-clear.js +0 -133
- package/dist/application/self/plugin-cache-clear.js.map +0 -1
- package/dist/application/self/plugin-cache-reload.js +0 -141
- package/dist/application/self/plugin-cache-reload.js.map +0 -1
- package/dist/application/self/skills-apply.js +0 -623
- package/dist/application/self/skills-apply.js.map +0 -1
- package/dist/application/self/skills-catalog.js +0 -35
- package/dist/application/self/skills-catalog.js.map +0 -1
- package/dist/application/self/skills-change.js +0 -479
- package/dist/application/self/skills-change.js.map +0 -1
- package/dist/application/self/skills-discovery.js +0 -275
- package/dist/application/self/skills-discovery.js.map +0 -1
- package/dist/application/self/skills-manager.js +0 -253
- package/dist/application/self/skills-manager.js.map +0 -1
- package/dist/application/self/skills-payload.js +0 -566
- package/dist/application/self/skills-payload.js.map +0 -1
- package/dist/application/self/skills-registry.js +0 -107
- package/dist/application/self/skills-registry.js.map +0 -1
- package/dist/application/skill-index-service.js +0 -78
- package/dist/application/skill-index-service.js.map +0 -1
- package/dist/cli/commands/plugin-cache.js +0 -25
- package/dist/cli/commands/plugin-cache.js.map +0 -1
- package/dist/cli/commands/skill-index.js +0 -19
- package/dist/cli/commands/skill-index.js.map +0 -1
- package/dist/cli/tui/data/recommended-skills.js +0 -482
- package/dist/cli/tui/data/recommended-skills.js.map +0 -1
- package/dist/cli/tui/tabs/skills-tab.js +0 -664
- package/dist/cli/tui/tabs/skills-tab.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sql-lexer.js","sourceRoot":"","sources":["../../src/domain/sql-lexer.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"sql-lexer.js","sourceRoot":"","sources":["../../src/domain/sql-lexer.ts"],"names":[],"mappings":"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"}
|
|
@@ -97,6 +97,8 @@ export class NamespaceResolver {
|
|
|
97
97
|
async detectFromWorkspace(cwd) {
|
|
98
98
|
let dir = cwd;
|
|
99
99
|
while (true) {
|
|
100
|
+
if (dir === this.env.homeDir())
|
|
101
|
+
return null;
|
|
100
102
|
const matches = await this.namespacesAt(dir);
|
|
101
103
|
if (matches.length > 1)
|
|
102
104
|
throw new WorklineDirectoryError(dir, matches);
|
|
@@ -112,6 +114,8 @@ export class NamespaceResolver {
|
|
|
112
114
|
async findMarkerForNamespace(cwd, namespace) {
|
|
113
115
|
let dir = cwd;
|
|
114
116
|
while (true) {
|
|
117
|
+
if (dir === this.env.homeDir())
|
|
118
|
+
return null;
|
|
115
119
|
if (await isWorklineRoot(this.fs, dir, namespace))
|
|
116
120
|
return dir;
|
|
117
121
|
const parent = dirname(dir);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"namespace-resolver.js","sourceRoot":"","sources":["../../src/runtime/namespace-resolver.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"namespace-resolver.js","sourceRoot":"","sources":["../../src/runtime/namespace-resolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { readdir, stat } from "node:fs/promises";
|
|
2
|
+
import { dirname, join } from "node:path";
|
|
3
|
+
import { NAMESPACE_REGEX } from "./namespace.js";
|
|
2
4
|
/**
|
|
3
5
|
* What tells a Workline workspace apart from a directory that merely shares the
|
|
4
6
|
* name of a subfolder.
|
|
@@ -32,13 +34,6 @@ export const LEGACY_WORKLINE_FILES = [
|
|
|
32
34
|
export function worklineMarkerContent(namespace) {
|
|
33
35
|
return `${JSON.stringify({ workline: 1, namespace }, null, 2)}\n`;
|
|
34
36
|
}
|
|
35
|
-
/**
|
|
36
|
-
* Whether `dir` holds the Workline workspace of `namespace`.
|
|
37
|
-
*
|
|
38
|
-
* Fails CLOSED in the direction that matters: a directory that only looks like
|
|
39
|
-
* one — `sessions/` and nothing of Workline's beside it — is not adopted as a
|
|
40
|
-
* workspace, so the command's own path is, which is what the person asked for.
|
|
41
|
-
*/
|
|
42
37
|
export async function isWorklineRoot(fs, dir, namespace) {
|
|
43
38
|
const root = join(dir, `.${namespace}`);
|
|
44
39
|
if (await isFile(fs, join(root, WORKLINE_MARKER_FILE)))
|
|
@@ -67,4 +62,36 @@ async function isDir(fs, path) {
|
|
|
67
62
|
return false;
|
|
68
63
|
}
|
|
69
64
|
}
|
|
65
|
+
/** The hook entry needs only marker reads, before any CLI services are loaded. */
|
|
66
|
+
export async function hasWorklineMarker(start) {
|
|
67
|
+
const fs = {
|
|
68
|
+
stat: async (path) => {
|
|
69
|
+
const info = await stat(path);
|
|
70
|
+
return { type: info.isFile() ? "file" : info.isDirectory() ? "dir" : "other" };
|
|
71
|
+
},
|
|
72
|
+
};
|
|
73
|
+
let dir = start;
|
|
74
|
+
while (true) {
|
|
75
|
+
// Reuse the resolver's exact marker/legacy rule for every candidate namespace.
|
|
76
|
+
let entries;
|
|
77
|
+
try {
|
|
78
|
+
entries = await readdir(dir, { withFileTypes: true });
|
|
79
|
+
}
|
|
80
|
+
catch {
|
|
81
|
+
// An unreadable ancestor must not suppress a hook that might need to run.
|
|
82
|
+
return true;
|
|
83
|
+
}
|
|
84
|
+
for (const entry of entries) {
|
|
85
|
+
if (!entry.isDirectory() || !entry.name.startsWith("."))
|
|
86
|
+
continue;
|
|
87
|
+
const namespace = entry.name.slice(1);
|
|
88
|
+
if (NAMESPACE_REGEX.test(namespace) && (await isWorklineRoot(fs, dir, namespace)))
|
|
89
|
+
return true;
|
|
90
|
+
}
|
|
91
|
+
const parent = dirname(dir);
|
|
92
|
+
if (parent === dir)
|
|
93
|
+
return false;
|
|
94
|
+
dir = parent;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
70
97
|
//# sourceMappingURL=workline-marker.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workline-marker.js","sourceRoot":"","sources":["../../src/runtime/workline-marker.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"workline-marker.js","sourceRoot":"","sources":["../../src/runtime/workline-marker.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
import { access, realpath, stat } from "node:fs/promises";
|
|
2
|
+
import { dirname, isAbsolute, join, relative, resolve, sep } from "node:path";
|
|
3
|
+
import { declaringHubs, gitCommonDirectory, registerHub } from "../application/hub-registry.js";
|
|
4
|
+
import { PathsService } from "../application/paths-service.js";
|
|
5
|
+
import { hubUnitPaths } from "../application/unit-membership.js";
|
|
6
|
+
import { isWorklineRoot } from "./workline-marker.js";
|
|
7
|
+
export class WorkspaceResolutionError extends Error {
|
|
8
|
+
code;
|
|
9
|
+
roots;
|
|
10
|
+
constructor(code, message, roots = []) {
|
|
11
|
+
super(message);
|
|
12
|
+
this.code = code;
|
|
13
|
+
this.roots = roots;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
function contains(parent, child) {
|
|
17
|
+
const path = relative(parent, child);
|
|
18
|
+
return path === "" || (path !== ".." && !path.startsWith(`..${sep}`) && !isAbsolute(path));
|
|
19
|
+
}
|
|
20
|
+
/** Real repository boundary, not the common git directory shared with its units. */
|
|
21
|
+
export async function repositoryRoot(from) {
|
|
22
|
+
let dir = resolve(from);
|
|
23
|
+
while (true) {
|
|
24
|
+
try {
|
|
25
|
+
await stat(join(dir, ".git"));
|
|
26
|
+
return dir;
|
|
27
|
+
}
|
|
28
|
+
catch {
|
|
29
|
+
/* ancestor search */
|
|
30
|
+
}
|
|
31
|
+
const parent = dirname(dir);
|
|
32
|
+
if (parent === dir)
|
|
33
|
+
return null;
|
|
34
|
+
dir = parent;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
export async function resolveWorkspaceDirectory(fs, directory, cwd, home, explicit) {
|
|
38
|
+
const namespace = directory.namespace;
|
|
39
|
+
const repo = await repositoryRoot(cwd);
|
|
40
|
+
if (explicit !== undefined) {
|
|
41
|
+
const root = resolve(cwd, explicit);
|
|
42
|
+
try {
|
|
43
|
+
if (!(await stat(root)).isDirectory())
|
|
44
|
+
throw new Error("no es directorio");
|
|
45
|
+
}
|
|
46
|
+
catch {
|
|
47
|
+
throw new WorkspaceResolutionError("WORKSPACE_INVALID", `El workspace ${root} no existe.`);
|
|
48
|
+
}
|
|
49
|
+
const marked = await isWorklineRoot(fs, root, namespace);
|
|
50
|
+
if (root === home ||
|
|
51
|
+
contains(join(home, `.${namespace}`, "worktrees"), root) ||
|
|
52
|
+
(repo !== null && contains(repo, root) && root !== repo && !marked)) {
|
|
53
|
+
throw new WorkspaceResolutionError("WORKSPACE_INVALID", `La carpeta ${root} no es una raíz de workspace válida.`);
|
|
54
|
+
}
|
|
55
|
+
if (!marked &&
|
|
56
|
+
(await repositoryRoot(root)) !== null &&
|
|
57
|
+
(await declaringHubs(fs, home, namespace, root)).some((hub) => hub.root !== root)) {
|
|
58
|
+
throw new WorkspaceResolutionError("WORKSPACE_INVALID", `${root} es una fuente declarada; indica la raíz del hub, no la fuente.`);
|
|
59
|
+
}
|
|
60
|
+
let parent = dirname(root);
|
|
61
|
+
while (parent !== dirname(parent)) {
|
|
62
|
+
if (parent !== home && (await isWorklineRoot(fs, parent, namespace))) {
|
|
63
|
+
throw new WorkspaceResolutionError("WORKSPACE_INVALID", `${root} está dentro del workspace ${parent}; --workspace nombra la raíz exacta.`);
|
|
64
|
+
}
|
|
65
|
+
parent = dirname(parent);
|
|
66
|
+
}
|
|
67
|
+
return { ...directory, root: await realpath(root), materialized: marked };
|
|
68
|
+
}
|
|
69
|
+
// A marker above the git boundary (particularly ~/.workflow) is not the
|
|
70
|
+
// source's own workspace. A marker within the repository wins over claims.
|
|
71
|
+
if (directory.materialized &&
|
|
72
|
+
directory.root !== home &&
|
|
73
|
+
(repo === null || contains(repo, directory.root)))
|
|
74
|
+
return { ...directory, root: await realpath(directory.root) };
|
|
75
|
+
if (repo !== null && (await gitCommonDirectory(repo)) !== null) {
|
|
76
|
+
const hubs = await declaringHubs(fs, home, namespace, repo);
|
|
77
|
+
const first = hubs[0];
|
|
78
|
+
if (hubs.length === 1 && first)
|
|
79
|
+
return { ...directory, root: first.root, materialized: true };
|
|
80
|
+
if (hubs.length > 1) {
|
|
81
|
+
const roots = [...new Set(hubs.map((hub) => hub.root))];
|
|
82
|
+
if (roots.length === 1 && roots[0])
|
|
83
|
+
return { ...directory, root: roots[0], materialized: true };
|
|
84
|
+
const units = join(home, `.${namespace}`, "worktrees");
|
|
85
|
+
const unitsRoot = await realpath(units).catch(() => units);
|
|
86
|
+
const unitRepo = await realpath(repo).catch(() => repo);
|
|
87
|
+
if (contains(unitsRoot, unitRepo)) {
|
|
88
|
+
const owners = [];
|
|
89
|
+
for (const root of roots) {
|
|
90
|
+
const owns = await hubUnitPaths(fs, new PathsService(namespace, home, root), unitsRoot);
|
|
91
|
+
if (owns(unitRepo))
|
|
92
|
+
owners.push(root);
|
|
93
|
+
}
|
|
94
|
+
if (owners.length === 1 && owners[0])
|
|
95
|
+
return { ...directory, root: owners[0], materialized: true };
|
|
96
|
+
}
|
|
97
|
+
throw new WorkspaceResolutionError("WORKSPACE_AMBIGUOUS", `El checkout es fuente de ${roots.join(", ")}; indica --workspace <ruta>.`, roots);
|
|
98
|
+
}
|
|
99
|
+
if (directory.root === home || (await isWorklineRoot(fs, home, namespace)))
|
|
100
|
+
throw new WorkspaceResolutionError("WORKSPACE_UNRESOLVED", `No hay hub registrado para ${repo}; indica --workspace o ejecuta aw en el hub.`);
|
|
101
|
+
}
|
|
102
|
+
if (cwd === home)
|
|
103
|
+
throw new WorkspaceResolutionError("WORKSPACE_INVALID", "$HOME no es un workspace; indica --workspace <ruta>.");
|
|
104
|
+
if (directory.root === home) {
|
|
105
|
+
if (repo !== null)
|
|
106
|
+
throw new WorkspaceResolutionError("WORKSPACE_UNRESOLVED", `No hay hub registrado para ${repo}; indica --workspace o ejecuta aw en el hub.`);
|
|
107
|
+
return { ...directory, root: cwd, materialized: false };
|
|
108
|
+
}
|
|
109
|
+
return { ...directory, root: directory.materialized ? directory.root : cwd };
|
|
110
|
+
}
|
|
111
|
+
export async function registerResolvedWorkspace(fs, home, directory) {
|
|
112
|
+
if (directory.root === home || !(await isWorklineRoot(fs, directory.root, directory.namespace)))
|
|
113
|
+
return null;
|
|
114
|
+
try {
|
|
115
|
+
await access(directory.root);
|
|
116
|
+
await registerHub(fs, new PathsService(directory.namespace, home, directory.root), directory.root);
|
|
117
|
+
return null;
|
|
118
|
+
}
|
|
119
|
+
catch (error) {
|
|
120
|
+
return `No se pudo registrar el hub ${directory.root}: ${String(error)}`;
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
//# sourceMappingURL=workspace-resolution.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workspace-resolution.js","sourceRoot":"","sources":["../../src/runtime/workspace-resolution.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tacuchi/agent-workflow-cli",
|
|
3
|
-
"version": "
|
|
4
|
-
"description": "Runtime CLI for Workline — the stages + loops + artifacts system for agent work. Bundles
|
|
3
|
+
"version": "26.0.0",
|
|
4
|
+
"description": "Runtime CLI for Workline — the stages + loops + artifacts system for agent work. Bundles its own flow skills 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. Installs and diagnoses only Workline skills; uses host-provided help without requiring it. Namespace auto-detected from any `.<ns>/sessions/` dir in CWD; default `workflow`.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
7
7
|
"agent-workflow": "dist/cli/main.js",
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
},
|
|
10
10
|
"files": ["dist", "skills", "LICENSE", "README.md", "CHANGELOG.md"],
|
|
11
11
|
"scripts": {
|
|
12
|
-
"build": "node scripts/clean-dist.mjs && tsc",
|
|
12
|
+
"build": "node scripts/clean-dist.mjs && tsc && node scripts/write-dist-manifest.mjs",
|
|
13
13
|
"build:watch": "node scripts/clean-dist.mjs && tsc --watch",
|
|
14
14
|
"test": "vitest run",
|
|
15
15
|
"test:watch": "vitest",
|
|
@@ -52,7 +52,8 @@
|
|
|
52
52
|
"@types/react": "^18.3.28",
|
|
53
53
|
"ink-testing-library": "^4.0.0",
|
|
54
54
|
"typescript": "^5.7.3",
|
|
55
|
-
"
|
|
55
|
+
"vite": "^8.3.1",
|
|
56
|
+
"vitest": "^5.0.2"
|
|
56
57
|
},
|
|
57
58
|
"publishConfig": {
|
|
58
59
|
"access": "public"
|
|
@@ -64,6 +65,6 @@
|
|
|
64
65
|
"pg": "^8.23.0",
|
|
65
66
|
"pg-cursor": "^2.22.0",
|
|
66
67
|
"react": "^18.3.1",
|
|
67
|
-
"smol-toml": "^1.
|
|
68
|
+
"smol-toml": "^1.9.0"
|
|
68
69
|
}
|
|
69
70
|
}
|
package/skills/w/SKILL.md
CHANGED
|
@@ -14,7 +14,7 @@ description: >-
|
|
|
14
14
|
|
|
15
15
|
## Role
|
|
16
16
|
|
|
17
|
-
`overview` —
|
|
17
|
+
`overview` — the Workline-owned orientation skill. Its canonical name is `w`; historical external bindings are inapplicable.
|
|
18
18
|
|
|
19
19
|
## Purpose
|
|
20
20
|
|
|
@@ -54,7 +54,7 @@ USER invokes
|
|
|
54
54
|
- **Layer 2** — the AI iterates end to end until convergence. No direct human invocation.
|
|
55
55
|
- **Layer 3** — ephemeral, internal, process-only. Nobody invokes it by hand.
|
|
56
56
|
|
|
57
|
-
> **Tools pointer:** auxiliary tooling
|
|
57
|
+
> **Tools pointer:** reusable auxiliary tooling belongs under `docs/tools/<slug>/` (README, run/output structure, index row in `docs/tools/README.md`); code loops review it at closing (`loops/CODE-POLICIES.md`). Host help is optional, from any origin.
|
|
58
58
|
|
|
59
59
|
### The 3 flows
|
|
60
60
|
|
|
@@ -68,7 +68,7 @@ Typical chain: prompt → `spec-new` generates `docs/specs/NNN-spec-<slug>.md`
|
|
|
68
68
|
|
|
69
69
|
> **A plan is a sequence of functional states.** Every `### Fn` phase names a verifiable state of the system, carries its own primary proof, and — **only when the change carries one** — declares where a temporary simulation lives and when it retires. Its `> Estado:` line (`pendiente` | `en ejecución` | `bloqueada` | `validada`) is machine state that `aw status` counts **alongside** the checkbox progress: ticking every checkbox is **not** validation, and neither is a proof nobody ran — a phase whose check could not be executed stays `bloqueada` until it runs and passes, stating on its `> Bloqueo:` line what it waits on. Execution runs those states without redesigning them — a structural deviation returns to `plan-refine`, a functional one to `spec-refine`.
|
|
70
70
|
|
|
71
|
-
> **Three axes, and none stands in for another.** A **task completed** is work done (checkboxes); a **phase validated** is a functional state
|
|
71
|
+
> **Three axes, and none stands in for another.** A **task completed** is work done (checkboxes); a **phase validated** is a demonstrated functional state (`> Estado: validada`); a **plan closed** is the validated solution — title-level `> Estado: done`, CLI-sealed `> Cierre:` with run evidence and `> Assurance:` with the verification verdict. All tasks or phases green do not imply final validation; `done` with open work is `inconsistent` in `aw status`. The runtime derives `plan_state` from both declaration and counters.
|
|
72
72
|
|
|
73
73
|
QUICK can **escalate live to SPEC** when the objective exceeds a quick (entry size gate) or the task grows mid-loop: with consent via structured-choice, the work line moves to the SPEC flow (draft via the `spec-new` procedure + `spec-refine-loop` directly); escalation to PLAN stays **deferred** (seed + pointer). See `loops/quick-loop/LOOP.md` § *QUICK delta*.
|
|
74
74
|
|
|
@@ -76,6 +76,8 @@ Both authoring entry points can **split** with consent: `spec-new` may split a m
|
|
|
76
76
|
|
|
77
77
|
### Operating context — where everything lands
|
|
78
78
|
|
|
79
|
+
`aw workspace-init --source alias:path[:rama]` adds local sources; `--workspace <dir>` selects the exact hub from a source checkout (no silent parent fallback). `aw workspace-move <destino>` moves a hub; `--repair` reconciles an external move. Source paths are local and portable. A document's registered branch takes precedence over the source's work branch; never fall back to `development`.
|
|
80
|
+
|
|
79
81
|
Before any loop, the AI resolves the **workspace root** on every prompt (closest `.<ns>/sessions/` ancestor, otherwise the invoked directory) and then the session to continue. The marker is evidence of materialization, not permission to use Workline; pure reads stay byte-identical. That decides where artifacts land:
|
|
80
82
|
|
|
81
83
|
| Trigger | → Behavior + routing |
|
|
@@ -143,34 +145,27 @@ Common: Layer 1, explicit (user-invoked, never by a loop) · single-pass, read-o
|
|
|
143
145
|
|
|
144
146
|
### Capability skills + `.workflow/skills.toml`
|
|
145
147
|
|
|
146
|
-
A loop
|
|
148
|
+
A loop keeps its own contract and may use relevant help exposed by its host. `skills.toml` controls only Workline-owned roles; it never selects external contributors.
|
|
147
149
|
|
|
148
150
|
```toml
|
|
149
151
|
[skills]
|
|
150
|
-
design = "design" # built-in
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
research = "research"
|
|
154
|
-
# diagrams = "off" # ← capability disabled
|
|
155
|
-
# design = "acme/figma-spec" # ← third-party skill (via skills.sh)
|
|
152
|
+
design = "design" # built-in floor
|
|
153
|
+
# design = "off" # disable according to the operation's policy
|
|
154
|
+
overview = "w" # Workline orientation
|
|
156
155
|
```
|
|
157
156
|
|
|
158
|
-
**Resolution cascade**: built-in default → `~/.workflow/skills.toml` (global
|
|
157
|
+
**Resolution cascade**: built-in default → `~/.workflow/skills.toml` (global) → `.workflow/skills.toml` (workspace). Only owned names and `off` apply. Legacy external bindings are reported as inapplicable and left untouched. `[docs]` keeps its own independent cascade. Host-native skills may help without being required or credited by their mere presence.
|
|
159
158
|
|
|
160
159
|
Role catalog and defaults:
|
|
161
160
|
|
|
162
161
|
| Role | Default | Tier | Composed by |
|
|
163
162
|
|---|---|---|---|
|
|
164
163
|
| `design` | `design` | must | `spec-refine-loop` (UI) · `plan-new-loop` / `plan-refine-loop` · `plan-exec-loop` (reads, never redesigns) † |
|
|
165
|
-
| `sql` | `sql` | must | research · `plan-exec-loop` · `quick-loop` · `export-scripts` |
|
|
166
|
-
| `git` | `git` | must | `plan-exec-loop` · `quick-loop` |
|
|
167
|
-
| `research` | `research` | should | every loop (inline capability) |
|
|
168
|
-
| `diagrams` | `diagrams` | should | `export-diagrams` |
|
|
169
164
|
| `overview` | `w` | should | anyone (orientation) |
|
|
170
165
|
|
|
171
166
|
> † **The composing loops land references, not design.** `spec-refine` keeps `## Design references` and the plan loops promote the closure they implement and pin exact roots. The retired names `ui-design` and `ui-spec` resolve to nothing — no alias, no dual-read, no migration. See [roles/README.md](roles/README.md).
|
|
172
167
|
>
|
|
173
|
-
> **Ambient
|
|
168
|
+
> **Ambient help (not roles):** code/testing/writing, research, SQL, Git, diagrams and tool authoring may be supplied by the host. Workline does not bind, require, install or inventory them. Full doctrine: [roles/README.md](roles/README.md).
|
|
174
169
|
|
|
175
170
|
The **loop chassis** is NOT bound: it is the common engine of the 5 loops ([`loops/CHASSIS.md`](loops/CHASSIS.md), a referenced doc), not a pluggable capability.
|
|
176
171
|
|
|
@@ -201,7 +196,7 @@ One language per plane — never mix them:
|
|
|
201
196
|
### The 6 hard invariants
|
|
202
197
|
|
|
203
198
|
1. **No auto-export** — loops never graduate/export to `docs/`. Only `export-*` does, explicitly.
|
|
204
|
-
2. **Each flow touches only its `docs/` folders** — SPEC→`specs` · PLAN→`plans` · QUICK→none · rest→`export-*`, **plus `docs/designs` for whichever loop composes the `design` capability** (spec-refine and the plan loops publish the package; `plan-exec` only reads it). (`docs/tools`
|
|
199
|
+
2. **Each flow touches only its `docs/` folders** — SPEC→`specs` · PLAN→`plans` · QUICK→none · rest→`export-*`, **plus `docs/designs` for whichever loop composes the `design` capability** (spec-refine and the plan loops publish the package; `plan-exec` only reads it). (`docs/tools` holds reusable tooling under its own contract; `docs/research` belongs to `/w:persist` or direct no-flow authoring.)
|
|
205
200
|
3. **The spec and the plan are documents** (`docs/`), not session artifacts. *(Not to be confused with the **UI Design Package** the `design` capability produces under `docs/designs/NNN-design-<slug>/`: a durable dossier a spec **references** by baseline and digest — see [`roles/design/ROLE.md`](roles/design/ROLE.md) — it is not the requirement-spec.)*
|
|
206
201
|
4. **DB scripts-only** — the AI never executes DML/DDL; migrations stay in `SCRIPTS.sql` and the user applies them. Only read-only reads via MCP.
|
|
207
202
|
5. **Safe git** — expected branch verified before editing; proposed commits per source; never `push`/`--amend`/`--no-verify`.
|
|
@@ -16,7 +16,7 @@ What already happened: finished phases/tasks/gaps with their outcome (ref: plan-
|
|
|
16
16
|
> **Implemented is not validated (exec sessions).** A phase lands here only once the plan-doc's `> Estado: validada` was flipped. Work that is written but not yet proven stays in `Pending / Next` with its validation pending — a full set of ticked tasks never promotes a phase into this section. Continuous-batch phases move together only after their combined validation/review. Each closed phase records the **functional state reached** and, **only when the change carries one**, the **simulation boundary in force** — that, not the list of files touched, is what a resume actually needs.
|
|
17
17
|
|
|
18
18
|
## Pending / Next
|
|
19
|
-
The intent: what remains and what comes immediately next (seeded BEFORE executing — artifact-first). A resume starts here. In exec, record
|
|
19
|
+
The intent: what remains and what comes immediately next (seeded BEFORE executing — artifact-first). A resume starts here. In exec, record each effective batch (`id` · mode · phases), declared-vs-live regrouping, checks and its approved commit proposal/receipts, then the next functional state. A phase left `bloqueada` states here **what is missing to validate it**, so the next run knows what to execute before flipping the state.
|
|
20
20
|
|
|
21
21
|
## Open questions
|
|
22
22
|
Live doubts not yet resolved — the section exists only while there are any (rule 1). Deferred ones move to the session's `BACKLOG` or the flow doc's `## Open questions`.
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
-- SCRIPTS.rollback.sql — reverse of the type-B migrations in SCRIPTS.sql.
|
|
2
|
+
-- NEVER run with a forward; a human/DBA applies the exported rollback if needed.
|
|
3
|
+
-- Each marker corresponds to a forward in SCRIPTS.sql. Type-A reads have no reverse.
|
|
4
|
+
|
|
5
|
+
-- [M1] <migration> — inverse of SCRIPTS.sql#M1
|
|
6
|
+
-- @category: 01-ddl-tablas
|
|
7
|
+
-- @stmt: 01-revertir-tabla
|
|
8
|
+
ALTER TABLE ... ;
|
|
@@ -3,9 +3,8 @@
|
|
|
3
3
|
-- What it is: SQL and remote-read context produced by a session. TWO roles are distinguished:
|
|
4
4
|
-- A) READ-ONLY remote queries: research context captured before plan approval, never
|
|
5
5
|
-- execution validation or a closing proof.
|
|
6
|
-
-- B) DDL/DML migrations
|
|
7
|
-
--
|
|
8
|
-
-- rollback) for a human/DBA to apply.
|
|
6
|
+
-- B) DDL/DML migrations: the AI DRAFTS the forwards here, NEVER executes them;
|
|
7
|
+
-- their reverses live in SCRIPTS.rollback.sql. A human/DBA applies the export.
|
|
9
8
|
--
|
|
10
9
|
-- Golden rule: the AI only EXECUTES type A (read-only). The sql-mutation-guard BLOCKS
|
|
11
10
|
-- execution of DML/DDL — that is why type B is DELIVERED, not run.
|
|
@@ -34,11 +33,8 @@ SELECT ...;
|
|
|
34
33
|
SELECT ...;
|
|
35
34
|
|
|
36
35
|
-- ============================================================
|
|
37
|
-
-- [M1] <migration> | Type: B — DO NOT EXECUTE (
|
|
38
|
-
-- exported to docs/scripts/ via export-*)
|
|
36
|
+
-- [M1] <migration> | Type: B — DO NOT EXECUTE (external application is handoff)
|
|
39
37
|
-- DB/MCP: <which> | Origin: <plan task>
|
|
40
38
|
-- ------------------------------------------------------------
|
|
41
|
-
-- forward:
|
|
42
39
|
ALTER TABLE ... ;
|
|
43
|
-
-- rollback
|
|
44
|
-
-- ALTER TABLE ... ;
|
|
40
|
+
-- Reverse: SCRIPTS.rollback.sql#M1 (separate artifact; never inline).
|
|
@@ -7,9 +7,9 @@ allowed-tools: ["Bash", "Read"]
|
|
|
7
7
|
## Run
|
|
8
8
|
|
|
9
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`/`scope` **verbatim**
|
|
11
|
-
3.
|
|
12
|
-
4. `
|
|
10
|
+
2. Answer with one JSON: `version`/`operation`/`input_digest`/`scope` **verbatim** (including `scope.seal`), `state: "proposed"`, `artifacts` = `{ path, content }` per file. The approved `NNN` is immutable; 3 and 4 need no scope flags.
|
|
11
|
+
3. Write JSON with the file tool; `aw export-diagrams validate --format human < <file>` → preview + digest; confirm scope.
|
|
12
|
+
4. `aw export-diagrams apply --approval <digest> < <file>`. Rejected? Fix and revalidate.
|
|
13
13
|
|
|
14
14
|
## What it produces
|
|
15
15
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
description: Use to promote
|
|
2
|
+
description: Use to promote manuals from N sessions into `docs/manuals` or `[docs] manuals`. The response selects an index, flat Markdown files or a numbered dossier. Never automatic.
|
|
3
3
|
argument-hint: "[--sessions <ids>] [--since <YYYY-MM-DD>] [--source <alias>]"
|
|
4
4
|
allowed-tools: ["Bash", "Read"]
|
|
5
5
|
---
|
|
@@ -7,14 +7,14 @@ allowed-tools: ["Bash", "Read"]
|
|
|
7
7
|
## Run
|
|
8
8
|
|
|
9
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`/`scope` **verbatim**
|
|
11
|
-
3.
|
|
12
|
-
4. `
|
|
10
|
+
2. Answer with one JSON: `version`/`operation`/`input_digest`/`scope` **verbatim** (including `scope.seal`), `state: "proposed"`, `artifacts` = `{ path, content }` per file. The approved `NNN` is immutable; 3 and 4 need no scope flags.
|
|
11
|
+
3. Write JSON with the file tool; `aw export-manuals validate --format human < <file>` → preview + digest; confirm scope.
|
|
12
|
+
4. `aw export-manuals apply --approval <digest> [--overwrite] < <file>`. Rejected? Fix and revalidate.
|
|
13
13
|
|
|
14
14
|
## What it produces
|
|
15
15
|
|
|
16
|
-
- `
|
|
17
|
-
-
|
|
16
|
+
- `INDEX.md` alone publishes the index (complement); direct `<slug>.md` files form the flat canon; a numbered dossier with README.md is regenerate. Destination: `docs/manuals` or `[docs] manuals`.
|
|
17
|
+
- Validate lists every replaced file; each requires `--overwrite`.
|
|
18
18
|
- Never write into `docs/` with a file tool: one pass, all or nothing, no session or loop created/touched.
|
|
19
19
|
- Authoring ref: no longer loaded on the normal path.
|
|
20
20
|
|
|
@@ -7,9 +7,9 @@ allowed-tools: ["Bash", "Read"]
|
|
|
7
7
|
## Run
|
|
8
8
|
|
|
9
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`/`scope` **verbatim**
|
|
11
|
-
3.
|
|
12
|
-
4. `
|
|
10
|
+
2. Answer with one JSON: `version`/`operation`/`input_digest`/`scope` **verbatim** (including `scope.seal`), `state: "proposed"`, `artifacts` = `{ path, content }` per file. The approved `NNN` is immutable; 3 and 4 need no scope flags.
|
|
11
|
+
3. Write JSON with the file tool; `aw export-reports validate --format human < <file>` → preview + digest; confirm scope.
|
|
12
|
+
4. `aw export-reports apply --approval <digest> < <file>`. Rejected? Fix and revalidate.
|
|
13
13
|
|
|
14
14
|
## What it produces
|
|
15
15
|
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
---
|
|
2
2
|
description: Use to consolidate the workspace's pending SQL into a docs/scripts/ bundle from a declared origin — continuous forwards plus rollback. `aw export-scripts` checks shape and NEVER executes SQL. Never automatic.
|
|
3
|
-
argument-hint: "[--from sessions|bundles|workspace] [--exclude <nombre>] [--environment <ambiente>] [--sessions <ids>] [--since <YYYY-MM-DD>] [--source <alias>]"
|
|
3
|
+
argument-hint: "[--code <session>] [--from sessions|bundles|workspace] [--exclude <nombre>] [--environment <ambiente>] [--sessions <ids>] [--since <YYYY-MM-DD>] [--source <alias>]"
|
|
4
4
|
allowed-tools: ["Bash", "Read"]
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
## Run
|
|
8
8
|
|
|
9
9
|
1. `aw export-scripts prepare --format human` (+ the flags above) → origin, material, destination, `input_digest`.
|
|
10
|
-
2. Answer with one JSON — `aw export-scripts --help` publishes the envelope. Copy
|
|
11
|
-
3.
|
|
12
|
-
4. `
|
|
10
|
+
2. Answer with one JSON — `aw export-scripts --help` publishes the envelope. Copy `scope` **verbatim**, including `scope.seal`; 3 and 4 never repeat flags. The approved `NNN` is immutable.
|
|
11
|
+
3. Write JSON with the file tool; `aw export-scripts validate --format human < <file>` → preview + digest; confirm scope.
|
|
12
|
+
4. `aw export-scripts apply --approval <digest> < <file>`. Rejected? Fix and revalidate.
|
|
13
13
|
|
|
14
14
|
## What it produces
|
|
15
15
|
|
|
16
|
-
-
|
|
16
|
+
- Bundle: README; forwards `01-ddl-tablas/`…`05-grants/NN-<nombre>.sql`; reverses in `rollback/<categoría>/`, global in `rollback/00-global/00-ROLLBACK.sql`.
|
|
17
17
|
- Nothing here executes SQL: applying the bundle is a handoff to an authorized operator.
|
|
18
18
|
- Never write into `docs/` with a file tool: one pass, all or nothing; no session touched.
|
|
19
19
|
|