Commit Graph
35 Commits
Author SHA1 Message Date
Cathryn LaveryandGitHub e8b7d7ae62 docs(gallery): refresh canonical 38-type visual catalog (#119)
* docs(gallery): refresh canonical visual catalog

* docs: document screenshot renderer setup
2026-08-19 18:47:20 -05:00
0xDarkMatterandGitHub 5f1b6ddc66 feat(line): add slopegraph variant for change between two states (#106) 2026-08-18 22:31:48 -07:00
29917724f8 feat(bar): add dumbbell as a Bar variant (#107)
Documents the dumbbell in type-bar.md's existing Variants section,
alongside grouped and stacked bars. Reference-only, matching the
precedent those two set and the one #100 landed for datalake: no
example assets, no gallery entries.

Not a new visual type. The count stays at 28 and SKILL.md is untouched
-- no selection-table row, no frontmatter hook, no manifest description
change.

Covers layout on the shared 1000x500 composition, an element pattern,
and five honesty rules: no truncated axis, one scale with both endpoints
labelled, the connector is a gap and not a trajectory, a stated row
order, and no imputed or silently dropped endpoints.

Two of those rules live in a formula rather than a drawing, so they ship
as a checker with adversarial fixtures per ADR 0005:

- Domain resolution is exhaustive over sign. A rule phrased as
  "all-positive / all-negative" silently drops data that only touches
  zero, and drops all-zero data entirely -- where floor == ceil == 0 and
  the position formula divides by zero. resolve_domain() partitions the
  space, guarantees ceil > floor, and returns a finite fallback span for
  all-zero input so every dot lands on the floor.
- Non-text contrast is carried by the boundary, not the fill. Accent on
  paper is 2.86:1 skin-wide, and shape redundancy does not waive WCAG
  1.4.11, so the solid endpoint takes a 1px ink stroke (11.82:1) and the
  connector 55% ink on light / 40% on dark (3.19:1 and 3.24:1). The
  checker reads these tokens out of the reference, so prose and
  thresholds cannot drift apart.

scripts/test-verify-dumbbell.py covers both polarities: all-zero,
zero-touching, mixed-sign, empty and non-finite input, observed-extremes
truncation, and the sub-3:1 treatments this replaces. Wired into CI and
CONTRIBUTING alongside the treemap and geometry gates.

Other things the geometry and house style forced: the focal bar pattern
(12% tint plus accent stroke) does not survive at a 6px dot, so the pair
separates by fill weight; a 64px row pitch from y=96 overflows the y=420
plot floor at seven rows, so pitch and origin are tabulated per row
count; rgb(45,49,66) IS the dark paper, so light-theme hairlines
composite to 1.000:1 and must invert; label offsets keyed to start/end
put both labels inside the pair on a decreasing row; a value on the
domain floor collided with its category label; and the value axis was
missing the Geist Mono 7px title every other cartesian type carries.

Co-authored-by: 0xDarkMatter <0xDarkMatter@users.noreply.github.com>
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
2026-08-18 18:49:39 -05:00
Cathryn LaveryandGitHub 0947fdb6e5 fix(drawio): keep import command reference in sync (#109) 2026-08-18 12:38:57 -05:00
0xDarkMatterandGitHub de75c0adb5 feat(types): add treemap for part-of-whole by area (#87)
Add Treemap as the 28th visual type with light, dark, and editorial variants; area, label, and information-marker verification; synchronized documentation and manifests; and plugin version 2.5.0.
2026-08-18 00:50:19 -07:00
Aaron Roe FulkersonandGitHub aa6cd4e630 fix(lint): restore Python 3.9 compatibility (#58)
Add deferred annotation evaluation, enforce Python 3.9 linter coverage in CI, and publish synchronized plugin version 2.4.4.
2026-08-17 23:35:56 -07:00
Cathryn LaveryandGitHub 09df49d8d1 Add named client profiles (#61)
* feat: add client profiles

* ci: pin shell to bash for docs_sync step

The docs_sync step runs two commands in a multi-line block. Without a
pinned shell, the windows-latest matrix leg uses pwsh, where a non-zero
exit from the first command may not abort the block, masking a gate
failure. Pin shell: bash to match the icons and summary steps.
2026-08-14 14:28:44 -07:00
kira-ariakiandGitHub 2d4697446b fix(examples): stop label masks being clipped by node fills (#46)
Moves six clipped labels onto free connector segments and adds scripts/verify-geometry.py with tests, CI wiring, ADR 0005, and SKILL.md rule 6 so the defect cannot recur. Fixes #45.
2026-08-12 21:50:16 -07:00
Cathryn Lavery b6cae1e2e6 feat(plugin): automatic updates via native marketplaces and a version gate
Installs previously drifted: a standalone `npx skills add` copy never
followed the repo, and Claude Code disables auto-update for third-party
marketplaces by default. Route every client through its own marketplace so
merged changes reach users through the native update path.

- Add `.agents/plugins/marketplace.json` so Codex resolves the plugin from
  a Git marketplace it refreshes at startup.
- Add `author` to the Claude manifest so both native manifests agree.
- Add `scripts/bump-plugin-version.py` to increment the Claude and Codex
  versions together; it refuses to run when they already differ.
- Add `scripts/verify-plugin-package.py` to gate synchronized, strictly
  increasing semver against the base ref, marketplace paths that stay
  inside the repo root, and the packaged skill.
- Add `scripts/test-plugin-package.py` covering the adversarial cases:
  missing bump, mismatched manifests, malformed semver, and a marketplace
  target that does not exist.
- Add a `plugin-package` CI job running the tests, the version gate against
  the PR base sha, and `claude plugin validate . --strict`.
- Document the per-PR bump requirement, the new gates, and the per-client
  install/update paths, including the one-time migration off standalone
  copies.

Version bumps 2.3.0 -> 2.3.1 to satisfy the new gate.
2026-08-12 20:34:32 -07:00
Cathryn Lavery dbc4abd965 feat(skill): pre-draw checkpoint, docs-sync gate, packaged self-check, ADRs
- SKILL.md: confirm type/pattern/size/cuts with the user before rendering;
  checklist hooks for the checkpoint and the packaged self-check
- scripts/verify-docs-sync.py: CI now fails when the frontmatter description
  loses a type's lexical hook, the gallery can't reach a shipped example, or
  the README tree names a missing file
- skills/diagram-design/scripts/self_check.py: distilled output checker that
  ships with the skill so installed agents can verify their own diagrams;
  adversarial suite in scripts/test-self-check.py
- assets/index.html: six new tabs (OAuth sequence + five single-variant
  examples with a data-single variant lock) so every shipped example is
  browsable
- docs/adr/0001-0004: settled policies recorded (pinned controller, taxonomy
  freeze, reveal-only autoplay, byte cap + trigger-rich description)
- README: It's-working-if section, new gates documented; CONTRIBUTING: gate
  table, ADR guidance, type-addition invariants; CI: two new steps
2026-08-12 17:00:08 -07:00
Cathryn Lavery e2ed1925c4 [verified] add semantic patterns and accessible motion 2026-08-12 14:08:50 -07:00
Cathryn Lavery 86dda261a3 ci: align matrix with current verification gates 2026-08-12 10:08:08 -07:00
Cathryn Lavery c492b1d98f Merge remote-tracking branch 'origin/main' into codex/pr28-final 2026-08-12 10:07:10 -07:00
Cathryn Lavery 2d9dba47d2 Merge remote-tracking branch 'origin/main' into codex/pr32-final
# Conflicts:
#	.github/workflows/ci.yml
2026-08-12 10:01:44 -07:00
Cathryn Lavery 26ca6df028 Merge remote-tracking branch 'origin/main' into codex/pr31-final
# Conflicts:
#	.github/workflows/ci.yml
2026-08-12 09:58:27 -07:00
Cathryn LaveryandGitHub 26796ce272 Merge pull request #30 from Mr-Neutr0n/fix/mojibake-arrow-mapping
fix: repair mojibake arrow directions
2026-08-12 09:57:29 -07:00
Saveena Solanki 3ef39baba8 ci: deploy live gallery to GitHub Pages and fix README link
The README's "Browse the live gallery" link pointed at the raw HTML blob,
which GitHub renders as source code rather than the gallery. Add a Pages
deployment workflow that publishes skills/diagram-design/assets as a static
site, and point the README at the deployed gallery (closes #33).
2026-08-12 21:20:21 +05:30
Mr-Neutr0n d22686be01 fix(icons): normalize quoted URL SVG attributes
Signed-off-by: Mr-Neutr0n <harikp2002@gmail.com>
2026-08-12 17:15:22 +05:30
Mr-Neutr0n 99bc4cb0be fix(icons): preserve Devicon viewBox dimensions
Signed-off-by: Mr-Neutr0n <harikp2002@gmail.com>
2026-08-12 17:12:33 +05:30
Mr-Neutr0n af6bc62799 fix: repair mojibake arrow directions
Signed-off-by: Mr-Neutr0n <harikp2002@gmail.com>
2026-08-12 15:52:47 +05:30
Praveen Bishnoi 8fed3d26b4 fix(ci): address maintainer review feedback with checkout ordering, dynamic outcomes, and Playwright screenshots 2026-08-12 14:12:06 +05:30
Praveen Bishnoi b337d0fcf4 ci: add GitHub Step Summary table generation for matrix run results 2026-08-12 13:25:34 +05:30
Praveen Bishnoi 5f3aa8fdda fix(ci): enable Python UTF-8 mode globally and enforce utf-8 encoding in subprocess verify scripts for Windows 2026-08-12 13:20:58 +05:30
Praveen Bishnoi f73ef478cc fix(ci): fix Windows line-ending CRLF diff issues in build-icons script and git checkout 2026-08-12 13:12:49 +05:30
Praveen Bishnoi e46196a007 fix(ci): wrap optional feature scripts in file presence checks for independent PR branches 2026-08-12 13:10:30 +05:30
Praveen Bishnoi 58fc09269b fix(ci): set PYTHONIOENCODING utf-8 environment variable for Windows matrix runners 2026-08-12 12:57:30 +05:30
Praveen Bishnoi 11559e0a3b ci: add automated visual artifact packaging and upload on linter failures 2026-08-12 12:50:19 +05:30
Praveen Bishnoi c96cb2cabc ci: add OS-aware Playwright browser provisioning step for matrix runners 2026-08-12 12:50:19 +05:30
Praveen Bishnoi a38ebd6616 ci: standardize cross-platform Python executable invocation across runners 2026-08-12 12:49:56 +05:30
Praveen Bishnoi a2d453d5f9 ci: configure multi-OS testing matrix for Linux, Windows, and macOS 2026-08-12 12:49:40 +05:30
Cathryn Lavery af7fadb7ed ci: verify Mermaid imports 2026-08-11 21:38:11 -07:00
Cathryn Lavery a64838182f ci: enforce accessible SVG contract 2026-08-11 21:35:09 -07:00
Cathryn Lavery 0d47ae3a9f fix(ci): harden validation and verify generated assets 2026-08-11 21:25:22 -07:00
Praveen Bishnoi 2f697ab712 docs(ci): document automated GitHub Actions validation and add drawio verifier step 2026-08-12 08:22:46 +05:30
Praveen Bishnoi 78fbe648f1 ci: add GitHub Actions workflow for linting and verification gates 2026-08-12 08:22:13 +05:30