You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 97b5a79
Browse filesBrowse the repository at this point in the historyBrowse files
refactor(standards): remove duplicate docs/standards, load from ~/.claude/rules (#320)
docs/standards/ duplicated the Claude rules in ~/.claude/rules/ and had
drifted (8 files older than the live rules, 6 files repo-only). The
global location is now the single source:
- the 6 repo-only standards (java, csharp, django, flask, spring-boot,
TOOL-OPTIMIZATION) moved to ~/.claude/rules/ with paths frontmatter
- load_framework_standards() and load_language_standards() read
~/.claude/rules/ via _STANDARD_SELECTOR_RULES_DIR
- TestRuleFilePaths reads ~/.claude/rules/ and skips where absent
- CLAUDE.md, README.md, docs/README.md, ADR-006, orchestration_prompt.md
and CHANGELOG.md updated; README docs/ count 253 -> 201
Supersedes the repo-side part of #319 (06-10 paths frontmatter now lives
only in ~/.claude/rules).
Closes#320
Refs #319
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013u46KPovSoGvJBAxyJiFoX
Copy file name to clipboardExpand all lines: CHANGELOG.md
+3Lines changed: 3 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,6 +9,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/).
9
9
10
10
## [Unreleased]
11
11
12
+
### Removed
13
+
-**`docs/standards/` (52 files).** It duplicated the Claude rules in `~/.claude/rules/` and had drifted: 8 files were older than the live rules, and 6 existed only in the repo. The 6 repo-only files (java, csharp, django, flask, spring-boot, TOOL-OPTIMIZATION) moved to `~/.claude/rules/` with `paths:` frontmatter. `load_framework_standards()` and `load_language_standards()` in `standards/selector.py` now read `~/.claude/rules/`, and `TestRuleFilePaths` reads it too, skipping where it is not installed. (#320)
14
+
12
15
## [2.1.0] - 2026-08-07
13
16
14
17
**Step 1 emits its prompt instead of executing it, and three things that were only
+-- policies/03-execution-system/failure-prevention/ # failure-kb.json only (read by hooks/pre_tool_enforcer/policies/failure_kb.py); the historical 00-auto-fix/01-sync/02-standards/testing subtrees do not exist on disk -- see docs/ for standards content instead
155
+
+-- policies/03-execution-system/failure-prevention/ # failure-kb.json only (read by hooks/pre_tool_enforcer/policies/failure_kb.py); the historical 00-auto-fix/01-sync/02-standards/testing subtrees do not exist on disk -- standards live only in ~/.claude/rules/ (no repo copy, #320)
| Level 1 | langgraph_engine/context_sync/ | Session & Context Synchronization (canonical). Outputs: `complexity_score`[1-10] (simple heuristic), `combined_complexity_score`[1-25] (simple x 0.3 + graph x 0.7 after linear scaling). **Note: `combined_complexity_score` is on a 1-25 scale -- do NOT treat it as 1-10.**|
205
-
| Standards (non-numbered) |docs/ (standards) + langgraph_engine/standards/ (selector + library_adapter) | Standards policies (.md files, no pipeline nodes) -- always-on, loaded from disk; retired from the level count since it has never had pipeline nodes |
204
+
| Standards (non-numbered) |~/.claude/rules/ (the only copy; no repo docs/standards/) + langgraph_engine/standards/ (selector + library_adapter) | Standards policies (.md files, no pipeline nodes) -- always-on, loaded from disk; retired from the level count since it has never had pipeline nodes |
206
205
| Level 2 | langgraph_engine/sdlc_pipeline/subgraph.py | SDLC Execution Core -- 9-step active execution (Steps 0-8) -- ACTIVE (nodes in sdlc_pipeline/nodes/) |
│ # .md files (flattened here, no subfolders), CONTRIBUTING.md,
480
480
│ # CODE_OF_CONDUCT.md, and the GitHub issue/PR templates
481
481
├── uml/ # Regenerated per pipeline run (13 types, Mermaid/PlantUML)
@@ -814,7 +814,7 @@ See [CHANGELOG.md](CHANGELOG.md) for the complete version history.
814
814
815
815
**Complexity score is not ground truth:**`combined_complexity_score` is a heuristic: `simple_score × 0.3 + graph_score × 0.7`. It is on a 1-25 scale and correlates with effort, but it does not map to story points and should not be treated as precise.
816
816
817
-
**Framework-specific standards cover only Flask, Django, and Spring Boot so far.** `load_framework_standards()` in `standards/selector.py` looks in `docs/standards/` for a `{framework}-standards.md` file; `docs/standards/flask-standards.md`, `docs/standards/django-standards.md`, and `docs/standards/spring-boot-standards.md` are bundled. `detect_framework()` also recognizes FastAPI, Pyramid, Tornado, Celery, Scrapy, plain Spring, Quarkus, Micronaut, and the common JS/TS frameworks (React, Angular, Vue, Express, etc.) — none of those have a bundled doc yet, so detection succeeds but the framework tier returns empty for them. `load_language_standards()` has full coverage: all 6 project types `detect_project_type()` recognizes except `unknown` resolve real content (`docs/standards/02-backend-standards.md` python, `docs/standards/06-typescript-standards.md` javascript/typescript, `docs/standards/07-go-standards.md` go, `docs/standards/08-rust-standards.md` rust, `docs/standards/java-standards.md` java, `docs/standards/csharp-standards.md` csharp).
817
+
**Framework-specific standards cover only Flask, Django, and Spring Boot so far.** `load_framework_standards()` in `standards/selector.py` looks in `~/.claude/rules/` (the only copy of the Claude rules; the repo no longer keeps one) for a `{framework}-standards.md` file; `flask-standards.md`, `django-standards.md`, and `spring-boot-standards.md` exist there. `detect_framework()` also recognizes FastAPI, Pyramid, Tornado, Celery, Scrapy, plain Spring, Quarkus, Micronaut, and the common JS/TS frameworks (React, Angular, Vue, Express, etc.) — none of those have a bundled doc yet, so detection succeeds but the framework tier returns empty for them. `load_language_standards()` has full coverage: all 6 project types `detect_project_type()` recognizes except `unknown` resolve real content (all under `~/.claude/rules/`: `02-backend-standards.md` python, `06-typescript-standards.md` javascript/typescript, `07-go-standards.md` go, `08-rust-standards.md` rust, `java-standards.md` java, `csharp-standards.md` csharp). On a machine without `~/.claude/rules/` both tiers return empty and fall through to the library-skill tiers.
|[`reports/`](reports/)| Investigations and audits | 26 |
25
-
|[`standards/`](standards/)| Coding and testing standards | 52 |
26
25
27
-
---
28
-
29
-
## `standards/` -- Coding and testing standards
30
-
31
-
Numbered rules 01-46 plus per-language standards. These mirror `~/.claude/rules/`, which is what the Standards mechanism loads at runtime; the copies here are for reading, not execution.
Coding and testing standards (numbered rules 01-46 plus per-language standards) are not kept in this repository. They live only in `~/.claude/rules/`, which is what Claude Code and `standards/selector.py` load (#320).
0 commit comments