feat: DoX assessment recording and soft visibility (STATE-WP-0077)
All checks were successful
CI Smoke / host-smoke (push) Successful in 1s
CI Smoke / container-smoke (push) Successful in 2s

Add quality_doc/dor/dod recording convention, quality-debt CLI, promote-intake
and C-34 soft warnings, agent protocol notes, and DoD policy badge language.
Mark STATE-WP-0077 finished.
This commit is contained in:
tegwick 2026-07-22 21:18:40 +02:00
parent d356fde41c
commit fe4cfe22c9
13 changed files with 786 additions and 103 deletions

View file

@ -36,6 +36,8 @@ Checks:
C-31 work-record-unregistered WARN No YAML-block id matches no kind in the canon work-record type registry (sidetrack detector, CUST-WP-0060)
C-32 work-record-not-indexed WARN Yes kind: intake/decision YAML block has no hub id not indexed in DB (registration, CUST-WP-0061-T02)
C-33 work-record-index-stale WARN Yes WORK-RECORDS.md missing or stale generated per-repo index (CUST-WP-0061-T04)
C-34 quality-dor-ready WARN No status=ready without quality_dor DoR-Ok (STATE-WP-0077 soft)
(finished¬DoD-Ok is listed by `statehub quality-debt`, not per-file C-warn avoids historical flood)
Usage:
python scripts/consistency_check.py --repo SLUG [--fix] [--no-writeback] [--json] [--api-base URL]
@ -1371,6 +1373,25 @@ def check_repo(api_base: str, repo_slug: str, repo_path_override: str | None = N
db_value="needs_review",
fixable=False,
)
# C-34: soft DoR quality debt (STATE-WP-0077) — never blocks
try:
from quality_assessment import assessment_from_mapping, is_ok
except ImportError:
sys.path.insert(0, str(Path(__file__).resolve().parent))
from quality_assessment import assessment_from_mapping, is_ok # type: ignore
dor = assessment_from_mapping(meta, "DoR")
if not is_ok(dor):
report.add(
severity="WARN",
check_id="C-34",
message=(
"status=ready without quality_dor DoR-Ok — process claim "
"without DoR assessment (soft; see docs/work-record-quality-gates.md)"
),
file_path=fname,
file_value=str(dor or "unassessed"),
fixable=False,
)
# C-05: title drift
db_title = ws.get("title", "")