docs(teams): phase 8 as built — the gate §7.2 could not check, and the key it could not hold #162
Reference in New Issue
Block a user
No description provided.
Delete Branch "feature/teams-phase8-notifications-bridge"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Amends
TEAMS.md§7.2 inline, marks phase 8 done in Part 12, and adds theteam_integration_configrow toBACKEND_DESIGN.md's schema table. Pairs with website#158.Two of the five amendments are things the tree disproved, not choices we made.
§7.2's DDL cannot hold its own default row.
PRIMARY KEY (platform, team_id)withteam_id INT NULL— MariaDB coerces every primary-key column toNOT NULL, so the deployment-wide default that every override overrides is unrepresentable and the mechanism has no base case. Confirmed against a real MariaDB, which silently rewrote the column and then answeredERROR 1048 (23000): Column 'team_id' cannot be null. The amendment records the surrogate-key + generated-team_keyshape, and the foreign key the original had no room for.§7.2's visibility gate has no data source on either side, and cannot have one. The four
team.*streams carry novisibility(onlyteam_activityrows do); forum threads have no public/members column because a forum is members-only by construction, every thread behindteam_forum_grants; and core cannot see a Discord channel's permissions. So §7.2's own example config names exactly the two events that can never be public. The section now carries a "The gate, as built" subsection: an attributed operator acknowledgement, with the four properties that make it a gate rather than a checkbox.The other three: one-shot rather than queued (the section said "identical to
announceandmod-reverse", which are two different reliability models); the author exclusion stops at the channel; and a roster event carries a count and never a name.Also records where the admin surface lives and why it is not in the Discord Bot panel — phase 10 makes the platform a registry lookup, and what should change then is what fills the panel, not where it is.
The phase entry notes ONE code repo, not the plan's
website+bot:botis a workspace insidewebsite, and unlike phase 7 nothing here belongs to a module, somodule-uois untouched andMODULE_API_VERSIONdoes not move.🤖 Generated with Claude Code
https://claude.ai/code/session_01WnDSWzpUjw8t8C2hghysNz