Repository navigation
Move the audit append path into Base - #2253
Conversation
IAuditLogService (with AuditLogEntrySnapshot) and AuditActionDefinition with its contributor contract move from Humans.AuditLog/Contracts to Humans.Base/AuditLog, namespace unchanged. Projects that only wrote audit rows or declared actions drop their AuditLog reference. AuditLog is still referenced by Web, Agent (viewer), GoogleIntegration (legacy reader) and the six sections whose views render <vc:audit-log>. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0186neA78CpJeYKoxRTGsySg
|
Reviewed commit 9df7260. 1 inline finding(s) posted. |
PR Surface ReportCompared Summary: 59 changed file(s) | EF migrations: 0 added file(s), max 0/1 per context Reforge Surface Score
Section Deltas
Section Size & Complexity Deltas
Rule Deltas
Published Write Surface16 of 51 sections publish write capability, 51 interfaces (0). Newly published
No longer published
Interface SurfaceNo new interfaces or interface members. Diff Size
|
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0186neA78CpJeYKoxRTGsySg
|
@codex review |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Humans/src/Humans.Base/AuditLog/IAuditLogService.cs
Lines 21 to 22 in 495e063
Moving these query methods and AuditLogEntrySnapshot with the append seam exposes AuditLog-owned reads and a section DTO through Base, which every section references. This creates a second public face for AuditLog and allows future consumers to query the section without declaring a dependency on its contract; move only the LogAsync seam to Base and leave the read methods/snapshot in AuditLog's Contracts surface.
AGENTS.md reference: AGENTS.md:L21-L23
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0186neA78CpJeYKoxRTGsySg
|
Re the Codex P1 (keep the AuditLog query methods out of Base): traced it. The two reads on Generated by Claude Code |
#2253 moved IAuditLogService into Base whole, reads and AuditLogEntrySnapshot included. Base now holds only the two LogAsync overloads. Issues, Expenses and Users read through IAuditViewerService.GetFilteredAsync; Shifts' orphan scan reads GetEntityIdsForEntityTypeActionsAsync, now on the viewer. AuditLogEntrySnapshot is internal to the AuditLog section again. Issues and Shifts get their AuditLog reference back. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0186neA78CpJeYKoxRTGsySg
Requested by Peter · project thread
What
PR 2 of 4 (after #2252).
IAuditLogService(withAuditLogEntrySnapshot) andAuditActionDefinitionwithIAuditActionContributor/AuditActionContributormove fromHumans.AuditLog/Contracts/tosrc/Humans.Base/AuditLog/. Namespace staysHumans.AuditLog.Contracts(Peter's call for this series), so nousingchanges.54 projects drop their
Humans.AuditLogreference (30 src, includingEmail.ContractsandFinance.Contracts, plus test projects). In src, AuditLog stays referenced by:IAuditViewerService) and GoogleIntegration (ILegacyGoogleSyncAuditReader), whose contracts stay in the section<vc:audit-log>and need the assembly for@addTagHelperWhy
Most of the 37 sections referenced AuditLog only to write audit rows or declare actions (~100 lines with Base-only dependencies).
Existing surface checked
No new durable surface: existing public types change assembly, not shape. One XML
creftoIAuditViewerService(which stays in the section) became<c>.Checklist
tier:standard(wide reference change, no behavior change).No migration edited by hand: no migrations.No NOT NULL column: no schema change.mainonpeterdrier/Humans, branched offorigin/main.Docs:
AuditLog.md(also drops the staleHumans.Gdprreference left over from #2252, and Debug from the<vc:audit-log>consumer list since it only names the tag in text) andhealth.md; reference comments in seven csproj files.Verification:
dotnet build Humans.slnx -v quiet(0 errors) anddotnet test Humans.slnx -v quiet, no failures. Integration tests not run (opt-in).Generated by Claude Code