From 6827b44ef70faf265ce9476d31a427e0f95deda9 Mon Sep 17 00:00:00 2001 From: geobelsky Date: Sat, 11 Apr 2026 06:52:02 +0000 Subject: [PATCH 1/3] chore: rename contact email hello@axme.ai to contact@axme.ai Coordinated rename of public contact email across all AXME repositories, websites, docs, SDK metadata, and CLI/server user-facing messages. #!axme pr=none repo=AxmeAI/axme-docs --- README.md | 2 +- docs/security-overview.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index c48f999..fb7807a 100644 --- a/README.md +++ b/README.md @@ -149,4 +149,4 @@ pytest --- -[hello@axme.ai](mailto:hello@axme.ai) · [@axme_ai](https://x.com/axme_ai) · [Security](SECURITY.md) · [License](LICENSE) +[contact@axme.ai](mailto:contact@axme.ai) · [@axme_ai](https://x.com/axme_ai) · [Security](SECURITY.md) · [License](LICENSE) diff --git a/docs/security-overview.md b/docs/security-overview.md index 7c91321..408bd7e 100644 --- a/docs/security-overview.md +++ b/docs/security-overview.md @@ -74,7 +74,7 @@ For the full login and token lifecycle sequence, see [08-email-otp-login-and-tok ## 6) Incident response and disclosure -- Security reports and responsible disclosure: [hello@axme.ai](mailto:hello@axme.ai) +- Security reports and responsible disclosure: [contact@axme.ai](mailto:contact@axme.ai) - High-risk credential events should trigger immediate rotation/revocation workflows. - Incident handling includes containment, impact analysis, remediation, and follow-up hardening. From 5b4111aeb053d1d0cbf5e6d144a858822f22389c Mon Sep 17 00:00:00 2001 From: geobelsky Date: Sat, 11 Apr 2026 06:57:09 +0000 Subject: [PATCH 2/3] chore: refresh gateway OpenAPI artifacts MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Regenerated via `python scripts/export_gateway_openapi.py` against axme-control-plane main. Includes new endpoints added in axme-control-plane PR #195 (alpha analytics — feedback, profile, internal jobs) that were not yet synced to this docs repo. Required to pass the CI gate 'Compare OpenAPI artifacts with control-plane' on any PR in this repo. #!axme pr=67 repo=AxmeAI/axme-docs --- docs/openapi/gateway.track-f-sprint1.v1.json | 96 ++++++++++- docs/openapi/gateway.v1.json | 160 ++++++++++++++++++- 2 files changed, 242 insertions(+), 14 deletions(-) diff --git a/docs/openapi/gateway.track-f-sprint1.v1.json b/docs/openapi/gateway.track-f-sprint1.v1.json index f5d74f9..d54ce4b 100644 --- a/docs/openapi/gateway.track-f-sprint1.v1.json +++ b/docs/openapi/gateway.track-f-sprint1.v1.json @@ -1147,6 +1147,65 @@ } } }, + "/v1/portal/personal/profile": { + "post": { + "summary": "Update Personal Profile", + "description": "Update the caller's profile (display name, company). Both fields optional.", + "operationId": "update_personal_profile_v1_portal_personal_profile_post", + "parameters": [ + { + "name": "authorization", + "in": "header", + "required": false, + "schema": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Authorization" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PersonalProfileUpdateRequest" + } + } + } + }, + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": true, + "title": "Response Update Personal Profile V1 Portal Personal Profile Post" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + } + } + }, "/v1/portal/personal/overview": { "get": { "summary": "Personal Portal Overview", @@ -7724,6 +7783,36 @@ "type": "object", "title": "OrganizationUpdateRequest" }, + "PersonalProfileUpdateRequest": { + "properties": { + "display_name": { + "anyOf": [ + { + "type": "string", + "maxLength": 255 + }, + { + "type": "null" + } + ], + "title": "Display Name" + }, + "company": { + "anyOf": [ + { + "type": "string", + "maxLength": 255 + }, + { + "type": "null" + } + ], + "title": "Company" + } + }, + "type": "object", + "title": "PersonalProfileUpdateRequest" + }, "PersonalWorkspaceSelectionRequest": { "properties": { "org_id": { @@ -9437,13 +9526,6 @@ "type": { "type": "string", "title": "Error Type" - }, - "input": { - "title": "Input" - }, - "ctx": { - "type": "object", - "title": "Context" } }, "type": "object", diff --git a/docs/openapi/gateway.v1.json b/docs/openapi/gateway.v1.json index dee0131..06bff6a 100644 --- a/docs/openapi/gateway.v1.json +++ b/docs/openapi/gateway.v1.json @@ -4112,6 +4112,129 @@ } } }, + "/v1/portal/personal/profile": { + "post": { + "summary": "Update Personal Profile", + "description": "Update the caller's profile (display name, company). Both fields optional.", + "operationId": "update_personal_profile_v1_portal_personal_profile_post", + "parameters": [ + { + "name": "authorization", + "in": "header", + "required": false, + "schema": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Authorization" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PersonalProfileUpdateRequest" + } + } + } + }, + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": true, + "title": "Response Update Personal Profile V1 Portal Personal Profile Post" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + } + } + }, + "/v1/feedback/view": { + "get": { + "summary": "Feedback View", + "description": "View feedback form. Public, token-based access.", + "operationId": "feedback_view_v1_feedback_view_get", + "parameters": [ + { + "name": "token", + "in": "query", + "required": true, + "schema": { + "type": "string", + "minLength": 1, + "title": "Token" + } + } + ], + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": true, + "title": "Response Feedback View V1 Feedback View Get" + } + } + } + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + } + } + } + } + }, + "/v1/feedback/submit": { + "post": { + "summary": "Feedback Submit", + "description": "Submit feedback responses. Public, token-based.", + "operationId": "feedback_submit_v1_feedback_submit_post", + "responses": { + "200": { + "description": "Successful Response", + "content": { + "application/json": { + "schema": { + "additionalProperties": true, + "type": "object", + "title": "Response Feedback Submit V1 Feedback Submit Post" + } + } + } + } + } + } + }, "/v1/auth/cli-grants": { "post": { "summary": "Create Cli Grant", @@ -16547,6 +16670,36 @@ "type": "object", "title": "OrganizationUpdateRequest" }, + "PersonalProfileUpdateRequest": { + "properties": { + "display_name": { + "anyOf": [ + { + "type": "string", + "maxLength": 255 + }, + { + "type": "null" + } + ], + "title": "Display Name" + }, + "company": { + "anyOf": [ + { + "type": "string", + "maxLength": 255 + }, + { + "type": "null" + } + ], + "title": "Company" + } + }, + "type": "object", + "title": "PersonalProfileUpdateRequest" + }, "PersonalWorkspaceSelectionRequest": { "properties": { "org_id": { @@ -18260,13 +18413,6 @@ "type": { "type": "string", "title": "Error Type" - }, - "input": { - "title": "Input" - }, - "ctx": { - "type": "object", - "title": "Context" } }, "type": "object", From 5c94e9a142390ad7d123563bb84c412e6e9ee643 Mon Sep 17 00:00:00 2001 From: geobelsky Date: Sat, 11 Apr 2026 07:02:24 +0000 Subject: [PATCH 3/3] chore: regenerate openapi artifacts with fastapi 0.133.0 Previous regeneration was done with locally-installed fastapi 0.115.11 which produces ValidationError schema with only loc/msg/type fields. The CI runner installs fastapi 0.133.0 from control-plane requirements.txt which produces an extended ValidationError with input and ctx fields. Re-export with matching fastapi version so artifacts byte-match what CI generates. #!axme pr=67 repo=AxmeAI/axme-docs --- docs/openapi/gateway.track-f-sprint1.v1.json | 7 +++++++ docs/openapi/gateway.v1.json | 7 +++++++ 2 files changed, 14 insertions(+) diff --git a/docs/openapi/gateway.track-f-sprint1.v1.json b/docs/openapi/gateway.track-f-sprint1.v1.json index d54ce4b..fe47249 100644 --- a/docs/openapi/gateway.track-f-sprint1.v1.json +++ b/docs/openapi/gateway.track-f-sprint1.v1.json @@ -9526,6 +9526,13 @@ "type": { "type": "string", "title": "Error Type" + }, + "input": { + "title": "Input" + }, + "ctx": { + "type": "object", + "title": "Context" } }, "type": "object", diff --git a/docs/openapi/gateway.v1.json b/docs/openapi/gateway.v1.json index 06bff6a..5937169 100644 --- a/docs/openapi/gateway.v1.json +++ b/docs/openapi/gateway.v1.json @@ -18413,6 +18413,13 @@ "type": { "type": "string", "title": "Error Type" + }, + "input": { + "title": "Input" + }, + "ctx": { + "type": "object", + "title": "Context" } }, "type": "object",