Skip to content

docs: harvest review lessons from PRs reviewed 2026-09-11 to 2026-09-18 - #10675

Draft
saltas888 wants to merge 2 commits into
stablefrom
claude/cool-pasteur-nhf9h7
Draft

saltas888 wants to merge 2 commits into
stablefrom
claude/cool-pasteur-nhf9h7

Conversation

@saltas888

@saltas888 saltas888 commented Sep 18, 2026 •

Copy link
Copy Markdown
Contributor

Why

Weekly harvest of review lessons (/harvesting-review, scheduled run). Reviewer comments from the last week keep restating conventions that either weren't written down or weren't landing; this PR routes the durable ones into the internal-doc layer and prunes what they supersede, so the layer ends 11 lines shorter than it started (+59/−49 across 8 files).

Targets stable like the previous harvests (#10512, #10607): every edited file is internal documentation, branch-agnostic, and reaches develop through the stable→develop merge.

PRs the lessons came from

PR Reviewer(s) What it taught
#10624 ajtmccarty Inline trivial shared Cypher (only a substantial multi-consumer predicate earns a constant); don't string-match generated query text in tests
#10587 ajtmccarty, saltas888 No defaulted collaborator factories reaching into settings; methods stay on the instance rather than being demoted to @staticmethod for a linter
#10606 ajtmccarty, polmichel (report-only: non-isolated-branch special-cases, per-module component-test CI cost, USER/INTERNAL workflow tagging)
#10622 saltas888, polmichel Models/validators raise domain errors; HTTP status mapping lives in the app-level handlers registered in server.py
#10615 petercrocker FAQ answers stay short and never present opt-in capabilities as defaults
#10614 ogenstad Drop the stale Python 3.9/3.10 guidance from typing.md
#10661 cubic Five lab pages were deleted without the redirect entries docs/AGENTS.md mandates — the missing redirects-pending record is added here
#10566 polmichel Don't store derived state — property over a second field, __post_init__ rejects impossible combinations

What changed

What was removed (each cut compensates an addition, per the harvest skill's refine, don't accrete rule):

File Cut Why it is not a loss
dev/guidelines/backend/python.md The Query example in Query Pattern and the tier bullet list in Testing Both restated the canonical pages (query-pattern.md, testing.md); now two-line pointers
dev/knowledge/backend/query-pattern.md The Query.__init__ code listing The attribute table right below it carries the same information
dev/guidelines/backend/testing.md The "at some point integration tests will be merged…" note; one of three "Bad" examples in GraphQL Result Assertions The note was a dated future plan (§5 rot); the cut example was a duplicate of the substring-match example above it — the rule text is untouched
dev/guidelines/backend/typing.md The "(Python 3.10+)" / "(Python 3.9+)" parentheticals The repo targets 3.14; ruff flags legacy spellings (raised by ogenstad on #10614)

What was added:

Covered but still flagged (existing rules reviewers had to re-raise; no duplicate rules added):

Deliberately not codified (recorded so the next harvest doesn't re-litigate):

How to review

Start with the two guideline files that gained rules (python.md, exceptions.md), then the cuts table above — each cut should read as a no-op against the canonical home it points to.

How to test

uv run invoke docs.lint   # passes (markdownlint: 0 errors)
uv run yamllint docs/redirects-pending/learn-labs.yml

Impact & rollout

  • Internal documentation and one redirects-pending record only; no runtime code, no schema, no API change.

Checklist

  • Tests added/updated — N/A, docs only
  • Changelog entry — none, per the skill's boundary: agent-doc/internal-doc changes are not user-visible
  • External docs updated — docs/redirects-pending/ record added (not a published page)
  • Internal .md docs updated
  • I have reviewed AI generated content

🤖 Generated with Claude Code

https://claude.ai/code/session_01RJWaQSqzHWDkykDErJgRkk


Generated by Claude Code

Review in cubic

Lessons distilled from review threads on #10624, #10587, #10606, #10622,
#10615, #10614, #10661 and #10566 into the internal-doc layer, with
compensating cuts so the layer shrinks overall (net -11 lines):

- typing.md: drop the stale Python 3.9/3.10 parentheticals ogenstad
  flagged on #10614; state the built-in-generics rule without versions.
- backend-component-design.md: the required-collaborator rule now also
  names the defaulted-factory shape ajtmccarty flagged on #10587.
- query-pattern.md: give 'Keep Cypher readable inline' the sharing
  boundary from #10624 (substantial multi-consumer body vs few-line
  MATCH); cut the Query __init__ listing that restated the table.
- testing.md: add the no-string-matching-query-text rule from #10624;
  drop the stale integration-merge plan note and one redundant bad
  example.
- python.md: derived-state/property/__post_init__ rule and the
  methods-stay-on-the-instance rule from #10587 and #10566 reviews;
  Query Pattern and Testing sections reduced to pointers to their
  canonical homes (net 0 for the file).
- exceptions.md: domain-errors-not-HTTP-responses layering from the
  #10622 review thread.
- docs/AGENTS.md: FAQ brevity rule from petercrocker's #10615 review.
- redirects-pending/learn-labs.yml: record the five lab URLs #10661
  deleted without redirect entries, per the existing rule in
  docs/AGENTS.md.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RJWaQSqzHWDkykDErJgRkk
@github-actions github-actions Bot added the type/documentation Improvements or additions to documentation label Sep 18, 2026

@cubic-dev-ai cubic-dev-ai Bot left a comment •

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All reported issues were addressed across 8 files

Shadow auto-approve: would not auto-approve because issues were found.

Re-trigger cubic

Comment thread docs/AGENTS.md Outdated
Comment thread dev/guidelines/backend/typing.md Outdated
Comment thread dev/guidelines/backend/python.md Outdated
Comment thread dev/guidelines/backend/testing.md Outdated
Comment thread .agents/rules/backend-component-design.md Outdated
Comment thread dev/guidelines/backend/testing.md Outdated
- typing.md: qualify the legacy-Optional rule with the StandardNode
  persisted-field exception (UP007/UP045 are ignored in those modules).
- backend-component-design.md: name the real settings-reaching factory,
  build_heartbeat_cache, instead of a fabricated symbol.
- testing.md: give the query-text rule its own lead-in scoped to feature
  queries, with the query-building-infrastructure carve-out; correct the
  stale test-mirror example to paths that exist.
- python.md: drop the mirror sentence rather than restating testing.md's.
- docs/AGENTS.md: move the FAQ rule from Terminology to Voice and Tone.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RJWaQSqzHWDkykDErJgRkk

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

0 issues found across 5 files (changes from recent commits).

Confidence score: 5/5

  • Automated review surfaced no issues in the provided summaries.
  • No files require special attention.

Shadow auto-approve: would auto-approve. Documentation-only harvest that prunes stale/redundant guidance and adds review-derived rules plus a pending-redirects record; no code, runtime, or public-facing behavior changes, so it is bounded and clearly beneficial.

Re-trigger cubic

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

type/documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants