Commit Graph
40 Commits
Author SHA1 Message Date
b827385a17 feat: consolidate reviewed Diagram Design 2.6.0 release (#134)
* fix(commands): stop hardcoding the visual-type count

Integrates the final reviewed diff from PR #112.

* docs(high-level): correct effective width checklist

Integrates the final reviewed diff from PR #105.

* fix(commands): quote profile argument hint

Integrates the final reviewed diff from PR #126.

* test(sankey): gate conservation and ribbon geometry

Integrates the final reviewed diff from PR #103.

* feat(tooling): add doctor diagnostics gate

Integrates the final reviewed diff from PR #132.

* feat(scripts): lint diagrams as rendered

Integrates the final reviewed diff from PR #18.

* feat(types): add quantitative polar chart

Integrates the final reviewed diff from PR #101.

* chore(release): consolidate reviewed changes in 2.6.0

Documents every combined gate and synchronizes Claude, Codex, and Factory metadata for the 39-type release.

* fix(doctor): support installed-skill projects

---------

Co-authored-by: mysoniw <soniw1@gmail.com>
Co-authored-by: thang <76550342+thangldw@users.noreply.github.com>
Co-authored-by: YinShaokun <yinshaokun@didiglobal.com>
Co-authored-by: 0xDarkMatter <0xDarkMatter@users.noreply.github.com>
Co-authored-by: Rupam Pal <rupam.pal@euromonitor.com>
Co-authored-by: Yuvraj3905 <yuvraj202001@gmail.com>
2026-08-20 12:21:43 -07:00
Cathryn LaveryandGitHub 4b573616cb ci: upgrade actions to Node 24 runtimes (#128) 2026-08-19 20:45:54 -07:00
Cathryn LaveryandGitHub b132fa5d7a fix(packaging): make skill references bundle-safe (#125)
* fix(packaging): make skill references bundle-safe

* test(packaging): normalize scanner paths portably

* fix(packaging): bundle required runtime helpers
2026-08-19 20:31:56 -07:00
Cathryn LaveryandGitHub 0487290d5a fix(treemap): close post-merge fail-open gaps (#127)
* fix(treemap): close fail-open metadata gaps

* chore: bump plugin version to 2.5.18

* fix(treemap): validate declared cell geometry

* fix(package): validate YAML escape sequences

* fix(package): bound Unicode YAML escapes
2026-08-19 20:25:28 -07:00
e011b04af8 fix(treemap): verify every cell share (#124)
* fix(treemap): verify every cell's area, including cells too small to label

Closes #89.

The area check derived its basis from in-cell labels, so a cell with no
label was excluded from it. That is precisely the sliver -- the cell a
4px grid distorts most, and the one that shipped 24% undersized during
review of #87. On current main, widening Oceania from 16px to 24px, a
50% area distortion, still reports OK.

Every cell now declares `data-share`, its percentage of the whole, and
the verifier checks all of them against it. Cells without it are
reported rather than skipped: a treemap whose cells cannot be parsed is
not a passing treemap, it is an unchecked one, and answering OK to it is
the defect. The label and the metadata are also cross-checked, because
two statements of one fact is a new way for the picture to lie while the
gate stays green.

Adversarial tests gain the oversized and undersized unlabelled sliver
(both pass on current main and fail here), a fail-closed case for
missing metadata, and a label/metadata divergence case.

SKILL.md `metadata.version` said 2.4 against 2.5.0 manifests. The
manifests are bumped by a script and that field is hand-maintained, so
nothing read both numbers and nothing could notice. verify-plugin-package
now asserts it tracks the manifest MAJOR.MINOR. The package test's
fixture gains the field with it -- a SKILL.md without one is not a valid
package, and a fixture missing it would only prove the gate can be
tripped by its own test data.

The examples regained the `PARTS ROUNDED, MAY NOT SUM` disclosure the
type reference requires: displayed parts round up to 8.10B against a
stated 8.09B. It was dropped when the examples were rebuilt around the
legend block. The anti-pattern list, which still forbade outright what
the honest-data rule permits once disclosed, now agrees with it.

Also nudges the info mark onto the label row of its neighbours rather
than the vertical centre of its own cell, so the bottom row reads as one
row.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* fix(treemap): reject ambiguous share metadata

---------

Co-authored-by: 0xDarkMatter <0xDarkMatter@users.noreply.github.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-08-19 22:02:02 -05:00
91fb4f243b fix(lint): enforce accessible SVG viewBox and title rules (#123)
* fix(lint): enforce viewBox presence and title length cap

- Add a11y check: non-decorative <svg> must carry a viewBox attribute
  with exactly four numeric tokens and positive width/height dimensions.
- Add a11y check: <title> text must be 60 characters or fewer, closing
  the gap between the CONTRIBUTING.md spec and linter enforcement.
- Update VALID_SVG in test-lint-a11y.py to include viewBox so all
  existing passing cases remain valid after the new checks land.
- Add three adversarial cases: missing-viewbox, invalid-viewbox,
  title-too-long — all verified against the gate suite (47/47 OK).

* fix(lint): accept SVG comma separators and reject non-finite viewBox values

- Re-split viewBox on [\s,]+ so comma-separated values (e.g. 0,0,800,600)
  are accepted as valid SVG
- Guard each component with math.isfinite() so values like inf and nan are
  rejected rather than passing the > 0 size check
- Add adversarial test cases: viewbox-comma-separated (pass),
  viewbox-nonfinite-width, viewbox-nonfinite-height (both fail)
- Bump plugin manifests to 2.4.1

* fix(lint): reject viewBox numbers with Python-only underscore separators

* test(lint): cover remaining viewBox cases

---------

Co-authored-by: Rupam Pal <rupam.pal@euromonitor.com>
2026-08-19 19:53:43 -07:00
Cathryn LaveryandGitHub cc2f51f3fd fix(import): emit extractor output as UTF-8 on Windows (#122)
* fix(import): emit extractor digests as UTF-8

* fix(import): limit UTF-8 setup to CLI entrypoints

* test(import): normalize cross-platform newline parity
2026-08-19 17:49:34 -07:00
Cathryn LaveryandGitHub 8154ec97bf feat(factory): add native Droid plugin packaging (#120)
* feat(factory): add native Droid plugin packaging

* test(factory): guard documented install contract

* fix(factory): enforce install command order
2026-08-19 17:46:46 -07:00
Cathryn LaveryandGitHub bf49fb408a fix(treemap): fail closed for CJK label widths (#121)
* Fix CJK treemap label width verification

* Strengthen CJK treemap width regressions
2026-08-19 19:35:06 -05:00
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
4691a2f40c feat(types): ship ten editorial diagram types in one release (#118)
Adds ten editorial diagram types with light, dark, and full-editorial examples; updates the taxonomy, gallery, descriptions, references, and synchronized plugin version; and adds maintainer/visual-proof contribution gates.

Co-authored-by: Jacopo Vendramin <vendraminjacopo@gmail.com>
2026-08-19 15:49:27 -07:00
Cathryn LaveryandGitHub 0947fdb6e5 fix(drawio): keep import command reference in sync (#109) 2026-08-18 12:38:57 -05:00
Cathryn LaveryandGitHub 9ec2497b85 fix(drawio): escape untrusted Markdown digest labels (#91)
Fold all line-boundary forms and escape Markdown/HTML syntax in draw.io digest headings, lists, and tables; add adversarial injection coverage; publish synchronized plugin version 2.5.1. Fixes #81.
2026-08-18 01:12:04 -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
Cathryn LaveryandGitHub e1d47bb0c4 docs(readme): add Trendshift badge (#53) 2026-08-13 19:24:43 -07:00
Cathryn LaveryandGitHub c238e8ab86 Merge pull request #44 from cathrynlavery/feat/automatic-plugin-updates
feat(plugin): automatic updates via native marketplaces and a version gate
2026-08-12 20:45:21 -07:00
Cathryn LaveryandGitHub 840f944f08 Merge pull request #41 from cathrynlavery/semantic-diagrams-pr-audit
feat(skill): pre-draw checkpoint, docs-sync gate, packaged self-check, ADRs
2026-08-12 17:05:24 -07:00
Cathryn LaveryandGitHub 064ca26626 Merge pull request #40 from cathrynlavery/feat/semantic-diagrams-motion
feat: add semantic patterns and accessible motion
2026-08-12 16:59:20 -07:00
Cathryn LaveryandGitHub 3c5c34ba3b Merge pull request #28 from parveen0029/feat/enterprise-matrix-ci
ci: upgrade GitHub Actions to multi-OS matrix testing (Linux, Windows, macOS) and visual failure artifacts
2026-08-12 10:09:46 -07:00
Cathryn LaveryandGitHub 14c63e6a7c Merge pull request #32 from Mr-Neutr0n/fix/icons-quoted-attributes
fix(icons): normalize quoted URL SVG attributes
2026-08-12 10:04:59 -07:00
Cathryn LaveryandGitHub 1b078c83dd Merge pull request #31 from Mr-Neutr0n/fix/devicon-viewbox
fix(icons): preserve Devicon source viewBox
2026-08-12 10:00:10 -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
Cathryn LaveryandGitHub 13992fefd4 Merge pull request #36 from the-ahuja-lab/feat/gallery-github-pages
ci: deploy live gallery to GitHub Pages and fix README link
2026-08-12 09:55:47 -07:00
Cathryn LaveryandGitHub dc43c34be5 Merge pull request #29 from philyuchkoff/feature/contributing-docs
docs(contributing): add CONTRIBUTING, code of conduct and issue/PR templates
2026-08-12 09:54:52 -07:00
Cathryn LaveryandGitHub 4da4dfb80b Merge pull request #24 from mvanhorn/fix/mermaid-import-redraw
feat(import): redraw Mermaid diagrams at a chosen format, size, and detail level
2026-08-11 21:39:12 -07:00
Cathryn LaveryandGitHub 75625999da Merge pull request #25 from mvanhorn/fix/accessible-svg-contract
feat(a11y): make the accessible-SVG pattern a contract
2026-08-11 21:37:01 -07:00
Cathryn LaveryandGitHub f751f50623 Merge pull request #23 from parveen0029/feat/github-actions-ci
ci: add GitHub Actions workflow for automated linting and verification gates
2026-08-11 21:30:54 -07:00
Cathryn LaveryandGitHub da45d4a79a Merge pull request #22 from cathrynlavery/feat/drawio-import
Add Draw.io import and semantic redraw workflow
2026-08-11 13:57:34 -07:00
Cathryn LaveryandGitHub 9fe1339f14 Merge pull request #19 from daanmlab/feat/pi-support
Pi support
2026-08-11 13:50:35 -07:00
Cathryn LaveryandGitHub 8a343e98b9 Merge pull request #16 from cupidnavaz/patch-1
Create SECURITY.MD for security policy and reporting
2026-08-11 13:50:15 -07:00
Cathryn LaveryandGitHub ec1b85f65d Merge pull request #15 from parveen0029/fix/sas-icon-url
fix(scripts): replace blocked svgrepo URL for SAS icon in build-icons.py
2026-08-11 13:49:18 -07:00
Cathryn LaveryandGitHub a157f76164 Merge pull request #12 from cathrynlavery/add-terminal-primitive
Add terminal primitive: charcoal-black CLI-window skin
2026-07-14 20:35:42 -07:00
Cathryn LaveryandGitHub 71b903e77b Merge pull request #11 from cathrynlavery/loop-type
Add the Loop type (flywheel) + palette linter — 27 types
2026-07-14 19:52:07 -07:00
Cathryn LaveryandGitHub 00e331c767 Merge pull request #10 from cathrynlavery/fork-merge-curated
Curated merge of the aristide fork: 12 new diagram types, icons, export, onboarding v2
2026-07-14 17:16:39 -07:00
Cathryn LaveryandGitHub 0ab077f229 Merge pull request #6 from cathrynlavery/feat/org-chart-diagram-type
feat: add org chart diagram type
2026-05-11 12:23:39 -05:00
Cathryn Lavery c658d99cf2 fix: correct Codex install command (closes #5) 2026-05-07 10:53:58 -05:00
Cathryn LaveryandGitHub 0af9277b96 Merge pull request #4 from ssyting1/add-license-file
Add MIT LICENSE file
2026-05-07 10:50:48 -05:00
Cathryn LaveryandGitHub 30764f2b1c Merge pull request #2 from jirayu3141/fix/plugin-path-structure
fix: restructure so Claude Code loads the plugin without errors
2026-04-22 11:58:30 -05:00
Cathryn LaveryandGitHub a94acb0970 Merge pull request #3 from nkeneng/add-codex-plugin-support
Add Codex plugin support
2026-04-22 11:43:43 -05:00
Cathryn Lavery 66d0d6ab76 Add Claude Code plugin + marketplace manifests
Adds .claude-plugin/plugin.json and .claude-plugin/marketplace.json so the repo can be installed via /plugin marketplace add. Uses "skills": ["./"] so the existing root SKILL.md is picked up without relocation — standalone install path is unchanged. Also removes stray Cocoon AI author reference from SKILL.md frontmatter.
2026-04-19 08:19:47 -05:00