v1 has no payments, no license enforcement and no accounts. The plugin has no way to know who is paying and no server to ask.
The only seat-related behaviour is a count. /synchrobuilder:status counts distinct active handles over the last 30 days from the team state the plugin keeps locally anyway. A handle is the identity Synchrobuilder derives from your git email through the committed .synchrobuilder/team.json file. When that count is more than three, status shows a non-blocking note once a week pointing at this page. That is the whole mechanism.
The logic is one isolated file, plugins/synchrobuilder/lib/features/seats.mjs, so you can read it in one sitting and confirm it does nothing else. Its test asserts that the notice appears once per week only when more than three handles were active in 30 days.
What the count does
- Counts distinct handles active in the last 30 days.
- Shows one note per week in
/synchrobuilder:status when the count is above three.
- Points at this page.
- Lives in
lib/features/seats.mjs and nowhere else.
What it never does
- Disable a feature, a command or a hook.
- Block a prompt, an edit or a sync.
- Contact a server or send the count anywhere.
- Ask for a card, a key or a login.
Every claim in this section is implemented and covered by the seats test; docs/commands.md documents the status entry.