Reframe SpecFact around validation evidence and AI-bloat defense#604
Conversation
Co-authored-by: Dominikus Nold <djm81@users.noreply.github.com>
…g migration to module
* refactor: remove backlog ownership from core cli * fix: align CI marketplace validation paths * test: stabilize command audit validation and add command-surface change --------- Co-authored-by: Dominikus Nold <djm81@users.noreply.github.com>
# Conflicts: # openspec/CHANGE_ORDER.md # openspec/changes/module-migration-10-bundle-command-surface-alignment/proposal.md
* fix: finalize cli runtime validation regressions * test: align satisfied dependency logging assertions --------- Co-authored-by: Dominikus Nold <djm81@users.noreply.github.com>
* feat: add OpenSpec change for backlog-core commands migration Change: backlog-02-migrate-core-commands - Add proposal, design, tasks, specs - Add TDD_EVIDENCE.md with implementation progress - GitHub Issue: #389 Rules applied: AGENTS.md Git Worktree Policy, TDD Hard Gate Made-with: Cursor * docs: update TDD_EVIDENCE and tasks for quality gate results Made-with: Cursor * docs: update TDD_EVIDENCE with test fix results Made-with: Cursor * docs: update TDD_EVIDENCE with all test fixes complete Made-with: Cursor --------- Co-authored-by: Dominikus Nold <djm81@users.noreply.github.com>
* fix: use POST instead of PATCH for ADO work item creation Azure DevOps API requires POST (not PATCH) for creating work items. Also fixed category grouping to always register group commands. Made-with: Cursor * docs: add changelog entry for ADO POST fix Made-with: Cursor * chore: bump version to 0.40.4 Made-with: Cursor * fix: update test mocks from PATCH to POST for ADO create - Reverted incorrect unconditional _mount_installed_category_groups call - Updated test_create_issue mocks to use requests.post instead of requests.patch Made-with: Cursor * test: skip category group test when bundles not installed The test_bootstrap_with_category_grouping_disabled_registers_flat_commands test expects bundles like specfact-codebase to be installed, but in CI they may not be. Added pytest.skip() when 'code' command is not available. Made-with: Cursor --------- Co-authored-by: Dominikus Nold <djm81@users.noreply.github.com>
- Archived backlog-02-migrate-core-commands change - Updated CHANGE_ORDER.md with implementation status - Updated main specs with backlog-add, backlog-analyze-deps, backlog-delta, backlog-sync, backlog-verify-readiness Made-with: Cursor
* feat: document code-review module scaffold * chore: sync 0.41.0 release version artifacts --------- Co-authored-by: Dominikus Nold <djm81@users.noreply.github.com>
Signed-off-by: Dom <39115308+djm81@users.noreply.github.com>
* Realign code import ownership surface * Harden temp registry command audit test --------- Signed-off-by: Dom <39115308+djm81@users.noreply.github.com> Co-authored-by: Dominikus Nold <djm81@users.noreply.github.com>
Link the existing change issue, record TDD evidence, and align the OpenSpec artifacts with the bundle-owned DDL and paired worktree implementation flow. Made-with: Cursor Co-authored-by: Dominikus Nold <djm81@users.noreply.github.com>
Made-with: Cursor Co-authored-by: Dominikus Nold <djm81@users.noreply.github.com>
* Track house-rules skill OpenSpec changes Made-with: Cursor * Cursor: Apply local changes for cloud agent --------- Co-authored-by: Dominikus Nold <djm81@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Dom <39115308+djm81@users.noreply.github.com>
* Add clean code cleanup docs change * docs: position SpecFact as AI-bloat defense CLI * docs: address PR review wording --------- Co-authored-by: Dominikus Nold <djm81@users.noreply.github.com>
Co-authored-by: Dominikus Nold <djm81@users.noreply.github.com>
|
Strix is installed on this repository, but we could not run this PR security review because this workspace does not have an active plan. If you'd like to continue receiving code reviews, you can add a payment method or manage billing here. |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (15)
✅ Files skipped from review due to trivial changes (6)
🚧 Files skipped from review as they are similar to previous changes (6)
📜 Recent review details⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
🧰 Additional context used📓 Path-based instructions (5)**/*.{md,mdc}📄 CodeRabbit inference engine (.cursor/rules/markdown-rules.mdc)
Files:
**/*.md📄 CodeRabbit inference engine (.cursorrules)
Files:
openspec/**/{proposal.md,tasks.md,design.md,spec.md}📄 CodeRabbit inference engine (.cursor/rules/automatic-openspec-workflow.mdc)
Files:
openspec/**/*.md⚙️ CodeRabbit configuration file
Files:
openspec/changes/**/*.md📄 CodeRabbit inference engine (.cursorrules)
Files:
🧠 Learnings (17)📓 Common learnings📚 Learning: 2026-04-10T22:41:54.436ZApplied to files:
📚 Learning: 2026-04-10T22:42:04.372ZApplied to files:
📚 Learning: 2026-04-10T22:41:19.090ZApplied to files:
📚 Learning: 2026-04-10T22:41:54.436ZApplied to files:
📚 Learning: 2026-04-10T22:41:19.090ZApplied to files:
📚 Learning: 2026-03-25T21:32:57.944ZApplied to files:
📚 Learning: 2026-04-10T22:41:54.436ZApplied to files:
📚 Learning: 2026-03-25T21:33:15.296ZApplied to files:
📚 Learning: 2026-04-10T22:41:54.436ZApplied to files:
📚 Learning: 2026-04-10T22:41:54.436ZApplied to files:
📚 Learning: 2026-04-10T22:41:19.090ZApplied to files:
📚 Learning: 2026-03-25T21:32:08.987ZApplied to files:
📚 Learning: 2026-03-25T21:32:08.987ZApplied to files:
📚 Learning: 2026-03-25T21:32:08.987ZApplied to files:
📚 Learning: 2026-03-25T21:32:08.987ZApplied to files:
📚 Learning: 2026-04-10T22:41:54.436ZApplied to files:
🔀 Multi-repo context nold-ai/specfact-cli-modulesLinked repositories findingsnold-ai/specfact-cli-modules
Direct impact summary / risks to verify
If you want, I can:
🔇 Additional comments (3)
📝 WalkthroughWalkthroughThis PR adds OpenSpec workflow playbooks (create/validate), rewrites roadmap and integration contracts, narrows multiple proposals toward validation-evidence/adapter semantics, parks intent-skill work, and adds many specification documents for CLI behavior, module lifecycle, dependency/security gates, telemetry, and write-safety. ChangesOpenSpec Workflow & Governance
Validation Evidence Spine
Feature Scope Reframes
Specification additions and edits
Estimated code review effort 🎯 3 (Moderate) | ⏱️ ~25 minutes Possibly related issues
Possibly related PRs
✨ Finishing Touches🧪 Generate unit tests (beta)
|
SpecFact CLI Validation Report✅ All validations passed! |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: bd26c1fa0e
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
SpecFact CLI Validation Report✅ All validations passed! |
There was a problem hiding this comment.
Actionable comments posted: 17
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (2)
openspec/changes/validation-02-full-chain-engine/tasks.md (1)
3-32: 🛠️ Refactor suggestion | 🟠 Major | ⚡ Quick winTask checklist is missing required workflow guardrails.
This tasks file omits required implementation-plan items that your OpenSpec workflow expects (explicit
hatch env create, pre-flight status checks, and final worktree cleanup/module-signing closure tasks). Without them, execution can drift from the enforced delivery contract.Based on learnings: “When creating implementation plans, task lists, or OpenSpec tasks.md, ALWAYS explicitly verify and include: (1) Worktree creation from
origin/dev, (2)hatch env create, (3) pre-flight checks, (4) worktree cleanup steps post-merge.”🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@openspec/changes/validation-02-full-chain-engine/tasks.md` around lines 3 - 32, Update the tasks checklist in openspec/changes/validation-02-full-chain-engine/tasks.md to add the missing workflow guardrails: under "1. Branch and dependency guardrails" add an explicit item to create the worktree from origin/dev (e.g., `scripts/worktree.sh create ...` referencing the existing 1.1), add a top-level pre-implementation step for `hatch env create` (can be placed in section 2 or as a new 0.x pre-flight block), insert pre-flight status checks (validate branch, CI, and dependency prerequisites) before implementation (referencing the 2.x test-prep area), and add post-delivery cleanup and module-signing/closure tasks (worktree cleanup, branch deletion, and module-signing confirmation) in section 5 so the plan enforces creation, environment setup, pre-flight checks, and final cleanup/signing.Source: Learnings
openspec/changes/dogfooding-01-full-chain-e2e-proof/tasks.md (1)
3-26:⚠️ Potential issue | 🟠 Major | ⚡ Quick winAdd the required worktree pre-flight and cleanup gates to the task plan.
This checklist omits required execution gates (env bootstrap, pre-flight status checks, and cleanup/self-check), so implementers can run the flow in an inconsistent state and miss required quality evidence.
Proposed task patch
## 1. Branch and proof setup - [ ] 1.1 Create dedicated worktree branch `feature/dogfooding-01-full-chain-e2e-proof` from `dev`: `scripts/worktree.sh create feature/dogfooding-01-full-chain-e2e-proof`. +- [ ] 1.1.1 Run `hatch env create` inside the worktree. +- [ ] 1.1.2 Run pre-flight checks: `hatch run smart-test-status` and `hatch run contract-test-status`. - [ ] 1.2 Select and document the canonical PR or demo repository slice for proof. - [ ] 1.3 Capture the baseline command sequence, JSON output path, and evidence comparison criteria. @@ ## 4. Delivery @@ - [ ] 4.3 Open PR to `dev` with dogfooding evidence package. +- [ ] 4.4 Run worktree cleanup after merge and record completion. +- [ ] 4.5 Add explicit self-check note: AGENTS.md Git Worktree Policy complied.Based on learnings: task plans must explicitly include worktree creation/usage gates,
hatch env create,smart-test-status,contract-test-status, and cleanup/self-check steps.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@openspec/changes/dogfooding-01-full-chain-e2e-proof/tasks.md` around lines 3 - 26, The checklist is missing pre-flight/bootstrap and cleanup gates; update the tasks in sections 1–4 (e.g., around items 1.1, 2.1, 3.1, 4.2) to explicitly run and validate: worktree pre-flight (create/select/verify branch/worktree), env bootstrap via hatch env create, pre-run status checks smart-test-status and contract-test-status before tests/evidence generation, and a post-run cleanup/self-check step that validates artifacts and tears down environments; add these steps as required gates in the relevant numbered tasks so the flow cannot proceed without passing each gate.Sources: Coding guidelines, Learnings
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In @.agents/skills/openspec-workflows/references/create-change-from-plan.md:
- Around line 284-303: The unlabeled fenced code block containing the change
metadata (the block beginning with "Change ID: <change-id>" and the subsequent
YAML-like fields) must include a language identifier to satisfy MD040; update
that block to use an appropriate language tag (e.g., add "yaml" after the
opening backticks so it reads as a YAML fenced block) so the markdown linter
recognizes the language for the example.
- Around line 151-153: Replace the existing venv bootstrap step ("1.1.4 Create a
virtual environment: `python -m venv .venv && source .venv/bin/activate && pip
install -e \"[dev]\"`") with the AGENTS-compliant Hatch bootstrap and pre-flight
checks: run `hatch env create` followed by `hatch run smart-test-status` and
`hatch run contract-test-status`, and update any generated task output (e.g.,
the tasks.md sequence produced by this workflow) to reflect those Hatch commands
instead of the python venv commands so the workflow and worktree flow (hatch env
create → hatch run smart-test-status → hatch run contract-test-status) are
enforced.
In @.agents/skills/openspec-workflows/references/validate-change.md:
- Around line 147-159: The two unlabeled fenced code blocks showing the "Change
Validation Report: <change-id>" example and the second example (the block
starting with the same "Change Validation Report" content around the later
example) must include a language label to satisfy MD040; update each opening
fence from "```" to a labeled fence such as "```text" (or a more specific
language like "```yaml" if appropriate) so both fenced blocks are annotated and
pass markdown-lint checks.
- Around line 37-39: Update the "Check change status" step so it does not
require status "done" for proposal-stage validation: modify the guidance around
the openspec command (openspec status --change "<change-id>" --json) to verify
that the change and required artifacts exist and are not in an error/rejected
state, but do not insist the status equals "done"; adjust the text under the
"Check change status" heading to accept in-progress statuses (e.g., "proposed",
"in-review") and only fail on missing or explicitly rejected statuses.
In `@openspec/changes/ai-integration-02-mcp-server/design.md`:
- Around line 43-44: The dependency summary line uses shorthand labels; replace
them with the canonical change IDs used elsewhere: use
ai-integration-01-agent-skill, governance-01-evidence-output, and
validation-02-full-chain-engine (instead of governance-01 and validation-02 user
pull) so tooling and ordering consume stable identifiers; update the dependency
summary text in design.md to list those exact canonical IDs.
In
`@openspec/changes/archive/2026-06-06-marketplace-07-module-install-state-consistency/specs/module-installation/spec.md`:
- Line 60: The file contains a duplicate second-level heading "## ADDED
Requirements" (the same text appears at Line 1 and Line 60), triggering
markdownlint MD024; to fix it, either remove or merge the duplicate heading into
the existing "## ADDED Requirements" section or rename the second occurrence to
a unique title (e.g., "## Additional Requirements" or "## ADDED - Supplemental
Requirements") so that only one identical H2 remains; update any surrounding
content to reflect the chosen merge/rename so the section flow remains correct.
In `@openspec/changes/validation-02-full-chain-engine/proposal.md`:
- Around line 39-41: The proposal weakens a required compatibility alias by
changing `--full-chain` to "MAY expose", which breaks existing tests/docs that
still use `--full-chain`; update the wording so `--full-chain` remains a
REQUIRED transition contract (e.g., change back to "SHALL expose a compatibility
alias `--full-chain`") and clarify that the internal implementation and evidence
schema still use validation graph terminology, ensuring consumers, tests, and
downstream docs keep supporting the `--full-chain` CLI alias while allowing
internal terminology to be validation graph-based.
In `@openspec/specs/call-graph-analysis/spec.md`:
- Line 8: Update the call-graph spec text to match the actual dependency
license: replace occurrences that state `pycg` is "MIT-licensed" or describe the
call-graph capability as provided by `pycg (MIT)" with "Apache-2.0" so the spec
aligns with `pyproject.toml` which pins `pycg==0.0.7` under Apache-2.0; search
for the literal `pycg` mentions in the spec (including the sentence beginning
with "The system SHALL provide optional call-graph analysis..." and the later
phrase that currently annotates `pycg` as MIT) and change the license token to
`Apache-2.0`.
In `@openspec/specs/command-package-runtime-validation/spec.md`:
- Around line 124-131: The spec for pipx stale-launcher repair is duplicated
under command-package-runtime-validation but missing from the upgrade-command
spec, causing contract drift; consolidate the behavior by moving or copying the
"Pipx upgrade validates and repairs stale launcher" scenario (the steps invoking
`specfact upgrade`, `pipx upgrade specfact-cli`, the fallback `pipx reinstall
specfact-cli`, and revalidation of `specfact --version`) into
openspec/specs/upgrade-command/spec.md (or ensure upgrade-command includes an
equivalent scenario) so the upgrade-command spec owns this recovery path and
both specs reference the same authoritative scenario text.
In `@openspec/specs/cross-change-integration-contract/spec.md`:
- Line 4: Replace the placeholder "TBD - created by archiving change
integration-01-cross-change-contracts. Update Purpose after archive." with a
finalized Purpose paragraph for the cross-change-integration-contract spec:
update the top-level "Purpose" section to clearly state the contract's intent,
scope, expected consumers (e.g., repo/tooling modules), and desired semantic
guarantees (e.g., deterministic interpretation across repos, backward
compatibility expectations), and ensure the new Purpose text is concise,
canonical, and unambiguous so downstream implementers and parsers can rely on
consistent OpenSpec semantics.
In `@openspec/specs/dep-license-gate/spec.md`:
- Around line 104-110: The document currently contradicts itself by saying the
license and security gates "SHALL" run on every PR while the "Scenario: License
gate runs in CI on dependency changes" only triggers on PRs that modify
pyproject.toml and meet the PR orchestrator's non-documentation filter; pick one
model and make the wording consistent: either change the requirement text
referencing "every PR" to scope both gates to dependency changes (e.g., "SHALL
be integrated into the project's CI workflow as separate steps that run on pull
requests that modify dependency manifests such as pyproject.toml") or broaden
the scenario to remove the pyproject.toml + filter condition so the license
compliance gate (license compliance gate / scripts/check_license_compliance.py)
and security audit gate run on every PR. Ensure the phrase "license compliance
gate" and the scenario header "Scenario: License gate runs in CI on dependency
changes" are updated to match the chosen trigger model.
In `@openspec/specs/installed-runtime-module-discovery/spec.md`:
- Line 5: Replace the placeholder "TBD" in the Purpose section of the spec (the
Purpose heading in openspec/specs/installed-runtime-module-discovery/spec.md)
with a concise authoritative purpose statement that describes the goal of the
spec (what installed runtime module discovery must achieve, its scope and
intended consumers), include one sentence of rationale and one-line acceptance
criteria or traceability note; update the Purpose paragraph so it is specific,
actionable, and no longer ambiguous for downstream consumers/tests.
In `@openspec/specs/module-scope-diagnostics/spec.md`:
- Line 4: Replace the placeholder Purpose paragraph that currently reads "TBD -
created by archiving change module-scope-version-diagnostics. Update Purpose
after archive." with a concrete Purpose section that clearly states the intent,
ownership, and scope of the new behavioral contracts; edit the "Purpose" heading
(search for the literal "Purpose" and the "TBD - created by archiving change
module-scope-version-diagnostics" line) to provide an explicit, auditable
description aligned with OpenSpec guidelines before merging.
In `@openspec/specs/project-artifact-write-safety/spec.md`:
- Line 4: Replace the "TBD - created by archiving change
profile-04-safe-project-artifact-writes. Update Purpose after archive."
placeholder in the Purpose section of the spec
(openspec/specs/project-artifact-write-safety/spec.md) with a clear, final
Purpose that states the intent to prevent data loss during project artifact
writes, defines the scope (which artifacts and operations are covered), lists
expected safety behaviors (e.g., atomic writes, validation, retries, rollback on
failure), and notes traceability to CI gates and implementation audits so
requirements, tests, and audits can be mapped back to this Purpose.
In `@openspec/specs/runtime-tool-probing/spec.md`:
- Around line 27-30: The spec mixes pipx with env-managers which is inconsistent
with the env_manager.py probing contract; either tighten the scenario to target
env-manager diagnostics only (e.g., mention only "hatch, uv" and state the
diagnostic must come from env_manager.py's probe implementation), or split into
two concrete scenarios: one that tests env-manager diagnostics emitted by
env_manager.py (for hatch/uv) and a separate scenario that tests
installer-specific hints for installers like pip and pipx; update the wording so
each testable requirement maps to a single diagnostic source (env_manager.py for
env managers or the installer-specific probe for pip/pipx).
In `@openspec/specs/upgrade-command/spec.md`:
- Around line 7-35: Add a new scenario covering the pipx stale-launcher
recovery: when `specfact upgrade` detects a pipx installation and `pipx upgrade
specfact-cli` fails due to a stale launcher, the upgrade SHALL run `pipx
reinstall specfact-cli` and then re-validate the launcher; the spec must state
that on successful reinstall the stale-launcher warning is suppressed and
upgrade reports success, while on reinstall failure the child-process
stdout/stderr diagnostics from `pipx reinstall specfact-cli` are preserved and
surfaced and the upgrade reports failure (and any partial output produced before
a timeout is replayed if the reinstall times out).
In `@openspec/specs/user-module-root/spec.md`:
- Around line 292-295: The scenario mixes two identifiers (<module-name> and
<module-id>) for the same entity; pick one token and use it consistently
throughout the GIVEN/WHEN/THEN steps (e.g., replace all occurrences of
<module-name> with <module-id> or vice versa) so the acceptance criteria and
automation mapping are unambiguous, ensuring the same identifier is used in the
paths (`<repo>/.specfact/modules/...`, `<user-home>/.specfact/modules/...`) and
the command (`specfact module install <module-id> --scope user`) as well as in
the THEN clause that checks the user-scope target root decision.
---
Outside diff comments:
In `@openspec/changes/dogfooding-01-full-chain-e2e-proof/tasks.md`:
- Around line 3-26: The checklist is missing pre-flight/bootstrap and cleanup
gates; update the tasks in sections 1–4 (e.g., around items 1.1, 2.1, 3.1, 4.2)
to explicitly run and validate: worktree pre-flight (create/select/verify
branch/worktree), env bootstrap via hatch env create, pre-run status checks
smart-test-status and contract-test-status before tests/evidence generation, and
a post-run cleanup/self-check step that validates artifacts and tears down
environments; add these steps as required gates in the relevant numbered tasks
so the flow cannot proceed without passing each gate.
In `@openspec/changes/validation-02-full-chain-engine/tasks.md`:
- Around line 3-32: Update the tasks checklist in
openspec/changes/validation-02-full-chain-engine/tasks.md to add the missing
workflow guardrails: under "1. Branch and dependency guardrails" add an explicit
item to create the worktree from origin/dev (e.g., `scripts/worktree.sh create
...` referencing the existing 1.1), add a top-level pre-implementation step for
`hatch env create` (can be placed in section 2 or as a new 0.x pre-flight
block), insert pre-flight status checks (validate branch, CI, and dependency
prerequisites) before implementation (referencing the 2.x test-prep area), and
add post-delivery cleanup and module-signing/closure tasks (worktree cleanup,
branch deletion, and module-signing confirmation) in section 5 so the plan
enforces creation, environment setup, pre-flight checks, and final
cleanup/signing.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: c842bf9a-9bc2-4629-a07f-301591c51e81
📒 Files selected for processing (129)
.agents/skills/openspec-workflows/SKILL.md.agents/skills/openspec-workflows/references/create-change-from-plan.md.agents/skills/openspec-workflows/references/validate-change.mdREADME.mddocs/index.mdopenspec/CHANGE_ORDER.mdopenspec/INTEGRATION.mdopenspec/changes/ai-integration-01-agent-skill/design.mdopenspec/changes/ai-integration-01-agent-skill/proposal.mdopenspec/changes/ai-integration-02-mcp-server/design.mdopenspec/changes/ai-integration-02-mcp-server/proposal.mdopenspec/changes/ai-integration-03-instruction-files/proposal.mdopenspec/changes/ai-integration-04-intent-skills/proposal.mdopenspec/changes/architecture-01-solution-layer/proposal.mdopenspec/changes/architecture-02-well-architected-review/proposal.mdopenspec/changes/archive/2026-06-02-upgrade-01-install-method-aware/TDD_EVIDENCE.mdopenspec/changes/archive/2026-06-02-upgrade-01-install-method-aware/proposal.mdopenspec/changes/archive/2026-06-02-upgrade-01-install-method-aware/specs/upgrade-command/spec.mdopenspec/changes/archive/2026-06-02-upgrade-01-install-method-aware/tasks.mdopenspec/changes/archive/2026-06-06-dep-security-cleanup/.openspec.yamlopenspec/changes/archive/2026-06-06-dep-security-cleanup/TDD_EVIDENCE.mdopenspec/changes/archive/2026-06-06-dep-security-cleanup/design.mdopenspec/changes/archive/2026-06-06-dep-security-cleanup/proposal.mdopenspec/changes/archive/2026-06-06-dep-security-cleanup/specs/call-graph-analysis/spec.mdopenspec/changes/archive/2026-06-06-dep-security-cleanup/specs/dep-license-gate/spec.mdopenspec/changes/archive/2026-06-06-dep-security-cleanup/specs/dependency-resolution/spec.mdopenspec/changes/archive/2026-06-06-dep-security-cleanup/tasks.mdopenspec/changes/archive/2026-06-06-integration-01-cross-change-contracts/.openspec.yamlopenspec/changes/archive/2026-06-06-integration-01-cross-change-contracts/CHANGE_VALIDATION.mdopenspec/changes/archive/2026-06-06-integration-01-cross-change-contracts/design.mdopenspec/changes/archive/2026-06-06-integration-01-cross-change-contracts/proposal.mdopenspec/changes/archive/2026-06-06-integration-01-cross-change-contracts/specs/cross-change-integration-contract/spec.mdopenspec/changes/archive/2026-06-06-integration-01-cross-change-contracts/tasks.mdopenspec/changes/archive/2026-06-06-marketplace-07-module-install-state-consistency/.openspec.yamlopenspec/changes/archive/2026-06-06-marketplace-07-module-install-state-consistency/TDD_EVIDENCE.mdopenspec/changes/archive/2026-06-06-marketplace-07-module-install-state-consistency/design.mdopenspec/changes/archive/2026-06-06-marketplace-07-module-install-state-consistency/proposal.mdopenspec/changes/archive/2026-06-06-marketplace-07-module-install-state-consistency/specs/init-module-state/spec.mdopenspec/changes/archive/2026-06-06-marketplace-07-module-install-state-consistency/specs/module-installation/spec.mdopenspec/changes/archive/2026-06-06-marketplace-07-module-install-state-consistency/specs/user-module-root/spec.mdopenspec/changes/archive/2026-06-06-marketplace-07-module-install-state-consistency/tasks.mdopenspec/changes/archive/2026-06-06-module-scope-version-diagnostics/.openspec.yamlopenspec/changes/archive/2026-06-06-module-scope-version-diagnostics/TDD_EVIDENCE.mdopenspec/changes/archive/2026-06-06-module-scope-version-diagnostics/design.mdopenspec/changes/archive/2026-06-06-module-scope-version-diagnostics/proposal.mdopenspec/changes/archive/2026-06-06-module-scope-version-diagnostics/specs/module-installation/spec.mdopenspec/changes/archive/2026-06-06-module-scope-version-diagnostics/specs/module-packages/spec.mdopenspec/changes/archive/2026-06-06-module-scope-version-diagnostics/specs/module-scope-diagnostics/spec.mdopenspec/changes/archive/2026-06-06-module-scope-version-diagnostics/tasks.mdopenspec/changes/archive/2026-06-06-profile-04-safe-project-artifact-writes/.openspec.yamlopenspec/changes/archive/2026-06-06-profile-04-safe-project-artifact-writes/CHANGE_VALIDATION.mdopenspec/changes/archive/2026-06-06-profile-04-safe-project-artifact-writes/TDD_EVIDENCE.mdopenspec/changes/archive/2026-06-06-profile-04-safe-project-artifact-writes/design.mdopenspec/changes/archive/2026-06-06-profile-04-safe-project-artifact-writes/proposal.mdopenspec/changes/archive/2026-06-06-profile-04-safe-project-artifact-writes/specs/init-ide-prompt-source-selection/spec.mdopenspec/changes/archive/2026-06-06-profile-04-safe-project-artifact-writes/specs/module-owned-ide-prompts/spec.mdopenspec/changes/archive/2026-06-06-profile-04-safe-project-artifact-writes/specs/project-artifact-write-safety/spec.mdopenspec/changes/archive/2026-06-06-profile-04-safe-project-artifact-writes/tasks.mdopenspec/changes/archive/2026-06-06-runtime-01-discovery-reliability/.openspec.yamlopenspec/changes/archive/2026-06-06-runtime-01-discovery-reliability/TDD_EVIDENCE.mdopenspec/changes/archive/2026-06-06-runtime-01-discovery-reliability/proposal.mdopenspec/changes/archive/2026-06-06-runtime-01-discovery-reliability/specs/environment-manager-detection/spec.mdopenspec/changes/archive/2026-06-06-runtime-01-discovery-reliability/specs/installed-runtime-module-discovery/spec.mdopenspec/changes/archive/2026-06-06-runtime-01-discovery-reliability/specs/module-installation/spec.mdopenspec/changes/archive/2026-06-06-runtime-01-discovery-reliability/specs/module-owned-ide-prompts/spec.mdopenspec/changes/archive/2026-06-06-runtime-01-discovery-reliability/tasks.mdopenspec/changes/archive/2026-06-06-tester-cli-reliability/.openspec.yamlopenspec/changes/archive/2026-06-06-tester-cli-reliability/TDD_EVIDENCE.mdopenspec/changes/archive/2026-06-06-tester-cli-reliability/proposal.mdopenspec/changes/archive/2026-06-06-tester-cli-reliability/specs/ci-integration/spec.mdopenspec/changes/archive/2026-06-06-tester-cli-reliability/specs/cli-error-guidance/spec.mdopenspec/changes/archive/2026-06-06-tester-cli-reliability/specs/command-package-runtime-validation/spec.mdopenspec/changes/archive/2026-06-06-tester-cli-reliability/specs/core-cli-reference/spec.mdopenspec/changes/archive/2026-06-06-tester-cli-reliability/specs/generated-command-overview/spec.mdopenspec/changes/archive/2026-06-06-tester-cli-reliability/specs/runtime-tool-probing/spec.mdopenspec/changes/archive/2026-06-06-tester-cli-reliability/tasks.mdopenspec/changes/archive/2026-06-06-upgrade-02-pipx-spaced-home-output/.openspec.yamlopenspec/changes/archive/2026-06-06-upgrade-02-pipx-spaced-home-output/TDD_EVIDENCE.mdopenspec/changes/archive/2026-06-06-upgrade-02-pipx-spaced-home-output/design.mdopenspec/changes/archive/2026-06-06-upgrade-02-pipx-spaced-home-output/proposal.mdopenspec/changes/archive/2026-06-06-upgrade-02-pipx-spaced-home-output/specs/upgrade-command/spec.mdopenspec/changes/archive/2026-06-06-upgrade-02-pipx-spaced-home-output/tasks.mdopenspec/changes/dogfooding-01-full-chain-e2e-proof/design.mdopenspec/changes/dogfooding-01-full-chain-e2e-proof/proposal.mdopenspec/changes/dogfooding-01-full-chain-e2e-proof/tasks.mdopenspec/changes/governance-01-evidence-output/proposal.mdopenspec/changes/openspec-01-intent-trace/proposal.mdopenspec/changes/profile-01-config-layering/proposal.mdopenspec/changes/requirements-01-data-model/proposal.mdopenspec/changes/requirements-02-module-commands/proposal.mdopenspec/changes/requirements-03-backlog-sync/proposal.mdopenspec/changes/telemetry-01-opentelemetry-default-on/design.mdopenspec/changes/telemetry-01-opentelemetry-default-on/proposal.mdopenspec/changes/traceability-01-index-and-orphans/proposal.mdopenspec/changes/validation-02-full-chain-engine/design.mdopenspec/changes/validation-02-full-chain-engine/proposal.mdopenspec/changes/validation-02-full-chain-engine/tasks.mdopenspec/parking-lot/README.mdopenspec/parking-lot/ai-integration-04-intent-skills/.openspec.yamlopenspec/parking-lot/ai-integration-04-intent-skills/CHANGE_VALIDATION.mdopenspec/parking-lot/ai-integration-04-intent-skills/design.mdopenspec/parking-lot/ai-integration-04-intent-skills/proposal.mdopenspec/parking-lot/ai-integration-04-intent-skills/specs/agent-skill-intent-workflow/spec.mdopenspec/parking-lot/ai-integration-04-intent-skills/specs/agent-skill-spec-intelligence/spec.mdopenspec/parking-lot/ai-integration-04-intent-skills/tasks.mdopenspec/specs/call-graph-analysis/spec.mdopenspec/specs/ci-integration/spec.mdopenspec/specs/cli-error-guidance/spec.mdopenspec/specs/command-package-runtime-validation/spec.mdopenspec/specs/core-cli-reference/spec.mdopenspec/specs/cross-change-integration-contract/spec.mdopenspec/specs/dep-license-gate/spec.mdopenspec/specs/dependency-resolution/spec.mdopenspec/specs/doc-frontmatter-schema/spec.mdopenspec/specs/doc-frontmatter-validation/spec.mdopenspec/specs/docs-contributing-updates/spec.mdopenspec/specs/environment-manager-detection/spec.mdopenspec/specs/generated-command-overview/spec.mdopenspec/specs/init-ide-prompt-source-selection/spec.mdopenspec/specs/init-module-state/spec.mdopenspec/specs/installed-runtime-module-discovery/spec.mdopenspec/specs/module-installation/spec.mdopenspec/specs/module-owned-ide-prompts/spec.mdopenspec/specs/module-packages/spec.mdopenspec/specs/module-scope-diagnostics/spec.mdopenspec/specs/project-artifact-write-safety/spec.mdopenspec/specs/runtime-tool-probing/spec.mdopenspec/specs/upgrade-command/spec.mdopenspec/specs/user-module-root/spec.md
💤 Files with no reviewable changes (1)
- openspec/changes/ai-integration-04-intent-skills/proposal.md
SpecFact CLI Validation Report✅ All validations passed! |
SpecFact CLI Validation Report✅ All validations passed! |
Summary
Testing
hatch run openspec validate --all --strictpassed in the core repo.hatch run openspec validate --all --strictpassed in the modules worktree.