feat: add standalone SVG delivery - #272
Open
user01010111 wants to merge 1 commit into
Open
Conversation
7 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem and value
Fixes #241.
Archify can already export a good standalone SVG from the Viewer, but non-interactive documentation and CI pipelines have no supported way to request the same file. Their current workaround is to drive the HTML Viewer through a browser.
This extends the existing verified delivery command:
The CLI and Viewer use the same zero-dependency SVG finaliser. SVG delivery therefore keeps the existing frozen-input validation, safe-path and alias guards, repository-evidence checks, atomic replacement and structured receipt instead of introducing a second command with a separate delivery contract.
Scope
deliver --format svgwith--theme auto|light|dark.archify.zipafter the shared Viewer template changed.Stability impact
--format htmlmatches the default, and ambient internal SVG variables cannot alter normal render, validate or HTML delivery.Tests run
ARCHIFY_CHROME=/usr/bin/chromium npm test: 1,034 tests; 1,026 passed, 0 failed and 8 environment/version-gated skips.ARCHIFY_CHROME=/usr/bin/chromium npm run test:webm: WebM/export smoke passed; site-language integration passed 7/7 with no skips.node --test test/svg-delivery.test.mjspassed 6/6, including the complete Viewer/CLI pixel matrix and packaged-Skill failure preservation.node --test test/release-package-gates.test.mjspassed 18 tests with the intentional non-22 guard skipped; all five Node 22-only canonical ZIP gates passed.styleattribute.--format html: byte-identical, including the unchanged receipt shape.archify.zip: package smoke passed on Linux; all 78 packaged files and modes match the clean staged Skill exactly;unzip -tpassed.git diff --check, README parity, generated-artifact freshness and local-path leakage checks passed.The broad-suite skips were five canonical ZIP checks rerun successfully under Node 22, two browser checks rerun successfully through the serial integration command, and the unrelated MCO fixture requiring a matching external repository checkout.
Visual evidence
Human before/after review passed. Automated comparison also found zero differing decoded RGBA channels between the pre-change Viewer export and this CLI output in all three theme modes. No screenshot is attached because the exact pixel comparison is reproducible in the test suite.
Generated artifacts
archify.zipwith Node 22; SHA-256:f7e0c798282ab89bec7fd3c486d74061029f40bbfa310987ec62cae755a68aae.Checklist
npm testinarchify/.AI assistance
OpenAI Codex was used for planning, repository analysis, implementation, review, drafting and validation. The human contributor reviewed the output and remains responsible for the change.