@haus-tech/haus-workflow 5.7.0 → 5.8.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 +16 -0
- package/dist/cli.js +1972 -1443
- package/library/global/skills/request/SKILL.md +3 -2
- package/library/global/skills/request/scripts/archive.mjs +4 -3
- package/library/global/skills/request/scripts/korning.mjs +2 -2
- package/library/global/skills/request/scripts/svep.mjs +1 -1
- package/library/global/skills/request-sync/SKILL.md +1 -1
- package/package.json +1 -1
|
@@ -192,8 +192,9 @@ redispatch rule in the dispatch contract.
|
|
|
192
192
|
`archive.mjs set-status priced` refuses while the field is set. Older archives
|
|
193
193
|
lack the field and are read as `null`.
|
|
194
194
|
- `respec_varv` is a monotonic counter, raised by 1 by every `archive.mjs respec`
|
|
195
|
-
call (#505), never reset. The
|
|
196
|
-
|
|
195
|
+
call (#505), never reset. The price-decisive stop in `speca` (step 6, ADR-0118)
|
|
196
|
+
and `routaSpecStopp` in `scripts/korning.mjs` read it to decide whether a
|
|
197
|
+
remaining price-decisive open choice is to stop with
|
|
197
198
|
`TILLBAKA_TILL_SPEC` (the first round) or `ESKALERA` (the second round and
|
|
198
199
|
later): an item never goes a third spec round on the same choice. Older archives
|
|
199
200
|
lack the field and are read as `0`.
|
|
@@ -1845,7 +1845,8 @@ function gallandeScorerUtfall(state, d) {
|
|
|
1845
1845
|
*
|
|
1846
1846
|
* | läge | källa i SKILL.md |
|
|
1847
1847
|
* | ------------------------------------- | ------------------------------------------------------------- |
|
|
1848
|
-
* | bunt-rot (ingen spec.md, del-N finns) |
|
|
1848
|
+
* | bunt-rot (ingen spec.md, del-N finns) | The experiment area: `experiments/`, buntregeln; |
|
|
1849
|
+
* | | bluf:s `bunt (N delar)` |
|
|
1849
1850
|
* | spärr står (sparrSkal) | bedöm steg 6 OLIKA "Hänvisa sedan till `döm <post>`"; `döm` |
|
|
1850
1851
|
* | stopp KONCEPT/DIAGNOS | speca steg 6 "Kandidatens katalog kan fortfarande läggas på |
|
|
1851
1852
|
* | | brädan … men `bedöm` hoppar över den"; stopputfall → kunddialog |
|
|
@@ -1853,8 +1854,8 @@ function gallandeScorerUtfall(state, d) {
|
|
|
1853
1854
|
* | | under `## Avgjorda val` …, sedan `respec` och ny dispatch" |
|
|
1854
1855
|
* | stopp ESKALERA | speca steg 6 "en människa dömer, posten går aldrig en tredje |
|
|
1855
1856
|
* | | specrunda"; stopputfall ESKALERA → visa skälet och stanna |
|
|
1856
|
-
* | experiment |
|
|
1857
|
-
* | |
|
|
1857
|
+
* | experiment | The experiment area: `experiments/`: "kan inte förväxlas |
|
|
1858
|
+
* | | med en prispost"; Hard rules "Experimentdata når aldrig Asana" |
|
|
1858
1859
|
* | spec_draft utan approval | speca steg 7 "Erbjud att lägga specarna på brädan (🔍)"; |
|
|
1859
1860
|
* | | godkänn/underkänn verkar från 🔍 |
|
|
1860
1861
|
* | spec_synced utan approval | godkänn/underkänn-lägesgrinden: 🔍 → ✅ Spec ok |
|
|
@@ -833,7 +833,7 @@ function avvisaDokument(dir, bas, brister, rad, ctx) {
|
|
|
833
833
|
}
|
|
834
834
|
|
|
835
835
|
/** Delkatalogerna för en bunt: skapas av `archive.mjs ny-del`, aldrig av den
|
|
836
|
-
* inre processen själv (buntregeln i
|
|
836
|
+
* inre processen själv (buntregeln i The experiment area: `experiments/`, ADR-0107 beslut 4).
|
|
837
837
|
* Del 1 ligger ALDRIG i körningsroten. */
|
|
838
838
|
function skapaDelar(antal, ctx) {
|
|
839
839
|
const delar = []
|
|
@@ -1380,7 +1380,7 @@ const scorerRad = (kr, fil, extra = {}) => ({
|
|
|
1380
1380
|
...extra,
|
|
1381
1381
|
})
|
|
1382
1382
|
|
|
1383
|
-
/** Experimentresultat blir aldrig `priced` (
|
|
1383
|
+
/** Experimentresultat blir aldrig `priced` (The experiment area: `experiments/`); `assessed` är
|
|
1384
1384
|
* den högsta status en körning kan nå här. */
|
|
1385
1385
|
function sattAssessed(del, ctx) {
|
|
1386
1386
|
const r = arkiv(['set-status', del.dir, 'assessed'], ctx)
|
|
@@ -151,7 +151,7 @@ export function losExp(exp, repoRot) {
|
|
|
151
151
|
return path.isAbsolute(exp) ? exp : path.join(repoRot, '.haus-workflow', 'requests', exp)
|
|
152
152
|
}
|
|
153
153
|
|
|
154
|
-
/** `default` som modellvärde ger katalognamnet `baseline/` (
|
|
154
|
+
/** `default` som modellvärde ger katalognamnet `baseline/` (The experiment area: `experiments/`). */
|
|
155
155
|
export const modellKatalog = (modell) => (modell === 'default' ? 'baseline' : modell)
|
|
156
156
|
|
|
157
157
|
/** Kontrollerar att en experimentkatalog bär underlaget huvudkonversationen
|
|
@@ -67,7 +67,7 @@ Fetch the fields on both boards and go through three things:
|
|
|
67
67
|
|
|
68
68
|
- **Do the fields exist?** The customer board needs `Original request`, `Original request title`, `Customer`, `Requested by` and the customer status field (`Kundstatus`). The collection board needs these plus `Offer status`, `Source`, `Request type`, `Funding`, `Score`, `Has conditions`, `Decision`, `Decision reason`, `Spec iterations`, `Score iterations`.
|
|
69
69
|
- **Are the shared fields the same field?** Compare gid, not name. Two fields with the same name and different gids are a duplicate: they drift apart immediately, and the error shows up first with the customer.
|
|
70
|
-
- **Can the options be looked up?** Normalized, per the rule
|
|
70
|
+
- **Can the options be looked up?** Normalized, per the rule below (`## Look up the fields, never hardcode them`). Report which ones could not be matched and which options actually exist.
|
|
71
71
|
|
|
72
72
|
**6. Write the file**
|
|
73
73
|
|