Skip to content

docs(planning): record closures for architecture-review candidates 3 and 5 - #316

Merged
lesnik512 merged 1 commit into
mainfrom
decision-records-candidates-3-5
Jul 14, 2026
Merged

lesnik512 merged 1 commit into
mainfrom
decision-records-candidates-3-5

Conversation

@lesnik512

Copy link
Copy Markdown
Member

Summary

Records the two closed outcomes of the 2026-07-13 architecture review as decision records, so a future review doesn't re-suggest them. The three shipped candidates (1 the integration kit, 2 CacheItem.get_or_create #314, 4 the override short-circuit fold #315) already live in git history + change bundles; the closed ones had no durable home.

Records added

  • 2026-07-14-signatureitem-opacity-superseded.md — Candidate 3 (make SignatureItem opaque) is superseded by Unify provider-graph traversal behind a DependencyGraph module #308: the graph-traversal unification already extracted its two behaviours as wiring.py functions (find_dep_provider = "which provider backs this", absent_disposition = "what if absent"), and placed them as free functions rather than methods-on-SignatureItem — deliberately better, since it keeps the parse-tree record from importing the resolution machinery. Residual field-reads in factory.py are thin and non-duplicated.
  • 2026-07-14-grpc-registry-introspection-declined.md — Candidate 5 (a blessed is_registered seam for grpc's idempotent registration) is declined as a hypothetical seam: grpc is the sole consumer (grep across all adapters confirms), it uses the public providers_registry.find_provider, and add_providers' strictness is a deliberate feature. One consumer doesn't justify new core API under the project's "two adapters = a real seam" rule. Revisit trigger: a second consumer, or a decision to privatize providers_registry.

Docs-only; just lint-ci (incl. check-planning) clean.

🤖 Generated with Claude Code

Candidate 3 (make SignatureItem opaque) is superseded by the graph-traversal
unification (#308); Candidate 5 (bless a provider-introspection seam for
grpc) is declined as a hypothetical seam (grpc is the sole consumer). Both
record load-bearing reasons so a future architecture review does not
re-suggest them.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@lesnik512
lesnik512 merged commit 822ce07 into main Jul 14, 2026
7 checks passed
@lesnik512
lesnik512 deleted the decision-records-candidates-3-5 branch July 14, 2026 13:14
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