Skip to content

Daily tech-debt sweep — 2026-09-22 - #1789

Merged
peterdrier merged 30 commits into
mainfrom
codex/daily-debt/2026-09-22
Sep 22, 2026
Merged

peterdrier merged 30 commits into
mainfrom
codex/daily-debt/2026-09-22

Conversation

@peterdrier

Copy link
Copy Markdown
Owner

Daily debt sweep

Completed 25 substantive fixes in 90m 9s. Working tree is clean; all commits are local for wrapper publication.

  • 9b3955e94 EMAIL-2 — fixed encoded email subjects. Tests: Issues 139, Shifts 627, Google 312.
  • 37f0d5b49 TICKETS-3 — removed duplicate ticket cache resolver. Tests: Tickets 207.
  • 124a89f99 MLITE-1 — removed unused MailerLite date converter. Tests: MailerLite 121.
  • 2f7bd0769 — moved camp role-slot ordering to its consumer. Tests: Camps 279, display-sort baseline.
  • 246012750 SHIFTS-1/2 — consolidated signup helpers. Tests: Shifts 627.
  • c21664c3e CONT-2 — localized container validation errors. Tests: Containers 41, resource parity 32.
  • 010e513b5 — moved campaign tracking sort to service. Tests: Campaigns 55, baseline.
  • a4977e5a9 — moved Google resource sort to service. Tests: Google 312, baseline.
  • 9ecf0a4a6 TEAMS-3 — localized team edit UI. Tests: Teams 269, parity.
  • 25e57db1c / 566313ed6 EVENTS-7 — localized individual, barrio, and card event surfaces. Tests: Events 185, parity.
  • eeea18d34 CENTRAL-14 — persisted explicit zero shift offsets. Tests: Shifts 627.
  • 524f56c2f — moved camp role-definition sort to service. Tests: Camps 279, baseline.
  • 60d7c4401 CENTRAL-41 partial — localized rideshare notifications. Tests: Rideshare 105, parity.
  • 1f70242a5 CENTRAL-60 — constrained Codex command output. Static command/YAML checks passed.
  • 59c6bdae8 — localized profile communication feedback. Tests: Users 648, parity.
  • 0961c3569 — localized email-merge confirmation. Tests: Users 648, parity.
  • 6acbf4960 — localized guest-account deletion and communication feedback. Tests: Users 648, parity.
  • 839c07473 — localized shift-profile failures. Tests: Shifts 627, parity.
  • 03623fbf4 — localized ticket-transfer feedback. Tests: Tickets 207, parity.
  • 1a1e0b719 — localized event state-gate feedback. Tests: Events 185, parity.
  • e6d6ab8a5 — localized event submission feedback. Tests: Events 185, parity.
  • 9a0ed28d7 — localized event-upload validation. Tests: Events 185, parity.
  • e67328754 — localized event-upload completion. Tests: Events 185, parity.
  • 063410213 — localized guest data-export failure. Tests: Gdpr 18.

d10c53914 corrected an unused local introduced during the Shift helper change; it is excluded from the substantive count.

Hygiene: updated related ledger rows only alongside completed production/tooling fixes; no docs-only hygiene commit was counted.

Skipped safely:

  • Remaining Users and Ticket-transfer exception text needs an error-key contract, not wrapper-only localization.
  • Calendar TODOs need configuration/profile decisions.
  • Team display-sort rows require new public DTO surface.
  • Ticket stub, Guide cancellation, Issues stream/screenshot, and cache-refresh candidates require approval or broader cross-section design.

The wrapper should run the final full build and non-integration suite before publishing.

Goal time: 90m; actual worker time: 90m 52s; total run through validation: 94m 36s.

Runner validation: build and tests passed; Humans.Integration.Tests excluded.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 22, 2026

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review Completed 2026-09-22T21:41:25.932414Z 56e26bf New commits
ℹ️ 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" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@github-actions

github-actions Bot commented Sep 22, 2026

Copy link
Copy Markdown

PR Surface Report

Compared 79fc8db4...a88a5c97. Scored with reforge 0.29.0.

Summary: 81 changed file(s) | EF migrations: 0 added file(s), max 0/1 per context

Reforge Surface Score

metric base head delta
total 20520 20521 +1
surface 16901 16901 0
internal complexity 3619 3620 +1

Section Deltas

section base head delta
Events 267 268 +1

Section Size & Complexity Deltas

section LOC delta files delta classes delta cognitive p95 delta
Camps -1 0 0 0
Events +8 0 0 0
Gdpr +3 0 0 0
MailerLite -30 -1 -1 0
Rideshare +18 0 0 0
Shifts +5 0 0 0
Tickets -2 0 0 0
Users +7 0 0 0
Corpus +8 -1 -1 0

Corpus is the solution-wide rollup (same source as Corpus Size & Complexity below), not a sum of the section rows above - cognitive p95 in particular doesn't compose across sections.

Rule Deltas

rule base head delta
longMethod 1675 1676 +1

Corpus Size & Complexity

metric base head delta
locProd 186551 186559 +8
methods 6771 6774 +3
classes 2937 2936 -1
files 2172 2171 -1

At head: largest class SurveyService, most complex method DevelopmentDashboardSeeder.SeedAsync.

Published Write Surface

14 of 48 sections publish write capability, 23 interfaces (0).

Interface Surface

No new interfaces or interface methods.

Diff Size

bucket added deleted
code 209 200
tests 80 48
docs 11 19
other 447 27

Comment thread src/Sections/Humans.Rideshare/Services/RideshareService.cs Outdated
@claude

claude Bot commented Sep 22, 2026

Copy link
Copy Markdown

Reviewed commit 0634102. 1 inline finding(s) posted.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 0634102131

ℹ️ 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".

Comment thread src/Sections/Humans.Rideshare/Services/RideshareService.cs Outdated
Comment thread src/Sections/Humans.GoogleIntegration/Services/TeamResourceService.cs Outdated
Comment thread src/Sections/Humans.Rideshare/Services/RideshareService.cs
Comment thread src/Sections/Humans.Events/EventsResource.resx Outdated
Resolve ShiftsResource append conflicts: keep main's rota-email keys and
the branch's ShiftProfile_* keys.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012jUyNBoz1pjgWZmmTPryHr
Reverted: a4977e5 Move Google resource sort to service — bulk read lost ProvisionedAt order that group sync's First() relies on
Reverted: c21664c CONT-2 localize container errors — CityPlanningController still shows ex.Message, now a raw key
Repaired: 60d7c44 rideshare notifications — render inside CultureScope so dates follow recipient; drop orphaned MineLabel
Repaired: 25e57db, 566313e EventSubmission_* -> Events_Submission_*
Repaired: 9ecf0a4 AdminEditTeam_* (new keys) -> Teams_EditTeam_*
Repaired: 59c6bda, 0961c35, 6acbf49 new Profile_*/Guest_* -> Users_Profile_*/Users_Guest_*
Repaired: 839c074 ShiftProfile_* -> Shifts_ShiftProfile_*
Repaired: 03623fb new TicketTransfer_* -> Tickets_TicketTransfer_*
Fixed: RideshareService.cs:673 recipient culture never applied (Claude)
Fixed: RideshareService.cs:276 notification dates in actor culture (Codex)
Fixed: RideshareService.cs:677 orphaned MineLabel (Codex)
Fixed: TeamResourceService.cs:37 bulk read unordered (Codex, via revert)
Fixed: EventsResource.resx:91 new keys lack section prefix (Codex)

Review-round: 1

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012jUyNBoz1pjgWZmmTPryHr
@peterdrier

Copy link
Copy Markdown
Owner Author

Debt review

Of 26 commits: 16 good, 8 repaired, 2 reverted. Main was merged in with a separate commit (24728775), which resolved the Shifts resx conflict and one test call broken by #1792.

Commit verdicts

sha claim verdict reason
9b3955e EMAIL-2 encoded subjects GOOD all six subjects now plain text, bodies still encoded, tests cover each
37f0d5b TICKETS-3 dup cache resolver GOOD uses the outer WithInner delegate, so each load still gets its own scope
124a89f MLITE-1 unused converter GOOD no Instant? DTO fields remain; registration and tests removed too
2f7bd07 camp role-slot sort to consumer GOOD the only caller already orders; baseline trimmed
2460127 SHIFTS-1/2 signup helpers GOOD private helpers only; behaviour unchanged
d10c539 unused shift local GOOD removes the leftover local from 2460127
c21664c CONT-2 container errors REVERT CityPlanningController still does SetError(ex.Message), which would now show raw Containers_Error_* keys
010e513 campaign tracking sort GOOD newest-first order kept in the service, with a test
a4977e5 Google resource sort REVERT bulk read lost ProvisionedAt order, and group sync's First() depends on it. This is not a display sort
9ecf0a4 TEAMS-3 team edit UI REPAIR 15 new AdminEditTeam_* keys renamed to Teams_EditTeam_*
25e57db EVENTS-7 individual form REPAIR new EventSubmission_* keys renamed to Events_Submission_*
566313e EVENTS-7 barrio/card REPAIR same rename
eeea18d CENTRAL-14 zero offsets GOOD sentinels match the CLR defaults; an explicit 0 now persists
524f56c camp role-definition sort GOOD every caller that relied on the order now sorts in the service
60d7c44 CENTRAL-41 rideshare notices REPAIR now renders inside CultureScope so dates use the recipient's culture; orphaned MineLabel dropped
1f70242 CENTRAL-60 Codex output GOOD mechanical -clp:ErrorsOnly
59c6bda profile comm feedback REPAIR new Profile_* keys renamed to Users_Profile_*
0961c35 email-merge confirmation REPAIR same rename
6acbf49 guest deletion feedback REPAIR new Guest_* keys renamed to Users_Guest_*
839c074 shift-profile failures REPAIR ShiftProfile_* renamed to Shifts_ShiftProfile_*
03623fb ticket-transfer feedback REPAIR new TicketTransfer_* keys renamed to Tickets_TicketTransfer_*
1a1e0b7 event state-gate feedback GOOD Events_* keys in all six cultures
e6d6ab8 event submission feedback GOOD follows the existing pattern
9a0ed28 event-upload validation GOOD plain key swap
e673287 event-upload completion GOOD plain key swap
0634102 guest export failure GOOD reuses shared Error_TryAgainLater

Findings triage (round 1 · bar: P0/P1/in-scope P2)

# file:line claim sev verdict action
1 RideshareService.cs:673 (Claude) recipient culture never applied P2 FIX CultureScope repair
2 RideshareService.cs:677 (Codex) orphaned MineLabel P1 (dead code) FIX removed
3 TeamResourceService.cs:37 (Codex) bulk read lost ordering P2 REVERTED a4977e5 reverted
4 RideshareService.cs:276 (Codex) notification dates in the actor's culture P2 FIX same as #1
5 EventsResource.resx:91 (Codex) new keys lack the section prefix P1 (rule) FIX 53 keys renamed

Issues filed

Rounds spent: 1 of 3 · pushed c5cd1bd0. The build is clean and the full non-integration suite passed locally.

Recommendation: merge after steward rounds.


Generated by Claude Code

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: c5cd1bd0d0

ℹ️ 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".

Comment thread src/Sections/Humans.Campaigns/Services/CampaignService.cs Outdated
Comment thread src/Sections/Humans.Camps/Services/CampRoleService.cs Outdated
Reverted: 010e513 Move campaign tracking sort out of repository — sort landed in CampaignService, still below the controller boundary
Reverted: 524f56c Move camp role definition sorting out of repository — sort landed in CampRoleService, same relocation
Both repository sorts and their DisplaySortInControllers baseline lines are restored, so the debt stays recorded.
Fixed: CampaignService.cs:577 display sort moved into service (Codex, via revert)
Fixed: CampRoleService.cs:662 display sort moved into service (Codex, via revert)

Review-round: 2

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012jUyNBoz1pjgWZmmTPryHr

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 56e26bf8f9

ℹ️ 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".

Comment thread src/Sections/Humans.Events/Docs/debt.yml
The submit forms' <label asp-for> labels still render English
[Display(Name = ...)] literals. SharedResource has no matching keys,
so the row was removed too early. It now covers only those labels.
Fixed: Events/Docs/debt.yml:30 EVENTS-7 removed while labels unlocalized (Codex)

Review budget is spent: this was the last round commit (ceiling 3).

Review-round: 3

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012jUyNBoz1pjgWZmmTPryHr
@peterdrier
peterdrier merged commit 153216e into main Sep 22, 2026
6 checks passed
@peterdrier
peterdrier deleted the codex/daily-debt/2026-09-22 branch September 22, 2026 21:55
peterdrier pushed a commit that referenced this pull request Sep 22, 2026
…dy fixed

Textual conflict was only Email/Docs/debt.yml — both sides closed EMAIL-2,
this side then added EMAIL-3..7. Kept ours; next_id only ever increases.

The larger conflict was semantic. Main's nightly sweep (#1789) independently
fixed the subject double-encoding this run had re-filed, so ISSUES-9, SHIFTS-5
and GOOGLE-3 are deleted unworked: verified on the merged tree that every
subject argument at those sites now passes raw while the body arguments stay
encoded. The finding was real when filed; the row would have been stale on
arrival. next_id preserved in all three ledgers.

CENTRAL-65 checked against the same sweep and left standing — all three
architecture test files still reference the rule it names.

Run file records the deletions and Peter's rulings on the three Needs-Peter
items (close / retarget / leave it).

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SCrRPogs7ZYUv9VwxewFZ3
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.

2 participants