Fix/documentation language consistency - #9
Merged
Conversation
- FrontmatterBuilder → FrontmatterSerializer (reflects actual responsibility) - build_output() class method → serialize() (clearer intent) - builder.py → serializer.py (align module name with class name) - test_builder.py → test_serializer.py (align test file name) - Keep backward-compatible build_output() function wrapper for external usage Improves naming clarity: FrontmatterParser parses YAML, FrontmatterSchema validates, FrontmatterSerializer renders to YAML output. All 12 tests green.
Remove the backward-compatible build_output() wrapper function since: - Internal usage via FrontmatterSerializer.serialize() is clearer - Only used by tests and generator.py (both now migrated) - Reduces surface API to single entry point Changes: - Remove build_output() function from serializer.py - Update exports in __init__.py and artifacts/__init__.py - Migrate all calls to FrontmatterSerializer.serialize() - Update test to check FrontmatterSerializer export - Simplify module docstring All 71 tests green. Static methods remain for true utility functions with no class state involvement.
…rializer - TestBuildOutput → TestFrontmatterSerializer - test_build_output_* → test_serialize_* - Update docstrings to be more descriptive - Module doc: 'Tests for frontmatter builder behavior' → 'Tests for FrontmatterSerializer behavior' All test behavior unchanged; pure renaming for consistency with FrontmatterSerializer API. All 11 tests green.
- All methods: @staticmethod/@classmethod → instance methods - All FrontmatterSerializer._ references → self._ - Updated 11 call sites in test_serializer.py - Updated 2 call sites in generator.py - Behavior unchanged; semantically clearer instance pattern - All 11 serializer tests + 30 artifact generator tests passing
- Created CLIParser class with instance methods: vscode_user_dir(), resolve_targets(), build() - Renamed _vscode_user_dir() → vscode_user_dir() (removed leading underscore) - Updated main.py: instantiate CLIParser() and call instance methods - Updated parser tests to use CLIParser() instances and patch class methods - Updated main tests to patch CLIParser.build and CLIParser.resolve_targets - Updated skills test to verify both AUTO-GENERATED and VSTACK-META footers - All 194 tests passing
- add repo-wide Python docstring guidance to copilot instructions - align docs with code as source of truth for frontmatter and manifest behavior - complete CommandLineParser rename across code and tests - improve public Python docstrings toward PEP 257, PEP 287, and selective Google-style sections - fix install/verify metadata drift for skipped artifacts with stale footer versions - add focused tests to preserve 100 percent coverage - include regenerated .github/vstack.json manifest
- improve README structure and correct non-PyPI distribution guidance - move gstack attribution lower in the README and link to the upstream repo - add repo-wide Markdown documentation style guidance for Mermaid vs ASCII usage - modernize architecture, workflow, and design docs with Mermaid flow diagrams - keep repository and directory structure views as ASCII text where more readable
- add a shared diagram convention to the skill context partial - replace explicit ASCII-first guidance in architecture, vision, design, and explore templates - keep ASCII as a fallback and for scan-friendly tree structures - bump skill artifact versions so downstream installs receive the convention update - regenerate .github skill artifacts and manifest from the updated templates
- add assets/branding/ with light and dark wordmark PNGs - use picture element with prefers-color-scheme for automatic light/dark switching - center logo and badges together in a single div block
- move commit and branch policy to cchk.toml - add local pre-commit hooks for commit-msg and pre-push checks - remove hard CI scope allowlist enforcement - update changelog 1.2.0 to reflect policy changes
Contributor
There was a problem hiding this comment.
Pull request overview
This PR consolidates a broad set of refactors and documentation updates across vstack’s CLI/runtime, artifact generation (frontmatter + provenance metadata), commit-policy automation, and repo documentation/templates.
Changes:
- Refactors CLI parsing/dispatch and enhances install/verify with manifest-aware provenance checks via a new
VSTACK-METAfooter. - Replaces the old frontmatter builder with
FrontmatterSerializer, updates schema validation helpers, and aligns tests accordingly. - Updates templates and docs toward Mermaid-first diagrams, adds commit/branch policy config (
cchk.toml) + new commit workflow, and refreshes generated.github/*artifacts.
Reviewed changes
Copilot reviewed 156 out of 160 changed files in this pull request and generated 7 comments.
Show a summary per file
| File | Description |
|---|---|
| tests/vstack/test_models.py | Updates test module docstring wording for consistency. |
| tests/vstack/test_main.py | Updates docstrings and adapts tests to CommandLineParser-based parser build/target resolution. |
| tests/vstack/test_constants.py | Updates test module docstring wording for consistency. |
| tests/vstack/test___main__.py | Updates test module docstring wording for consistency. |
| tests/vstack/test___init__.py | Updates test module docstring wording for consistency. |
| tests/vstack/skills/test_templates.py | Adjusts generated-skill footer assertions for new VSTACK-META metadata. |
| tests/vstack/skills/test_models.py | Updates test module docstring wording for consistency. |
| tests/vstack/skills/test_generator.py | Updates test module docstring wording for consistency. |
| tests/vstack/skills/test_constants.py | Updates test module docstring wording for consistency. |
| tests/vstack/skills/test_config.py | Updates test module docstring wording for consistency. |
| tests/vstack/skills/test___init__.py | Updates test module docstring wording for consistency. |
| tests/vstack/prompts/test_generator.py | Updates test module docstring wording for consistency. |
| tests/vstack/instructions/test_generator.py | Updates test module docstring wording for consistency. |
| tests/vstack/frontmatter/test_serializer.py | Migrates tests from build_output to FrontmatterSerializer and adds serializer behavior coverage. |
| tests/vstack/frontmatter/test_schema.py | Adds schema validation coverage for object-list mappings without item schema. |
| tests/vstack/frontmatter/test_parser.py | Updates test module docstring wording for consistency. |
| tests/vstack/frontmatter/test___init__.py | Updates re-export tests to expect FrontmatterSerializer instead of build_output. |
| tests/vstack/cli/test_parser.py | Migrates CLI parser tests to CommandLineParser instance methods. |
| tests/vstack/cli/test_manifest.py | Updates test module docstring wording for consistency. |
| tests/vstack/cli/test_integration_runtime.py | Updates test module docstring wording for consistency. |
| tests/vstack/cli/test_constants.py | Updates test module docstring wording for consistency. |
| tests/vstack/cli/test_commands.py | Adds tests for manifest preservation/provenance verification and updates docstrings/test doubles. |
| tests/vstack/cli/test___init__.py | Updates test module docstring wording for consistency. |
| tests/vstack/artifacts/test_protocol.py | Updates docstrings for clarity and consistency. |
| tests/vstack/artifacts/test_models.py | Updates test module docstring wording for consistency. |
| tests/vstack/artifacts/test_generator.py | Adds coverage for VSTACK-META emission/parsing behavior in generated artifacts. |
| tests/vstack/artifacts/test_constants.py | Updates test module docstring wording for consistency. |
| tests/vstack/artifacts/test_config.py | Updates test module docstring wording for consistency. |
| tests/vstack/artifacts/test___init__.py | Updates test module docstring wording for consistency. |
| tests/vstack/agents/test_template_config_style.py | Updates test module docstring wording for consistency. |
| tests/vstack/agents/test_generator.py | Updates test module docstring wording for consistency. |
| tests/vstack/agents/test_generation.py | Updates test module docstring wording for consistency. |
| tests/vstack/agents/test_constants.py | Updates test module docstring wording for consistency. |
| tests/vstack/agents/test_config.py | Updates test module docstring wording for consistency. |
| tests/vstack/agents/test___init__.py | Updates test module docstring wording for consistency. |
| tests/conftest.py | Updates conftest module docstring wording for consistency. |
| src/vstack/skills/models.py | Clarifies module purpose as backward-compatible exports. |
| src/vstack/skills/generator.py | Improves docstrings for the skill generator wrapper. |
| src/vstack/skills/constants.py | Clarifies skill constants module purpose. |
| src/vstack/prompts/generator.py | Improves docstrings for the prompt generator wrapper. |
| src/vstack/prompts/constants.py | Clarifies prompt constants module purpose. |
| src/vstack/prompts/config.py | Clarifies prompt artifact config module purpose. |
| src/vstack/models.py | Improves docstrings for shared validation result models. |
| src/vstack/main.py | Refactors CLI entrypoint to use CommandLineParser and improves documentation. |
| src/vstack/instructions/generator.py | Improves docstrings for the instruction generator wrapper. |
| src/vstack/instructions/constants.py | Clarifies instruction constants module purpose. |
| src/vstack/instructions/config.py | Clarifies instruction artifact config module purpose. |
| src/vstack/frontmatter/serializer.py | Introduces FrontmatterSerializer to replace the old builder path. |
| src/vstack/frontmatter/schema.py | Refactors schema validation into helper methods; adds clearer type-specific checks. |
| src/vstack/frontmatter/parser.py | Refactors parser block-flush logic into helper methods for maintainability. |
| src/vstack/frontmatter/builder.py | Removes legacy build_output builder implementation. |
| src/vstack/frontmatter/init.py | Updates exports to provide FrontmatterSerializer (and removes build_output). |
| src/vstack/constants.py | Clarifies module purpose docstring. |
| src/vstack/cli/parser.py | Refactors CLI parsing/target resolution into CommandLineParser class. |
| src/vstack/cli/manifest.py | Expands/clarifies manifest models and serialization docs. |
| src/vstack/cli/constants.py | Clarifies module purpose docstring. |
| src/vstack/cli/commands.py | Adds manifest-aware expected output resolution and manifest-linked footer metadata verification. |
| src/vstack/artifacts/generator.py | Adds VSTACK-META footer emission + parsing; switches to FrontmatterSerializer. |
| src/vstack/artifacts/config.py | Clarifies manifest_key defaulting behavior in docstring. |
| src/vstack/artifacts/init.py | Updates exports to reflect serializer migration. |
| src/vstack/agents/generator.py | Improves docstrings for agent generator wrapper. |
| src/vstack/agents/constants.py | Clarifies agent constants module purpose. |
| src/vstack/_templates/skills/vision/template.md | Updates diagram guidance to prefer Mermaid with ASCII fallback. |
| src/vstack/_templates/skills/vision/config.yaml | Bumps skill version. |
| src/vstack/_templates/skills/verify/config.yaml | Bumps skill version. |
| src/vstack/_templates/skills/security/config.yaml | Bumps skill version. |
| src/vstack/_templates/skills/requirements/config.yaml | Bumps skill version. |
| src/vstack/_templates/skills/release-notes/config.yaml | Bumps skill version. |
| src/vstack/_templates/skills/refactor/config.yaml | Bumps skill version. |
| src/vstack/_templates/skills/pr/config.yaml | Bumps skill version. |
| src/vstack/_templates/skills/performance/config.yaml | Bumps skill version. |
| src/vstack/_templates/skills/openapi/config.yaml | Bumps skill version. |
| src/vstack/_templates/skills/onboard/config.yaml | Bumps skill version. |
| src/vstack/_templates/skills/migrate/config.yaml | Bumps skill version. |
| src/vstack/_templates/skills/inspect/config.yaml | Bumps skill version. |
| src/vstack/_templates/skills/incident/config.yaml | Bumps skill version. |
| src/vstack/_templates/skills/guardrails/config.yaml | Bumps skill version. |
| src/vstack/_templates/skills/explore/template.md | Replaces ASCII diagram example prompt with Mermaid-first guidance. |
| src/vstack/_templates/skills/explore/config.yaml | Bumps skill version. |
| src/vstack/_templates/skills/docs/config.yaml | Bumps skill version. |
| src/vstack/_templates/skills/design/template.md | Replaces ASCII ER example with Mermaid ER diagram example. |
| src/vstack/_templates/skills/design/config.yaml | Bumps skill version. |
| src/vstack/_templates/skills/dependency/config.yaml | Bumps skill version. |
| src/vstack/_templates/skills/debug/config.yaml | Bumps skill version. |
| src/vstack/_templates/skills/container/config.yaml | Bumps skill version. |
| src/vstack/_templates/skills/consult/config.yaml | Bumps skill version. |
| src/vstack/_templates/skills/concise/config.yaml | Bumps skill version. |
| src/vstack/_templates/skills/code-review/config.yaml | Bumps skill version. |
| src/vstack/_templates/skills/cicd/config.yaml | Bumps skill version. |
| src/vstack/_templates/skills/architecture/template.md | Updates diagram guidance to Mermaid-first with ASCII fallback and replaces ASCII diagram block with Mermaid. |
| src/vstack/_templates/skills/architecture/config.yaml | Bumps skill version. |
| src/vstack/_templates/skills/analyse/config.yaml | Bumps skill version. |
| src/vstack/_templates/skills/adr/config.yaml | Bumps skill version. |
| src/vstack/_templates/skills/_partials/skill-context.md | Adds a shared Mermaid-first “Diagram Convention” section for skills. |
| src/vstack/_templates/instructions/python/template.md | Rewords “repository” → “project” for broader applicability. |
| src/vstack/_templates/instructions/python/config.yaml | Updates description wording and bumps instruction version. |
| src/vstack/_templates/instructions/git/template.md | Adds a new Git/release hygiene instruction template. |
| src/vstack/_templates/instructions/git/config.yaml | Adds config for the new git instruction. |
| src/vstack/main.py | Updates module docstring wording for consistency. |
| docs/product/requirements.md | Adds ownership/last-updated metadata and clarifies ownership language. |
| docs/design/workflow.md | Documents repo automation and modernizes diagrams to Mermaid. |
| docs/design/skills.md | Adds policy/procedure boundary rule and modernizes language. |
| docs/design/instructions.md | Adds new design doc explaining instructions and policy/procedure boundary. |
| docs/design/design.md | Updates generator design diagrams and documents new serializer + VSTACK-META footer. |
| docs/architecture/architecture.md | Updates structure docs and modernizes execution model diagrams to Mermaid. |
| docs/architecture/adr/013-instructions-vs-skills-boundary.md | Adds ADR defining policy vs procedure boundary. |
| cchk.toml | Introduces centralized commit and branch policy configuration. |
| README.md | Refreshes branding, quickstart, conceptual model, and Mermaid-first docs alignment. |
| CONTRIBUTING.md | Updates commit/branch policy documentation to reflect Conventional Commits and CI enforcement. |
| CHANGELOG.md | Adds a new 1.2.0 entry describing the consolidated changes. |
| .pre-commit-config.yaml | Adds local commit-check hooks for commit-msg and pre-push validation. |
| .github/workflows/verify.yml | Makes Poetry venv location deterministic via POETRY_VIRTUALENVS_IN_PROJECT. |
| .github/workflows/release.yml | Migrates SemVer computation action and tightens tag policy behavior. |
| .github/workflows/qa.yml | Adds comments and makes Poetry venv location deterministic. |
| .github/workflows/commit.yml | Adds a new workflow to validate commit/branch policy on non-main pushes. |
| .github/vstack.json | Refreshes generated install manifest with updated artifact versions/types. |
| .github/skills/vision/SKILL.md | Regenerated skill artifact: adds diagram convention + VSTACK-META footer. |
| .github/skills/verify/SKILL.md | Regenerated skill artifact: adds diagram convention + VSTACK-META footer. |
| .github/skills/unfreeze/SKILL.md | Removes stale generated skill artifact. |
| .github/skills/security/SKILL.md | Regenerated skill artifact: adds diagram convention + VSTACK-META footer. |
| .github/skills/requirements/SKILL.md | Regenerated skill artifact: adds diagram convention + VSTACK-META footer. |
| .github/skills/release-notes/SKILL.md | Regenerated skill artifact: adds diagram convention + VSTACK-META footer. |
| .github/skills/refactor/SKILL.md | Regenerated skill artifact: adds diagram convention + VSTACK-META footer. |
| .github/skills/pr/SKILL.md | Regenerated skill artifact: adds diagram convention + VSTACK-META footer. |
| .github/skills/performance/SKILL.md | Regenerated skill artifact: adds diagram convention + VSTACK-META footer. |
| .github/skills/openapi/SKILL.md | Regenerated skill artifact: adds diagram convention + VSTACK-META footer. |
| .github/skills/onboard/SKILL.md | Regenerated skill artifact: adds diagram convention + VSTACK-META footer. |
| .github/skills/migrate/SKILL.md | Regenerated skill artifact: adds diagram convention + VSTACK-META footer. |
| .github/skills/freeze/SKILL.md | Removes stale generated skill artifact. |
| .github/skills/explore/SKILL.md | Regenerated skill artifact: adds diagram convention + Mermaid-first guidance + VSTACK-META footer. |
| .github/skills/docs/SKILL.md | Regenerated skill artifact: adds diagram convention + VSTACK-META footer. |
| .github/skills/design/SKILL.md | Regenerated skill artifact: adds diagram convention + Mermaid ER example + VSTACK-META footer. |
| .github/skills/dependency/SKILL.md | Regenerated skill artifact: adds diagram convention + VSTACK-META footer. |
| .github/skills/debug/SKILL.md | Regenerated skill artifact: adds diagram convention + VSTACK-META footer. |
| .github/skills/container/SKILL.md | Regenerated skill artifact: adds diagram convention + VSTACK-META footer. |
| .github/skills/consult/SKILL.md | Regenerated skill artifact: adds diagram convention + VSTACK-META footer. |
| .github/skills/concise/SKILL.md | Regenerated skill artifact: adds diagram convention + VSTACK-META footer. |
| .github/skills/code-review/SKILL.md | Regenerated skill artifact: adds diagram convention + VSTACK-META footer. |
| .github/skills/cicd/SKILL.md | Regenerated skill artifact: adds diagram convention + VSTACK-META footer. |
| .github/skills/architecture/SKILL.md | Regenerated skill artifact: adds diagram convention + Mermaid diagrams + VSTACK-META footer. |
| .github/skills/analyse/SKILL.md | Regenerated skill artifact: adds diagram convention + VSTACK-META footer. |
| .github/skills/adr/SKILL.md | Regenerated skill artifact: adds diagram convention + VSTACK-META footer. |
| .github/prompts/code-review.prompt.md | Regenerated prompt artifact: appends VSTACK-META footer. |
| .github/instructions/python.instructions.md | Regenerated instruction artifact: updated description + VSTACK-META footer. |
| .github/instructions/git.instructions.md | Adds regenerated git instruction artifact + VSTACK-META footer. |
| .github/dependabot.yml | Adds Dependabot config for pip and GitHub Actions ecosystems. |
| .github/copilot-instructions.md | Adds repo-wide Markdown documentation style and Python docstring style guidance. |
| .github/agents/tester.agent.md | Regenerated agent artifact: formatting tweaks + VSTACK-META footer. |
| .github/agents/release.agent.md | Regenerated agent artifact: formatting tweaks + VSTACK-META footer. |
| .github/agents/product.agent.md | Regenerated agent artifact: formatting tweaks + VSTACK-META footer. |
| .github/agents/engineer.agent.md | Regenerated agent artifact: formatting tweaks + VSTACK-META footer. |
| .github/agents/designer.agent.md | Regenerated agent artifact: formatting tweaks + VSTACK-META footer. |
| .github/agents/architect.agent.md | Regenerated agent artifact: formatting tweaks + VSTACK-META footer. |
- fix relative markdown links under docs/design to resolve correctly on GitHub - update CONTRIBUTING commit-scope wording to match cchk.toml enforcement model - strengthen generated skill footer test to assert footer structure at end-of-file
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.
Summary
This PR is a broad branch consolidation that includes CLI/runtime refactors, frontmatter serializer migration, testing alignment, documentation updates, generated artifact refreshes, branding updates, and commit-policy workflow improvements.
Key outcomes:
Scope of change:
Related Issues
No linked issue.
Validation
Local verification performed:
Release Impact
feat:(minor)fix:(patch)BREAKING CHANGE(major)