- Move ASPICE docs to chanoraapp/docs submodule at docs/ - Move development docs to dev-docs/ (superpowers, offline-knowledge, impl-mapping) - Add AGENTS.md with project conventions for AI agents - Add impl-mapping.md (SAD component → source file mapping) - Archive completed plans to dev-docs/superpowers/plans/_archived/ - Remove AGENTS.md from .gitignore (now tracked)
7.6 KiB
Documentation Quality Analysis Review
Reviewer: Document Review Agent
Date: 2026-06-13
Source: docs/offline-knowledge/doc-quality-analysis.md
Overall Assessment
The analysis is largely accurate but mischaracterizes several items. Most notably, it labels intentional ASPICE-compliance structures as "useless" and "duplicated" when they serve a documented purpose. The broken references finding is partially valid.
Duplications: Spot-Check Results
Instance 1: Lifecycle Chain — Justified Cross-Reference
Verdict: NOT a problem.
The lifecycle chain SysRS -> SysDes -> SRS -> SAD -> SDD appears in 6 files, but each serves a different purpose:
| File | Purpose |
|---|---|
README.md:280 |
Project overview for new contributors |
CONTRIBUTING.md:10 |
Contributor guidance — must be self-contained |
docs/sysdes.md:90 |
SysDes document context section |
docs/sysrs.md:108 |
SysRS downstream relationship |
docs/governance/traceability-matrix.md:16 |
Traceability rule definition |
docs/references/aspice-swe2-swe3-integration-note.md:12 |
ASPICE integration reference |
ASPICE expects each document to be reviewable independently. Removing the chain from CONTRIBUTING.md or traceability-matrix.md would break document self-containment. Recommendation: Keep as-is.
Instance 2: Git Commit Examples — Genuine Duplication
Verdict: VALID.
The commit examples are genuinely duplicated:
README.md:379-386has 6 examples (includingdocs(sad)andi18n(ui))CONTRIBUTING.md:37-42has 4 examplesdocs/governance/git-commit-message-convention.md:14-19has 4 examples
The README already references the convention file (line 391). The examples in README and CONTRIBUTING add no unique value. Recommendation: Valid — consolidate to convention file.
Instance 3: Security Doc List — Genuine Duplication
Verdict: VALID.
The security document list is identical in both files:
README.md:349-355— 6 file paths in a code blockSECURITY.md:33-38— same 6 file paths in a code block
SECURITY.md is the authoritative source. The README could reference it instead. Recommendation: Valid — keep in SECURITY.md, reference from README.
Useless Content: Verification Results
Path Record Files — NOT Useless
Verdict: INVALID. The analysis is wrong.
The analysis labels these files as "useless" with "no unique content":
| File | Lines | Analysis Claim |
|---|---|---|
docs/architecture/sysdes.md |
21 | "Path record file — 21 lines pointing to docs/sysdes.md" |
docs/requirements/sysrs.md |
22 | "Path record file — 22 lines pointing to docs/sysrs.md" |
docs/requirements/srs.md |
22 | "Path record file — 22 lines pointing to docs/srs.md" |
docs/ui-ux/material3-guideline.md |
8 | "Path record file — 8 lines pointing to docs/material3-guideline.md" |
These are DV entry-point records — intentional ASPICE compliance artifacts. Each file:
- Preserves a README-advertised path for DV navigation
- Provides a DV Review Summary table mapping topics to canonical source sections
- States the DV position for that lifecycle layer
Example from docs/requirements/sysrs.md:
## DV Review Summary
| Topic | Canonical source |
|---|---|
| System scope and context | `docs/sysrs.md` sections 2 through 5 |
| Verification and validation requirements | `docs/sysrs.md` section 24 |
| MVP acceptance requirements | `docs/sysrs.md` section 25, SysRS-241 through SysRS-257 |
These are not stubs. They provide reviewer navigation aids. Deleting them would break DV traceability. Recommendation: Keep all path record files.
Malformed Markdown — Valid
Verdict: VALID.
docs/sysdes.md:13 has:
**Repo path:** `docs/architecture/sysdes.md` ---
Missing blank line before ---. This renders as inline text instead of a horizontal rule. Recommendation: Fix by adding a blank line.
Broken References: Verification Results
chanora_* Filenames — Confirmed Broken
Verdict: VALID.
docs/sysrs.md:126-130 suggests these filenames:
docs/chanora_SysDes.md
docs/chanora_SRS.md
docs/chanora_SAD.md
docs/chanora_SDD.md
docs/chanora_Verification.md
None of these files exist. The actual files use different names (docs/sysdes.md, docs/srs.md, etc.). This is a genuine broken reference. Recommendation: Update the suggested filenames to match actual paths.
SDD-109 and SAD-043 — NOT Broken
Verdict: INVALID. The analysis is wrong.
The analysis claims these are broken references. However, the traceability matrix (docs/governance/traceability-matrix.md:67) explicitly documents this:
"SAD and SDD are baseline candidates rather than fully item-numbered historical documents. Some prior references such as
SAD-043andSDD-109are not reconstructed as itemized records. Treat the new SAD/SDD as DV baselines; add strict item IDs later if the process owner requires ID-level audit."
The SAD (docs/architecture/sad.md:182) and SDD (docs/architecture/sdd.md:153) also acknowledge this. These are documented historical references, not broken links. The implementation status file correctly notes them as "Referenced but not confirmed." Recommendation: No action needed — this is intentional.
Additional Issues Found
1. Version Inconsistency Not Flagged
The analysis mentions version inconsistency in "Outdated Content" but doesn't flag it as a cross-document consistency issue:
docs/sysdes.md:6— Version 0.9.8docs/sysrs.md:5— Version 0.9.11docs/material3-guideline.md:4-5— Version 0.9.2
These version numbers suggest independent evolution, but ASPICE expects version alignment across the lifecycle chain. Recommendation: Add to high-priority recommendations.
2. release Commit Type
docs/governance/git-commit-message-convention.md:18 uses release(android) as an example, but release is not a standard Conventional Commits type. The analysis correctly flags this in "Stale Content" but doesn't recommend a fix. Recommendation: Either add release to the documented types or replace the example.
3. Missing docs/sad.md and docs/sdd.md Path Records
The README references docs/architecture/sad.md and docs/architecture/sdd.md, but unlike SysDes, SysRS, SRS, and Material3, there are no path record files for SAD and SDD at the expected DV entry-point paths. This is an inconsistency the analysis missed. Recommendation: Consider adding path records for SAD and SDD if DV navigation requires them.
4. docs/sysdes.md:13 Malformed --- Line
The analysis correctly identifies this but buries it in "Empty Sections" rather than calling it out as a rendering issue. The line:
**Repo path:** `docs/architecture/sysdes.md` ---
should be:
**Repo path:** `docs/architecture/sysdes.md`
---
Summary
| Category | Analysis Claim | Verdict |
|---|---|---|
| Lifecycle chain duplication | 6 files | Justified — ASPICE self-containment |
| Commit examples duplication | 3 files | Valid — consolidate |
| Security doc list duplication | 2 files | Valid — consolidate |
| Path record files useless | 4 files | Invalid — DV entry-point records |
| Malformed markdown | 1 instance | Valid — fix needed |
chanora_* broken refs |
5 files | Valid — genuine broken refs |
| SDD-109/SAD-043 broken | 2 refs | Invalid — documented historical refs |
Bottom line: 3 of 8 duplications are valid concerns. 1 of 5 useless items is valid. 1 of 3 broken references is valid. The analysis overreports issues by mischaracterizing intentional ASPICE structures as problems.