* feat(line): add ridgeline as a Line variant One distribution per series, stacked at a fixed pitch on a single shared amplitude. Ships three static examples (light, dark, full editorial), the type-line.md spec, and a geometric gate. verify-ridgeline.py derives the figure's one amplitude and its baseline pitch from the figure itself, then holds every vertex to both. It also checks the drawn baseline rules, the shared bin scale, absolute M/L/Z only, the overlap ceiling, the focus pairing and every label binding. test-verify-ridgeline.py proves each check in both polarities and pins the scope treaty with the sibling Line gates. The contract binds data-bins on a <path>, which no other chart in the repo declares, so verify-slopegraph and this gate never claim the same file. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * fix(verify-ridgeline): read exponent coordinates as numbers, not commands parse_d scanned for [A-Za-z] independently of the numbers, so the `e` in a valid scientific-notation coordinate such as 4.4e2 was counted as a path command. The explicit-command rule then rejected a correct ridgeline with a message about command counts. Tokenise the d attribute left to right with the number branch tried first, so an exponent is consumed as part of its number. A letter that survives that branch is a real command and still faces the M/L/Z vocabulary check; anything else leaves the path unreadable, which stays a finding. Adds both polarities: a shipped coordinate rewritten as 4.4e2 must verify, and a falsified one written the same way must not. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> --------- Co-authored-by: 0xDarkMatter <0xDarkMatter@users.noreply.github.com> Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
103 lines
3.5 KiB
JSON
103 lines
3.5 KiB
JSON
{
|
|
"schema_version": 1,
|
|
"repository": "cathrynlavery/diagram-design",
|
|
"base_branch": "main",
|
|
"default_merge_method": "squash",
|
|
"versioning": {
|
|
"enabled": true,
|
|
"strategy": "semver",
|
|
"increment": "patch",
|
|
"manifests": [
|
|
{
|
|
"path": ".claude-plugin/plugin.json",
|
|
"json_pointer": "/version"
|
|
},
|
|
{
|
|
"path": ".codex-plugin/plugin.json",
|
|
"json_pointer": "/version"
|
|
}
|
|
],
|
|
"require_synchronized": true,
|
|
"require_unique_across_open_prs": true,
|
|
"bump_command": "python3 scripts/bump-plugin-version.py"
|
|
},
|
|
"gates": {
|
|
"local_commands": [
|
|
"python3 scripts/test-plugin-package.py",
|
|
"python3 scripts/verify-plugin-package.py origin/main",
|
|
"npx --yes @anthropic-ai/claude-code@2.1.229 plugin validate . --strict",
|
|
"python3 scripts/test-lint-a11y.py",
|
|
"python3 scripts/verify-semantic-motion.py --markdown-only",
|
|
"python3 scripts/verify-semantic-motion.py --example-only",
|
|
"python3 scripts/verify-motion.py --shipped",
|
|
"python3 scripts/test-build-icons-quoted-attributes.py",
|
|
"python3 scripts/test-build-icons-devicon.py",
|
|
"python3 scripts/test-fix-mojibake.py",
|
|
"python3 scripts/lint-skin.py --all --baseline",
|
|
"python3 scripts/verify-sequence-oauth.py",
|
|
"python3 scripts/verify-drawio-import.py",
|
|
"python3 scripts/test-verify-drawio-import.py",
|
|
"python3 scripts/verify-mermaid-import.py",
|
|
"python3 scripts/test-verify-motion.py",
|
|
"python3 scripts/verify-docs-sync.py",
|
|
"python3 scripts/test-verify-docs-sync.py",
|
|
"python3 scripts/verify-screenshot-freshness.py",
|
|
"python3 scripts/test-self-check.py",
|
|
"python3 scripts/verify-geometry.py --all",
|
|
"python3 scripts/test-verify-geometry.py",
|
|
"python3 scripts/verify-treemap.py --all",
|
|
"python3 scripts/test-verify-treemap.py",
|
|
"python3 scripts/verify-dumbbell.py",
|
|
"python3 scripts/test-verify-dumbbell.py",
|
|
"python3 scripts/verify-slopegraph.py --all",
|
|
"python3 scripts/test-verify-slopegraph.py",
|
|
"python3 scripts/verify-ridgeline.py --all",
|
|
"python3 scripts/test-verify-ridgeline.py",
|
|
"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"
|
|
],
|
|
"required_check_names": [],
|
|
"review": {
|
|
"provider": "none",
|
|
"minimum_score": "",
|
|
"require_same_head": true
|
|
},
|
|
"require_current_base": true,
|
|
"require_conflict_free": true,
|
|
"require_resolved_threads": true,
|
|
"require_no_requested_changes": true,
|
|
"post_merge_workflows": [
|
|
"CI",
|
|
"Deploy gallery to GitHub Pages"
|
|
]
|
|
},
|
|
"issue_policy": {
|
|
"read_complete_threads": true,
|
|
"search_competing_prs": true,
|
|
"reproduce_on_current_main": true,
|
|
"inspect_history_for_intent": true,
|
|
"max_maintainer_authored_prs_per_run": 1
|
|
},
|
|
"pr_policy": {
|
|
"process_versioned_prs_serially": true,
|
|
"inspect_first_time_fork_workflows": true,
|
|
"split_large_or_mixed_scope": true,
|
|
"run_complete_suite_on_exact_head": true,
|
|
"wait_for_post_merge_before_next": true
|
|
},
|
|
"human_gates": [
|
|
"product_priority",
|
|
"large_or_mixed_scope",
|
|
"first_time_workflow_approval",
|
|
"ambiguous_issue_closure",
|
|
"security_disclosure",
|
|
"merge_authorization"
|
|
],
|
|
"report": {
|
|
"path": ".context/maintainer/{timestamp}/report.md",
|
|
"live_urls": [
|
|
"https://cathrynlavery.github.io/diagram-design/"
|
|
],
|
|
"require_worklog": true
|
|
}
|
|
}
|