@ssheleg/agent-stack 0.18.1 → 0.18.2

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,3 +1,47 @@
1
+ ## v0.18.2 — the card lost eleven characters and the check that watched it counted bytes
2
+
3
+ `docs/assets/social-preview.png` — the image every link to this repository renders —
4
+ had its eyebrow line **cut off at the canvas**. The line is generated from the umbrella's
5
+ `role` cell for this pack, 91 characters of it; at the smallest scale the renderer will
6
+ use, that needs **1354px of a 1200px canvas**. Eleven characters were never drawn. The
7
+ card read *"…AND THE WALLET UNDER"* and stopped.
8
+
9
+ Verified here rather than taken on report: decoding the committed PNG puts accent ink in
10
+ column **x=1199 of 1200**, and re-running the renderer's own metric confirms the pen would
11
+ have finished at x=1354 with `" LLM RESALE"` past the edge. **No scale fixes it** —
12
+ `fitScale` floors at 2 and was already there — so the text itself had to get shorter.
13
+
14
+ **The role string is now 60 characters:** `orchestration, prompts, evals, protocols, and
15
+ the LLM wallet`. It names all four skills where the old one named three (the harness was
16
+ missing from its own pack's one-line description), and it paints to x=919, leaving 196px
17
+ — 19% — of margin inside the content box. The umbrella owns that cell; this release ships
18
+ the card rendered from it, and the pin that makes them agree is the umbrella's.
19
+
20
+ **The sensor gap is the real repair.** `test/social_preview.py` checked the PNG
21
+ signature, the chunk order, the byte count and the dimensions — and was green over a
22
+ clipped card for as long as one existed, because none of those readings is about text.
23
+ `test/card_ink.py` decodes the image and measures where ink actually lands: every painted
24
+ pixel must sit inside the content box, with exactly one deliberate exception (the accent
25
+ bar that bleeds to the left edge), and the bar must be *present* so a blank or
26
+ mis-decoded image cannot pass by having nothing in the gutters. Clipping cannot hide from
27
+ it — losing even one glyph means the line already painted 70px into the right gutter.
28
+
29
+ Watched failing before it was believed: the guard refuses the previously committed card
30
+ by name (*"accent paints at x=1199, y=190 — 84px past the right edge of the content box …
31
+ and reaches the canvas edge, so characters were cut off entirely"*), and the old check
32
+ accepts the same file. A new negative self-test in `validate.yml` plants one pixel in the
33
+ last column of a repo copy and requires `test/social_preview.py` to refuse it, with
34
+ `plant_guard.py verify` confirming the plant landed.
35
+
36
+ `test/card_ink.py` is a separate module **on purpose, and must stay one**:
37
+ `test/social_preview.py` is a shared mechanism across nine repositories, and the
38
+ umbrella's divergence check stops comparing copies that fall below 90% similarity — for
39
+ all nine at once. Inlining a PNG decoder there would have disabled that guard on eight
40
+ repositories that never asked for it. The shared file gains two lines; measured
41
+ similarity to its eight siblings is **0.9133** against the 0.90 floor.
42
+
43
+ Closes board row **B-118**, deferred from v0.17.1 by coordinator decision.
44
+
1
45
  ## v0.18.1 — the board row a sibling's gate refused
2
46
 
3
47
  v0.18.0's B-124 row landed in the **wrong table** — the board carries two, an
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ssheleg/agent-stack",
3
- "version": "0.18.1",
3
+ "version": "0.18.2",
4
4
  "scripts": {
5
5
  "test": "python3 test/validate.py && python3 test/plant_guard_test.py && node test/installer_test.js"
6
6
  },
@@ -3,7 +3,7 @@
3
3
  "name": "agent-stack",
4
4
  "displayName": "Agent Stack",
5
5
  "description": "Four skills: agent-orchestrator — tool-calling loops, pipelines with checkpoints, provider routing with fallback, memory architecture, plus the wallet side of reselling LLM access; agent-evals — run/trace/thread evals, LLM judges, and fixtures grown from production; agent-interop — MCP servers and clients, A2A agent cards, the MCP Registry, and gateways; agent-harness — system prompts, tool shaping, workflow-vs-agent, and auditing an agent system.",
6
- "version": "0.18.1",
6
+ "version": "0.18.2",
7
7
  "author": {
8
8
  "name": "ssheleg",
9
9
  "url": "https://x.com/sshlg93"