Skip to content

release: clean-code-01-principle-gates — 7-principle charter gates, v0.44.0#475

Merged
djm81 merged 362 commits intomainfrom
dev
Mar 31, 2026
Merged

release: clean-code-01-principle-gates — 7-principle charter gates, v0.44.0#475
djm81 merged 362 commits intomainfrom
dev

Conversation

@djm81
Copy link
Copy Markdown
Collaborator

@djm81 djm81 commented Mar 31, 2026

Description

Archive 13 completed OpenSpec changes and update main specifications with their deltas. This includes fixing spec validation errors and ensuring proper specification format compliance.

Fixes #434

New Features #434

Contract References: Multiple specification updates across various capabilities including bridge-adapter, documentation-alignment, code-review-module, and others.

Type of Change

  • 📚 Documentation update
  • 🔒 Contract enforcement (specification updates)

Contract-First Testing Evidence

Contract Validation

  • Runtime contracts added/updated (specification requirements)
  • Type checking enforced (specification format validation)
  • CrossHair exploration completed: N/A (specification only)
  • Contract violations reviewed and addressed (spec validation errors fixed)

Test Execution

  • Contract validation: hatch run contract-test-contracts
  • Contract exploration: hatch run contract-test-exploration
  • Scenario tests: hatch run contract-test-scenarios
  • Full test suite: hatch run contract-test-full

Test Quality

  • CLI commands tested with typer test client (N/A - specification only)
  • Edge cases covered with Hypothesis property tests (N/A - specification only)
  • Error handling tested with invalid inputs (N/A - specification only)
  • Rich console output verified manually or with snapshots (N/A - specification only)

How Has This Been Tested?

Contract-First Approach: All specification changes follow the OpenSpec workflow:

  • Delta specs use proper headers (ADDED/MODIFIED/REMOVED/RENAMED)
  • Scenarios use GIVEN/WHEN/THEN format with bullet points
  • Requirement headers match exactly between delta and main specs
  • All changes validated with openspec archive command

Manual Testing

  • Verified specification format compliance
  • Checked requirement header matching
  • Validated scenario format consistency
  • Confirmed delta operations work correctly

Automated Testing

  • OpenSpec validation passes for all archived changes
  • Main specs updated correctly with delta operations
  • All existing specifications remain valid
  • No regression in specification structure

Test Environment

  • Python version: 3.11
  • OS: Ubuntu 22.04
  • OpenSpec CLI: v0.44.0

Checklist

  • My code follows the style guidelines (PEP 8, ruff format, isort)
  • I have performed a self-review of my code
  • I have added/updated contracts (specification requirements)
  • I have added/updated docstrings (specification descriptions)
  • I have made corresponding changes to documentation (specification updates)
  • My changes generate no new warnings (basedpyright, ruff, pylint)
  • All tests pass locally
  • I have added tests that prove my fix/feature works (specification validation)
  • Any dependent changes have been merged

Quality Gates Status

  • Type checking ✅ (hatch run type-check)
  • Linting ✅ (hatch run lint)
  • Contract validation ✅ (hatch run contract-test-contracts)
  • Contract exploration ✅ (hatch run contract-test-exploration)
  • Scenario tests ✅ (hatch run contract-test-scenarios)

Changes Summary

Archived Changes (13 total)

  1. bugfix-02-ado-import-payload-slugging - ADO import payload handling
  2. ci-02-trustworthy-green-checks - CI/CD trustworthy check improvements
  3. clean-code-01-principle-gates - Clean code principle enforcement
  4. code-review-zero-findings - Code review module enhancements
  5. docs-04-docs-review-gate-and-link-integrity - Documentation review gates
  6. docs-05-core-site-ia-restructure - Core documentation structure
  7. docs-07-core-handoff-conversion - Core to modules handoff
  8. docs-12-docs-validation-ci - Documentation validation in CI
  9. docs-13-core-nav-search-theme-roles - Navigation and search features
  10. docs-14-first-contact-story-and-onboarding - User onboarding improvements
  11. init-ide-prompt-source-selection - IDE prompt source selection
  12. packaging-02-cross-platform-runtime-and-module-resources - Packaging improvements
  13. speckit-02-v04-adapter-alignment - Spec-Kit v0.4.x adapter support

Main Spec Updates

  • backlog-adapter: Various backlog adapter improvements
  • bridge-adapter: Spec-Kit v0.4.x capabilities (extensions, presets, ToolCapabilities)
  • bridge-registry: BridgeConfig preset updates
  • code-review-module: New code review requirements
  • debug-logging: Debug logging enhancements
  • devops-sync: DevOps synchronization improvements
  • documentation-alignment: Core vs modules documentation separation
  • review-cli-contracts: Review CLI contract updates
  • review-run-command: Review command improvements

New Specifications Created

  • agent-instruction-clean-code-charter
  • clean-code-compliance-gate
  • clean-code-loc-nesting-check
  • core-cli-reference
  • core-docs-client-search
  • core-docs-data-driven-nav
  • core-docs-expertise-paths
  • core-docs-progressive-nav
  • core-docs-theme-toggle
  • docs-command-validation
  • docs-cross-site-link-check
  • docs-review-gate
  • dogfood-self-review
  • entrypoint-onboarding
  • first-contact-story
  • init-ide-prompt-source-selection
  • module-owned-ide-prompts
  • runtime-portability
  • speckit-extension-catalog
  • speckit-version-detection
  • trustworthy-green-checks

Spec Validation Fixes

Fixed common spec validation errors:

  • Added proper delta section headers (ADDED/MODIFIED/REMOVED/RENAMED)
  • Used correct scenario format with GIVEN/WHEN/THEN bullet points
  • Ensured requirement headers match exactly between delta and main specs
  • Used appropriate operation type (ADDED vs MODIFIED) based on existing requirements
  • Fixed requirement text to include SHALL/MUST keywords
  • Ensured every requirement has at least one scenario

All changes follow the OpenSpec specification format and have been validated using the openspec archive command.

djm81 and others added 30 commits February 13, 2026 09:20
Signed-off-by: Dom <39115308+djm81@users.noreply.github.com>
GitHub's licensee gem only recognizes standard filenames (LICENSE,
LICENSE.txt) — LICENSE.md caused the repo to show "Other" instead
of "Apache License 2.0". Updated all references across pyproject.toml,
README, docs, workflows, and FAQ.

Co-authored-by: Dominikus Nold <djm81@users.noreply.github.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
)

The LICENSE body had two non-standard edits that pushed it below
GitHub licensee's ~95% similarity threshold, causing "Other" instead
of "Apache License 2.0". Restored the canonical text; only the
copyright line in the appendix is customized (as intended by the
Apache template).

Signed-off-by: Dom <39115308+djm81@users.noreply.github.com>
Co-authored-by: Dominikus Nold <djm81@users.noreply.github.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Dom <39115308+djm81@users.noreply.github.com>
…#262)

* feat(ci): attach test and repro log artifacts to PR orchestrator runs

- Tests job: run smart-test-full, upload logs/tests/ as test-logs artifact
- Contract-first-ci: capture repro to logs/repro/, upload repro-logs and repro-reports
- Docs: CI and GitHub Actions section in troubleshooting (artifact names, usage)
- Version 0.31.1, CHANGELOG entry

Implements OpenSpec change ci-01-pr-orchestrator-log-artifacts. Fixes #260.

Co-authored-by: Cursor <cursoragent@cursor.com>

* Fix workflow and test

* ci(pr-orchestrator): add log artifacts for all pipeline jobs

- type-check: capture output to logs/type-check/, upload type-check-logs
- lint: capture to logs/lint/, upload lint-logs
- compat-py311: capture to logs/compat-py311/, upload compat-py311-logs
- quality-gates: capture to logs/quality-gates/, upload quality-gates-logs
- compat-py311: use hatch -e ENV run run (not hatch test) for pytest
- docs: list all CI artifact names and jobs in troubleshooting

Co-authored-by: Cursor <cursoragent@cursor.com>

---------

Co-authored-by: Dominikus Nold <djm81@users.noreply.github.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
* feat: enhanced module manifest security and integrity (arch-06)

Co-authored-by: Cursor <cursoragent@cursor.com>

* fix: remove duplicate ModulePackageMetadata import (ruff F811)

* Fix failed tests

* Fix type-check errors

---------

Co-authored-by: Dominikus Nold <djm81@users.noreply.github.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
…rch-07) (#265)

* feat: add schema extension system for modular ProjectBundle extensions
  Enables modules to extend Feature and ProjectBundle with namespaced custom
  fields without modifying core models, supporting marketplace-ready
  interoperability.
  - Add extensions dict field to Feature and ProjectBundle models
  - Implement type-safe get/set extension accessors with namespace enforcement
  - Extend module manifest schema with schema_extensions declaration
  - Add ExtensionRegistry for collision detection and introspection
  - Extend module lifecycle registration to load and validate extensions
  OpenSpec Change: arch-07-schema-extension-system
  Resolves #213

* feat: schema extension system (arch-07) and quality gate fixes

- Add extensions field and get_extension/set_extension to Feature and ProjectBundle
- Add SchemaExtension model and schema_extensions to ModulePackageMetadata
- Add ExtensionRegistry with collision detection; integrate in module registration
- Parse schema_extensions in discover_package_metadata
- Docs: extending-projectbundle guide, architecture section, sidebar
- Version 0.32.0, CHANGELOG entry, TDD_EVIDENCE
- Format: E402 (imports at top in project.py), UP042 (StrEnum in backlog-core),
  RUF043/B017 in schema extension tests
- Type-check: pass schema_metadata/project_metadata in BundleManifest test calls

OpenSpec Change: arch-07-schema-extension-system
Resolves #213

Co-authored-by: Cursor <cursoragent@cursor.com>

* Update change progress

* Add docs guides and update changes

* Use v0.32.0 as version and combine arch-06/arch-07

* Update change order plan

---------

Co-authored-by: Dominikus Nold <djm81@users.noreply.github.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Signed-off-by: Dom <39115308+djm81@users.noreply.github.com>
* feat(workflow): standardize worktree-first development flow

* docs(openspec): mark workflow-01 delivery tasks complete

* Apply review finding

---------

Co-authored-by: Dominikus Nold <djm81@users.noreply.github.com>
* feat(policy-engine): implement unified policy framework

* docs(openspec): mark policy-engine-01 implemented in change order

* fix(policy-engine): make module io contract compliant

* feat(policy-engine): add policy init templates and docs coverage

* fix: refine grouped policy limit semantics and outputs

* docs: clarify policy engine value for new users

---------

Co-authored-by: Dominikus Nold <djm81@users.noreply.github.com>
…1) (#275)

- Use discover_all_package_metadata() in init so list-modules/enable/disable
  use same roots as registry (built-in + workspace modules + SPECFACT_MODULES_ROOTS)
- Extend backlog-core-01 OpenSpec: init-module-discovery-alignment spec,
  tasks 0.5.x, TDD evidence
- Bump version to 0.34.0; CHANGELOG

Fixes #116

Co-authored-by: Dominikus Nold <djm81@users.noreply.github.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
* feat: add thorough codebase validation (validation-01)
  - Add --crosshair-per-path-timeout to specfact repro and ReproChecker
  - Add docs/reference/thorough-codebase-validation.md (quick check, contract-full, sidecar, dogfooding)
  - Unit test and TDD evidence for CrossHair per-path timeout
  - OpenSpec validation-01-deep-validation tasks and TDD_EVIDENCE updated

* fix: reject non-positive CrossHair per-path timeout (review)

* docs: CHANGELOG v0.34.0 and doc updates for thorough codebase validation

---------

Signed-off-by: Dom <39115308+djm81@users.noreply.github.com>
Co-authored-by: Dominikus Nold <djm81@users.noreply.github.com>
* feat(patch-mode): add patch apply (local + --write with confirmation) [#177]

- Add patch_mode module: pipeline (generator, applier, idempotency), patch apply command
- specfact patch apply <file> (local + preflight), patch apply --write --yes (upstream, idempotent)
- OpenSpec patch-mode-01-preview-apply: proposal Source Tracking, tasks, TDD_EVIDENCE
- CHANGELOG [Unreleased] entry for v0.34.0 merge

Co-authored-by: Cursor <cursoragent@cursor.com>

* fix(patch-mode): sanitize idempotency keys, derive key from patch content [PR review]

* Fix errors and ensure module compatibility

---------

Co-authored-by: Dominikus Nold <djm81@users.noreply.github.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
* feat: add bundle-mapper module with confidence-based spec-to-bundle mapping

- BundleMapping model and BundleMapper engine (explicit label, historical, content similarity)
- Mapping history persistence and MappingRule (save_user_confirmed_mapping, load_bundle_mapping_config)
- Interactive UI (ask_bundle_mapping) with Rich confidence visualization
- Unit tests and TDD_EVIDENCE for bundle-mapper-01 (OpenSpec #121)

Co-authored-by: Cursor <cursoragent@cursor.com>

* fix(bundle-mapper): address PR review findings (P1/P2)

- P1 interactive: no default accept for low-confidence; use default only when conf >= 0.5
- P1 history: ignore empty key fields in item_keys_similar (only count non-empty matches)
- P2 engine: add historical weight only when hist_bundle == primary_bundle_id
- Add test_item_keys_similar_empty_fields_not_counted to lock empty-key behavior

Co-authored-by: Cursor <cursoragent@cursor.com>

---------

Co-authored-by: Dominikus Nold <djm81@users.noreply.github.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
djm81 and others added 17 commits March 30, 2026 02:15
* docs: sharpen first-contact story and onboarding

* docs: address first-contact review feedback

* docs: address onboarding review fixes

* test: accept default-filtered site tokens in docs parity

* docs: record completed onboarding quality gates

* test: improve first-contact assertion failures

---------

Co-authored-by: Dominikus Nold <djm81@users.noreply.github.com>
* fix: harden trustworthy green checks

* fix: restore contract-first ci repro command

* fix: apply CodeRabbit auto-fixes

Fixed 3 file(s) based on 3 unresolved review comments.

Co-authored-by: CodeRabbit <noreply@coderabbit.ai>

* fix: resolve CI failures for trustworthy green checks PR

- Use hatch run contract-test instead of specfact code repro in CI
  (CLI bundle not available in CI environment)
- Allow test_bundle_import.py in migration cleanup legacy-import check
  (_bundle_import is an internal helper, not a removed module package)
- Fix formatting in test_trustworthy_green_checks.py (CodeRabbit commit
  was unformatted)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* fix: address CodeRabbit review findings

- Add trailing newline to TDD_EVIDENCE.md (MD047)
- Make _load_hooks() search for repo: local instead of assuming index 0
- Replace fragile multi-line string assertion in actionlint test with
  semantic line-by-line checks

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Dominikus Nold <djm81@users.noreply.github.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: CodeRabbit <noreply@coderabbit.ai>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
- Widen workflow_changed filter to include scripts/run_actionlint.sh
  and scripts/yaml-tools.sh so Workflow Lint triggers on script changes
- Pin actionlint default to v1.7.11 (matches CI) instead of latest
- Fix run_actionlint.sh conflating "not installed" with "lint failures"
  by separating availability check from execution
- Restore sys.path after test_bundle_import to avoid cross-test leakage
- Normalize CHANGE_ORDER.md status format to semicolon convention

Co-authored-by: Dominikus Nold <djm81@users.noreply.github.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
#472)

Simplify run_actionlint.sh control flow so both local and docker
execution paths propagate actionlint's exit code via `exit $?`. Previously
the docker path used `if run_with_docker; then exit 0; fi` which treated
lint errors as "docker unavailable" and fell through to install guidance.

Co-authored-by: Dominikus Nold <djm81@users.noreply.github.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
#473)

- Assert hook id == "specfact-smart-checks" to prevent silent renames
- cd to REPO_ROOT before running local actionlint so it finds workflows
  regardless of caller's cwd

Co-authored-by: Dominikus Nold <djm81@users.noreply.github.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
…4.0 (#474)

* feat: clean-code-01-principle-gates — 7-principle charter gates, v0.44.0

Implements openspec/changes/clean-code-01-principle-gates:

- Rewrote .cursor/rules/clean-code-principles.mdc as a canonical alias
  surface for the 7-principle clean-code charter (naming, kiss, yagni,
  dry, solid) defined in nold-ai/specfact-cli-modules. Documents Phase A
  KISS thresholds (>80 warning / >120 error LOC), nesting-depth and
  parameter-count checks active, and Phase B (>40/80) explicitly deferred.
- Added Clean-Code Review Gate sections to AGENTS.md and CLAUDE.md listing
  all 5 expanded review categories and the Phase A thresholds.
- Created .github/copilot-instructions.md as a lightweight alias (< 30 lines)
  referencing the canonical charter without duplicating it inline.
- Added unit tests (test_clean_code_principle_gates.py) covering all three
  spec scenarios: charter references, compliance gate, LOC/nesting thresholds.
- TDD evidence recorded in openspec/changes/clean-code-01-principle-gates/TDD_EVIDENCE.md.
- Bumped version 0.43.3 → 0.44.0 (minor — feature branch).
- Updated CHANGELOG.md and openspec/CHANGE_ORDER.md.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* fix: clean-code-01-principle-gates review findings and broad exception handling\n\n- Fix coderabbitai review findings:\n  - Clarify T20 and W0718 are aspirational in clean-code-principles.mdc\n  - Add language specifier to TDD_EVIDENCE.md fenced code block\n  - Update test to check all 7 canonical principles\n  - Make LOC threshold assertion more specific\n- Improve exception handling throughout codebase:\n  - Replace broad except Exception with specific exceptions\n  - Apply SOLID principle for better error handling\n- Update tasks.md to reflect completion status\n\nFixes #434\n\nGenerated by Mistral Vibe.\nCo-Authored-By: Mistral Vibe <vibe@mistral.ai>

---------

Co-authored-by: Dominikus Nold <djm81@users.noreply.github.com>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Archive 11 completed OpenSpec changes:
- bugfix-02-ado-import-payload-slugging
- ci-02-trustworthy-green-checks
- clean-code-01-principle-gates
- code-review-zero-findings
- docs-04-docs-review-gate-and-link-integrity
- docs-05-core-site-ia-restructure
- docs-07-core-handoff-conversion
- docs-12-docs-validation-ci
- docs-13-core-nav-search-theme-roles
- docs-14-first-contact-story-and-onboarding
- init-ide-prompt-source-selection
- packaging-02-cross-platform-runtime-and-module-resources
- speckit-02-v04-adapter-alignment

Fix spec validation errors:
- Add proper delta headers (ADDED/MODIFIED/REMOVED/RENAMED)
- Use correct scenario format with GIVEN/WHEN/THEN bullets
- Ensure requirement headers match between delta and main specs
- Use correct operation type based on existing requirements

Update main specs with archived changes:
- backlog-adapter: various updates
- bridge-adapter: Spec-Kit v0.4.x capabilities
- bridge-registry: BridgeConfig preset updates
- code-review-module: new requirements
- debug-logging: enhancements
- devops-sync: improvements
- documentation-alignment: core vs modules separation
- review-cli-contracts: new contracts
- review-run-command: command updates

Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
@chatgpt-codex-connector
Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, you can upgrade your account or add credits to your account and enable them for code reviews in your settings.

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Mar 31, 2026

Important

Review skipped

Too many files!

This PR contains 167 files, which is 17 over the limit of 150.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

Run ID: be4f5db6-582c-4715-8e34-b808b3fff878

📥 Commits

Reviewing files that changed from the base of the PR and between f424cef and 9855d35.

📒 Files selected for processing (167)
  • .cursor/rules/clean-code-principles.mdc
  • .github/copilot-instructions.md
  • AGENTS.md
  • CHANGELOG.md
  • CLAUDE.md
  • openspec/CHANGE_ORDER.md
  • openspec/changes/archive/2026-03-31-bugfix-02-ado-import-payload-slugging/TDD_EVIDENCE.md
  • openspec/changes/archive/2026-03-31-bugfix-02-ado-import-payload-slugging/design.md
  • openspec/changes/archive/2026-03-31-bugfix-02-ado-import-payload-slugging/proposal.md
  • openspec/changes/archive/2026-03-31-bugfix-02-ado-import-payload-slugging/specs/backlog-adapter/spec.md
  • openspec/changes/archive/2026-03-31-bugfix-02-ado-import-payload-slugging/specs/devops-sync/spec.md
  • openspec/changes/archive/2026-03-31-bugfix-02-ado-import-payload-slugging/tasks.md
  • openspec/changes/archive/2026-03-31-ci-02-trustworthy-green-checks/CHANGE_VALIDATION.md
  • openspec/changes/archive/2026-03-31-ci-02-trustworthy-green-checks/TDD_EVIDENCE.md
  • openspec/changes/archive/2026-03-31-ci-02-trustworthy-green-checks/design.md
  • openspec/changes/archive/2026-03-31-ci-02-trustworthy-green-checks/proposal.md
  • openspec/changes/archive/2026-03-31-ci-02-trustworthy-green-checks/specs/trustworthy-green-checks/spec.md
  • openspec/changes/archive/2026-03-31-ci-02-trustworthy-green-checks/tasks.md
  • openspec/changes/archive/2026-03-31-clean-code-01-principle-gates/.openspec.yaml
  • openspec/changes/archive/2026-03-31-clean-code-01-principle-gates/CHANGE_VALIDATION.md
  • openspec/changes/archive/2026-03-31-clean-code-01-principle-gates/TDD_EVIDENCE.md
  • openspec/changes/archive/2026-03-31-clean-code-01-principle-gates/design.md
  • openspec/changes/archive/2026-03-31-clean-code-01-principle-gates/proposal.md
  • openspec/changes/archive/2026-03-31-clean-code-01-principle-gates/specs/agent-instruction-clean-code-charter/spec.md
  • openspec/changes/archive/2026-03-31-clean-code-01-principle-gates/specs/clean-code-compliance-gate/spec.md
  • openspec/changes/archive/2026-03-31-clean-code-01-principle-gates/specs/clean-code-loc-nesting-check/spec.md
  • openspec/changes/archive/2026-03-31-clean-code-01-principle-gates/tasks.md
  • openspec/changes/archive/2026-03-31-code-review-zero-findings/.openspec.yaml
  • openspec/changes/archive/2026-03-31-code-review-zero-findings/CHANGE_VALIDATION.md
  • openspec/changes/archive/2026-03-31-code-review-zero-findings/TDD_EVIDENCE.md
  • openspec/changes/archive/2026-03-31-code-review-zero-findings/design.md
  • openspec/changes/archive/2026-03-31-code-review-zero-findings/proposal.md
  • openspec/changes/archive/2026-03-31-code-review-zero-findings/specs/code-review-module/spec.md
  • openspec/changes/archive/2026-03-31-code-review-zero-findings/specs/debug-logging/spec.md
  • openspec/changes/archive/2026-03-31-code-review-zero-findings/specs/dogfood-self-review/spec.md
  • openspec/changes/archive/2026-03-31-code-review-zero-findings/specs/review-cli-contracts/spec.md
  • openspec/changes/archive/2026-03-31-code-review-zero-findings/specs/review-run-command/spec.md
  • openspec/changes/archive/2026-03-31-code-review-zero-findings/tasks.md
  • openspec/changes/archive/2026-03-31-docs-04-docs-review-gate-and-link-integrity/.openspec.yaml
  • openspec/changes/archive/2026-03-31-docs-04-docs-review-gate-and-link-integrity/CHANGE_VALIDATION.md
  • openspec/changes/archive/2026-03-31-docs-04-docs-review-gate-and-link-integrity/TDD_EVIDENCE.md
  • openspec/changes/archive/2026-03-31-docs-04-docs-review-gate-and-link-integrity/design.md
  • openspec/changes/archive/2026-03-31-docs-04-docs-review-gate-and-link-integrity/proposal.md
  • openspec/changes/archive/2026-03-31-docs-04-docs-review-gate-and-link-integrity/specs/docs-review-gate/spec.md
  • openspec/changes/archive/2026-03-31-docs-04-docs-review-gate-and-link-integrity/specs/documentation-alignment/spec.md
  • openspec/changes/archive/2026-03-31-docs-04-docs-review-gate-and-link-integrity/tasks.md
  • openspec/changes/archive/2026-03-31-docs-05-core-site-ia-restructure/CHANGE_VALIDATION.md
  • openspec/changes/archive/2026-03-31-docs-05-core-site-ia-restructure/proposal.md
  • openspec/changes/archive/2026-03-31-docs-05-core-site-ia-restructure/specs/core-cli-reference/spec.md
  • openspec/changes/archive/2026-03-31-docs-05-core-site-ia-restructure/specs/core-docs-progressive-nav/spec.md
  • openspec/changes/archive/2026-03-31-docs-05-core-site-ia-restructure/specs/documentation-alignment/spec.md
  • openspec/changes/archive/2026-03-31-docs-05-core-site-ia-restructure/tasks.md
  • openspec/changes/archive/2026-03-31-docs-07-core-handoff-conversion/CHANGE_VALIDATION.md
  • openspec/changes/archive/2026-03-31-docs-07-core-handoff-conversion/proposal.md
  • openspec/changes/archive/2026-03-31-docs-07-core-handoff-conversion/specs/documentation-alignment/spec.md
  • openspec/changes/archive/2026-03-31-docs-07-core-handoff-conversion/tasks.md
  • openspec/changes/archive/2026-03-31-docs-12-docs-validation-ci/CHANGE_VALIDATION.md
  • openspec/changes/archive/2026-03-31-docs-12-docs-validation-ci/TDD_EVIDENCE.md
  • openspec/changes/archive/2026-03-31-docs-12-docs-validation-ci/proposal.md
  • openspec/changes/archive/2026-03-31-docs-12-docs-validation-ci/specs/docs-command-validation/spec.md
  • openspec/changes/archive/2026-03-31-docs-12-docs-validation-ci/specs/docs-cross-site-link-check/spec.md
  • openspec/changes/archive/2026-03-31-docs-12-docs-validation-ci/tasks.md
  • openspec/changes/archive/2026-03-31-docs-13-core-nav-search-theme-roles/CHANGE_VALIDATION.md
  • openspec/changes/archive/2026-03-31-docs-13-core-nav-search-theme-roles/TDD_EVIDENCE.md
  • openspec/changes/archive/2026-03-31-docs-13-core-nav-search-theme-roles/design.md
  • openspec/changes/archive/2026-03-31-docs-13-core-nav-search-theme-roles/proposal.md
  • openspec/changes/archive/2026-03-31-docs-13-core-nav-search-theme-roles/specs/core-docs-client-search/spec.md
  • openspec/changes/archive/2026-03-31-docs-13-core-nav-search-theme-roles/specs/core-docs-data-driven-nav/spec.md
  • openspec/changes/archive/2026-03-31-docs-13-core-nav-search-theme-roles/specs/core-docs-expertise-paths/spec.md
  • openspec/changes/archive/2026-03-31-docs-13-core-nav-search-theme-roles/specs/core-docs-theme-toggle/spec.md
  • openspec/changes/archive/2026-03-31-docs-13-core-nav-search-theme-roles/tasks.md
  • openspec/changes/archive/2026-03-31-docs-14-first-contact-story-and-onboarding/.openspec.yaml
  • openspec/changes/archive/2026-03-31-docs-14-first-contact-story-and-onboarding/TDD_EVIDENCE.md
  • openspec/changes/archive/2026-03-31-docs-14-first-contact-story-and-onboarding/design.md
  • openspec/changes/archive/2026-03-31-docs-14-first-contact-story-and-onboarding/proposal.md
  • openspec/changes/archive/2026-03-31-docs-14-first-contact-story-and-onboarding/specs/documentation-alignment/spec.md
  • openspec/changes/archive/2026-03-31-docs-14-first-contact-story-and-onboarding/specs/entrypoint-onboarding/spec.md
  • openspec/changes/archive/2026-03-31-docs-14-first-contact-story-and-onboarding/specs/first-contact-story/spec.md
  • openspec/changes/archive/2026-03-31-docs-14-first-contact-story-and-onboarding/tasks.md
  • openspec/changes/archive/2026-03-31-init-ide-prompt-source-selection/.openspec.yaml
  • openspec/changes/archive/2026-03-31-init-ide-prompt-source-selection/CHANGE_VALIDATION.md
  • openspec/changes/archive/2026-03-31-init-ide-prompt-source-selection/TDD_EVIDENCE.md
  • openspec/changes/archive/2026-03-31-init-ide-prompt-source-selection/design.md
  • openspec/changes/archive/2026-03-31-init-ide-prompt-source-selection/proposal.md
  • openspec/changes/archive/2026-03-31-init-ide-prompt-source-selection/specs/init-ide-prompt-source-selection/spec.md
  • openspec/changes/archive/2026-03-31-init-ide-prompt-source-selection/tasks.md
  • openspec/changes/archive/2026-03-31-packaging-02-cross-platform-runtime-and-module-resources/.openspec.yaml
  • openspec/changes/archive/2026-03-31-packaging-02-cross-platform-runtime-and-module-resources/CHANGE_VALIDATION.md
  • openspec/changes/archive/2026-03-31-packaging-02-cross-platform-runtime-and-module-resources/TDD_EVIDENCE.md
  • openspec/changes/archive/2026-03-31-packaging-02-cross-platform-runtime-and-module-resources/design.md
  • openspec/changes/archive/2026-03-31-packaging-02-cross-platform-runtime-and-module-resources/proposal.md
  • openspec/changes/archive/2026-03-31-packaging-02-cross-platform-runtime-and-module-resources/specs/module-owned-ide-prompts/spec.md
  • openspec/changes/archive/2026-03-31-packaging-02-cross-platform-runtime-and-module-resources/specs/runtime-portability/spec.md
  • openspec/changes/archive/2026-03-31-packaging-02-cross-platform-runtime-and-module-resources/tasks.md
  • openspec/changes/archive/2026-03-31-speckit-02-v04-adapter-alignment/.openspec.yaml
  • openspec/changes/archive/2026-03-31-speckit-02-v04-adapter-alignment/CHANGE_VALIDATION.md
  • openspec/changes/archive/2026-03-31-speckit-02-v04-adapter-alignment/TDD_EVIDENCE.md
  • openspec/changes/archive/2026-03-31-speckit-02-v04-adapter-alignment/design.md
  • openspec/changes/archive/2026-03-31-speckit-02-v04-adapter-alignment/proposal.md
  • openspec/changes/archive/2026-03-31-speckit-02-v04-adapter-alignment/specs/bridge-adapter/spec.md
  • openspec/changes/archive/2026-03-31-speckit-02-v04-adapter-alignment/specs/bridge-registry/spec.md
  • openspec/changes/archive/2026-03-31-speckit-02-v04-adapter-alignment/specs/speckit-extension-catalog/spec.md
  • openspec/changes/archive/2026-03-31-speckit-02-v04-adapter-alignment/specs/speckit-version-detection/spec.md
  • openspec/changes/archive/2026-03-31-speckit-02-v04-adapter-alignment/tasks.md
  • openspec/changes/clean-code-01-principle-gates/tasks.md
  • openspec/changes/docs-05-core-site-ia-restructure/specs/core-cli-reference/spec.md
  • openspec/changes/docs-05-core-site-ia-restructure/specs/core-docs-progressive-nav/spec.md
  • openspec/changes/docs-05-core-site-ia-restructure/specs/documentation-alignment/spec.md
  • openspec/changes/speckit-02-v04-adapter-alignment/specs/bridge-registry/spec.md
  • openspec/specs/agent-instruction-clean-code-charter/spec.md
  • openspec/specs/backlog-adapter/spec.md
  • openspec/specs/bridge-adapter/spec.md
  • openspec/specs/bridge-registry/spec.md
  • openspec/specs/clean-code-compliance-gate/spec.md
  • openspec/specs/clean-code-loc-nesting-check/spec.md
  • openspec/specs/code-review-module/spec.md
  • openspec/specs/core-cli-reference/spec.md
  • openspec/specs/core-docs-client-search/spec.md
  • openspec/specs/core-docs-data-driven-nav/spec.md
  • openspec/specs/core-docs-expertise-paths/spec.md
  • openspec/specs/core-docs-progressive-nav/spec.md
  • openspec/specs/core-docs-theme-toggle/spec.md
  • openspec/specs/debug-logging/spec.md
  • openspec/specs/devops-sync/spec.md
  • openspec/specs/docs-command-validation/spec.md
  • openspec/specs/docs-cross-site-link-check/spec.md
  • openspec/specs/docs-review-gate/spec.md
  • openspec/specs/documentation-alignment/spec.md
  • openspec/specs/dogfood-self-review/spec.md
  • openspec/specs/entrypoint-onboarding/spec.md
  • openspec/specs/first-contact-story/spec.md
  • openspec/specs/init-ide-prompt-source-selection/spec.md
  • openspec/specs/module-owned-ide-prompts/spec.md
  • openspec/specs/review-cli-contracts/spec.md
  • openspec/specs/review-run-command/spec.md
  • openspec/specs/runtime-portability/spec.md
  • openspec/specs/speckit-extension-catalog/spec.md
  • openspec/specs/speckit-version-detection/spec.md
  • openspec/specs/trustworthy-green-checks/spec.md
  • pyproject.toml
  • setup.py
  • src/specfact_cli/__init__.py
  • src/specfact_cli/adapters/speckit.py
  • src/specfact_cli/agents/analyze_agent.py
  • src/specfact_cli/analyzers/ambiguity_scanner.py
  • src/specfact_cli/analyzers/code_analyzer.py
  • src/specfact_cli/analyzers/contract_extractor.py
  • src/specfact_cli/analyzers/graph_analyzer.py
  • src/specfact_cli/analyzers/relationship_mapper.py
  • src/specfact_cli/common/logger_setup.py
  • src/specfact_cli/enrichers/constitution_enricher.py
  • src/specfact_cli/generators/persona_exporter.py
  • src/specfact_cli/modules/init/module-package.yaml
  • src/specfact_cli/modules/init/src/commands.py
  • src/specfact_cli/modules/module_io_shim.py
  • src/specfact_cli/registry/bootstrap.py
  • src/specfact_cli/registry/module_packages.py
  • src/specfact_cli/sync/bridge_sync.py
  • src/specfact_cli/sync/spec_to_code.py
  • src/specfact_cli/utils/context_detection.py
  • src/specfact_cli/utils/progress.py
  • src/specfact_cli/utils/progressive_disclosure.py
  • src/specfact_cli/utils/source_scanner.py
  • src/specfact_cli/utils/structure.py
  • src/specfact_cli/validators/sidecar/dependency_installer.py
  • src/specfact_cli/validators/sidecar/orchestrator.py
  • tests/unit/specfact_cli/test_clean_code_principle_gates.py

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch dev

Comment @coderabbitai help to get the list of available commands and usage tips.

@djm81 djm81 changed the title feat: archive completed openspec changes and update main specs release: clean-code-01-principle-gates — 7-principle charter gates, v0.44.0 Mar 31, 2026
@djm81 djm81 linked an issue Mar 31, 2026 that may be closed by this pull request
@djm81 djm81 self-assigned this Mar 31, 2026
@djm81 djm81 added enhancement New feature or request code-review Code review automation and quality governance labels Mar 31, 2026
@djm81 djm81 moved this from Todo to In Progress in SpecFact CLI Mar 31, 2026
if user_clean and len(user_clean) > 2 and user_lower not in excluded and len(user_clean.split()) <= 3:
result.add(user_clean.title())
except Exception:
except (OSError, UnicodeDecodeError, re.error):
except (OSError, UnicodeDecodeError, re.error):
continue
except Exception:
except (OSError, UnicodeDecodeError, re.error):
content = dep_file.read_text(encoding="utf-8")[:500]
dependencies.append(f"{dep_file.name}: {content[:100]}...")
except Exception:
except (OSError, UnicodeDecodeError):
if isinstance(val, str):
return val.strip().lower() in ("1", "true", "yes")
except Exception:
except (OSError, ValueError):
if result.returncode == 0 and repo_name in result.stdout:
return cwd
except Exception:
except (OSError, ValueError):
if repo_path.exists() and (repo_path / ".git").exists():
return repo_path
except Exception:
except (OSError, ValueError):
if sibling.is_dir() and sibling.name == repo_name and (sibling / ".git").exists():
return sibling
except Exception:
except (OSError, ValueError):
if parsed_hostname and parsed_hostname.lower() == "dev.azure.com":
pass
except Exception:
except ValueError:
result["technology_stack"].append(dep)

except Exception:
except (OSError, UnicodeDecodeError, ValueError):
result["target_users"] = users[:5]

except Exception:
except (OSError, UnicodeDecodeError, ValueError):
@djm81 djm81 merged commit e96efb1 into main Mar 31, 2026
47 checks passed
@github-project-automation github-project-automation bot moved this from In Progress to Done in SpecFact CLI Mar 31, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

code-review Code review automation and quality governance enhancement New feature or request

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

[Change] Clean Code Principle Gates for specfact-cli

1 participant