Skip to content

chore: retro-review PR #108 — docs(spec): three quick wins from spec-completeness audit (81/100)#138

Closed
Artic0din wants to merge 1 commit into
claude-retro/pr-108-basefrom
claude-retro/pr-108-head
Closed

chore: retro-review PR #108 — docs(spec): three quick wins from spec-completeness audit (81/100)#138
Artic0din wants to merge 1 commit into
claude-retro/pr-108-basefrom
claude-retro/pr-108-head

Conversation

@Artic0din
Copy link
Copy Markdown
Owner

Synthetic retro-review of merged PR #108. Diff = original b78edac..4896d87 (same as original PR). Do NOT merge; close after @claude review posts.

Spec audit (5-layer framework) scored the repo 81/100 — Safe tier for
agent delegation — with L2 (interface) + L5 (cultural) flagged yellow.
The three quick wins close the highest-ROI gaps without forcing a
codebase rewrite.

Win 1 — pyproject.toml (L2 + L5 fix)
  Pin ruff + pyright + pytest config. Ruff ruleset matches what the
  codebase already passes (E + F), with a documented future-strict
  ladder (W, I, B, UP, S, BLE, RUF) and pre-counted violations per
  rule so each can be adopted incrementally. Pyright basic-mode +
  reportMissingImports=warning to tolerate HA libs being absent in
  the sandbox while still catching real type errors.

Win 2 — docs/development.md naming + reference implementations (L5)
  Append three sections:
  - Naming conventions for entity_id, provider_id, statistic_id,
    config-flow step IDs, service IDs, CONF_* constants. Pins the
    live-UAT 2026-05-23 lowercase-statistic_id contract in writing.
  - Reference implementations table — canonical file per pattern
    (external-SDK price source, public-endpoint price source,
    CDR-derived provider, composition wrapper, Energy-Dashboard
    sensor, reauth dispatcher, external-stats push).
  - Versioning policy — SemVer + HACS rules, beta tag handling,
    when version bumps happen in a stack.

Win 3 — agent orientation + codex findings in TODOS.md (L1 + L4)
  - CLAUDE.md gains an "Agent orientation" section pointing at the
    six artefacts an agent must read before non-trivial work
    (.paul/STATE.md, .paul/phases/<phase>/PLAN.md, DECISIONS.md,
    TODOS.md, docs/architecture.md, docs/development.md).
  - TODOS.md grows a "Codex full-repo review findings (2026-05-23)"
    section enumerating the P0/P1/P2 items the codex pass surfaced
    (dashboard ha_token in URL, DWT midnight rollover gap, legacy
    hass.data in options flow, per-entry service capture, monotonic
    sum violation, single-rate ranking gap, DWT from_dict ignores
    today, background task cleanup, MagicMock test drift, pycache
    secret-shaped strings). Each entry has file:line + fix + priority
    so a future agent doesn't silently re-discover them.

E741 cleanup in tests/test_blueprints.py — three list comprehensions
used `l` as the loop variable; renamed to `line` so the codebase
clears bare `ruff check` against the new pyproject ruleset.

1070 passing, ruff clean.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@Artic0din
Copy link
Copy Markdown
Owner Author

@claude review

@claude
Copy link
Copy Markdown

claude Bot commented May 23, 2026

Claude encountered an error after 13m 25s —— View job


PR #138 Retro-Review

  • Gather context and load tools
  • Read changed files and diff
  • Analyze changes
  • Post review findings

@Artic0din
Copy link
Copy Markdown
Owner Author

Retro-review complete. Findings (if any) tracked in fix/retro-review-batch (#143) or noted in .planning/retro-review-findings.md. Closing synthetic PR + cleaning branches.

@Artic0din Artic0din closed this May 23, 2026
@Artic0din Artic0din deleted the claude-retro/pr-108-head branch May 23, 2026 13:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant