geonosis 2.5.3 → 2.6.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.
Files changed (2) hide show
  1. package/CHANGELOG.md +31 -0
  2. package/package.json +7 -3
package/CHANGELOG.md CHANGED
@@ -1,5 +1,36 @@
1
1
  # geonosis
2
2
 
3
+ ## 2.6.0
4
+
5
+ ### Patch Changes
6
+
7
+ - 58565d7: Plan 029, the factory floor: the gate learns to run things at once, and the heavy budget stops
8
+ being one laptop's number.
9
+
10
+ `@geonosis/verify` — `TierStep` carries `group`, the number that says which steps run at once, so a
11
+ tier can declare `{ "parallel": [ … ] }` groups and `{ "command": "… {workspace} …", "per":
12
+ "workspace" }` steps. New: `affected.ts` (`affected`, `affectedOf`, `workspacesIn`, `changedSince`,
13
+ `mergeBase`, `ROOT_SHAPED`, types `Affected` and `Workspace`), `PerWorkspace`, `ParallelStep`,
14
+ `CommandStep` on `config`, and `planSteps`, `runGroups`, `shellRunAsync`, `PlannedStep`,
15
+ `AsyncStepRun` on `run`. `GateReport` gains an optional `affected` block. `runSteps`, `shellRun` and
16
+ `stepIds` are unchanged. The bin gains `--affected`, `--since <ref>` and `--jobs <n>`.
17
+
18
+ `@geonosis/ratchet` and `@geonosis/release` — `heavySlots()` and `DEFAULT_HEAVY_SLOTS` beside
19
+ `HEAVY_SLOTS`, which is no longer the constant 2: the budget is `GEONOSIS_HEAVY_SLOTS` or
20
+ `availableParallelism() - 1`, read on every claim rather than at module load (D-073).
21
+
22
+ `@geonosis/ledger` — `shape.ts`: `shapeCheck`, `readManifest`, `exportsOf`, `formatShape` and the
23
+ types `BriefManifest`, `ShapeRefusal`, `ShapeOutcome` — the lock that refuses an engineer diff
24
+ touching a locked test, renaming an export or adding a file the brief did not name (D-072). Not yet
25
+ on the package's public entry: the CLI door lands with W115's dispatch unit.
26
+
27
+ `geonosis` — the plugin's post-edit hook takes its formatter from `geonosis.json → stack.format`
28
+ (D-070) and the stop hook reads the machine's heavy budget.
29
+ - 58565d7: The heavy budget is memory-aware (D-081, amending D-073). `heavyBudget()` — on `@geonosis/ratchet`'s door, copied into `@geonosis/release` and the plugin's Stop hook and held to one answer by a test — is the smaller of one less than the cores and the memory the machine can spend divided by what one run holds: `geonosis.json → stack.memoryMbPerSlot`, 512 MB when nothing is declared. `GEONOSIS_HEAVY_SLOTS` still wins outright; `GEONOSIS_HEAVY_MEMORY_MB` is the memory to spend instead of the machine's. `heavySlots()` is the budget's number read fresh, and `describeBudget()` names the number and both inputs. `geonosis-verify --jobs` defaults to it, its report carries it as `heavy`, and the run prints it; the kit's own vitest workers read it too. Measured on a 4-core, 3.4 GB box: three slots over 1.4 GB swapped; two do not.
30
+ - Updated dependencies [58565d7]
31
+ - Updated dependencies [58565d7]
32
+ - @geonosis/cli@2.6.0
33
+
3
34
  ## 2.5.3
4
35
 
5
36
  ### Patch Changes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "geonosis",
3
- "version": "2.5.3",
3
+ "version": "2.6.0",
4
4
  "types": "./dist/index.d.ts",
5
5
  "description": "One manifest line pins the whole toolchain: the geonosis CLI and every gate it runs, on one version.",
6
6
  "keywords": [
@@ -32,7 +32,7 @@
32
32
  "dist"
33
33
  ],
34
34
  "dependencies": {
35
- "@geonosis/cli": "2.5.3"
35
+ "@geonosis/cli": "2.6.0"
36
36
  },
37
37
  "peerDependencies": {
38
38
  "oxlint": ">=1.77",
@@ -59,6 +59,10 @@
59
59
  },
60
60
  "scripts": {
61
61
  "build": "tsup",
62
- "typecheck": "tsc --noEmit"
62
+ "typecheck": "tsc --noEmit",
63
+ "lint": "oxlint --config ../../.oxlintrc.json .",
64
+ "test:unit": "vitest run --project unit --root ../.. --passWithNoTests \"$PWD\"",
65
+ "test:bin": "vitest run --project bin --root ../.. --passWithNoTests \"$PWD\"",
66
+ "test:exam": "vitest run --project exam --root ../.. --passWithNoTests \"$PWD\""
63
67
  }
64
68
  }