@haus-tech/haus-workflow 5.0.1 → 5.2.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 CHANGED
@@ -1,5 +1,24 @@
1
1
  # Changelog
2
2
 
3
+ ## [5.2.0](https://github.com/WeAreHausTech/haus-workflow/compare/v5.1.0...v5.2.0) (2026-09-08)
4
+
5
+ ### Features
6
+
7
+ - **request:** avslutning "var posten står" via archive.mjs nasta-steg, Asana-fältnamnen följer poängaxeln ([#530](https://github.com/WeAreHausTech/haus-workflow/issues/530), [#529](https://github.com/WeAreHausTech/haus-workflow/issues/529)) ([#538](https://github.com/WeAreHausTech/haus-workflow/issues/538)) ([2582d12](https://github.com/WeAreHausTech/haus-workflow/commit/2582d12e0a0921318375cf2c6671fb359196cd18))
8
+ - **request:** formkrav på utfallsvalen, språkgrind på kundtexten, assessorns verktyg och egenbygge som prisavgörande ([#520](https://github.com/WeAreHausTech/haus-workflow/issues/520), [#521](https://github.com/WeAreHausTech/haus-workflow/issues/521), [#523](https://github.com/WeAreHausTech/haus-workflow/issues/523), [#524](https://github.com/WeAreHausTech/haus-workflow/issues/524)) ([#539](https://github.com/WeAreHausTech/haus-workflow/issues/539)) ([160d7b4](https://github.com/WeAreHausTech/haus-workflow/commit/160d7b4a72c2187d3975cd6837d790442d127f6c))
9
+ - **request:** mätkedjan bokför effort som begärd, samtidigheten och pid på en pågående körning ([#525](https://github.com/WeAreHausTech/haus-workflow/issues/525), [#526](https://github.com/WeAreHausTech/haus-workflow/issues/526), [#516](https://github.com/WeAreHausTech/haus-workflow/issues/516)) ([#537](https://github.com/WeAreHausTech/haus-workflow/issues/537)) ([fe8d01d](https://github.com/WeAreHausTech/haus-workflow/commit/fe8d01d70394b4c2caa8a3f471f1b408d48abbb1)), closes [#493](https://github.com/WeAreHausTech/haus-workflow/issues/493)
10
+
11
+ ### Bug Fixes
12
+
13
+ - **request:** kundtextfix täcker coverage_post.yta och en lyckad omdispatch bär sitt brott ([#517](https://github.com/WeAreHausTech/haus-workflow/issues/517), [#522](https://github.com/WeAreHausTech/haus-workflow/issues/522)) ([#536](https://github.com/WeAreHausTech/haus-workflow/issues/536)) ([b13a8f4](https://github.com/WeAreHausTech/haus-workflow/commit/b13a8f4d206a620ce7fa642c4b9b90bed1e22711))
14
+
15
+ ## [5.1.0](https://github.com/WeAreHausTech/haus-workflow/compare/v5.0.1...v5.1.0) (2026-09-03)
16
+
17
+ ### Features
18
+
19
+ - **request:** requestmotorn 2.1, rättningar efter IPC-ärende 14001 ([#498](https://github.com/WeAreHausTech/haus-workflow/issues/498)) ([389372c](https://github.com/WeAreHausTech/haus-workflow/commit/389372ce00c207298bac7112df00b0891a2b6539)), closes [#Villkor](https://github.com/WeAreHausTech/haus-workflow/issues/Villkor) [#493](https://github.com/WeAreHausTech/haus-workflow/issues/493) [#513](https://github.com/WeAreHausTech/haus-workflow/issues/513) [#482](https://github.com/WeAreHausTech/haus-workflow/issues/482) [#477](https://github.com/WeAreHausTech/haus-workflow/issues/477)
20
+ - **request:** requestmotorn 2.1, scriptad inre process, parallellt svep och grindarna ur IPC 14001 (ADR-0111 till 0119) ([#519](https://github.com/WeAreHausTech/haus-workflow/issues/519)) ([6262093](https://github.com/WeAreHausTech/haus-workflow/commit/6262093105ef705d61cafd7bc7e80b79069a0b13)), closes [#Villkor](https://github.com/WeAreHausTech/haus-workflow/issues/Villkor) [#493](https://github.com/WeAreHausTech/haus-workflow/issues/493) [#513](https://github.com/WeAreHausTech/haus-workflow/issues/513) [#482](https://github.com/WeAreHausTech/haus-workflow/issues/482) [#477](https://github.com/WeAreHausTech/haus-workflow/issues/477)
21
+
3
22
  ## [5.0.1](https://github.com/WeAreHausTech/haus-workflow/compare/v5.0.0...v5.0.1) (2026-09-02)
4
23
 
5
24
  ### Bug Fixes
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "6.4.0",
2
+ "version": "6.4.1",
3
3
  "manifestFormat": 2,
4
4
  "globalPlugins": [
5
5
  {
@@ -529,7 +529,7 @@
529
529
  },
530
530
  {
531
531
  "id": "haus.ecc-tdd-guide",
532
- "version": "1.0.0",
532
+ "version": "1.1.0",
533
533
  "source": "curated",
534
534
  "type": "agent",
535
535
  "path": "sources/ecc/agents/tdd-guide.md",
@@ -575,12 +575,6 @@
575
575
  },
576
576
  {
577
577
  "dependency": "typescript"
578
- },
579
- {
580
- "stack": "playwright"
581
- },
582
- {
583
- "dependency": "@playwright/test"
584
578
  }
585
579
  ]
586
580
  },
@@ -834,6 +828,70 @@
834
828
  }
835
829
  ]
836
830
  },
831
+ {
832
+ "id": "haus.ecc-tdd-workflow",
833
+ "version": "1.0.0",
834
+ "source": "curated",
835
+ "type": "skill",
836
+ "path": "sources/ecc/skills/tdd-workflow",
837
+ "title": "Ecc Tdd Workflow",
838
+ "purpose": "Use this skill when writing new features, fixing bugs, or refactoring code. Enforces test-driven development with 80%+ coverage including unit, integration, and E2E tests.",
839
+ "whenToUse": "Use this skill when writing new features, fixing bugs, or refactoring code. Enforces test-driven development with 80%+ coverage including unit, integration, and E2E tests.",
840
+ "whenNotToUse": "Not the house TDD bar — that lives in the workflow standard and the superpowers test-driven-development plugin. This is the ECC companion that haus.ecc-tdd-guide, haus.ecc-react-testing, and haus.ecc-laravel-tdd dispatch to; do not load it as a second general TDD procedure.",
841
+ "tags": ["workflow", "testing"],
842
+ "repoRoles": [],
843
+ "tokenEstimate": 5366,
844
+ "tokenBudget": 6976,
845
+ "installMode": "copy-selected",
846
+ "default": false,
847
+ "reviewStatus": "approved",
848
+ "riskLevel": "low",
849
+ "useMode": "copy",
850
+ "license": "MIT",
851
+ "licenseConfidence": "high",
852
+ "originSourceId": "ecc-affaanm",
853
+ "originUrl": "https://github.com/affaan-m/ECC/blob/ca185ef5f7667078a1e70a763bd3a9c71c48acf0/skills/tdd-workflow/SKILL.md",
854
+ "pinnedRef": "ca185ef5f7667078a1e70a763bd3a9c71c48acf0",
855
+ "ecosystem": "testing",
856
+ "requiresAny": [
857
+ {
858
+ "dependency": "react"
859
+ },
860
+ {
861
+ "stack": "testing-library"
862
+ },
863
+ {
864
+ "dependency": "@testing-library/react"
865
+ },
866
+ {
867
+ "dependency": "@testing-library/dom"
868
+ },
869
+ {
870
+ "stack": "vue"
871
+ },
872
+ {
873
+ "dependency": "vue"
874
+ },
875
+ {
876
+ "stack": "typescript5"
877
+ },
878
+ {
879
+ "dependency": "typescript"
880
+ },
881
+ {
882
+ "stack": "laravel"
883
+ },
884
+ {
885
+ "dependency": "laravel/framework"
886
+ },
887
+ {
888
+ "stack": "phpunit"
889
+ },
890
+ {
891
+ "dependency": "phpunit/phpunit"
892
+ }
893
+ ]
894
+ },
837
895
  {
838
896
  "id": "haus.ecc-laravel-verification",
839
897
  "version": "1.0.2",
@@ -4663,7 +4721,7 @@
4663
4721
  },
4664
4722
  {
4665
4723
  "id": "haus.ecc-common-testing-rule",
4666
- "version": "1.1.0",
4724
+ "version": "1.2.0",
4667
4725
  "source": "curated",
4668
4726
  "type": "rule",
4669
4727
  "path": "sources/ecc/rules/common/testing.md",
@@ -4710,12 +4768,6 @@
4710
4768
  },
4711
4769
  {
4712
4770
  "dependency": "typescript"
4713
- },
4714
- {
4715
- "stack": "playwright"
4716
- },
4717
- {
4718
- "dependency": "@playwright/test"
4719
4771
  }
4720
4772
  ]
4721
4773
  },
@@ -4857,52 +4909,6 @@
4857
4909
  }
4858
4910
  ]
4859
4911
  },
4860
- {
4861
- "id": "haus.ecc-typescript-testing-rule",
4862
- "version": "1.1.0",
4863
- "source": "curated",
4864
- "type": "rule",
4865
- "path": "sources/ecc/rules/typescript/testing.md",
4866
- "title": "Ecc Typescript Testing Rule",
4867
- "purpose": "TypeScript/JavaScript Testing",
4868
- "whenToUse": "TypeScript/JavaScript Testing",
4869
- "whenNotToUse": "Do not use when a more specific skill or command applies.",
4870
- "tags": ["workflow", "typescript"],
4871
- "repoRoles": [],
4872
- "tokenEstimate": 94,
4873
- "tokenBudget": 123,
4874
- "installMode": "copy-selected",
4875
- "default": false,
4876
- "reviewStatus": "approved",
4877
- "riskLevel": "low",
4878
- "useMode": "copy",
4879
- "license": "MIT",
4880
- "licenseConfidence": "high",
4881
- "originSourceId": "ecc-affaanm",
4882
- "originUrl": "https://github.com/affaan-m/ECC/blob/a15c8e853309818e96fe495d373a7aea47b1298d/rules/typescript/testing.md",
4883
- "pinnedRef": "a15c8e853309818e96fe495d373a7aea47b1298d",
4884
- "ecosystem": "typescript",
4885
- "requiresAny": [
4886
- {
4887
- "dependency": "react"
4888
- },
4889
- {
4890
- "stack": "testing-library"
4891
- },
4892
- {
4893
- "dependency": "@testing-library/react"
4894
- },
4895
- {
4896
- "dependency": "@testing-library/dom"
4897
- },
4898
- {
4899
- "stack": "playwright"
4900
- },
4901
- {
4902
- "dependency": "@playwright/test"
4903
- }
4904
- ]
4905
- },
4906
4912
  {
4907
4913
  "id": "haus.samber-golang-golang-testing",
4908
4914
  "version": "1.0.0",
@@ -18,21 +18,37 @@ repot — du läser koden på riktigt. Du frågar aldrig något och skriver inga
18
18
  för grinden), `GRANSKARBLOCK:` (specens interna granskarblock: flaggorna där
19
19
  är ofta analysens viktigaste ingång — använd dem som underlag, men citera
20
20
  dem aldrig i dokumentets kundvända delar), `REPO-ROT:` (bekräfta att
21
- katalogen finns och ser ut som rätt projekt innan du börjar).
21
+ katalogen finns och ser ut som rätt projekt innan du börjar), `DEPS:`
22
+ (`installerade` eller `saknas`: vid saknas finns inga paket i arbetskopian,
23
+ installera aldrig något, och redovisa det du inte kunnat belägga i paketen
24
+ under _Ej verifierat_ enligt skillen), `SPRÅK:` (`svenska` eller
25
+ `engelska`: kundens språk, som analysens kundvända delar följer enligt
26
+ skillen), `KÄLLOR:` (källmanifestet specifiern
27
+ fick: grep-träffar och sökvägar från starten, ett underlag att verifiera,
28
+ aldrig ett facit; läs vidare själv där det pekar och belägg varje påstående
29
+ i koden som förut).
22
30
  3. Spåra påverkan i koden med Read/Grep/Glob: delad kod, datalagring,
23
31
  integrationspunkter, flöden, gränssnitt, testtäckning. Det du inte kan
24
32
  verifiera skrivs ordagrant som overifierat, enligt skillen.
25
- 4. Bash får ENDAST användas för läsande git-kommandon (`git ls-files`,
26
- `git check-ignore`, `git log`, `git grep`) — spårningsstatus är ofta
27
- analysens tyngsta faktum och ska verifieras, inte antas. Aldrig kommandon
28
- som skriver, installerar eller kör kod.
33
+ 4. Bash får ENDAST användas för läsande git-kommandon: `git ls-files`,
34
+ `git check-ignore`, `git log`, `git grep`, `git status` och
35
+ `git rev-parse` — spårningsstatus är ofta analysens tyngsta faktum och
36
+ ska verifieras, inte antas. Kör dem som enkla, fristående kommandon:
37
+ ett `rtk`-prefix behövs aldrig men tillåts (`rtk git log`), aldrig
38
+ `git -C <katalog>` (kör från repo-roten), och aldrig kedjor med `&&` eller
39
+ `;` till något annat än pipe-målen `head`, `grep`, `wc` och `ls`. Allt
40
+ annat nekas tyst av behörighetslagret i headless-läget, och analysen står
41
+ då utan det faktum den skulle ha verifierat. Aldrig kommandon som
42
+ skriver, installerar eller kör kod.
29
43
  5. Skillens abortgrindar gäller: saknas spec eller repo, avbryt och säg exakt
30
44
  vad som saknas i stället för att gissa.
31
45
 
32
46
  ## Svarskontrakt
33
47
 
34
48
  - Exakt skillens dokumentformat: en sida med de fasta rubrikerna, därefter
35
- `## Till granskaren`-blocket. Ingen inledning, ingen avslutning, med EXAKT
49
+ `## Till granskaren`-blocket, där raden _Avvikelse mot specen_ ALLTID börjar
50
+ med etiketten `ingen`, `precisering` eller `motsägelse` (formkontrollen
51
+ läser den). Ingen inledning, ingen avslutning, med EXAKT
36
52
  ett undantag: allra sist raden `MODELL: <ditt modell-id>` (dispatchern
37
53
  strippar den före arkivering).
38
54
 
@@ -18,7 +18,9 @@ genom inringning mot skalans ankare, aldrig genom fri estimering.
18
18
  Läs skalan (`references/poangskala.md`) innan du poängsätter — kan den inte
19
19
  läsas: poängsätt inte, returnera felet i klartext.
20
20
  2. Läs prompten: `REQUEST_ID:`, `MODE: pricing | guard`, `DELPOST:` (split-läge —
21
- avgör om ett takfall är `DELA_UPP` eller `OVER_SKALAN`), samt `SPEC:` och
21
+ avgör om ett takfall är `DELA_UPP` eller `OVER_SKALAN`), `SPRÅK:`
22
+ (`svenska` eller `engelska`: kundens språk, som varje kundtextfält i
23
+ kuvertet skrivs på; kontrollen fäller fel språk), samt `SPEC:` och
22
24
  `PÅVERKANSANALYS:` som ABSOLUTA SÖKVÄGAR (ADR-0099): läs de två filerna
23
25
  via Read, ordagrant och i sin helhet — det är ditt underlag (guard-läge:
24
26
  även `FULLPLAN:` och `TIDIGARE_POANG:` med förra körningens JSON). Mode
@@ -19,6 +19,10 @@ en känslig kategori flyttar pengar: lägg din omsorg där.
19
19
  Kan skillen eller dess referensfil inte läsas: skriv ingen spec, säg det, stanna.
20
20
  2. Läs prompten: `ÖNSKEMÅL:` (ordagrant underlag), `KÄLLOR:` (manifest med
21
21
  absoluta sökvägar), `REPO-ROT:` (absolut sökväg eller "saknas"),
22
+ `DEPS:` (`installerade` eller `saknas`: vid saknas finns inga paket att
23
+ verifiera exporter mot, redovisa det som antagande i stället för att gissa),
24
+ `SPRÅK:` och `RUBRIKER:` (specens språk och rubrikskelettet på det språket,
25
+ använd literalerna ordagrant, blanda aldrig språk),
22
26
  `ESKALERAD: ja` (alltid ja för dig — orsaken kan stå efter flaggan).
23
27
  3. **Grunda innan du antar.** Verifiera källmanifestets påståenden med
24
28
  Read/Grep/Glob innan du bygger på dem, och leta vidare själv under
@@ -35,6 +39,10 @@ en känslig kategori flyttar pengar: lägg din omsorg där.
35
39
  `## Till granskaren`-block. Ingen inledning, ingen avslutning, ingen metatext,
36
40
  med EXAKT ett undantag: allra sist raden `MODELL: <ditt modell-id>`
37
41
  (dispatchern strippar den före arkivering).
42
+ - Ofullständigt underlag hanteras enligt skillen (kvalificerat antagande, eller
43
+ kandidatformen: markörraden `**Koncept-kandidat**`/`**Diagnos-kandidat**` direkt
44
+ under rubriken, Problem, ingen Lösning), aldrig genom att fråga tillbaka och
45
+ aldrig genom en låtsasspec.
38
46
 
39
47
  ## Förbjudet
40
48
 
@@ -17,7 +17,10 @@ inget, frågar aldrig något, och skriver inga filer — ditt svar är leveranse
17
17
  Kan skillen eller dess referensfil inte läsas: skriv ingen spec, säg det, stanna.
18
18
  2. Läs prompten: `ÖNSKEMÅL:` (ordagrant underlag), `KÄLLOR:` (manifest med
19
19
  absoluta sökvägar), `REPO-ROT:` (absolut sökväg eller "saknas"),
20
- ev. `ESKALERAD: ja`.
20
+ `DEPS:` (`installerade` eller `saknas`: vid saknas finns inga paket att
21
+ verifiera exporter mot, redovisa det som antagande i stället för att gissa),
22
+ `SPRÅK:` och `RUBRIKER:` (specens språk och rubrikskelettet på det språket,
23
+ använd literalerna ordagrant, blanda aldrig språk), ev. `ESKALERAD: ja`.
21
24
  3. **Grunda innan du antar.** Verifiera källmanifestets påståenden med
22
25
  Read/Grep/Glob innan du bygger på dem, och leta vidare själv under
23
26
  `REPO-ROT` där manifestet pekar. Är `REPO-ROT: saknas` eller `KÄLLOR: inga`:
@@ -34,8 +37,10 @@ inget, frågar aldrig något, och skriver inga filer — ditt svar är leveranse
34
37
  `## Till granskaren`-block. Ingen inledning, ingen avslutning, ingen metatext,
35
38
  med EXAKT ett undantag: allra sist raden `MODELL: <ditt modell-id>`
36
39
  (dispatchern strippar den före arkivering).
37
- - Ofullständigt underlag hanteras enligt skillen (kvalificerat antagande eller
38
- Koncept-/Diagnos-kandidat-flagga) — aldrig genom att fråga tillbaka.
40
+ - Ofullständigt underlag hanteras enligt skillen (kvalificerat antagande, eller
41
+ kandidatformen: markörraden `**Koncept-kandidat**`/`**Diagnos-kandidat**` direkt
42
+ under rubriken, Problem, ingen Lösning), aldrig genom att fråga tillbaka och
43
+ aldrig genom en låtsasspec.
39
44
 
40
45
  ## Förbjudet
41
46