@dzhechkov/keysarium 1.5.41 → 1.5.42

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/.dz-manifest.json CHANGED
@@ -5,7 +5,7 @@
5
5
  "files": [
6
6
  {
7
7
  "path": "README.md",
8
- "sha256": "55a9e601a7028333e77dd2ee0f8eec201f053cd970deb8f58ecfa7cf06987cf4"
8
+ "sha256": "7935edfd126b62acdb6f11962b194883ce0ff2369e17d034c8ca781d2369b043"
9
9
  },
10
10
  {
11
11
  "path": "README.ru.md",
@@ -17,7 +17,7 @@
17
17
  },
18
18
  {
19
19
  "path": "package.json",
20
- "sha256": "9371c3fe3922382a7871224941fb0bae838dfcbeb750bd55a662e4c27a1e1af7"
20
+ "sha256": "714af0158d54b6629e879b27f96ec7fc8d733f2e82a30a17432c1418b386c2ca"
21
21
  },
22
22
  {
23
23
  "path": "src/cli.js",
@@ -377,7 +377,7 @@
377
377
  },
378
378
  {
379
379
  "path": "templates/.claude/skills/feature-adr/modules/05-architecture.md",
380
- "sha256": "2ef7cf316903f0cbb1fabe1f0e1770c22b2cb3a11a4118cac0529c25074b5e8a"
380
+ "sha256": "4d20dbc85ea5bb93ca90fd8cd089255bab9c76a912ca3ad954f3a4bb670f3c45"
381
381
  },
382
382
  {
383
383
  "path": "templates/.claude/skills/feature-adr/modules/06-implementation-plan.md",
@@ -985,5 +985,5 @@
985
985
  }
986
986
  ]
987
987
  },
988
- "signature": "AXc5drN9RLQVp4PK9QbjYylVG4nQruSrJQZV4KPQ2JY3/Xif4oZzOxlUOQ1JA5+HRppGUvGnnMtTN8c35rDkDw=="
988
+ "signature": "tqUAX98/iJ/i60v8VY10Q+L9vC+1P14cwe6z8Yg6dH8HzBux6tV2FlKoaVUjxzidn+dBKU775zMO2h1BUCuOBA=="
989
989
  }
package/README.md CHANGED
@@ -419,7 +419,11 @@ deliberately excluded — "skeleton first" is nonsense there.
419
419
 
420
420
  ## Status
421
421
 
422
- `1.5.41` — refreshes the bundled `feature-adr` gate script with the C6 amendment-integrity fix (each
422
+ `1.5.42` — refreshes the bundled `feature-adr` Step-5 module with the mandatory `Observability`
423
+ section. No keysarium behaviour changes. See `@dzhechkov/skills-feature-adr@1.5.4`.
424
+
425
+
426
+ `1.5.42` — refreshes the bundled `feature-adr` gate script with the C6 amendment-integrity fix (each
423
427
  amendment scoped to its own block; closes a false refusal on markers below the old three-line window
424
428
  AND a false pass where a testless amendment borrowed its neighbour's marker). No keysarium behaviour
425
429
  changes. See `@dzhechkov/skills-feature-adr@1.5.3`.
@@ -433,5 +437,5 @@ carrying no acid table is an honest SKIP. Both used to report as a clean skip, s
433
437
  silently switched itself off whenever Step 0 wrote nothing — MEASURED 2026-08-21, 66 of 199 features
434
438
  carried that file and the last four in a row did not.
435
439
 
436
- `1.5.41` — the bundled `feature-adr` Step-8 module now describes the amendment gate as the command
440
+ `1.5.42` — the bundled `feature-adr` Step-8 module now describes the amendment gate as the command
437
441
  `dz amendment-check` instead of a judgement the reviewer is asked to make. Text only; no pipeline change.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dzhechkov/keysarium",
3
- "version": "1.5.41",
3
+ "version": "1.5.42",
4
4
  "description": "AI Case Research Toolkit for Claude Code — full 7-phase pipeline with feature-adr, dream cycles, background workers, multi-platform support, reward learning, and Cloud.ru AI Factory mapping (--ai-factory flag)",
5
5
  "main": "src/cli.js",
6
6
  "bin": {
package/sbom.json CHANGED
@@ -15,7 +15,7 @@
15
15
  "hashes": [
16
16
  {
17
17
  "alg": "SHA-256",
18
- "content": "55a9e601a7028333e77dd2ee0f8eec201f053cd970deb8f58ecfa7cf06987cf4"
18
+ "content": "7935edfd126b62acdb6f11962b194883ce0ff2369e17d034c8ca781d2369b043"
19
19
  }
20
20
  ]
21
21
  },
@@ -45,7 +45,7 @@
45
45
  "hashes": [
46
46
  {
47
47
  "alg": "SHA-256",
48
- "content": "9371c3fe3922382a7871224941fb0bae838dfcbeb750bd55a662e4c27a1e1af7"
48
+ "content": "714af0158d54b6629e879b27f96ec7fc8d733f2e82a30a17432c1418b386c2ca"
49
49
  }
50
50
  ]
51
51
  },
@@ -945,7 +945,7 @@
945
945
  "hashes": [
946
946
  {
947
947
  "alg": "SHA-256",
948
- "content": "2ef7cf316903f0cbb1fabe1f0e1770c22b2cb3a11a4118cac0529c25074b5e8a"
948
+ "content": "4d20dbc85ea5bb93ca90fd8cd089255bab9c76a912ca3ad954f3a4bb670f3c45"
949
949
  }
950
950
  ]
951
951
  },
@@ -118,6 +118,32 @@ GET /api/v1/{resource}/:id
118
118
  Errors: 401, 404
119
119
  ```
120
120
 
121
+ ## Observability — a MANDATORY section of `05_architecture.md`
122
+
123
+ The artifact must carry a section headed exactly **`Observability`**, answering how anyone would
124
+ know this feature is working once it ships:
125
+
126
+ - what it **logs**, and at what level;
127
+ - what it **counts** — the one or two numbers that would move if it broke;
128
+ - what a **failure looks like from outside** — the symptom, not the stack trace;
129
+ - **who would notice**, and how.
130
+
131
+ If the feature genuinely emits nothing at runtime — a pure refactor, a doc change, a gate that only
132
+ runs in CI — write **"nothing to observe"** and say why. That is a complete answer, not a gap. What
133
+ is not acceptable is leaving the question unanswered.
134
+
135
+ The heading is read by a machine (`dz score` reports it as a discipline), so it is spelled exactly
136
+ `Observability` — the prompt above and the check derive that word from one shared constant, because
137
+ a prompt asking for one heading while a check greps another produces a gate that fails every honest
138
+ run.
139
+
140
+ **Why this section exists.** MEASURED 2026-08-25: across 107 existing `05_architecture.md` files,
141
+ ZERO carried such a section, and the word `observability` appeared nowhere in the pipeline's own
142
+ prompts. The pipeline kept five telemetry stores about itself and asked for none about what it
143
+ built. The two capable skills — `observability` (818 lines) and `observability-testing-patterns`
144
+ (946 lines) — were fully written and unreachable, because nothing called them. This section is the
145
+ call site.
146
+
121
147
  ## Write discipline (the 180-second rule)
122
148
 
123
149
  An executor that returns from a tool call and then thinks in silence past **180 seconds** is killed by the