Skip to content

[skip-runtime-e2e] feat(status): rename tenant_id label to client_id (v9 terminology)#73

Merged
saurabhjain1592 merged 3 commits into
mainfrom
feat/v9-client-id-terminology
May 19, 2026
Merged

[skip-runtime-e2e] feat(status): rename tenant_id label to client_id (v9 terminology)#73
saurabhjain1592 merged 3 commits into
mainfrom
feat/v9-client-id-terminology

Conversation

@saurabhjain1592

@saurabhjain1592 saurabhjain1592 commented May 19, 2026

Copy link
Copy Markdown
Member

Summary

v9 Workstream C — terminology rebrand of user-facing tenant_id label to client_id. Cosmetic only; no config change required, file format unchanged, wire unchanged.

  • scripts/status.sh output: tenant_id:client_id: with bridge note (formerly tenant_id)
  • Upgrade-hint text updated to reference client_id
  • README install-flow updated
  • Bump to v1.5.0

Parent epic: getaxonflow/axonflow-enterprise#2230
Tracking: getaxonflow/axonflow-enterprise#2255

Compat preserved

  • ~/.config/axonflow/try-registration.json JSON key STAYS tenant_id (file-format compat for installed base)
  • ✅ Wire-level X-Axonflow-Client header unchanged (scripts/client-header.sh untouched)
  • ✅ Agent-side MCP tool axonflow_get_tenant_id keeps its name (callable both as "what's my tenant ID?" and "what's my client ID?")
  • ✅ Bridge note (formerly tenant_id) in status output for v1.4.x users — removable in v1.6.0

Test plan

  • bash tests/test-hooks.sh — 51/51 pass unchanged
  • new bash tests/test-status-client-id-label.sh — 5/5 pass
  • new test wired into .github/workflows/test.yml
  • Mutation test: reverted client_id:tenant_id: in scripts/status.sh; confirmed 2 test assertions FAILed; restored
  • 4-up cross-plugin coherence verified
  • R3 hostile self-review at /tmp/v9-plugins-/r3.md (not committed per project policy)
  • origin/main live-check pre-PR: empty (no rebase needed)

Action required for users with scripted output parsing

If your tooling greps for tenant_id: in scripts/status.sh stdout, update to client_id: (or read ~/.config/axonflow/try-registration.json directly).

Skip-runtime-e2e justification

This PR is a terminology rebrand only — no new runtime feature surface, no protocol change, no new wire behavior. The implementation surface is:

  1. User-facing string label rename in the status command output (tenant_idclient_id)
  2. README + CHANGELOG documentation updates
  3. New unit-style test that exercises the actual script with a fixture HOME containing the on-disk try-registration.json and asserts the contract invariants:
    • new label present
    • old label absent
    • bridge note (formerly tenant_id) present
    • on-disk JSON key tenant_id preserved (file-format compat)
    • upgrade hint phrasing updated

The wire-level surface (X-Axonflow-Client header, scripts/client-header.sh, MCP tool axonflow_get_tenant_id) is intentionally untouched — confirmed by reading existing wire-shape-contract.yml workflow and the unchanged client-header tests.

There is nothing meaningful for a runtime-e2e/<feature>/ test to exercise against a live agent for this PR class: the agent never sees, parses, or emits the label string — it only handles the value. Adding a runtime-e2e test for terminology rebrand would create test surface area without proof value.

4-up cross-plugin coherence (manual R2 verification): captured at /tmp/v9-plugins-<UTC>/4up.txt. Mutation tests prove assertions are not tautological. R3 hostile self-review at /tmp/v9-plugins-<UTC>/r3.md. Both /tmp/ artifacts per project policy of not committing EVIDENCE dirs to git (see feedback_evidence_bundles_never_in_git.md).

Per reference_skip_runtime_e2e_pr_marker.md: this PR class — regression fixes / test adds / refactors with no new feature surface — is exactly when to use the [skip-runtime-e2e] marker.

v9 Workstream C — terminology rebrand of user-facing `tenant_id` label
to `client_id` per axonflow-enterprise#2230. Cosmetic only:

- scripts/status.sh prints `client_id:  cs_…  (formerly tenant_id)`
- README install-flow updated to reference `client_id`
- README notes Stripe checkout custom field is still labeled
  "Your AxonFlow tenant ID" (form-side rename happens separately)

Compat preserved:
- ~/.config/axonflow/try-registration.json JSON key stays `tenant_id`
  (file-format compat for installed base)
- Wire-level `X-Axonflow-Client` header unchanged
- Agent-side MCP tool `axonflow_get_tenant_id` keeps its name

Tests:
- new tests/test-status-client-id-label.sh asserts the 5 invariants
  (client_id label present, tenant_id label absent, bridge note
  present, JSON key compat, upgrade-hint phrasing) and is wired into
  .github/workflows/test.yml
- existing 51 hook regression tests pass unchanged

Refs axonflow-enterprise#2230, axonflow-enterprise#2255

Signed-off-by: Saurabh Jain <saurabhjain1592@gmail.com>
Companion fix for the v1.5.0 terminology rebrand. The install-smoke
harness greps the status output for the labeled line; that assertion
needed updating to match the new `client_id:` label introduced in the
parent commit. Mirrors the v9 terminology rebrand contract verified by
tests/test-status-client-id-label.sh.

Refs axonflow-enterprise#2230, axonflow-enterprise#2255

Signed-off-by: Saurabh Jain <saurabhjain1592@gmail.com>
@saurabhjain1592 saurabhjain1592 changed the title feat(status): rename tenant_id label to client_id (v9 terminology) [skip-runtime-e2e] feat(status): rename tenant_id label to client_id (v9 terminology) May 19, 2026
Title edit alone doesn't fire pull_request 'synchronize' events, so the
Definition-of-Done workflow re-evaluation needs a new commit on the
branch. Empty commit serves that purpose without functional change.

Refs axonflow-enterprise#2230, axonflow-enterprise#2255

Signed-off-by: Saurabh Jain <saurabhjain1592@gmail.com>
@saurabhjain1592 saurabhjain1592 merged commit 2ed1310 into main May 19, 2026
12 checks passed
@saurabhjain1592 saurabhjain1592 deleted the feat/v9-client-id-terminology branch May 19, 2026 21:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant