Skip to content

Integration int/m1-wave12

No Date Ruling Reason
INT-W12/1 2026-10-13 M1-44 and M1-50 enter as one squash each onto 2064556 (int/m1-wave11), in this order, each with only its own commits (5cd89cd..8d66478 and 5cd89cd..69299a3). Append-only files (DECISIONS, the server CHANGELOG, migrations.sha256, the privileges table of the migrations test, api/operations.yaml, the enabled table of api/routes/real_test.go, wire.Handlers, the Identity struct, the handlers of the session world in sessions_env_test.go, the imports of internal/wire/configchecks.go) hold both sides; the identity README lists the M1-36 and M1-44 sections and names Providers, Identities, Tokens and TokenAdmin in one port line; the platform/httpserver README keeps the CredentialInactive note of M1-44 and the transfer class of M1-50. Generated files (sqlc models, api/rest/rest.gen.go, api/routes/routes.gen.go, .go-arch-lint.yml, config-schema.json, the configuration reference, the catalogue copies, the SDK clients) equal a fresh generation on the head. The tickets were built and red teamed separately on int/m1-wave10; a union keeps each ticket's behaviour, and generated files are only evidence while they equal a fresh generation.
INT-W12/2 2026-10-13 M1-36 (00013_identity_providers.sql, already on the base), M1-44 (00013_identity_api_tokens.sql) and M1-50 (00013_audit_checkpoints.sql) all added migration version 13. M1-36 keeps 13; M1-44 becomes 00014_identity_api_tokens.sql and M1-50 00015_audit_checkpoints.sql, both with unchanged content and checksum. migrations.sha256, the identity and audit READMEs and the server CHANGELOG name the new files; the rulings of M1-44 and M1-50 keep the name the ticket wrote, as a record of the ticket. goose refuses a set with a duplicate version; ADR 0007 rule 4 has the branch merged later renumber, and the ticket order of the wave decides. None of the three migrations is released.
INT-W12/3 2026-10-13 (*server).handlers in internal/wire/serve.go fills the identity handlers through (*Identity).fillHandlers and the generic fill, which sets a nil handler to the built one; the result is unchanged (an injected handler stays, nothing is filled before its module started), held by TestHandlers_FillsBuiltAndKeepsInjected. Semantic conflict found by make lint on the merged tree: with the Tokens branch of M1-44 and the Log branch of M1-50 next to the M1-36 branches the function reached cognitive complexity 18 (gocognit, limit 15), although each ticket passed alone. Moving the repeated nil checks into one helper is the smallest change that keeps the behaviour. On main the helper comes with M1-44 (M1-44/18), where the signing key handlers of M1-32 already raised the count; this commit adds the audit log handler to its test.