Skip to content

docs: trim comments to non-obvious WHY only#2

Merged
erikfrerejean merged 1 commit into
mainfrom
docs/trim-redundant-comments
May 30, 2026
Merged

docs: trim comments to non-obvious WHY only#2
erikfrerejean merged 1 commit into
mainfrom
docs/trim-redundant-comments

Conversation

@erikfrerejean

Copy link
Copy Markdown
Member

Summary

Reviewed every comment in src/ against the eight ADRs, deptrac.yaml, and the Igor worker-safety check (ADR-0007), applying a strict WHY-only standard: a comment earns its place only if it carries non-obvious rationale not already documented elsewhere.

  • Removed docblocks that merely restated the type name/shape (WHAT) or duplicated a governing ADR: AuditEvent, Changeset, FieldChange, RenderLine, RenderPayload, Subject, AuditActor, AuditEntry, AuditPage, AuditRecord, Actor, DefaultRecorder, IdentityGenerator, Origin, RecordStore, Recorder.
  • Trimmed ADR/tooling-restating clauses, keeping the non-obvious residue:
    • ActorResolver / OriginResolver — dropped the "live, at call time (worker mode)" clauses (ADR-0007 + Igor CI).
    • SubjectLabeller — kept the snapshot-survives-deletion WHY, dropped the redundant null-return note.
    • AbstractAuditEvent — kept the extension-seam guidance, dropped the ADR-0002 "frozen render payload" echo.
    • AuditQuery — kept "filters combine with AND" (non-obvious), dropped the name restatement.
    • RecordReader — kept the actors()-for-filter-lists rationale.
    • NewAuditRecord — kept the write-input vs Record\AuditRecord disambiguation.

All @param/@return/@var type annotations preserved (PHPStan needs them).

Note

With strict WHY-only, the central domain interfaces (AuditEvent, Recorder, AuditRecord) now carry no class-level orientation — that context lives in the ADRs. If this hurts source-level discoverability for consumers, a one-line role on public types is the middle ground.

Test plan

  • composer cs-check — clean
  • composer phpstan — 0 errors
  • composer test — 18 tests, 51 assertions pass

Remove docblocks that restated the type name (WHAT) or duplicated a
governing ADR, and strip ADR/tooling-enforced clauses (e.g. worker-mode
call-time resolution, already covered by ADR-0007 and the Igor CI check).
Keep only comments carrying non-obvious WHY: the AbstractAuditEvent
extension seam, AuditQuery AND-combination, RecordReader actors()
rationale, NewAuditRecord write/read disambiguation, and the resolver
role lines.
@erikfrerejean erikfrerejean merged commit 22d02f6 into main May 30, 2026
1 check passed
@erikfrerejean erikfrerejean deleted the docs/trim-redundant-comments branch May 30, 2026 11:25
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