mirror of
https://github.com/Fission-AI/OpenSpec.git
synced 2026-09-14 20:16:53 +08:00
4ba26902df
* feat: implement simplified skill installation with profiles and smart defaults Introduces a profile system (core/custom) to reduce the default workflow count from 10 to 4, auto-detects AI tools during init, adds a new `propose` workflow combining new+ff, fixes multi-select keybindings, and adds backwards-compatible migration for existing users. * feat: harden update config drift, command-only detection, and init profile validation Address post-implementation review findings: update now detects profile/delivery drift even when template versions are current, recognizes command-only installs as configured tools, init validates --profile values and applies delivery cleanup on re-init. Specs and design docs updated with new scenarios and rationale. * fix: address AI reviewer feedback on config, detection, and test cleanup - Add error handling for execSync in config profile apply and use static import - Fix config list showing "(explicit)" for core profile workflows misleadingly - Add missing 'openspec-onboard' to SKILL_NAMES for parity with COMMAND_IDS - Remove unused fsSync import in init tests - Fix configTempDir leak in test afterEach cleanup * docs: add qa smoke harness change proposal
1.9 KiB
1.9 KiB
ADDED Requirements
Requirement: Makefile QA Entry Point
The repository SHALL provide Makefile targets as the primary developer entrypoint for CLI QA flows.
Scenario: Default QA target runs smoke suite
- WHEN a developer runs
make qa - THEN the command SHALL execute the non-interactive smoke suite
- AND exit with status code 0 only when all smoke scenarios pass
Scenario: Smoke suite target is directly invokable
- WHEN a developer runs
make qa-smoke - THEN the command SHALL execute the same smoke suite used by
make qa - AND return a non-zero exit code on assertion failure
Scenario: Interactive checklist target exists
- WHEN a developer runs
make qa-interactive - THEN the command SHALL provide the manual interactive verification checklist
- AND SHALL NOT run interactive prompt automation by default
Requirement: Sandboxed Smoke Scenario Runner
The smoke suite SHALL run CLI scenarios in isolated sandboxes so tests are repeatable and do not depend on machine-global state.
Scenario: Scenario execution is environment-isolated
- WHEN a smoke scenario runs
- THEN it SHALL use temporary values for
HOME,XDG_CONFIG_HOME,XDG_DATA_HOME, andCODEX_HOME - AND global config from the host machine SHALL NOT affect scenario outcomes
Scenario: Scenario artifacts are captured for review
- WHEN a smoke scenario completes
- THEN the runner SHALL capture command output and exit status
- AND SHALL capture enough filesystem state to inspect before/after behavior
Scenario: High-risk workflow coverage exists
- WHEN the smoke suite executes
- THEN it SHALL include scenarios covering profile/delivery behavior and migration-sensitive flows
- AND include at least:
- non-interactive tool detection
- migration when profile is unset
- delivery cleanup (
both -> skills,both -> commands) - commands-only update detection