DiagramPilot v0.2.6
DiagramPilot v0.2.6
Issue: Configured artifact mappings and freshness
Issue Version: 0.2.6
Tag: v0.2.6
npm: https://www.npmjs.com/package/diagrampilot/v/0.2.6
Public Website: https://diagrampilot.com
Summary
Extend Repo Workflow Configuration with artifact mappings, source globs, output
format declarations, output path templates, and freshness checks for configured
artifacts. Matched config mappings should replace the default SVG expectation
for the matched source, while unmatched sources keep zero-config behavior.
Configured artifact failures must not be hidden by source ignore patterns.
Freshness for text artifacts should use content comparison. SVG should continue
using provenance. PNG should use provenance if feasible; otherwise v0.3.0 may
use presence-only freshness with clear docs and tests.
Implementation Notes
- Extended Repo Workflow Configuration with
artifactsmappings. Each mapping
uses exactly one ofsourceorsourceGloband declares a non-empty
outputslist. - Validated configured output formats as a closed set:
svg,png,
mermaid,d2,dot, andmarkdown. - Validated configured selectors and output paths as config-directory-relative
paths, rejecting absolute paths and..traversal. - Added output path template expansion for
{stem},{sourceDir},
{sourcePath}, and{format}only. - Implemented mapping resolution for explicit sources and source globs.
Matched mappings replace the default next-to-source SVG expectation; sources
that do not match any mapping keep zero-config SVG behavior. - Ensured explicitly configured
sourceentries are checked even when
sources.ignorewould suppress source discovery, so configured artifact
failures are not hidden by ignore patterns. - Added structured configured artifact results under each source's
artifacts
list while preserving the existingartifactfield for zero-config SVG
callers. - Added configured freshness checks: SVG continues to use provenance, Mermaid,
D2, and DOT use content comparison, and PNG uses documented v0.3.0
presence-only freshness. - Threaded text-export freshness through a core dependency seam so
corestays
independent from export packages while the CLI supplies the real Mermaid, D2,
and DOT exporters duringcheck. - Updated CLI text output to report configured artifact failures with
format-specific repair commands and to keepcheckread-only. - Updated public and internal current-state docs, bumped shared DiagramPilot
release metadata to0.2.6, and refreshed checkout demo SVG provenance. - Split configured artifact and check-output tests into focused files to keep
authored test files under the maintainability gate. - Lowered the maintainability file-size gate to 500 LOC and split/refactored
oversized core, test, and website script files so the stricter gate passes.
Validation Results
node scripts/bump-release-version.mjs 0.2.6passed.npm run build && cd demo-projects/checkout && node ../../packages/cli/dist/index.js render docs/architecture.dp.yaml --out docs/architecture.svg
passed and refreshed demo SVG provenance at0.2.6.npm testpassed: 202 tests.node packages/cli/dist/index.js check demo-projects/checkout --jsonpassed
with 1 fresh source and demo SVG provenance version0.2.6.node scripts/check-release-version.mjspassed at0.2.6.npm run check:package-readinesspassed for 7 public packages.node scripts/audit-maintainability-file-sizes.mjspassed with gate500 LOC
and no violations across 83 checked files.git diff --checkpassed.
User-Facing Docs Links
- https://diagrampilot.com/docs/agents/quickstart.md
- https://diagrampilot.com/docs/agents/installation.md
- https://diagrampilot.com/llms.txt
Known Limitations
- Configured PNG freshness is presence-only in v0.3.0. PNG byte or provenance
freshness remains deferred until readable PNG provenance is available. markdownis accepted as a configured output format for the v0.3.0 config
shape, but generated Markdown embed freshness is scoped to issue 71.