fix: consolidate reviewed repository corrections by cathrynlavery · Pull Request #174 · cathrynlavery/diagram-design · GitHub
Skip to content

fix: consolidate reviewed repository corrections - #174

Merged
cathrynlavery merged 8 commits into
mainfrom
maintainer-integration-pr
Sep 3, 2026
Merged

fix: consolidate reviewed repository corrections#174
cathrynlavery merged 8 commits into
mainfrom
maintainer-integration-pr

Conversation

@cathrynlavery

@cathrynlavery cathrynlavery commented Sep 3, 2026

Copy link
Copy Markdown
Owner

Summary

This maintainer integration bundle applies the small, compatible corrections accepted during the full open-item review. It intentionally leaves major features, drafts, incomplete fixes, and unresolved policy choices in their own review lanes.

Import and visual correctness

Lint and documentation compatibility

README delivery

Included items

Item Incorporated work Attribution / notes
#153 Quoted Mermaid labeled-link extraction, docs, and fixtures Original commit author Jenil Ghevariya; stale manifest bump omitted.
#147, #88 Direct gateway-to-orders connector, refreshed PNG, focused verifier + mutation test Original patch author haiyangbg; issue reported by rjesh-git.
#146 Chinese SC/TC font allowlist, docs, and four a11y fixtures Original commit author LiuQQ; stale manifests omitted.
#138 Correct Line dark tokens/canvas plus docs-sync regression guard Original patch author 0xDarkMatter.
#52, #77 README WebPs, full-PNG links, generator, manifest, CI and adversarial tests Original commit author Alex Wickstrom; issue reported by sanskaromar.
#163, #152, #149 Cookbook and docs-only multi-host discovery, Kiro/OpenCode instructions, description cap Reimplemented with trailers for kas1987+, Cursor, and hsien wei; issues reported by mlboy and praajnabaragur. Loader stubs, AGENTS, and manifest rewrites omitted.
#145 Host-neutral Factory Droid contributor wording Reimplemented with a trailer for hsien wei; obsolete version-policy portions omitted.

PR #172 (including hardening commit 3d451e0) merged as 8d55bd4 during this review and is the base of this branch, so it is not duplicated here.

Excluded or deferred items

Items Disposition Evidence / next action
#173, #162 Valid policy work, incomplete One active P1: the documented nested-<title> allowance fails verify-motion.py; settle the verifier fix and ADR 0010 decision separately.
#169, #170 Separate major feature 25 files, +1070 lines, behind current main, changes requested. Rebase and obtain a fresh dedicated review.
#168, #161 Valid bug, unsafe patch Exact head still gives ~3.46:1 for the dark soft value and causes 911 repository lint findings; choose a cross-skin token policy first.
#167, #166 Valid goal, incomplete patch Hermes Agent 0.20.6 exact-head scan remains DANGEROUS: 34 findings, 6 critical.
#164, #165 Separate major feature Heatmap is 22 files/+1410 lines; recorded CI is green, but it is behind main with changes requested.
#151, #148, #39 Separate exporter track PowerPoint normalization depends on the shared extraction contract; #39 remains a +1973-line draft and #151 conflicts with current main.
#140 Separate major feature Streamgraph is 14 files/+2031 lines, conflicted, and changes requested; refresh its visual evidence after rebase.
#129 Incomplete verifier Active P1: CSS transforms on ancestors can move the histogram while its gate passes.
#66, #65 Incomplete semantic-skin fix Active P1 double-escapes encoded font URLs; custom-paper phase-band contrast remains unresolved.
#59 Incomplete export fix Browser resolution is cwd-sensitive and doctor/exporter disagree on supported engines.
#57 Fail-open parser Two active P1s: prose tables widen the palette and mismatched fence delimiters desynchronize parsing.
#171 Implemented rollout tracker Merged #172 is in the base. Keep open until old PRs migrate and AUTO_BUMP_TOKEN is configured/observed.
#159 Roadmap feature Repository-local profiles change trust and lookup precedence; needs a dedicated implementation and adversarial resolution tests.
#130 Roadmap feature SBGN needs a bounded first grammar, examples, accessibility contract, and verifier.
#63 Roadmap feature Containment grammar changes architecture layout/budgets and needs its own design PR.
#62 Roadmap/meta issue Update landed/in-flight types and split remaining candidates into independently prioritized issues.

The complete 35-item matrix, including suggested contributor replies, was produced during the integration review. No source issue or PR has been commented on or closed.

Attribution

Original authors are preserved on cherry-picked/reapplied topic commits. Reimplemented documentation carries Co-authored-by trailers.

Validation

Uninterrupted final local run: 52/52 maintained commands returned exit 0 on Python 3.14.7 with Pillow 12.1.1, Playwright 1.62.0, and Chromium 151.0.7922.34. The paint oracle rendered 153 files with 0 findings/0 notes; skin lint checked 153 files with 0 findings; geometry checked 155 files with 0 findings; screenshot freshness matched all 39 canonical sources; README thumbnail freshness matched all 40 rendered previews.

verify-doctor.py returned its expected non-strict WARN summary (4 pass, 1 PNG-readiness warning) while still exiting 0; both pinned Playwright render gates passed in the same run. Changed-path tests also pass under Python 3.12.14 with Pillow 12.1.1.

GitHub current-head verification for 05c71c3: 9/9 checks passed (eight repository CI jobs plus Greptile), merge state CLEAN, Greptile 5/5 with no concrete defect, and zero unresolved review threads.

The pushed branch README was loaded live from GitHub at 1440×1000 and 390×844: both returned HTTP 200, all 42 image references resolved to the expected 40 unique WebPs with zero broken previews, and the preview link opened the full PNG path. The gallery deployment is intentionally unverified until merge triggers the Pages workflow.

Exact maintained commands — all passed
PASS  python3 scripts/test-plugin-package.py
PASS  python3 scripts/test-maintainer-policy.py
PASS  python3 scripts/verify-plugin-package.py --require-no-bump origin/main
PASS  npx --yes @anthropic-ai/claude-code@2.1.229 plugin validate . --strict
PASS  python3 scripts/test-lint-a11y.py
PASS  python3 scripts/verify-semantic-motion.py --markdown-only
PASS  python3 scripts/verify-semantic-motion.py --example-only
PASS  python3 scripts/test-verify-semantic-motion.py
PASS  python3 scripts/verify-motion.py --shipped
PASS  python3 scripts/test-build-icons-quoted-attributes.py
PASS  python3 scripts/test-build-icons-devicon.py
PASS  python3 scripts/test-fix-mojibake.py
PASS  python3 scripts/lint-skin.py --all --baseline
PASS  python3 scripts/lint-render.py --self-test
PASS  python3 scripts/lint-render.py --all
PASS  python3 scripts/test-verify-polar.py
PASS  python3 scripts/verify-polar.py
PASS  python3 scripts/verify-sequence-oauth.py
PASS  python3 scripts/test-verify-sequence-oauth.py
PASS  python3 scripts/verify-drawio-import.py
PASS  python3 scripts/test-verify-drawio-import.py
PASS  python3 scripts/verify-mermaid-import.py
PASS  python3 scripts/test-verify-motion.py
PASS  python3 scripts/verify-doctor.py
PASS  python3 scripts/test-verify-doctor.py
PASS  python3 scripts/verify-docs-sync.py
PASS  python3 scripts/test-verify-docs-sync.py
PASS  python3 scripts/verify-screenshot-freshness.py
PASS  python3 scripts/test-build-readme-thumbs.py
PASS  python3 scripts/build-readme-thumbs.py --check
PASS  python3 scripts/test-self-check.py
PASS  python3 scripts/verify-geometry.py --all
PASS  python3 scripts/test-verify-geometry.py
PASS  python3 scripts/verify-treemap.py --all
PASS  python3 scripts/test-verify-treemap.py
PASS  python3 scripts/verify-dumbbell.py
PASS  python3 scripts/test-verify-dumbbell.py
PASS  python3 scripts/verify-slopegraph.py --all
PASS  python3 scripts/test-verify-slopegraph.py
PASS  python3 scripts/verify-ridgeline.py --all
PASS  python3 scripts/test-verify-ridgeline.py
PASS  python3 scripts/verify-sankey.py --all
PASS  python3 scripts/test-verify-sankey.py
PASS  python3 scripts/verify-bubble.py --all
PASS  python3 scripts/test-verify-bubble.py
PASS  python3 scripts/verify-bump.py --all
PASS  python3 scripts/test-verify-bump.py
PASS  python3 scripts/verify-beeswarm.py --all
PASS  python3 scripts/test-verify-beeswarm.py
PASS  python3 scripts/verify-skin-polarity.py --all
PASS  python3 scripts/test-verify-skin-polarity.py
PASS  python3 scripts/build-icons.py && git diff --ignore-space-at-eol --exit-code -- skills/diagram-design/assets/icons.html skills/diagram-design/references/primitive-icons.md

Additional review checks:

PASS  git diff --check origin/main...HEAD
PASS  manifests unchanged and synchronized at 2.6.12
PASS  final diff reviewed for security, correctness, attribution, maintainability, and unrelated generated-file drift
PASS  changed-path tests on Python 3.12.14

References after merge

After merge and explicit maintainer approval, this PR is intended to supersede contributor PRs #153, #147, #146, #138, and #52; partially supersede the accepted documentation portions of #163 and #145; and address issues #88, #77, #152, and #149. These are deliberately non-closing references so no contributor work is closed before the integration branch lands.

Remaining maintainer decisions

  1. Configure the repository Actions secret AUTO_BUMP_TOKEN with repo/workflow scope before merging; the current secret inventory does not contain it, and merged ci(release): bump plugin versions on main after merge, not in PRs #172 depends on it for the post-merge version bump.
  2. Review this integration PR and explicitly approve before any merge or source-item closure.
  3. Decide docs(skill): document hidden-by-default disclosure as an anti-pattern #173/[Feature]: Document CSS-only disclosure + click-to-pin and hover tooltips #162’s nested-title verifier fix and whether the policy warrants ADR 0010 in that separate PR.
  4. After this PR merges and current-head CI is green, post the prepared contributor replies and close/supersede only the incorporated source items.

Jenil-1714 and others added 8 commits September 2, 2026 20:51
`_top_level_mask` blanks quoted spans so that operators inside a label are
not mistaken for link syntax. `_edge_operators` then sliced the label out of
the `spaced` capture group, but against an all-blank span the non-greedy
`.+?` settles on a single masked character, and slicing the original text at
that offset returns the closing quote. Every quoted spaced label —
`A-- "text" -->B` — became the single character `"`, silently, in all stroke
styles and in the multidirectional forms.

Read the label from the whole span between the opening and closing
operators instead. The compact branch already spans exactly that region, so
its behavior is unchanged, and `clean_label` was already stripping padding
and surrounding quotes for node labels.

Verified against Mermaid 11.17.0's own renderer: all twelve quoted forms now
match the text Mermaid draws, and no unquoted form changes.
…ocuments

output-spec.md tells authors to extend the family "when labels contain
Japanese, Chinese, or Korean text", but only ships Japanese and Korean
example stacks, and ALLOWED_FONTS carries no Chinese families at all. A
literal `font-family` naming PingFang SC / Noto Sans SC / Microsoft YaHei
is therefore rejected as "unsupported font family", while the equivalent
Japanese and Korean stacks pass.

Mirrors the Japanese (#75) and Korean (#83) fixes:

- lint-skin.py: add Simplified (PingFang SC, Noto Sans SC, Microsoft
  YaHei, Noto Sans Mono CJK SC) and Traditional (PingFang TC, Noto Sans
  TC, Microsoft JhengHei, Noto Sans Mono CJK TC) families.
- output-spec.md: add the SC and TC example stacks, the mono variants,
  and note why Japanese fonts cannot stand in for Chinese (subset
  coverage plus Japanese glyph variants for Simplified forms), and why
  SC and TC are separate stacks.
- test-lint-a11y.py: add zh-name-stack, zh-mono-stack, zh-css-stack and
  zh-tc-stack, matching the existing kr-* cases.

Verified the new cases fail without the ALLOWED_FONTS change
("zh-name-stack: expected exit 0, got 1") and pass with it.

Co-Authored-By: Claude <noreply@anthropic.com>
The dark line-chart variant shipped with the light palette - paper
variant. Tokens flipped to the dark set used by every other -dark
example. lint-skin does not compare skin to filename, which is how it
slipped through.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The README grid renders 29 screenshots at 252 CSS px and three inline
figures at 838 CSS px, but every `<img>` pointed at the full-resolution
original: 2400-2800px wide, ~3.7 MB across the page, ~580 MB of decoded
bitmap. A burst of 29 oversized requests over one connection loses races.
Individual previews stall in flight and paint blank — no broken-image
icon, no alt text, a different subset each load. Reloading fixes it,
because the second load is a cache hit.

Add `scripts/build-readme-thumbs.py`, which writes right-sized WebP
copies to `docs/screenshots/thumbs/` (600px q82 for the grid, 1400px q90
for the inline figures), and point README.md at those. Each preview now
links to its full-resolution PNG, so nothing is lost — the originals stay
exactly where they were.

Page previews: 3707 KB -> 268 KB.

`--check` re-encodes and diffs without writing, for a CI gate if wanted.
Document Kiro and OpenCode discovery, editable installs across Agent Skills hosts, and the 1024-character Agent Skills description limit.

Co-authored-by: kas1987+ <kas1987@users.noreply.github.com>

Co-authored-by: Cursor <cursoragent@cursor.com>

Co-authored-by: hsien wei <hsien.w.wei@gmail.com>
@greptile-apps

greptile-apps Bot commented Sep 3, 2026

Copy link
Copy Markdown

Greptile Summary

This PR consolidates reviewed corrections across diagram imports, visual examples, host documentation, and README delivery.

  • Preserves quoted labels across Mermaid link styles and strengthens import regression checks.
  • Corrects the draw.io route and Line dark example while adding focused verifier coverage.
  • Adds documented Simplified and Traditional Chinese font stacks.
  • Replaces oversized README images with generated WebP previews linked to full PNGs, backed by a deterministic manifest and CI freshness gate.
  • Expands host-neutral installation and Agent Skills discovery guidance.

Confidence Score: 5/5

The PR appears safe to merge, with no concrete changed-code defect identified.

The updated import parsing, visual-contract checks, font support, README preview pipeline, manifests, and CI wiring are internally consistent and include focused adversarial regression coverage.

Important Files Changed

Filename Overview
skills/diagram-design/scripts/mermaid_extract.py Reads quoted edge labels from the original source span while retaining masked operator-boundary detection.
scripts/verify-mermaid-import.py Adds adversarial coverage for quoted labels across solid, dotted, thick, bidirectional, circle, and cross links.
scripts/build-readme-thumbs.py Adds deterministic README preview generation and write-free digest, decode, dimension, wiring, and orphan verification.
scripts/test-build-readme-thumbs.py Exercises source drift, tampering, corruption, incorrect dimensions, orphan files, stale manifests, wiring, and check-mode immutability.
.github/workflows/ci.yml Installs pinned Pillow and runs the README thumbnail tests and freshness check on the Linux Python 3.12 leg.
scripts/verify-docs-sync.py Enforces the Agent Skills description cap and canonical Line dark-skin tokens.
scripts/verify-drawio-import.py Locks the reviewed API Gateway-to-Orders connector to its direct horizontal route.
scripts/lint-skin.py Extends accepted typography to documented Simplified and Traditional Chinese font stacks.
README.md Serves compact WebP previews while retaining direct links to every full-resolution PNG.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart LR
  Source[Canonical PNG screenshots] --> Generator[README thumbnail generator]
  Generator --> WebP[Committed WebP previews]
  Generator --> Manifest[Digest and dimension manifest]
  WebP --> README[README preview links]
  README --> Full[Full-size PNG downloads]
  Manifest --> Check[Write-free CI freshness check]
  WebP --> Check
  Source --> Check
  README --> Check
Loading

Reviews (1): Last reviewed commit: "docs: add multi-host installation cookbo..." | Re-trigger Greptile

@cathrynlavery
cathrynlavery merged commit 4451ead into main Sep 3, 2026
9 checks passed
@nakpapa

nakpapa commented Sep 5, 2026

Copy link
Copy Markdown

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants