@pikku/skills 0.12.15 → 0.12.17

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,74 @@
1
1
  # @pikku/skills
2
2
 
3
+ ## 0.12.17
4
+
5
+ ### Patch Changes
6
+
7
+ - a3deea4: Document machine authentication as middleware that sets a session. A caller with an identity (a sandbox, a deployed container, a machine host) is resolved once in `addHTTPMiddleware('*')`, which calls `setSession`; the function is then a plain `pikkuFunc` gated with `scopes` and reads `session`, rather than verifying the bearer token in its own body or in a `permissions` check that returns `true`.
8
+
9
+ The middleware skill also spells out why this cannot be `addTagMiddleware`: tag middleware runs inside `runPikkuFunc`, which the RPC dispatch calls without a `sessionService`, so a session set there never reaches a function invoked over `POST /rpc/:rpcName`.
10
+
11
+ - 30e390b: Skills now name the three languages a project has, and refuse to let them
12
+ collapse into one.
13
+
14
+ An agent building a doctor's portal for a German practice read "the entire UI is
15
+ German" as an instruction about the codebase. It shipped
16
+ `project.inlang/settings.json` with `baseLocale: "de"` and no `en.json` — which
17
+ broke `--add-locale` permanently — alongside RPC functions `getUebersicht` and
18
+ `getPatientendetail`, components `Zeitstrahl` and `AufmerksamkeitStreifen`, and
19
+ database tables `vorgang` and `ereignis`. Nothing in the skills had ever told it
20
+ these were three separate decisions, so it made one.
21
+
22
+ `pikku-concepts` now carries the canonical statement — identifiers are always
23
+ English and no setting changes that; meta (`description`, `title`, `template`)
24
+ follows `locale` in `pikku.config.json`; the product's UI language lives in the
25
+ message catalogue with `defaultLocale`, never in `baseLocale`. `pikku-build-app`
26
+ §1a asks the question and writes the answer into the config; `pikku-scenario`
27
+ splits step identifiers from step prose and admits where the English-only
28
+ reporter frame still shows through; `pikku-i18n` states why `baseLocale` stays
29
+ `en` and what to set instead. `pikku-build-quick`, `pikku-build-platform`,
30
+ `pikku-feature` and `pikku-fabric` carry the short form.
31
+
32
+ ## 0.12.16
33
+
34
+ ### Patch Changes
35
+
36
+ - 0b1bf53: `pikku dev` turns actor quick login on and mints its secret; `pikku serve` never
37
+ does
38
+
39
+ Which command is running is the thing that knows whether "sign in as <persona>"
40
+ should work, so the two server commands now say so rather than leaving it to
41
+ whatever the environment happens to contain.
42
+
43
+ `pikku dev` sets `PIKKU_DEV_ACTOR_SIGN_IN` before it loads the project and, if no
44
+ actor secret is set, mints a cryptographically random one for the run under both
45
+ `SCENARIO_ACTOR_SECRET` and the `VITE_`-prefixed copy the dev frontend can
46
+ actually read — only prefixed variables reach `import.meta.env`, and the switcher
47
+ runs in the browser. Requiring every contributor to hand-manage a secret for a
48
+ server that is trusted with the database anyway bought nothing and cost setup
49
+ friction on every machine. An explicitly-set secret always wins: a project
50
+ pointing its scenario runs and its dev server at one value has to keep that
51
+ value. The minted one lives only in this process's environment, so it is gone
52
+ when the server stops and yesterday's cannot sign anything in today. Both cases
53
+ are logged, naming where the secret came from — the previous silence is what made
54
+ a missing control unanswerable from outside the container. Where the two names
55
+ disagree the command says so instead of picking one quietly, because that
56
+ disagreement presents as "the switcher signs in nowhere".
57
+
58
+ `pikku serve` is the production server command and does the opposite: it clears
59
+ the marker outright, so an inherited environment cannot switch passwordless
60
+ sign-in on behind the operator, and it warns when it had something to clear. What
61
+ it deliberately leaves alone is `PIKKU_ALLOW_ACTOR_SIGN_IN` — scenario suites have
62
+ to be able to run against a deployed stage, and that opt-in is the supported way
63
+ to say so.
64
+
65
+ `pikku validate`'s fix hint for a project with personas but no actor sign-in no
66
+ longer tells people to control the endpoint by withholding the secret, which is
67
+ no longer how it is controlled, and the `pikku-better-auth` skill documents the
68
+ gate, the two escape hatches, and the two distinct refusals.
69
+
70
+ - 8519a73: Say plainly that the dev seed is local only. No deploy applies it, so the test for a row is not whether it looks realistic but whether the app would be broken without it in production — a venue, a catalogue, a tenant is configuration and belongs in a migration. Names the failure it causes: a stage whose pages return 200 while its first data read throws.
71
+
3
72
  ## 0.12.15
4
73
 
5
74
  ### Patch Changes