@haus-tech/haus-workflow 5.12.0 → 6.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 +61 -0
- package/README.md +7 -4
- package/dist/cli.js +7184 -4302
- package/library/catalog/manifest.json +126 -9
- package/library/global/agents/request-design-reviewer.md +54 -0
- package/library/global/agents/request-designer.md +113 -0
- package/library/global/skills/haus-workflow/SKILL.md +7 -3
- package/library/global/skills/haus-workflow/references/init.md +7 -4
- package/library/global/skills/request/SKILL.md +487 -104
- package/library/global/skills/request/scripts/archive.mjs +697 -48
- package/library/global/skills/request/scripts/bedom.mjs +651 -0
- package/library/global/skills/request/scripts/korning.mjs +911 -70
- package/library/global/skills/request/scripts/lib.mjs +328 -3
- package/library/global/skills/request/scripts/precheck.mjs +134 -34
- package/library/global/skills/request/scripts/svep.mjs +44 -14
- package/library/global/skills/request-assess-impact/SKILL.md +1 -4
- package/library/global/skills/request-sync/SKILL.md +8 -2
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,66 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [6.0.0](https://github.com/WeAreHausTech/haus-workflow/compare/v5.12.1...v6.0.0) (2026-10-15)
|
|
4
|
+
|
|
5
|
+
### ⚠ BREAKING CHANGES
|
|
6
|
+
|
|
7
|
+
- **apply:** haus no longer replaces a file it does not own. Earlier releases could overwrite a hand-made skill, agent, command or rule folder that shared a catalog name (#617) and a config file that haus configs --force or haus new overlaid (#584), without a backup. That content is lost on the machine that ran the command. If your project may have been hit, check git history for .claude/skills/, .claude/agents/, .claude/commands/, .claude/rules/ and the scaffolded config files (eslint, prettier and the other haus configs items) and restore what you need. From this release on, such a file is refused with a warning, adopted when it is byte-identical to the catalog, or backed up under .haus-workflow/backups/overwrite-<stamp>/ before --force replaces it.
|
|
8
|
+
|
|
9
|
+
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
|
10
|
+
|
|
11
|
+
### Features
|
|
12
|
+
|
|
13
|
+
- **request:** designa continues into bedöm, approve and synced receipts (ADR-0153) ([#691](https://github.com/WeAreHausTech/haus-workflow/issues/691)) ([febd8ab](https://github.com/WeAreHausTech/haus-workflow/commit/febd8ab8698abca1321664bce80dfc437ba5260e)), closes [#688](https://github.com/WeAreHausTech/haus-workflow/issues/688)
|
|
14
|
+
- **request:** detaljer lists a split root's parts and reads one part ([#736](https://github.com/WeAreHausTech/haus-workflow/issues/736)) ([5680e7e](https://github.com/WeAreHausTech/haus-workflow/commit/5680e7e7cd94a56b3db79d8714e83dd8ef8e1f4c))
|
|
15
|
+
- **request:** ny-del --typ split writes a production split part ([#734](https://github.com/WeAreHausTech/haus-workflow/issues/734)) ([fb6926d](https://github.com/WeAreHausTech/haus-workflow/commit/fb6926d84b3a39d9551e7b24f70b9fd42cfaafc2))
|
|
16
|
+
- **request:** production pricing runs as one script process (ADR-0155) ([#723](https://github.com/WeAreHausTech/haus-workflow/issues/723)) ([1aa9b3b](https://github.com/WeAreHausTech/haus-workflow/commit/1aa9b3b1797c406ed760a1f1167f009c7e46df28))
|
|
17
|
+
- **request:** the archive lives in the main checkout (ADR-0154) ([#701](https://github.com/WeAreHausTech/haus-workflow/issues/701)) ([f5e0639](https://github.com/WeAreHausTech/haus-workflow/commit/f5e0639814c8283bc49648538625745c75591615))
|
|
18
|
+
- **request:** the Closing tells how to wrap up a session at a resting point ([#729](https://github.com/WeAreHausTech/haus-workflow/issues/729)) ([e85c7ed](https://github.com/WeAreHausTech/haus-workflow/commit/e85c7ed2b7ccbab97f3ca15289f584af1592374d))
|
|
19
|
+
- **request:** the design is drafted by a machine and read by a second (ADR-0156) ([#741](https://github.com/WeAreHausTech/haus-workflow/issues/741)) ([5614fb3](https://github.com/WeAreHausTech/haus-workflow/commit/5614fb34593f6c520c29edfad23afd80d28c6672))
|
|
20
|
+
- **request:** the spec sync runs without a go when the board opts in (ADR-0157) ([#744](https://github.com/WeAreHausTech/haus-workflow/issues/744)) ([59822d5](https://github.com/WeAreHausTech/haus-workflow/commit/59822d5c140caae0398a9ea667b9de5850d657a5))
|
|
21
|
+
- **undo:** keep the lock, back up before every deletion, --force on remove and undo ([#760](https://github.com/WeAreHausTech/haus-workflow/issues/760)) ([606ba17](https://github.com/WeAreHausTech/haus-workflow/commit/606ba1701f95685a36365df82fe121f35b997aac))
|
|
22
|
+
|
|
23
|
+
### Bug Fixes
|
|
24
|
+
|
|
25
|
+
- **apply:** refuse, adopt or back up a target haus does not own ([#682](https://github.com/WeAreHausTech/haus-workflow/issues/682)) ([1305d76](https://github.com/WeAreHausTech/haus-workflow/commit/1305d768ae524d884a9755801a9b8616077ddb23)), closes [#617](https://github.com/WeAreHausTech/haus-workflow/issues/617)
|
|
26
|
+
- **ci-gate:** diff the decisions leg from the pull request's base ([#728](https://github.com/WeAreHausTech/haus-workflow/issues/728)) ([cc88384](https://github.com/WeAreHausTech/haus-workflow/commit/cc883847ecfb232737039e73c9b25de43c4fbc17)), closes [#616](https://github.com/WeAreHausTech/haus-workflow/issues/616)
|
|
27
|
+
- **config:** refuse an unreadable haus.config.json with the unreadable line ([#732](https://github.com/WeAreHausTech/haus-workflow/issues/732)) ([f13a914](https://github.com/WeAreHausTech/haus-workflow/commit/f13a914d0ad1ef1cb55ae5a0ea75f5717255670b)), closes [#704](https://github.com/WeAreHausTech/haus-workflow/issues/704)
|
|
28
|
+
- **configs:** refuse an existing config file, back it up under --force ([#683](https://github.com/WeAreHausTech/haus-workflow/issues/683)) ([dd517e7](https://github.com/WeAreHausTech/haus-workflow/commit/dd517e75375334e8abf17237093d2fd420d6ede1)), closes [#584](https://github.com/WeAreHausTech/haus-workflow/issues/584)
|
|
29
|
+
- **decisions:** judge the repository gh pr create targets, not the session folder ([#709](https://github.com/WeAreHausTech/haus-workflow/issues/709)) ([a9359d9](https://github.com/WeAreHausTech/haus-workflow/commit/a9359d99b02aa3b8fb6ad71e2bc85f9c77f40d3c)), closes [#654](https://github.com/WeAreHausTech/haus-workflow/issues/654)
|
|
30
|
+
- **decisions:** read the index from the diff side, quiet an empty second home ([#724](https://github.com/WeAreHausTech/haus-workflow/issues/724)) ([8c0b145](https://github.com/WeAreHausTech/haus-workflow/commit/8c0b1452a1941c0d9c3d75bb73a791c4e3be729b)), closes [#626](https://github.com/WeAreHausTech/haus-workflow/issues/626)
|
|
31
|
+
- **decisions:** say a titled suggest draft was requested, pin the declare-role hints ([#719](https://github.com/WeAreHausTech/haus-workflow/issues/719)) ([d8f78d9](https://github.com/WeAreHausTech/haus-workflow/commit/d8f78d97a5f60b8b52275775cf3ceb7a8bc2ea94))
|
|
32
|
+
- **doctor:** a heading no longer vouches for an agent name on its own line ([#705](https://github.com/WeAreHausTech/haus-workflow/issues/705)) ([a574b19](https://github.com/WeAreHausTech/haus-workflow/commit/a574b19801b2788ac6a83ce7d63be377daf59912))
|
|
33
|
+
- **doctor:** give the hand fix for a settings file apply refuses ([#737](https://github.com/WeAreHausTech/haus-workflow/issues/737)) ([011f128](https://github.com/WeAreHausTech/haus-workflow/commit/011f128db9ac8e2aafbc5b92c8d1f65d66c86f63)), closes [#713](https://github.com/WeAreHausTech/haus-workflow/issues/713) [#713](https://github.com/WeAreHausTech/haus-workflow/issues/713)
|
|
34
|
+
- **doctor:** resolve a plugin's skills per plugin, not per marketplace root ([#715](https://github.com/WeAreHausTech/haus-workflow/issues/715)) ([7b9f3c1](https://github.com/WeAreHausTech/haus-workflow/commit/7b9f3c1b0655df18d0118cddcb76d300c5e229c1))
|
|
35
|
+
- **doctor:** write no scan file on a stale cache and test the plugin messages ([#743](https://github.com/WeAreHausTech/haus-workflow/issues/743)) ([b798326](https://github.com/WeAreHausTech/haus-workflow/commit/b798326a3b13b6695084a0e69ac5f26913e2b3fd)), closes [#588](https://github.com/WeAreHausTech/haus-workflow/issues/588) [#588](https://github.com/WeAreHausTech/haus-workflow/issues/588) [#588](https://github.com/WeAreHausTech/haus-workflow/issues/588)
|
|
36
|
+
- **lock:** carry every row while its files exist and stop re-hashing on update ([#670](https://github.com/WeAreHausTech/haus-workflow/issues/670)) ([9fff0f0](https://github.com/WeAreHausTech/haus-workflow/commit/9fff0f0a16f6d38fe9ea0a0dcf81c0a0fce9cef1)), closes [#615](https://github.com/WeAreHausTech/haus-workflow/issues/615) [#636](https://github.com/WeAreHausTech/haus-workflow/issues/636)
|
|
37
|
+
- **new:** let the overlay land the catalog .prettierignore and alert on a red canary ([#710](https://github.com/WeAreHausTech/haus-workflow/issues/710)) ([97a3d5b](https://github.com/WeAreHausTech/haus-workflow/commit/97a3d5bc3991e85fbaf3405d0b7715feeeda217a)), closes [#442](https://github.com/WeAreHausTech/haus-workflow/issues/442) [#645](https://github.com/WeAreHausTech/haus-workflow/issues/645)
|
|
38
|
+
- **profiles:** print each catalog profile warning once, refuse new options on stderr ([#730](https://github.com/WeAreHausTech/haus-workflow/issues/730)) ([85421b8](https://github.com/WeAreHausTech/haus-workflow/commit/85421b87898dc111fde2b0eeed302366dedfcb05)), closes [#552](https://github.com/WeAreHausTech/haus-workflow/issues/552)
|
|
39
|
+
- **recommender:** warn about an unknown profile clause once per process ([#720](https://github.com/WeAreHausTech/haus-workflow/issues/720)) ([401f0e5](https://github.com/WeAreHausTech/haus-workflow/commit/401f0e503dbd612fedd3b9a1e747f894c37c86a1))
|
|
40
|
+
- **request:** a guard file no longer sets the item's coverage post ([#762](https://github.com/WeAreHausTech/haus-workflow/issues/762)) ([b17539f](https://github.com/WeAreHausTech/haus-workflow/commit/b17539fb9006bdca6dc20d1aaa869712953f3e74))
|
|
41
|
+
- **request:** a split parent reads its board receipt like a priced item ([#711](https://github.com/WeAreHausTech/haus-workflow/issues/711)) ([c77556b](https://github.com/WeAreHausTech/haus-workflow/commit/c77556b0b88562d57eb63094c3b233c9dcf43cf9))
|
|
42
|
+
- **request:** add-run takes coverage_post from the round's main file only ([#686](https://github.com/WeAreHausTech/haus-workflow/issues/686)) ([072e6b3](https://github.com/WeAreHausTech/haus-workflow/commit/072e6b344209764ba8245310760191e7bccb09cf))
|
|
43
|
+
- **request:** define the resting point and name the wrap-up where tasks close ([#731](https://github.com/WeAreHausTech/haus-workflow/issues/731)) ([5f87c1a](https://github.com/WeAreHausTech/haus-workflow/commit/5f87c1ada38ed48c07a4079edb038083bb89e723)), closes [#729](https://github.com/WeAreHausTech/haus-workflow/issues/729)
|
|
44
|
+
- **request:** pricing-check replies explain the result in plain sentences ([#725](https://github.com/WeAreHausTech/haus-workflow/issues/725)) ([25efe97](https://github.com/WeAreHausTech/haus-workflow/commit/25efe97c207efde694af88f0e143ed99eabb1817))
|
|
45
|
+
- **request:** stopp reads the design-conflict reason from impact.md ([#738](https://github.com/WeAreHausTech/haus-workflow/issues/738)) ([8fe50fa](https://github.com/WeAreHausTech/haus-workflow/commit/8fe50fa2b6fed6f58c557a4ce7c7a7d763529650)), closes [#596](https://github.com/WeAreHausTech/haus-workflow/issues/596)
|
|
46
|
+
- **request:** underkänn records its board move so the next step stops calling the sync done ([#718](https://github.com/WeAreHausTech/haus-workflow/issues/718)) ([22874da](https://github.com/WeAreHausTech/haus-workflow/commit/22874da2175ccb32239612ba6603b8c83d69041f))
|
|
47
|
+
- **settings:** refuse a hand-damaged _haus record instead of crashing ([#733](https://github.com/WeAreHausTech/haus-workflow/issues/733)) ([b1078ae](https://github.com/WeAreHausTech/haus-workflow/commit/b1078ae0ee5c4b03aed8cf23428dfc9acf2919f5)), closes [#722](https://github.com/WeAreHausTech/haus-workflow/issues/722) [#722](https://github.com/WeAreHausTech/haus-workflow/issues/722)
|
|
48
|
+
- **settings:** remove the retired context hook only where the record lists it ([#740](https://github.com/WeAreHausTech/haus-workflow/issues/740)) ([feb9975](https://github.com/WeAreHausTech/haus-workflow/commit/feb9975a79880209246e634a6213c6678bc7e7d2)), closes [#700](https://github.com/WeAreHausTech/haus-workflow/issues/700) [#700](https://github.com/WeAreHausTech/haus-workflow/issues/700) [#700](https://github.com/WeAreHausTech/haus-workflow/issues/700)
|
|
49
|
+
- **settings:** touch only haus entries and blocks in shared and team files ([#712](https://github.com/WeAreHausTech/haus-workflow/issues/712)) ([d02aa86](https://github.com/WeAreHausTech/haus-workflow/commit/d02aa863e86bf39ad617370f84af78dbdf50efab)), closes [#699](https://github.com/WeAreHausTech/haus-workflow/issues/699)
|
|
50
|
+
- **shared-files:** leave every blank line outside haus's block as the user wrote it ([#735](https://github.com/WeAreHausTech/haus-workflow/issues/735)) ([36f2af8](https://github.com/WeAreHausTech/haus-workflow/commit/36f2af8b4cd58e76e96a292f19703cfacf8b1e34)), closes [#697](https://github.com/WeAreHausTech/haus-workflow/issues/697) [#697](https://github.com/WeAreHausTech/haus-workflow/issues/697)
|
|
51
|
+
- **team-config:** refuse to replace a linked haus.workspace.yaml or haus.config.json ([#742](https://github.com/WeAreHausTech/haus-workflow/issues/742)) ([3eed50a](https://github.com/WeAreHausTech/haus-workflow/commit/3eed50a5c3c132159f8a320bd88c25f72235e35c)), closes [#703](https://github.com/WeAreHausTech/haus-workflow/issues/703)
|
|
52
|
+
- **test:** fail a test run against a dist/ older than src/ ([#716](https://github.com/WeAreHausTech/haus-workflow/issues/716)) ([3580770](https://github.com/WeAreHausTech/haus-workflow/commit/35807703638feb80e76524cd9adf130c70beb9db)), closes [#643](https://github.com/WeAreHausTech/haus-workflow/issues/643) [#643](https://github.com/WeAreHausTech/haus-workflow/issues/643)
|
|
53
|
+
- **test:** fail the run when a describe() body throws ([#726](https://github.com/WeAreHausTech/haus-workflow/issues/726)) ([08e810a](https://github.com/WeAreHausTech/haus-workflow/commit/08e810a52c5a655836c5db5045f95fab1a2583bb)), closes [#602](https://github.com/WeAreHausTech/haus-workflow/issues/602)
|
|
54
|
+
- **test:** run only the named files in yarn test <file> ([#707](https://github.com/WeAreHausTech/haus-workflow/issues/707)) ([5eb8cff](https://github.com/WeAreHausTech/haus-workflow/commit/5eb8cfff25fe5f1b16a05fcd71cfd02de0b82dcf)), closes [#644](https://github.com/WeAreHausTech/haus-workflow/issues/644)
|
|
55
|
+
- **update:** skip the project refresh outside a project, home folder first ([#717](https://github.com/WeAreHausTech/haus-workflow/issues/717)) ([d85971e](https://github.com/WeAreHausTech/haus-workflow/commit/d85971e34d3404543cce009b6af69495e44e34e9)), closes [#647](https://github.com/WeAreHausTech/haus-workflow/issues/647)
|
|
56
|
+
- **workspace:** keep the member headings on stderr under setup --json ([#739](https://github.com/WeAreHausTech/haus-workflow/issues/739)) ([e0019b3](https://github.com/WeAreHausTech/haus-workflow/commit/e0019b30b86e383d57801370c2fed11c1a3f2f66)), closes [#698](https://github.com/WeAreHausTech/haus-workflow/issues/698)
|
|
57
|
+
|
|
58
|
+
## [5.12.1](https://github.com/WeAreHausTech/haus-workflow/compare/v5.12.0...v5.12.1) (2026-10-08)
|
|
59
|
+
|
|
60
|
+
### Bug Fixes
|
|
61
|
+
|
|
62
|
+
- **security:** allow the desktop app's auto-merge tool ([#646](https://github.com/WeAreHausTech/haus-workflow/issues/646)) ([cc29b3e](https://github.com/WeAreHausTech/haus-workflow/commit/cc29b3e18f63e72766839c06d398007a199b22c0))
|
|
63
|
+
|
|
3
64
|
## [5.12.0](https://github.com/WeAreHausTech/haus-workflow/compare/v5.11.0...v5.12.0) (2026-10-08)
|
|
4
65
|
|
|
5
66
|
### Bug Fixes
|
package/README.md
CHANGED
|
@@ -98,9 +98,10 @@ On `haus apply` / `haus update`, items **removed from the catalog** or marked
|
|
|
98
98
|
**deprecated** are pruned from the project when their on-disk copy still matches the
|
|
99
99
|
lock hash; user-edited copies are kept, lock entry and all. Every lock-tracked catalog item
|
|
100
100
|
haus deletes is snapshotted under `.haus-workflow/backups/` first and can be put back with
|
|
101
|
-
`haus backups restore` (`haus undo` also
|
|
102
|
-
|
|
103
|
-
|
|
101
|
+
`haus backups restore` (`haus undo` also strips haus's parts of `.claude/settings.json` and
|
|
102
|
+
the root `CLAUDE.md` and removes `.claude/rules/haus.md` when haus owns it; its `undo-`
|
|
103
|
+
snapshot covers those too, and it keeps the lock rows of the edited items it leaves behind,
|
|
104
|
+
see [docs/cli.md](docs/cli.md) → `haus undo`). Approved items deselected via
|
|
104
105
|
`--select` are not pruned.
|
|
105
106
|
|
|
106
107
|
> **Upgrading from a pre-`0.30.0` CLI:** deprecated-skill pruning shipped in `0.30.0`.
|
|
@@ -141,7 +142,9 @@ The honest-shortfall reporting covers `haus apply`, `haus init`, `haus new`, and
|
|
|
141
142
|
and `workspace setup`; issue #329 threaded the same `--allow-empty-cache` flag through
|
|
142
143
|
`haus new`): a run that cannot install everything it wanted reports `K of N catalog
|
|
143
144
|
items installed` and exits 1 if it installed none, unless `--allow-empty-cache` opts
|
|
144
|
-
into writing core files anyway (still exits 1 having installed nothing
|
|
145
|
+
into writing core files anyway (still exits 1 having installed nothing, though in a
|
|
146
|
+
project already set up a wanted item whose files are on disk from an earlier run counts
|
|
147
|
+
as installed). `workspace
|
|
145
148
|
setup` reports this per member repo — a repo that installed zero catalog items, hit
|
|
146
149
|
the zero-signal guard, or was refused for an unsupported catalog format is recorded
|
|
147
150
|
`failed`, not `ok` (issue #330). See [docs/cli.md](docs/cli.md) for each command's
|