@haus-tech/haus-workflow 5.9.1 → 5.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/CHANGELOG.md +11 -0
- package/dist/cli.js +13 -19
- package/library/catalog/manifest.json +4 -4
- package/library/global/agents/request-assessor.md +5 -1
- package/library/global/agents/request-specifier.md +3 -1
- package/library/global/skills/request/SKILL.md +394 -59
- package/library/global/skills/request/scripts/archive.mjs +546 -49
- package/library/global/skills/request/scripts/korning.mjs +41 -4
- package/library/global/skills/request/scripts/lib.mjs +189 -0
- package/library/global/skills/request/scripts/precheck.mjs +105 -130
- package/library/global/skills/request-assess-impact/SKILL.md +12 -0
- package/library/global/skills/request-sync/SKILL.md +61 -100
- package/library/global/skills/request-write-spec/SKILL.md +15 -1
- package/package.json +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,16 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [5.10.0](https://github.com/WeAreHausTech/haus-workflow/compare/v5.9.1...v5.10.0) (2026-09-25)
|
|
4
|
+
|
|
5
|
+
### Features
|
|
6
|
+
|
|
7
|
+
- **request:** Asana carries the customer-facing outcome only (ADR-0144) ([#603](https://github.com/WeAreHausTech/haus-workflow/issues/603)) ([ea858ab](https://github.com/WeAreHausTech/haus-workflow/commit/ea858ab54237c3eb5e1f6c542c87b6cfbc45f997))
|
|
8
|
+
- **request:** the design doc joins the flow, designa between spec approval and pricing ([#597](https://github.com/WeAreHausTech/haus-workflow/issues/597)) ([27081ce](https://github.com/WeAreHausTech/haus-workflow/commit/27081ce934a9b14a2c3163ca36947b3e9534d940))
|
|
9
|
+
|
|
10
|
+
### Bug Fixes
|
|
11
|
+
|
|
12
|
+
- **plugins:** remove a stale marketplace before re-pinning it ([#608](https://github.com/WeAreHausTech/haus-workflow/issues/608)) ([2dc3a0f](https://github.com/WeAreHausTech/haus-workflow/commit/2dc3a0f8fd003bb9e29c49634039818d064da131))
|
|
13
|
+
|
|
3
14
|
## [5.9.1](https://github.com/WeAreHausTech/haus-workflow/compare/v5.9.0...v5.9.1) (2026-09-24)
|
|
4
15
|
|
|
5
16
|
### Bug Fixes
|
package/dist/cli.js
CHANGED
|
@@ -2624,7 +2624,7 @@ var DEFAULT_GLOBAL_PLUGINS = [
|
|
|
2624
2624
|
plugin: "superpowers",
|
|
2625
2625
|
marketplace: "superpowers-dev",
|
|
2626
2626
|
url: "https://github.com/obra/superpowers.git",
|
|
2627
|
-
ref: "v6.
|
|
2627
|
+
ref: "v6.4.1",
|
|
2628
2628
|
activation: "always"
|
|
2629
2629
|
},
|
|
2630
2630
|
{
|
|
@@ -2831,8 +2831,9 @@ function planPinned(pin, state) {
|
|
|
2831
2831
|
const installed = findManagedInstall(state, pin);
|
|
2832
2832
|
const disabled = installed?.enabled === false;
|
|
2833
2833
|
const enableStep = disabled ? ["plugin-enable"] : [];
|
|
2834
|
+
const readd = marketplace ? ["marketplace-remove", "marketplace-add"] : ["marketplace-add"];
|
|
2834
2835
|
if (!installed) {
|
|
2835
|
-
const steps = marketplaceMatches ? ["plugin-install"] : [
|
|
2836
|
+
const steps = marketplaceMatches ? ["plugin-install"] : [...readd, "plugin-install"];
|
|
2836
2837
|
return {
|
|
2837
2838
|
pin,
|
|
2838
2839
|
kind: "install",
|
|
@@ -2844,13 +2845,7 @@ function planPinned(pin, state) {
|
|
|
2844
2845
|
return {
|
|
2845
2846
|
pin,
|
|
2846
2847
|
kind: "repin",
|
|
2847
|
-
steps: [
|
|
2848
|
-
"marketplace-add",
|
|
2849
|
-
"marketplace-update",
|
|
2850
|
-
"plugin-uninstall",
|
|
2851
|
-
"plugin-install",
|
|
2852
|
-
...enableStep
|
|
2853
|
-
],
|
|
2848
|
+
steps: ["plugin-uninstall", ...readd, "plugin-install", ...enableStep],
|
|
2854
2849
|
reason: `marketplace ${pin.marketplace} does not track the pinned ref ${ref}`,
|
|
2855
2850
|
...normalized?.ref !== void 0 ? { overriddenRef: normalized.ref } : {}
|
|
2856
2851
|
};
|
|
@@ -6362,20 +6357,17 @@ async function writeClaudeFiles(root, dryRun, selectedIds, opts = {}) {
|
|
|
6362
6357
|
root,
|
|
6363
6358
|
claudePath(root, "rules", "haus.md"),
|
|
6364
6359
|
[
|
|
6365
|
-
"- Keep context minimal.",
|
|
6366
|
-
"- Follow project conventions.",
|
|
6367
|
-
"- Never read secrets.",
|
|
6368
|
-
"- Block dangerous shell commands.",
|
|
6369
6360
|
"- NEVER hand-edit haus-managed blocks (`<!-- HAUS:BEGIN \u2026 -->` \u2026 `<!-- HAUS:END \u2026 -->`)",
|
|
6370
|
-
" or haus-owned files under `.claude/`
|
|
6361
|
+
" or haus-owned files under `.claude/` and `.haus-workflow/` (lock-tracked catalog items,",
|
|
6362
|
+
" `rules/haus.md`, `settings.json`, `WORKFLOW.md`). Regenerate via `haus apply`.",
|
|
6371
6363
|
" Hand-edits are silently overwritten or flagged as drift.",
|
|
6372
6364
|
"",
|
|
6373
6365
|
"## Driving haus",
|
|
6374
|
-
"
|
|
6375
|
-
"
|
|
6376
|
-
"
|
|
6377
|
-
"- Set up / configure / fix / check
|
|
6378
|
-
"- Update package + catalog
|
|
6366
|
+
"When the user asks to set up, configure, check, fix, refresh, or update the project, run",
|
|
6367
|
+
"the matching `haus` command and narrate results in plain language. Never make them use a",
|
|
6368
|
+
"terminal or read JSON.",
|
|
6369
|
+
"- Set up / configure / fix / check: `haus init`, `haus apply --write`, `haus doctor`",
|
|
6370
|
+
"- Update package + catalog: `haus update`",
|
|
6379
6371
|
"- `/haus-workflow <task>` does the same conversationally (e.g. `init`, `fix`, `doctor`, `reinit`).",
|
|
6380
6372
|
""
|
|
6381
6373
|
].join("\n"),
|
|
@@ -7383,6 +7375,8 @@ function stepArgs(step, pin) {
|
|
|
7383
7375
|
];
|
|
7384
7376
|
case "marketplace-update":
|
|
7385
7377
|
return ["plugin", "marketplace", "update", pin.marketplace];
|
|
7378
|
+
case "marketplace-remove":
|
|
7379
|
+
return ["plugin", "marketplace", "remove", pin.marketplace];
|
|
7386
7380
|
case "plugin-uninstall":
|
|
7387
7381
|
return ["plugin", "uninstall", id, "--scope", "user"];
|
|
7388
7382
|
case "plugin-install":
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "6.
|
|
2
|
+
"version": "6.7.0",
|
|
3
3
|
"manifestFormat": 2,
|
|
4
4
|
"globalPlugins": [
|
|
5
5
|
{
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
"plugin": "superpowers",
|
|
8
8
|
"marketplace": "superpowers-dev",
|
|
9
9
|
"url": "https://github.com/obra/superpowers.git",
|
|
10
|
-
"ref": "v6.
|
|
10
|
+
"ref": "v6.4.1"
|
|
11
11
|
},
|
|
12
12
|
{
|
|
13
13
|
"id": "vercel",
|
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
"items": [
|
|
45
45
|
{
|
|
46
46
|
"id": "haus.agentic-workflow-standard",
|
|
47
|
-
"version": "
|
|
47
|
+
"version": "2.0.0",
|
|
48
48
|
"source": "haus",
|
|
49
49
|
"type": "template",
|
|
50
50
|
"path": "templates/agentic-workflow-standard.md",
|
|
@@ -55,7 +55,7 @@
|
|
|
55
55
|
"tags": ["workflow", "baseline", "project-instructions"],
|
|
56
56
|
"repoRoles": [],
|
|
57
57
|
"installMode": "copy-selected",
|
|
58
|
-
"tokenEstimate":
|
|
58
|
+
"tokenEstimate": 2743,
|
|
59
59
|
"tokenBudget": 5131,
|
|
60
60
|
"default": true,
|
|
61
61
|
"reviewStatus": "approved",
|
|
@@ -27,7 +27,11 @@ the repo: you actually read the code. You never ask anything and write no files.
|
|
|
27
27
|
parts follow per the skill), `KÄLLOR:` (the source manifest the specifier
|
|
28
28
|
got: grep hits and paths from the start, a source to verify,
|
|
29
29
|
never an answer key; read further yourself where it points and ground every
|
|
30
|
-
claim in the code as before)
|
|
30
|
+
claim in the code as before), `DESIGN:` (a design decided with a human in
|
|
31
|
+
brainstorming against this spec, or the line `DESIGN: ingen`: every decision
|
|
32
|
+
in it is taken, verify it against the code and never reopen it; where the
|
|
33
|
+
code says it cannot be built as written, that is a `contradiction` whose text
|
|
34
|
+
starts with `design conflict:`).
|
|
31
35
|
3. Trace the impact in the code with Read/Grep/Glob: shared code, data storage,
|
|
32
36
|
integration points, flows, interfaces, test coverage. What you cannot
|
|
33
37
|
verify is written verbatim as unverified, per the skill.
|
|
@@ -21,7 +21,9 @@ nothing, never ask anything, and write no files: your answer is the deliverable.
|
|
|
21
21
|
verify exports against, so state it as an assumption instead of guessing),
|
|
22
22
|
`SPRÅK:` and `RUBRIKER:` (the spec's language and the heading skeleton in
|
|
23
23
|
that language; use the literals verbatim, never mix languages in the spec),
|
|
24
|
-
possibly `ESKALERAD: ja
|
|
24
|
+
possibly `ESKALERAD: ja`, and in umbrella mode `PARAPLY:` (the parent's approved
|
|
25
|
+
spec plus one `DELAR:` line per part: write ONE umbrella spec per the skill's
|
|
26
|
+
_The umbrella spec (PARAPLY)_).
|
|
25
27
|
3. **Ground before you assume.** Verify the source manifest's claims with
|
|
26
28
|
Read/Grep/Glob before you build on them, and keep searching yourself under
|
|
27
29
|
`REPO-ROT` where the manifest points. If `REPO-ROT: saknas` or `KÄLLOR: inga`:
|