--- name: obsidian-test-vault-smoke description: Validate Personal Assistant runtime and UI changes in the repo-local Obsidian test vault. Use for app smoke, desktop interaction, and general mobile validation with Obsidian CLI mobile simulator. Real-device iPhone validation uses obsidian-ios-real-device-smoke only for an explicit user request or a verified iOS-specific capability. --- # Obsidian Test Vault Smoke ## Core Rules - Do not claim Obsidian validation without deploying the current build to `test/` and observing the affected behavior in the running app. - Treat Jest, lint, type-check, build, and source scans as implementation validation, not app smoke. - Require visible-window interaction for UI/UX PASS; CLI, DOM, and screenshots support the finding but do not replace real interaction. - Use `obsidian vault=test ` for every Obsidian CLI call. `vault=test` must precede the command. - Choose the lightest tier that covers the changed surface. - Follow the mobile environment rule in `AGENTS.md` before choosing a smoke skill. Use this skill for general mobile validation with CLI mobile simulator; a tool failure does not create a real-device requirement. ## Scope Freeze And Evidence Reuse Before an expensive gate or app interaction: 1. Classify the latest runtime delta as `code-only`, `runtime`, `visual/layout`, `interaction/state`, or `release/broad`. 2. Freeze the observable target. For screenshot-led UI work, state direction, order, spacing, viewport, and interaction expectations in testable terms. Ask one product question before deployment if the target is ambiguous. 3. Map changed surfaces to the minimum evidence. Mark unaffected surfaces `SKIP`; do not run full Pagelet, provider, or cross-surface flows for a geometry-only change. 4. Reuse automated checks under `AGENTS.md` **Validation Planning And Reuse**, verifying relevant source/tests/fixtures/config and build inputs/results. Reuse observed app smoke when its runtime/assets, target vault state, loaded build, and acceptance conditions are verifiably unchanged. A new turn alone does not invalidate it. Changed or unknown relevant state requires only the affected proof; docs/evidence-only edits do not invalidate runtime smoke unless they change its acceptance conditions. 5. Freeze runtime files before `make deploy`. If they change afterward, rerun only the affected validation gate and app proof. Stop when every frozen acceptance check has current deployed evidence. Do not add adjacent gestures, orientations, provider calls, or unrelated surfaces solely to strengthen an already sufficient proof. ## Validation Gate Satisfy the complete **Local Validation Gate** from repo-root `AGENTS.md` before app smoke. Reuse checks covered by the selected enclosing gate with verified inputs/results: the production build covers type-checking and full Jest covers the focused suites it includes. Supplement remaining checks, including the runtime `