Skip to content

Integration int/m1-wave17

No Date Ruling Reason
INT-W17/1 2026-10-14 M1-54 and M1-55 enter as one squash each onto 1e260ad (int/m1-wave16), in this order, each with only its own commits. Append-only files keep both sides (this file, the server changelog, api/operations.yaml with both tickets' operations enabled and none of them planned, the route table of real_test.go, the chat README). Generated files are regenerated with the generators (sqlc, go generate). Instructions of the integration; both tickets were built on the same base in parallel.
INT-W17/2 2026-10-14 Semantic conflict: both tickets added app.Store.Thread and authzsource.Source.Thread. M1-55's form stays (domain.Thread from queries/threads.sql, Main() from the kind); M1-54's app.ThreadRow, its repository method and the query GetThreadFacts go, and its tests read the thread through the M1-55 method (the PostgreSQL operator test with Main(), the source test keeps only ServedTargets; TestSourceThread covers the facts). The facts authz sees are the same: channel, main flag, fixed operator, creator. One read of a thread per store; both versions answered the same facts.
INT-W17/3 2026-10-14 app.Deps has one Policies (the agent policy source: the agents row of M1-54 and the billing mode of M1-55) beside RightsChanges, Directory and Cursors; New needs all of them. wire.NewChat keeps M1-55's policies parameter (nil means NewAgentPolicySource(pool)) and M1-54's rights hook in ChatWrites. Test code only: the in-memory fake of the use case tests answers the agents rows of M1-54 from the store's policy map, and the cross-module test world of M1-54 gets the thread and page keys M1-55 requires (the schema defaults). Both tickets named the same collaborator; without the merge the server did not compile and the cross-module tests could not build chat.
INT-W17/4 2026-10-14 api/routes/gen splits the oapi-codegen package into three files: models.gen.go (before ServerInterface), objects.gen.go (the request and response objects of the strict server, from the first type named *RequestObject up to StrictServerInterface) and rest.gen.go (the rest: std-http server, strict interface and handler). Each file keeps the header and imports only what it uses; the fixture package is split the same way, and the lint exclusions of the REST package name all three files. Test TestSplitRest_StrictObjects; TestRealRest_BelowMaxFileKB checks all three files. With the eight operations of M1-54 and M1-55 rest.gen.go reached 1040 KiB, above repo.max_file_kb (1024), so TestRealRest_BelowMaxFileKB and the hook check-added-large-files failed. The declarations move byte for byte; no behaviour changes.
INT-W17/5 2026-10-14 Test code only: the helper person of the chat repository tests loses its handle parameter and always writes alex, because with the fourth caller of M1-55 beside M1-54 the linter unparam reported that every caller passes the same handle. make lint was red on the merged tree; each ticket alone had three callers.