@haus-tech/haus-workflow 5.9.1 → 5.10.1

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 CHANGED
@@ -1,5 +1,18 @@
1
1
  # Changelog
2
2
 
3
+ ## [5.10.1](https://github.com/WeAreHausTech/haus-workflow/compare/v5.10.0...v5.10.1) (2026-09-28)
4
+
5
+ ## [5.10.0](https://github.com/WeAreHausTech/haus-workflow/compare/v5.9.1...v5.10.0) (2026-09-25)
6
+
7
+ ### Features
8
+
9
+ - **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))
10
+ - **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))
11
+
12
+ ### Bug Fixes
13
+
14
+ - **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))
15
+
3
16
  ## [5.9.1](https://github.com/WeAreHausTech/haus-workflow/compare/v5.9.0...v5.9.1) (2026-09-24)
4
17
 
5
18
  ### 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.3.0",
2627
+ ref: "v6.4.2",
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"] : ["marketplace-add", "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/` / `.haus-workflow/` \u2014 regenerate via `haus apply`.",
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
- "haus owns `.claude/` and `.haus-workflow/`. When the user asks to set up, configure,",
6375
- "check, fix, refresh, or update the project, run the matching `haus` command and narrate",
6376
- "results in plain language \u2014 never make them use a terminal or read JSON.",
6377
- "- Set up / configure / fix / check \u2192 `haus init`, `haus apply --write`, `haus doctor`",
6378
- "- Update package + catalog \u2192 `haus update`",
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.6.0",
2
+ "version": "6.8.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.3.0"
10
+ "ref": "v6.4.2"
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": "1.6.0",
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": 4080,
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`: