chore(enterprise): bump submodule pin — rooms removed from the paid tree (ent#443) - #2360
Conversation
…m the paid tree (ent#443)
Third and final step of the ent#443 merge order: trinity#2355 (rooms into OSS
core, merged to `main`) -> trinity-enterprise#444 (module deleted) -> this pin.
Without it `main` mounts rooms TWICE on an entitled build: `main.py` now imports
`shared_sessions.router` unconditionally, while the pinned enterprise tree at
65182c14 still calls `_register_module(app, "shared_sessions")` — advertising an
entitlement for a surface every build ships.
The pin moves 65182c14 -> 2a5def35, which is six commits, not one. Recorded
deliberately, because `main` is the release branch and this is not a release:
39dc7a57 docs(onboarding): zero-commitment door design (ent#323) docs-only
9401b755 feat(onboarding): activation checklist (ent#238) NEW module
c5c8ed08 fix(tests): enterprise suite order-independence (ent#379) tests-only
1dd28bce feat(rooms): room budgets an operator control (ent#387) inside the
tree #444
just deleted
a4198127 fix(migrations): 0007/0008 drop the client_portal import (ent#431)
2a5def35 refactor(rooms): remove shared_sessions (ent#443) the target
Only ent#238 lands new behaviour on `main`. Its OSS counterpart
(`components/onboarding/ActivationChecklist.vue`, `stores/onboarding.js`) is on
`dev` and NOT on `main`, so the module registers an endpoint the shipped bundle
never calls — inert, not broken. Its imports were checked against this branch:
`dependencies.{get_current_user,reject_agent_principal,requires_entitlement}`,
`models.User`, and `db.tables.{agent_activities,agent_ownership,agent_schedules,
audit_log}` all resolve on `main`. It also carries enterprise migration
0016_onboarding_state on the separate `enterprise_schema_migrations` runner.
ent#431 is a fix `main` was already missing: at the old pin, enterprise
migrations 0007/0008 import a `client_portal` that ent#356 deleted from the paid
tree.
Refs Abilityai/trinity-enterprise#443, Abilityai/trinity-enterprise#444
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BnrKWx9CRWnSv2LoDgDer7
|
Correcting a claim in my own PR body before anyone relies on it. I wrote that "prod-image-smoke and backend-unit-test are the real arbiters here — they boot the app with the submodule checked out." They do not. Neither So no CI in this repo validates the pin. Green here means "the OSS tree is fine", not "the OSS tree and the pinned enterprise tree agree". What actually covers it, and what does not:
|
|
Validated the pin locally, since I established above that no CI here does. Materialised the pinned enterprise tree ( 1. The double-mount this PR exists to close is closed. No 2. Every enterprise→OSS import resolves on And at symbol level for the two files that carry the new module: What this does and does not prove. It proves the import graph closes — the The residual is unchanged and stated in the body: ent#238 registers an endpoint |
vybe
left a comment
There was a problem hiding this comment.
Approving on the local validation posted above, since — as established in the same comment — no CI in this repo checks out the submodule, so green here says nothing about the pin itself.
What was verified by hand against a worktree of this branch with the pinned tree materialised:
- The double-mount is closed. No
_register_module(app, "shared_sessions")in the enterprise tree at2a5def35;backend/shared_sessions/absent there andsrc/backend/shared_sessions/present in OSS. The two halves agree. - 173 enterprise→OSS module-scope imports resolve on
main, none unresolved, plus symbol-level checks on the eight names the new ent#238 module needs.
Scope of that evidence, stated plainly: it rules out the ModuleNotFoundError-at-boot class (#1033 / ent#356 / ent#443) and nothing more. It is static resolution, not an import, and it does not exercise the enterprise migration runner. A /verify-local with the submodule mounted remains the stronger check.
Pin confirmed still at 2a5def35 at merge time — deliberately two commits behind private tip, not stale: ff0a4f15 (ent#435 enterprise half) must not reach main before its OSS counterpart #2330, which is on dev, and 6d82a3fa is docs-only.
Third and final step of the ent#443 merge order:
main,366cf505)2a5def35)main's pin onto that commitWhy it can't wait for the release
main.pynow importsshared_sessions.routerunconditionally, while the pinned enterprise tree at65182c14still calls_register_module(app, "shared_sessions"). Until this lands, an entitled build offmainmounts rooms twice and advertises an entitlement for a surface every build ships.The pin moves six commits, not one
main's pin was already behind private tip, so this is not a one-commit hop. Stating it becausemainis the release branch and this is not a release:mainas39dc7a579401b755c5c8ed081dd28bcea4198127client_portalimport (ent#431)mainwas missing2a5def35shared_sessions(ent#443)ent#238 is the only one landing new behaviour. Its OSS counterpart (
components/onboarding/ActivationChecklist.vue,stores/onboarding.js) is ondevand not onmain, so the module registers an endpoint the shipped bundle never calls — inert, not broken. Imports verified against this branch:dependencies.{get_current_user, reject_agent_principal, requires_entitlement},models.User, anddb.tables.{agent_activities, agent_ownership, agent_schedules, audit_log}all resolve. It carries enterprise migration0016_onboarding_stateon the separateenterprise_schema_migrationsrunner (Invariant #3), so it touches no OSS table.ent#431 is a fix
maincurrently lacks: at the old pin, enterprise migrations0007/0008import aclient_portalthat ent#356 deleted from the paid tree.Verification
prod-image-smokeandbackend-unit-testare the real arbiters here — they boot the app with the submodule checked out, which is the only thing that proves the two trees agree.Known follow-up, not introduced here
devcarries Alembic0039…0043off the same0038parent that #2355's0044_shared_sessions_osschains from, so that version line has two heads at reconciliation.check_alembic_headsis required viaschema-parityand will block the next release PR loudly; it owes analembic mergerevision at that point. Flagged in #2355's thread; unaffected by this PR.Refs abilityai/trinity-enterprise#443, abilityai/trinity-enterprise#444
🤖 Generated with Claude Code
https://claude.ai/code/session_01BnrKWx9CRWnSv2LoDgDer7