organization: rename stage B, packages/organization and org command spellings #1878

Merged
jason.woltje merged 5 commits from org-rename-b-land into refactor 2026-11-09 19:14:50 +00:00
Owner

Rename design r2, stage B. Moves packages/business to packages/organization with forwarding shims at every old path, and adds the mosaic org config validate|resolve and mosaic org instances|instance|veto spellings. The mosaic business ... spelling keeps working with the same status, stdout and stderr.

Commits:

  • a8d9eecf6 B1: the move, shims, identity tests (BusinessError === OrganizationConfigError, legacy err.name, instanceof).
  • 13c75b699 B2: the org commands through the same instancesCommand and human-proof transport; extracted runConfigCommand that never exits on import.
  • ee7dbd233 merge onto the stage B base.
  • e19db4009 lead fix for Sol's one P2: refusals and warnings from org config printed mosaic org config: instead of mosaic business: . Now only the usage line follows the spelling. The B2 test compares a refusal, a warning and a system config problem without normalization; it fails 4 of 9 on the old source and passes 9 of 9 now. Sol's own probe passes 1/0.
  • fbf2f6fc8 merge of refactor c9c409ac4; one conflict in packages/webui/src/cli.mjs (kept the #1876 relative-launch re-exec with the organization import paths).

Review: Codex Sol, CHANGES 0/1/0 on ee7dbd233, P2 fixed above. Sol ran 159 files, 1947 pass, 4 fail, 1 skip; the 4 failures (tester-reads x3, stack-copy real npm install) reproduce on the baseline.

Lead runs after the fix: organization, business and cli org/business tests 56 files 531/0. After the merge: console-relative-launch 2/0, rename-b-commands 9/0, organization-imports 35/0, org-console 4/0, org-selector 37/0, projects-north-star-browser 1/0, org-quick-browser 6/0, serve 4/0, dev-local-owner bus 5/0 and webui 11/0, stack-copy 20/1 (the baseline node-gyp failure).

No v1 JSON, digest, error constructor or authorization change. No UI change.

Rename design r2, stage B. Moves `packages/business` to `packages/organization` with forwarding shims at every old path, and adds the `mosaic org config validate|resolve` and `mosaic org instances|instance|veto` spellings. The `mosaic business ...` spelling keeps working with the same status, stdout and stderr. Commits: - a8d9eecf6 B1: the move, shims, identity tests (`BusinessError === OrganizationConfigError`, legacy `err.name`, `instanceof`). - 13c75b699 B2: the org commands through the same `instancesCommand` and human-proof transport; extracted `runConfigCommand` that never exits on import. - ee7dbd233 merge onto the stage B base. - e19db4009 lead fix for Sol's one P2: refusals and warnings from `org config` printed `mosaic org config: ` instead of `mosaic business: `. Now only the usage line follows the spelling. The B2 test compares a refusal, a warning and a system config problem without normalization; it fails 4 of 9 on the old source and passes 9 of 9 now. Sol's own probe passes 1/0. - fbf2f6fc8 merge of refactor c9c409ac4; one conflict in `packages/webui/src/cli.mjs` (kept the #1876 relative-launch re-exec with the organization import paths). Review: Codex Sol, CHANGES 0/1/0 on ee7dbd233, P2 fixed above. Sol ran 159 files, 1947 pass, 4 fail, 1 skip; the 4 failures (tester-reads x3, stack-copy real npm install) reproduce on the baseline. Lead runs after the fix: organization, business and cli org/business tests 56 files 531/0. After the merge: console-relative-launch 2/0, rename-b-commands 9/0, organization-imports 35/0, org-console 4/0, org-selector 37/0, projects-north-star-browser 1/0, org-quick-browser 6/0, serve 4/0, dev-local-owner bus 5/0 and webui 11/0, stack-copy 20/1 (the baseline node-gyp failure). No v1 JSON, digest, error constructor or authorization change. No UI change.
jason.woltje added 5 commits 2026-11-09 19:14:38 +00:00
git mv packages/business -> packages/organization (@mosaic/organization). The
old package stays as one-line re-export shims of each moved module, with
src/business.mjs re-exporting src/organization-config.mjs and src/cli.mjs
forwarding to the moved executable. BusinessError is OrganizationConfigError
(one constructor, name kept BusinessError); OrganizationError stays distinct.
The bus adapter gains organization-context.mjs (busOrganization), with
business.mjs (busBusiness) as the same function.

Import consumers, manifests, the lockfile, scripts/mosaic, stack-copy.sh
COPY_PATHS (both roots), seat sandbox RUNNER_FILES and the copy closure
walker (organization-imports.mjs, both roots required) move to the new path.
v1 serialization, v1 writers and the stage A fixtures are unchanged; the stage
A contract tests stay where they were and pass as before.
mosaic org config validate|resolve runs runConfigCommand
(packages/organization/src/config-command.mjs), the callable service the
old mosaic business validate|resolve executable now calls too. The service
returns the exit code, never exits the process and does nothing on import.
The spelling sets only the stderr prefix and the usage text; status and
stdout are byte-identical, and the v1 output keeps the business key.

mosaic org instances|instance|veto takes the same arguments as
mosaic business instances|instance|veto and runs the same proof-bearing
instances command. It is dispatched before orgCommand, so it never builds
the dev-local-owner context. mosaic org validate FILE is unchanged.

Help, the UI labels for agent actions and instance reasons, and the
current docs now use the org spelling and the packages/organization paths.
Two webui test regexes follow the label text. packages/cli/tests/
rename-b-commands.test.mjs compares the two spellings golden for golden
on status, stdout, stderr and authorization outcomes, and covers a draft
file named like an installed ID.
Sol's stage B review (P2): mosaic org config validate|resolve printed
'mosaic org config: ' on refusals and warnings, so a caller moving from
mosaic business validate|resolve lost the byte-level diagnostic contract
in rename design r2. Now only the usage line follows the spelling; every
other stderr line keeps 'mosaic business: '. The B2 test compares a
refusal, a warning and a system config problem unnormalized; it fails
4 of 9 on the old source.
Conflict in packages/webui/src/cli.mjs: kept the relative-launch re-exec
from #1876 with stage B's organization import paths.
jason.woltje merged commit fbf2f6fc89 into refactor 2026-11-09 19:14:50 +00:00
Sign in to join this conversation.