1. Product overview
Orient AXLR8 & ACTV8 is an Eclipse plugin for SAP ABAP developers. It exposes two products that share the same plugin distribution:
| Product | What it does | Where you find it |
|---|---|---|
| Orient AXLR8 (Chat) | Conversational AI assistant for analyzing, diagnosing, refactoring, converting, and optimizing existing ABAP code. 17 distinct capabilities accessible via a dropdown. | Window β Show View β "Orient AXLR8 & ACTV8" β Orient AXLR8 Chat |
| Orient ACTV8 | End-to-end code generator: provide a Functional Specification Document (FSD) and ACTV8 plans the artifacts, generates ABAP for each, deploys to SAP, and produces a Technical Specification Document. | Window β Show View β "Orient AXLR8 & ACTV8" β Orient ACTV8 |
Both products share preferences, AI-provider configuration, the indexed codebase used for context, and the SAP connection.
2. Installation & first launch
2.1 Drop-in installation
- Copy the plugin JAR you received into your Eclipse
dropins/folder, typically:C:\Users\<your-user>\eclipse\java-2025-12\eclipse\dropins\ - Launch Eclipse with the -clean flag the first time so Eclipse picks up the new bundle:
eclipse.exe -clean - On first launch you will be prompted to accept the End User License Agreement. Read & accept.
- Open Window β Preferences β Orient AXLR8 & ACTV8 and configure at least one AI provider (see section 3).
2.2 Verifying the install
- Window β Show View β Otherβ¦ β expand "Orient AXLR8 & ACTV8". You should see two views: Orient AXLR8 Chat and Orient ACTV8.
- The Eclipse main toolbar gains two buttons: AXLR8 and ACTV8.
- The top menu bar gains β¦ Orient AXLR8 and β¦ Orient ACTV8 menus.
- Right-click in any editor β "β¦ Orient AXLR8" submenu appears with all chat capabilities.
3. Preferences (one-time setup)
Open via Window β Preferences β Orient AXLR8 & ACTV8.
3.1 AI Provider
The plugin works with multiple AI providers. You only need to configure one to get started β but configuring two gives you automatic fallback if one is rate-limited or unavailable.
| Provider | What you need | Strengths |
|---|---|---|
| OpenAI | API key | Default. Strong on ABAP code generation. |
| Claude API (Anthropic) | API key | Excellent reasoning, refactoring, and long-context tasks. |
| Claude Code | Claude Pro/Max subscription + the Claude CLI installed locally | Cheaper for heavy use (subscription pricing instead of per-token). |
| Google Gemini | API key | Long context. Good fallback. |
| GitHub Models | GitHub PAT (free for Copilot subscribers) | Access OpenAI/Meta/Mistral/DeepSeek/Cohere models via GitHub. Heavy and light model tiers configurable. |
| Codex CLI | ChatGPT Plus/Pro subscription + the Codex CLI installed locally | Subscription-pricing alternative to OpenAI API. Uses single-shot AI Fix loop (no native tool-use API). |
3.2 SAP System Connection
Required for: deploy-to-SAP, ATC checks, transport requests, BAPI discovery, natural-language table queries, ST22 dump fetch.
| Host | SAP server hostname or IP, e.g. s23.example.corp |
| Port | HTTPS port (e.g. 44300) or HTTP port (8000) |
| Use HTTPS | Recommended ON for any non-localhost system |
| Client | SAP client (mandant), e.g. 100, 200 |
| User | SAP user ID |
| Password | SAP password (eye toggle to reveal) |
| Test Connection | Probes the SAP system and reports success / failure |
3.3 Codebase Indexing (RAG)
| Auto-index workspace on startup | Default ON. Indexes ABAP source in your workspace shortly after Eclipse starts. |
| Index folder path (optional) | If your code is stored outside the workspace (e.g. an abapGit export), point this at the folder. |
| Embedding provider | Voyage AI (cloud, requires API key) or Ollama (local install). Required for semantic search. |
3.4 TSD & FSD generation quality
| FSD planning model | auto / light / heavy |
| TSD quality mode | quality (best depth) / balanced (default) / fast (cheapest) |
3.5 AI Output Validation (opt-in)
When enabled, every AI response is checked against your SAP system and workspace before being shown:
- Do referenced ABAP objects actually exist?
- Do referenced fields exist on those objects?
- Do field types match what the AI claims?
- Does the proposed code syntax-check on SAP?
- Would the proposed change be releasable in the current Transport Request?
Each finding is annotated as verified, inferred, or unverified. Default: OFF β turn on if you want extra safety at the cost of slower responses.
4. Orient AXLR8 Chat (main view)
The chat view is the primary user surface. Open via:
- The AXLR8 button on the Eclipse main toolbar, or
- Window β Show View β Orient AXLR8 & ACTV8 β Orient AXLR8 Chat, or
- Any of the menu commands (most route through the chat view automatically).
4.1 Layout β top to bottom
Header strip
- Logo + title "β¦ Orient AXLR8"
- Brand link "OrientCDS Private Limited"
Mode bar
| Control | What it does |
|---|---|
| Mode dropdown | Pick a capability β 17 entries (see section 5). |
| Use RAG checkbox | When ON, semantic search over your indexed ABAP files runs and the most relevant snippets are added to your prompt for context. |
| Clear | Wipes the conversation. The active editor file context is preserved. |
| Settings | Opens Preferences β Orient AXLR8 & ACTV8. |
| Expand | Opens the conversation in a larger floating window. Useful for long AI responses. Press Esc to close. |
| Copy | Copies the entire conversation to clipboard. |
| Export | Save the conversation as .txt, .docx, or .pdf. |
| Minimize | Minimizes the parent Eclipse window. |
Conversation panel
Read-only display of the back-and-forth between you and the AI. Right-click to copy selected text.
Prompt input
Multi-line text area at the bottom. Enter sends; Shift + Enter adds a newline.
Context row
| Button / control | What it does |
|---|---|
| Read Active File checkbox | When ON, the full content of the active editor file is automatically prepended to your prompt. Shows β when a file is captured or β if no editor is open. |
| Apply to Editor | Replaces the active editor's content with the corrected source from the AI's response. Visible only for capabilities that produce a complete corrected file. For unit-test generation, opens the test code in a new preview file instead so your source class isn't overwritten. |
| Apply to SAP | Visible only for Diagnose & Fix. Deploys the AI's proposed root-cause fixes to SAP β with a per-artifact risk review dialog before anything actually goes live. |
| Live Dumps | Visible only for Analyze ST22 Dump. Opens a picker showing recent ST22 short dumps from your SAP system; pick one to analyze. |
Action row
- Send β submits the prompt. Same as pressing Enter.
- Stop β cancels an in-flight AI request.
Status bar
Shows the current state β Ready, Thinkingβ¦, Streamingβ¦, error messages, etc. β with a progress bar while the AI is working.
5. Chat capabilities β every mode
The mode dropdown picks which capability the AI runs when you click Send. Each mode is purpose-built for a specific job.
Chat (memory)
Conversational AI with full conversation memory. Good for general ABAP / SAP questions, follow-up clarifications on a previous answer, and brainstorming.
Tip: turn on Read Active File to give the AI your current editor file as context for the question.
Analyze Program
Deep analysis of an ABAP program. Returns a comprehensive report: business purpose, control flow, database objects accessed, dependencies, call hierarchy, performance hot-spots, bug/risk findings, and modernization suggestions.
If Use RAG is on, related code from your workspace is automatically included for cross-reference quality.
Diagnose & Fix
The headline capability. When you have a failing artifact, an activation error, or a tricky cross-artifact bug, this mode:
- Identifies the root cause β which may be in a different artifact than where the error surfaced
- Proposes coordinated fixes across all affected artifacts (CLASS / TABLE / CDS view / Behaviour Definition / etc.)
- Lets you click Apply to SAP to deploy them together with a pre-deploy risk review dialog
The deploy review classifies each fix as SAFE, NEEDS_REVIEW, or HIGH_RISK. You can apply only the safe ones, review per artifact, skip the risky ones, or cancel.
Refactor
Smart refactor preserving behaviour. Modernises legacy patterns: FORMs to methods, table types to named types, inline declarations, ABAP 7.40+ constructor expressions, and so on.
Convert to OO ABAP
Procedural ABAP β an object-oriented class. Output is a complete CLASS β¦ DEFINITION + CLASS β¦ IMPLEMENTATION pair.
Convert to RAP
Legacy ABAP β the RESTful ABAP Programming Model. Output is a CDS view + Behaviour Definition + Service Definition + Service Binding skeleton.
Convert to SQLScript
ABAP loop-and-fetch logic β HANA SQLScript AMDP method. Pushes computation down to the database for performance.
Generate Unit Tests
Generates an ABAP Unit local test class targeting the active class. Test methods cover happy path, edge cases, error conditions, and boundary values.
Generate Documentation
Adds ABAP Doc comments to your source: class-level overview, per-method parameter / raising / since tags, and inline explanations for complex blocks. Apply to Editor replaces the editor with the annotated version of the source.
Optimize Performance
Performance-focused review. Flags SELECT-inside-LOOP patterns, SELECT * usage, missing WHERE clauses, missing indexes (with suggested CREATE INDEX statements), inefficient internal-table operations, and HANA pushdown opportunities.
Task Planner
Multi-step plan for a complex task. Give it something like "build a CDS view + Behaviour Definition + Service for travel requests" and it produces a step-by-step execution plan with estimated artifacts and dependencies.
For full code generation from the plan, use Orient ACTV8 instead.
Analyze ST22 Dump
Deep analysis of a short dump. Either paste the dump text into the prompt, or click Live Dumps to pick from recent dumps fetched directly from your SAP system. The AI identifies the runtime error type and root cause, maps the call stack to source lines, and suggests a code fix targeting the offending line.
Run ATC Check
Triggers an ABAP Test Cockpit check on the active artifact. Findings are returned and the AI proposes auto-fixes for each.
SELECT Performance Advisor
Reviews each SELECT statement in your code with a per-statement advisory: estimated cost, missing indexes (with suggested CREATE INDEX statements), join strategy, and HANA pushdown opportunities.
Review Transport Request
Opens a dialog for a transport request number (e.g. DEVK123456). The AI then fetches all artifacts in the TR, reviews each change (added / changed / deleted), flags risks (destructive DDIC changes, dropped methods, broken dependencies), and returns a structured "ready to release" / "blockers" verdict.
BAPI / FM Discovery
Interactive search across the SAP BAPI / Function Module catalog. Type a topic ("create sales order") or pattern (BAPI_SD_*) and the AI returns the top match with a full signature, parameters by direction, exceptions, and a sample call template ready to paste into your code.
Query Table (Natural Language)
Opens a dialog for two inputs: SAP table name + natural-language question (e.g. "Show all open POs over 5000 EUR from January 2026 in EKKO"). The AI generates the SELECT, runs it on your SAP system, and returns a results table.
Smart fallback: if you only fill the table-name field with a full sentence, the system infers the table from the sentence.
6. Orient ACTV8 (code generator)
ACTV8 takes a Functional Specification Document and produces a complete, deployable ABAP solution. Open via:
- The ACTV8 button on the main toolbar, or
- Window β Show View β Orient AXLR8 & ACTV8 β Orient ACTV8.
6.1 Layout β top to bottom
Header
Logo + title "β¦ β¦ Orient ACTV8", brand link, plus a workflow hint: Generate β Review β Accept β TSD β Deploy.
FSD Upload strip
| π Upload FSD (.txt / .docx / .pdf) | File picker. Accepts plain text, Microsoft Word, and PDF. |
| β Remove FSD | Clears the loaded spec. |
| FSD file label | Shows the loaded filename. Default: "No functional spec loaded". |
Transport Request strip
| TR dropdown | Lists fetched transport requests for the connected SAP system. |
| π Fetch TRs | Loads recent TRs in the background. |
| + Create TR | Opens an SAP dialog to create a new TR. |
| β | Clears the TR selection. |
Package strip
| Project dropdown | Eclipse projects in your workspace. |
| Package dropdown | SAP packages within the selected project. Type-ahead search across local + SAP packages. |
| Fetch Pkg | Loads packages from SAP. |
| Create Pkg | Opens an SAP dialog for new package creation. |
| Use Existing / Create New radios | Whether ACTV8 should deploy into an existing package or create one as part of the deploy. |
Main content area
Split between a top input panel and a bottom plan / code / TSD viewer.
Top β requirement input
| Requirement text field | Multi-line. Default label: "Describe your program (or upload an FSD above):". |
| β€’ Edit | Opens the requirement field in a larger editor for long descriptions. |
| βΆ Generate | Plans + generates from the requirement text. |
| πβΆ Generate from FSD | Same flow but uses the uploaded FSD file as input. |
| βΉ Cancel | Aborts the in-progress generation. |
Bottom β plan + viewer
| Left side β artifact plan | Right side β tabbed viewer |
|---|---|
|
Artifact plan table with status icons (β Planned, β Generating, β Ready, β Error). Click a row to preview that artifact's code or TSD on the right.
Plan-level controls:
|
Two tabs:
|
Per-artifact controls β refine + accept
| Refine input field | Default label: "Refine selected artifact:". Type tweaks like "rename ZTAB to ZTAB_V2" or "add a CHANGEDBY field". |
| β€’ Edit | Opens the refine input in a larger editor. |
| βΊ Refine Artifact | Re-generates the selected artifact with the tweak applied. |
| β Accept Artifact | Locks the currently-previewed artifact. |
| ββ Accept All | Locks all artifacts in the plan as ready-for-deploy. |
Code Preview tab β toolbar
| β€’ Expand Code | Opens the code preview in a full-screen editor. |
| π Copy Code | Copies the selected artifact's code to clipboard. |
| π Deploy to SAP | Deploys all accepted artifacts to SAP using the configured TR + package. |
| π€ Deploy + AI Fix | Same as Deploy to SAP, but on activation failure feeds the error back to the AI for up to five automatic fix rounds. |
| πΎ Export All Code | Saves all accepted artifact source files locally for distribution. |
Technical Spec (TSD) tab β toolbar
| π Generate TSD | Builds the technical spec document from all generated artifacts. Uses a structured template with 16 sections, a code-review checklist, and a sign-off page. |
| Refine input field | Default label: "Refine TSD:". |
| βΊ Refine TSD | Iterative refinement of the TSD body content. |
| β€’ Expand TSD | Full-screen TSD viewer. |
| π Copy TSD | Copies the TSD text to clipboard. |
Status bar
Operation status β Planningβ¦, Generating artifact 3 of 12β¦, Deploy ready β plus a progress bar during generation.
6.2 The full ACTV8 lifecycle
| Phase | What happens |
|---|---|
| 1. Planning | You click Generate. The FSD or requirement is sent to the AI planner. Output: a list of artifacts (name + type per row) populating the plan table with status β Planned. |
| 2. Generation | For each artifact (in dependency order β DDIC types first, then CDS, then Behaviour Definitions, then classes, then service bindings), the AI is queried with the FSD + the plan + already-generated artifacts. The code preview updates as each artifact streams in. Status moves β β β β β. |
| 3. Review per artifact | For each artifact you can click βΊ Refine Artifact with a tweak, or β Accept Artifact to lock it. ββ Accept All locks everything at once. |
| 4. Deploy | Click π Deploy to SAP. Pre-deploy validation runs: object-exists probe, syntax-check-run on SAP, destructive-change protection (refuses dropping a key field on a TABLE that has data), structural correctness checks. Each artifact is classified SAFE / NEEDS_REVIEW / HIGH_RISK in a review dialog before the deploy itself runs. |
| 5. Deploy + AI Fix (optional) | Click π€ Deploy + AI Fix instead of Deploy to SAP. Same as deploy, but on any activation failure the error is sent back to the AI for up to five automatic fix rounds. Each round patches the failing artifact and retries the deploy. |
| 6. TSD generation (optional) | Click π Generate TSD. The AI produces a 16-section technical spec from the deployed artifacts. A code-review checklist and a sign-off page are appended automatically. Copy the result to Word or distribute as plain text. |
7. Menus & toolbar
7.1 Main toolbar
Two buttons added by the plugin:
- AXLR8 β opens the chat view.
- ACTV8 β opens the code generator.
7.2 β¦ Orient AXLR8 menu (top menu bar)
- Chat
- Task Planner
- (separator)
- Inline Assist
- Generate Unit Tests
- Generate Documentation
- (separator)
- Analyze Program
- Diagnose & Fix
- Optimize Performance
- Run ATC Check
- Refactor β submenu:
- Smart Refactor
- Convert to OO ABAP
- Convert to RAP
- Convert to SQLScript
- (separator)
- Analyze ST22 Dump
- (separator)
- SELECT Performance Advisor
- Review Transport Request
- BAPI / FM Discovery
- Query Table (Natural Language)
7.3 β¦ Orient ACTV8 menu
Single entry: Orient ACTV8 β opens the code generator.
8. Keyboard shortcuts
8.1 In-view keystrokes
These work in the chat view itself, regardless of Eclipse keybinding settings:
| Key | Action |
|---|---|
| Enter | Send the prompt (when prompt input is focused) |
| Shift+Enter | Insert newline in prompt |
| Esc | Close the Expand Conversation window |
8.2 Adding your own shortcuts
Eclipse lets you bind any registered command to any key combination:
- Window β Preferences β General β Keys
- In the filter, type "Orient AXLR8" to list all the plugin's commands
- Pick a command (e.g. "Diagnose & Fix")
- Click in the Binding field, press your desired combo (e.g. Ctrl+Shift+D)
- Pick a "When" context β typically Editing Text for editor commands, In Windows for global ones
- Apply
If a chosen combination collides with an existing Eclipse binding (for example Ctrl+Shift+R is bound to "Open Resource" by default), Eclipse will displace that binding for the chosen When context.
9. Editor right-click menu
Right-click in any editor (ABAP source, Java, etc.) β a collapsible "β¦ Orient AXLR8" submenu appears with all chat capabilities. The selected text (or full file if nothing is selected) is automatically captured and routed to the chosen capability via the chat view.
Works on both standard text editors and SAP ADT-managed editors.
10. RAG (semantic search)
The plugin indexes your workspace's ABAP source code and uses semantic search to find relevant snippets when you ask the AI a question. This dramatically improves quality on questions that reference code outside the active editor.
10.1 What gets indexed
- All ABAP source files in open Eclipse projects (programs, classes, CDS, Behaviour Definitions, Service Definitions, etc.)
- An optional external folder configured in Preferences β useful for abapGit exports of systems your Eclipse can't see directly
10.2 When indexing happens
| Plugin activation | Shortly after Eclipse starts (background job). |
| Project switch | When you open a project that hasn't been indexed yet. |
| File save | The changed file is re-indexed automatically. |
10.3 Who uses it
- Chat view β when "Use RAG" is checked, every prompt is enriched with retrieved snippets.
- ACTV8 β automatically uses indexed code when generating, so output can reference your existing patterns.
- Analyze Program β auto-injects context for cross-reference quality.
11. Deploying to SAP
Two deploy paths β both go through a pre-deploy review:
11.1 From the chat view (Diagnose & Fix)
When the AI proposes a multi-artifact root-cause fix, click Apply to SAP on the chat view. A review dialog appears with each artifact classified by risk:
- SAFE β additive change, low chance of breaking dependents
- NEEDS_REVIEW β non-obvious change worth a human eye
- HIGH_RISK β destructive shape detected (e.g. method removed, key field dropped)
You can apply only the safe ones, review per artifact, skip the risky ones, or cancel.
11.2 From ACTV8 (full code-generation lifecycle)
After accepting all artifacts in your generation session, click π Deploy to SAP (or π€ Deploy + AI Fix for the auto-fix-loop variant). The same risk-classification review runs first.
11.3 What gets checked before deploy
- Object-exists probe β verifies that referenced ABAP objects actually exist in SAP before the deploy starts.
- Drift detection β if the SAP source changed since the AI was queried (e.g. a colleague pushed an update), the deploy is held back.
- Destructive-change protection β refuses to drop a key field on a populated table, narrow a CHAR field below the longest existing value, or remove an existing method.
- Structural correctness β a CLASS must have IMPLEMENTATION + ENDMETHOD, a CDS view must have a SELECT clause, etc.
- Syntax check on SAP β runs an ABAP syntax check against the live system before activation.
12. Safe-apply behaviour
When you click Apply to Editor, the plugin checks the AI's response before writing it into your editor. If the response looks malformed β for example contains both an "original" and a "corrected" version stacked together, has diff markers, or duplicates the artifact's top-level definition β the apply is refused and the response is opened as a separate preview file in an ABAPAIFixes/ folder so you can review and apply manually.
This protects you from accidentally overwriting good source with a malformed AI output.
13. Technical Spec Documents (TSD)
Triggered from ACTV8 (the Generate TSD button) or from chat Generate Documentation mode.
13.1 Document structure
The TSD is built from a structured template with the following sections:
- Document Control
- Executive Summary
- Solution Architecture
- Data Model
- CDS Data Model
- Behavior Definitions (RAP)
- Functional Components
- Service Exposure
- Authorization
- Interface Specifications
- Performance & HANA Optimization
- Error Handling & Logging
- Test Scenarios
- Transport & Deployment
- Known Limitations
- References & Glossary
13.2 Code-review checklist
The generated TSD includes a 22-item code-review checklist across five categories β General, Code Alignment, Performance, Error Handling, and Extended Check & Clean-up β with empty Y / N / NA columns for the human reviewer to fill in.
13.3 Sign-off page
A four-role sign-off page is appended at the end: Functional Team Requestor, Developer, Technical Lead, and SAP Tech Lead. Each row has Role / Name / Signature / Date columns ready for human fill-in.
14. License & activation
Every plugin command runs through a license check before executing.
14.1 First launch
If no valid license is configured, every command pops a "License Required" dialog with two buttons:
- Get Free License β opens a short request form (Name, Company, Designation, Email, Country, Source). Submit it and your license file is delivered by email.
- Close β abort.
14.2 License file
Once you receive your license by email, save the file to disk and set its path in Window β Preferences β Orient AXLR8 & ACTV8 β License File. There is no hardcoded default path β the field starts empty for you to fill in.
14.3 EULA
On first run, the End User License Agreement appears. Accept once and the version is remembered. If the EULA materially changes in a future release, you'll be re-prompted.
15. Capabilities at a glance
| Capability | Where | What it produces |
|---|---|---|
| Chat with memory | Chat view | Conversational answer |
| Inline Assist | Editor + Chat | Contextual completion / suggestion |
| Analyze Program | Chat view | Comprehensive program analysis report |
| Diagnose & Fix | Chat view | Root-cause fix across multiple artifacts; deployable to SAP |
| Smart Refactor | Chat view | Modernised source preserving behaviour |
| Convert to OO ABAP | Chat view | OO-converted source |
| Convert to RAP | Chat view | RAP skeleton (CDS + BDEF + service) |
| Convert to SQLScript | Chat view | HANA AMDP method |
| Generate Unit Tests | Chat view | Local test class in a preview file |
| Generate Documentation | Chat view | Source annotated with ABAP Doc comments |
| Optimize Performance | Chat view | Performance review + suggested rewrites |
| Task Planner | Chat view | Multi-step plan for a complex task |
| Analyze ST22 Dump | Chat view + Live Dumps picker | Root-cause analysis + suggested fix |
| Run ATC Check | Chat view | ATC findings + AI-proposed fixes |
| SELECT Performance Advisor | Chat view | Per-statement SELECT advisory |
| Review Transport Request | Chat view (dialog) | TR risk review + release verdict |
| BAPI / FM Discovery | Chat view | BAPI signature + sample call |
| Query Table (Natural Language) | Chat view (dialog) | Generated SELECT + result table |
| End-to-end code generation | ACTV8 view | Full ABAP solution from FSD: artifacts + deploy + TSD |
16. Troubleshooting
16.1 "License Required" appears on every click
Either the license file path is wrong or the license has expired. Open Preferences β Orient AXLR8 & ACTV8 and check the License File path. Click "Get Free License" on the dialog if you need a new license.
16.2 SAP probe fails / "403" on every request
Open SAP GUI β /nSMICM β Goto β HTTP Plug-In β HTTP Session Manager. Filter by your SAP user. If you see many sessions, delete them or ask basis to restart ICM. The plugin will pause briefly while sessions clear, then retry.
16.3 Apply to Editor button is greyed out
The AI's response didn't include an extractable code block, or the active editor changed since you sent the prompt. Re-send the prompt, or check the ABAPAIFixes/ folder if the plugin opened a preview file there.
16.4 Eclipse won't pick up the new plugin JAR
Launch Eclipse with -clean the first time after replacing the JAR:
eclipse.exe -clean
16.5 RAG context isn't showing up in responses
Three things to check:
- The "Use RAG" checkbox in the chat view is on.
- An embedding provider is configured in Preferences β Voyage AI (cloud) or Ollama (local).
- Indexing has had time to complete after Eclipse start. Watch the bottom-right Eclipse status area for the indexing job to finish.
16.6 ACTV8 deploy keeps failing on activation
Use π€ Deploy + AI Fix instead of π Deploy to SAP. It will feed activation errors back to the AI and retry up to five times automatically.