Link all specs to core feature issues + add unit tests and docs#121
Merged
corvid-agent merged 7 commits intomainfrom Apr 7, 2026
Merged
Link all specs to core feature issues + add unit tests and docs#121corvid-agent merged 7 commits intomainfrom
corvid-agent merged 7 commits intomainfrom
Conversation
Add 35 unit tests for ai.rs covering safe_truncate, command_for_provider, ResolvedProvider Display, postprocess_spec, build_prompt, build_regen_prompt, and resolve_ai_provider. Add 25 unit tests for generator.rs covering detect_primary_language, language_template selection, generate_spec, companion file generation, and find_files_for_module. Update docs: - configuration.md: document 11 missing config options (aiProvider, aiModel, aiApiKey, aiBaseUrl, exportLevel, modules, rules, taskArchiveDays, github), add validation rules and GitHub config sections - architecture.md: add 9 missing modules to source layout (hash_cache, registry, manifest, schema, merge, archive, compact, view, github), add php/ruby exporters, update dependency table - cli.md: expand --provider docs with provider table, update flag description Closes #110 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Cover all public API: HookTarget enum methods (all, name, description, from_str with aliases and case insensitivity), is_installed detection for all 6 targets, install_hook (create, append, idempotent, merge JSON, Unix permissions), uninstall_hook (remove section, preserve other content, refuse Claude Code hook removal), and remove_section_from_file (empty file deletion, marker boundary, section-aware stop at next heading). Full suite: 283 unit + 80 integration = 363 total tests. Closes #112 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Adds tracks fields to 7 specs, connecting them to their corresponding open issues for full traceability dogfooding of spec-sync's own issue linking feature. - ai.spec.md → #110 (unit tests) - hooks.spec.md → #112 (unit tests) - mcp.spec.md → #113 (unit tests) - watch.spec.md → #114 (unit tests) - github.spec.md → #97 (external importers) - merge.spec.md → #98 (merge conflict handling) - generator.spec.md → #99 (interactive wizard) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Fix resolve_ai_provider to check command_for_provider before binary availability, so Cursor returns its specific "no CLI pipe mode" error instead of a generic "not installed" message - Apply cargo fmt to all test code in ai.rs, config.rs, and hooks.rs Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Previously, specs were either unlinked or pointed at unit test tickets (#109-#114). Now every spec tracks the GitHub issue that defines its core feature. Created 4 new tracking issues for foundational modules (parser #117, types #118, validator #119, cli #120). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
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
tracksfrontmatter — previously some specs pointed at test coverage tickets instead of feature issues, and 14 specs had notracksfield at allcoretracking issues (core: parser module — spec file parsing and frontmatter extraction #117–core: CLI module — command-line interface and argument parsing #120) for foundational modules (parser, types, validator, cli) that had no existing feature tickethooks.rs,ai.rs, andgenerator.rsSpec → Issue Mapping
All 21 specs now link to their core feature issue:
Test plan
bun run spec:checkpasses🤖 Generated with Claude Code