feat(status): show tier + expiry date in recover.sh status output#50
Merged
saurabhjain1592 merged 3 commits intomainfrom May 5, 2026
Merged
feat(status): show tier + expiry date in recover.sh status output#50saurabhjain1592 merged 3 commits intomainfrom
saurabhjain1592 merged 3 commits intomainfrom
Conversation
Signed-off-by: Saurabh Jain <saurabhjain1592@gmail.com>
… lint Signed-off-by: Saurabh Jain <saurabhjain1592@gmail.com>
32a61fc to
90d28e5
Compare
Signed-off-by: Saurabh Jain <saurabhjain1592@gmail.com>
saurabhjain1592
added a commit
that referenced
this pull request
May 6, 2026
… header [skip-runtime-e2e] (#51) Companion plugin release to platform v7.7.0. Promotes [Unreleased] to [1.2.0] - 2026-05-06 covering: - V1 paid Pro tier wire-up — X-License-Token forwarding via recover.sh + AXONFLOW_LICENSE_TOKEN (#40) - Status surface for tenant_id + tier + upgrade URL (#42) - Tier line shows Pro license expiry (#50) - License-token redaction in status output (#41) - X-Axonflow-Client: codex/<version> via .mcp.json http_headers (#45) - install-mcp-with-headers.sh + http_headers blocks (#49) after revert of #43 (Codex MCP doesn't support the headersHelper field) Bumps: - .codex-plugin/plugin.json 1.1.0 → 1.2.0 - .codex-plugin/marketplace.json plugin.version + metadata.version → 1.2.0 [skip-runtime-e2e] — version + CHANGELOG bump only; the underlying behavior shipped + was runtime-tested when each feature PR landed. Signed-off-by: Saurabh Jain <saurabhjain1592@gmail.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
V1 SaaS Plugin Pro tier-line surface parity (#1886 sub-item, Session E4 of the V1 launch). The
scripts/recover.sh statusoutput'stierline now parses the JWTexpclaim from the configured Pro license token and renders one of three shapes:tier Pro tier active (expires 2026-08-03, 90 days remaining)— paid Pro tier activetier Free tier (Pro expired 2026-02-04 — visit https://getaxonflow.com/pro to renew)— token configured but itsexpis in the past (the plugin will not forward an expired token)tier Free tier (no AXON- license token configured)— no token loadedtier Pro tier active (expires UNKNOWN — could not parse token)The leading
Pro tier active/Free tiersubstrings are preserved so existingruntime-e2e/v1-paid-tier/test.shassertions (which grep for those exact substrings) keep passing without modification — this is an additive extension, not a breaking change to the line shape.Updates
skills/pro-tier-status/SKILL.mdto document the three new shapes and the renew workflow.Display only — JWT signature validation remains the platform's job.
Self-review (5-question protocol per hunk)
Walked every hunk against (a) commit message accuracy, (b) template / boilerplate residue, (c) env / secret / path correctness, (d) tests exercise the claimed behavior, (e) byte-shippable to a customer.
scripts/recover.sh— addedextract_jwt_exp()+format_unix_to_date()helpers (portablebase64 -d/-D,date -d @<epoch>/-r <epoch>); extendedcmd_status()with the three-branch tier-line resolution. Token redaction posture preserved (last 4 chars only via${AXONFLOW_LICENSE_TOKEN_RESOLVED: -4}). Pro-expired branch prints an inline help block AHEAD of the existing upgrade-CTA block so the user sees the renew prompt prominently. Added a newpro_expired_flaglocal var that gates the inline block.skills/pro-tier-status/SKILL.md— extended description to include "when does my Pro license expire?" trigger, added "Tier line shape" section listing the four shapes, added "Renewal + upgrade path" section. Allbash $PLUGIN_DIR/scripts/recover.sh statusreferences preserved verbatim.runtime-e2e/v1-paid-tier/test.sh— added Test 6f covering the 3 new shapes. Pre-existing 6a/6b/6c/6d/6e assertions preserved unchanged (still grep forFree tier/Pro tier activesubstrings — the new line shapes contain them).CHANGELOG.md— single Unreleased entry under "Changed" (extending the existingrecover.sh statusentry), no version bump.Test plan
CI:
ci.yml— shellcheck + script tests (matrix bash 5)install-smoke.yml— exercises the staged plugin end-to-enddefinition-of-done.yml(HARD RULE #0 gate)Local runtime evidence (3 cases, captured against this PR's branch):
runtime-e2e/v1-paid-tier/test.shlocally: 17 PASS / 0 FAIL (Test 8 live-agent step skipped — no agent at localhost:8080 in this env, which is the documented fallback).Notes for the orchestrator
package.json/plugin.jsonchanges — code merge only perfeedback_releases_require_approval.md.