ApiLogicServer 15.2.3__py3-none-any.whl → 15.2.7__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. api_logic_server_cli/api_logic_server.py +2 -1
  2. api_logic_server_cli/prototypes/base/.github/.copilot-instructions.md +114 -52
  3. api_logic_server_cli/prototypes/base/docs/training/testing.md +95 -9
  4. api_logic_server_cli/prototypes/basic_demo/.github/.copilot-instructions.md +742 -0
  5. api_logic_server_cli/prototypes/basic_demo/readme.md +12 -4
  6. api_logic_server_cli/prototypes/basic_demo/tutor.md +1196 -0
  7. api_logic_server_cli/prototypes/manager/.github/.copilot-instructions.md +50 -23
  8. api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/.github/.copilot-instructions.md +3 -0
  9. api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/docs/training/testing.md +95 -9
  10. api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/features/order_processing.feature +59 -50
  11. api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/features/steps/order_processing_steps.py +395 -248
  12. api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/behave.log +66 -62
  13. api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Carbon_Neutral_Discount_A.log +51 -41
  14. api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Change_Order_Customer.log +29 -0
  15. api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Change_Product_in_Item.log +35 -0
  16. api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Delete_Item_Reduces_Order.log +39 -19
  17. api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Exceed_Credit_Limit_Rejec.log +36 -45
  18. api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Good_Order_Placed_via_B2B.log +50 -40
  19. api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Item_Quantity_Change.log +33 -0
  20. api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Multi-Item_Order_via_B2B_.log +67 -0
  21. api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Ship_Order_Excludes_from_.log +24 -14
  22. api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Transaction_Processing.log +26 -17
  23. api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Unship_Order_Includes_in_.log +24 -14
  24. api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/reports/Behave Logic Report.md +361 -146
  25. api_logic_server_cli/prototypes/manager/system/ApiLogicServer-Internal-Dev/copilot-dev-context.md +236 -0
  26. {apilogicserver-15.2.3.dist-info → apilogicserver-15.2.7.dist-info}/METADATA +25 -16
  27. {apilogicserver-15.2.3.dist-info → apilogicserver-15.2.7.dist-info}/RECORD +31 -25
  28. {apilogicserver-15.2.3.dist-info → apilogicserver-15.2.7.dist-info}/WHEEL +0 -0
  29. {apilogicserver-15.2.3.dist-info → apilogicserver-15.2.7.dist-info}/entry_points.txt +0 -0
  30. {apilogicserver-15.2.3.dist-info → apilogicserver-15.2.7.dist-info}/licenses/LICENSE +0 -0
  31. {apilogicserver-15.2.3.dist-info → apilogicserver-15.2.7.dist-info}/top_level.txt +0 -0
@@ -1,3 +1,15 @@
1
+ ---
2
+ title: Context Restoration for BLT Manager Workspace
3
+ Description: Re-establishes AI assistant context after BLT regenerates workspace
4
+ Source: ApiLogicServer-src/prototypes/manager/system/ApiLogicServer-Internal-Dev/copilot-dev-context.md
5
+ Propagation: BLT process → Manager workspace
6
+ Usage: AI assistants read this to understand project structure, development workflow, and recent additions
7
+ version: 2.0
8
+ changelog:
9
+ - 2.0 (Oct 2025) - Added AI-Guided Training section (tutor.md v2.0, OBX improvements, design philosophy)
10
+ - 1.0 (Initial) - Established workspace structure, GenAI prompt engineering, development workflow
11
+ ---
12
+
1
13
  # Context Restoration: BLT Manager Workspace
2
14
 
3
15
  **Purpose:** This file re-establishes AI assistant context after BLT runs regenerate this workspace.
@@ -110,6 +122,50 @@ This document contains **everything** you need to understand the system:
110
122
  - **[Installation Guide](https://apilogicserver.github.io/Docs/Install/)** - Setup procedures
111
123
  - **[Tutorial](https://apilogicserver.github.io/Docs/Tutorial/)** - Step-by-step learning
112
124
 
125
+ ### For AI-Guided Training (New Feature):
126
+ - **`basic_demo/tutor.md`** - AI assistant guide for conducting 30-45 min hands-on tour
127
+ - **Version:** 2.0 (762 lines, October 2025)
128
+ - **Purpose:** "Message in a bottle" for AI assistants - enables guided discovery learning
129
+ - **Method:** Provocation-based (e.g., "how did it know ORDER has a foreign key to Customer?")
130
+ - **Philosophy:** Users learn by DOING (hands-on tour), not reading docs or taking quizzes (Versata approach)
131
+ - **Structure:** 9 sections with timing checkpoints (15 min, 35 min), concrete metrics (48 vs 200+ lines)
132
+ - **Key Additions in v2.0:** Spreadsheet analogy, procedural comparison (BUG FIX examples), context for schema commands, three ways to add logic (Discovery/IDE/Chat), MCP server integration
133
+ - **Location:** `prototypes/basic_demo/tutor.md` (template), propagates to created `basic_demo` projects
134
+ - **Invocation:** User says "Guide me through basic_demo" → AI reads tutor.md → conducts tour
135
+
136
+ - **Design Philosophy - Why Provocation Over Instruction:**
137
+ - **Problem with traditional training:** PowerPoint → quiz/assessment approach tests memorization, not understanding
138
+ - **Versata insight:** "Stop killing people with PowerPoint; identify critical skills, design lab to DO it"
139
+ - **Discovery learning:** Ask provocative questions that force pattern recognition ("How did it know ORDER references CUSTOMER?")
140
+ - **"Aha moments" over rote learning:** User discovers foreign keys exist, then learns they're essential for multi-table logic
141
+ - **Spreadsheet analogy:** Excel user understands formulas → multi-table database is "Excel for related tables"
142
+ - **AI as training partner DURING the lab:** Not quiz after, not docs before - real-time guidance while doing
143
+ - **Result:** 30-45 min hands-on experience creates deeper understanding than hours of documentation reading
144
+
145
+ - **v1.0 → v2.0 Evolution (Battle-Tested Refinements):**
146
+ - **v1.0 (595 lines):** Initial design based on architecture understanding
147
+ - **Live testing:** User spent "several hours with your cousin testing and revising" actual tours
148
+ - **v2.0 (+506 net lines):** Added based on what users actually needed during tours:
149
+ - **Spreadsheet analogy** - Non-technical users needed familiar mental model
150
+ - **Procedural comparison** - Show 48 vs 200+ lines WITH concrete BUG FIX examples (not just line counts)
151
+ - **Context for commands** - Why `add-cust` exists (schema variability, new users discover structure)
152
+ - **Three ways to add logic** - Discovery file (recommended), IDE autocomplete, or Chat
153
+ - **Timing checkpoints** - 15 min at Security, 35 min at Q&A (helps pace the tour)
154
+ - **MCP server mention** - Claude Desktop integration for external AI access
155
+ - **Best practices** - `logic/logic_discovery/` organization pattern
156
+ - **Short response guidance** - "One idea per interaction" prevents overwhelming new users
157
+ - **Key learning:** Initial version was too instruction-heavy, v2.0 adds more context and concrete examples
158
+
159
+ - **OBX (Out-of-Box Experience) Design** - Manager → Project flow optimization (October 2025):
160
+ - **Manager README:** "🚀 First Time Here? Start with basic_demo" section (clear default path)
161
+ - **Manager .copilot-instructions.md:** "CRITICAL: ALWAYS start" directive (no choices, single path)
162
+ - **Project README:** "🤖 Ready to Explore? Recommended: Guide me through" (guided tour as primary option)
163
+ - **Project .copilot-instructions.md:** "🎯 Most Common Next Steps" (5 succinct items at top)
164
+ - **Goal:** Eliminate friction/choice paralysis, make basic_demo → guided tour the clear default
165
+ - **Problem addressed:** Users didn't automatically know to start with basic_demo, didn't default to guided tour
166
+ - **Solution:** Strengthen every touch point in the journey to push toward the optimal path
167
+ - **Flow:** Install → Open Manager → Create basic_demo → Auto-opens → "Guide me through" → 30-45 min tour
168
+
113
169
   
114
170
 
115
171
  ## 👤 Current Maintainer
@@ -159,6 +215,186 @@ This document contains **everything** you need to understand the system:
159
215
 
160
216
   
161
217
 
218
+ ## 🤖 GenAI Prompt Engineering Architecture
219
+
220
+ ### Overview: ChatGPT Project Creation Pipeline
221
+
222
+ The `genai-logic create` command uses **fine-tuned ChatGPT** to translate natural language requirements into complete working projects. The system uses **prompt engineering** to surround user input with structured instructions.
223
+
224
+ ### Key Locations
225
+
226
+ **Prompt Templates:** `system/genai/prompt_inserts/`
227
+ ```
228
+ ├── sqlite_inserts.prompt # Main orchestrator for DB creation
229
+ ├── sqlite_inserts_model_test_hints.prompt # SQLAlchemy class generation rules
230
+ ├── logic_inserts.prompt # LogicBank rule generation
231
+ ├── logic_translate.prompt # NL → LogicBank translation (existing DB)
232
+ ├── graphics.prompt # Dashboard chart generation
233
+ ├── response_format.prompt # WGResult Pydantic schema
234
+ └── web_genai.prompt # WebGenAI-specific (15+ tables)
235
+ ```
236
+
237
+ **Training Examples:** `org_git/ApiLogicServer-src/tests/genai_tests/logic_training/`
238
+ ```
239
+ ├── genai_demo.prompt # Check Credit + No Empty Orders
240
+ ├── ready_flag.prompt # Ready Flag pattern (3 use cases)
241
+ ├── emp_depts.prompt # Chain Up: sum salaries, constrain budget
242
+ ├── graduate.prompt # Cardinality: counts with thresholds
243
+ ├── products.prompt # Qualified Any: severity checks
244
+ ├── honor_society.prompt # Complex cardinality with qualified counts
245
+ └── *.txt / *_corrected_prompt.txt # Expected outputs and corrections
246
+ ```
247
+
248
+ **Test Examples:** `system/genai/examples/`
249
+ ```
250
+ ├── genai_demo/ # Complete example with iterations
251
+ ├── airport/ # Complex 10+ table system
252
+ ├── emp_depts/ # Simple aggregation pattern
253
+ └── time_tracking_billing/ # Real-world scenario
254
+ ```
255
+
256
+ ### The Prompt Assembly Process
257
+
258
+ **User Input:**
259
+ ```
260
+ Create a system with customers, orders, items and products.
261
+
262
+ Use case: Check Credit
263
+ 1. Customer.balance <= credit_limit
264
+ 2. Customer.balance = Sum(Order.amount_total where date_shipped is null)
265
+ 3. Order.amount_total = Sum(Item.amount)
266
+ 4. Item.amount = quantity * unit_price
267
+ 5. Item.unit_price = copy from Product.unit_price
268
+ ```
269
+
270
+ **System Surrounds With:**
271
+
272
+ 1. **Model Generation Instructions** (`sqlite_inserts_model_test_hints.prompt`):
273
+ - Use autonum keys for ALL tables (including junction tables)
274
+ - Create classes, never tables (Class names singular, capitalized)
275
+ - **CRITICAL:** "If you create sum, count or formula Logic Bank rules, then you MUST create a corresponding column in the data model"
276
+ - No check constraints (logic uses rules instead)
277
+ - Foreign key columns (not relationship names) for test data
278
+
279
+ 2. **Logic Generation Instructions** (`logic_inserts.prompt`):
280
+ - "Use LogicBank to enforce these requirements (do not generate check constraints)"
281
+ - "be sure to update the data model and *all* test data with any attributes used in the logic"
282
+
283
+ 3. **Response Structure** (`response_format.prompt`):
284
+ ```python
285
+ class WGResult(BaseModel):
286
+ models: List[Model] # SQLAlchemy classes
287
+ rules: List[Rule] # LogicBank declarations
288
+ test_data: str # Python test data creation
289
+ test_data_rows: List[TestDataRow]
290
+ test_data_sqlite: str # INSERT statements
291
+ graphics: List[Graphic] # Dashboard queries
292
+ name: str # Suggested project name
293
+ ```
294
+
295
+ **Result:** ChatGPT returns structured JSON with models, rules, and test data that:
296
+ - Has `Customer.balance`, `Order.amount_total`, `Order.item_count` columns created automatically
297
+ - Contains LogicBank rules for all derivations
298
+ - Includes test data with derived attributes pre-initialized
299
+
300
+ ### Key Insight: Model + Logic Co-Generation
301
+
302
+ **Unlike existing database projects**, GenAI creation can **modify the data model** to support logic:
303
+
304
+ - **Derived attributes materialize:** `Customer.balance`, `Order.amount_total`, `Product.total_ordered`
305
+ - **Count columns appear:** `Order.item_count` for existence checks
306
+ - **Qualified counts split:** `Product.notice_count` + `Product.severity_five_count`
307
+
308
+ This is why the training examples emphasize:
309
+ > "If you create sum, count or formula Logic Bank rules, then you MUST create a corresponding column in the data model."
310
+
311
+ ### Training Pattern Categories
312
+
313
+ The `logic_training/` examples teach ChatGPT these patterns:
314
+
315
+ 1. **Chain Up (Aggregation → Constraint)**
316
+ - `emp_depts`: Department.total_salary = sum(Employee.salary); salary <= budget
317
+ - `genai_demo`: Customer.balance = sum(orders); balance <= credit_limit
318
+
319
+ 2. **Counts as Existence Checks**
320
+ - `genai_demo`: Order.item_count = count(Items); can't ship if == 0
321
+ - Creates both derivation AND validation
322
+
323
+ 3. **Cardinality Patterns (Qualified Any)**
324
+ - `products`: Total notices + severity 5 notices; constraint if orderable
325
+ - `graduate`: Probation count + sick days; constraint for graduation
326
+ - Pattern: Multiple counts (total + qualified) with complex conditions
327
+
328
+ 4. **Ready Flag**
329
+ - `ready_flag`: Multi-use-case with conditional aggregations
330
+ - Customer.balance only sums orders where `ready == True AND date_shipped is None`
331
+ - Product.total_ordered only sums items where `ready == True`
332
+
333
+ 5. **Chain Down (Copy/Formula)**
334
+ - Item.unit_price = copy(Product.unit_price)
335
+ - Item.ready = Order.ready (formula propagation)
336
+
337
+ ### CLI Commands Using This System
338
+
339
+ **Create from natural language:**
340
+ ```bash
341
+ genai-logic create --project-name=my_system --using="<natural language>"
342
+ # Internally: assembles prompts → ChatGPT → parses WGResult → generates project
343
+ ```
344
+
345
+ **Translate logic (existing DB):**
346
+ ```bash
347
+ genai-logic logic-translate --project-name=. --using-file=docs/logic
348
+ # Uses logic_translate.prompt to convert NL in docs/logic → rules in logic/logic_discovery/
349
+ ```
350
+
351
+ ### Fine-Tuning Files
352
+
353
+ **Training Data:** `logic_training/ft.jsonl`
354
+ - JSONL format for ChatGPT fine-tuning
355
+ - Generated from prompt/response pairs
356
+ - ~374KB with all pattern examples
357
+
358
+ **Script:** `logic_training/create_json_l.py`
359
+ - Converts `*.prompt` + `*.txt` → JSONL entries
360
+ - Format: system message, user message (prompt), assistant message (response)
361
+
362
+ ### Common Pitfalls (Why Corrections Exist)
363
+
364
+ Several `*_corrected_prompt.txt` files show typical AI mistakes:
365
+
366
+ 1. **Wrong cardinality:**
367
+ - `airport.prompt`: Asked for "airplane's passengers" but meant "flight's passengers"
368
+ - AI can't count passengers on an Airplane (no direct relationship)
369
+ - Correction: Count passengers on Flight, constrain by Airplane.seating_capacity
370
+
371
+ 2. **Constraint depends on derived flag:**
372
+ - `products.prompt` initially: "product is orderable IF no severity 5 notices"
373
+ - Problem: Makes orderable a derived value, then uses it in constraint
374
+ - Correction: "RAISE ERROR if orderable == True AND has severity 5 notices"
375
+ - Pattern: Flag is input, constraint uses it (not derived from constraint conditions)
376
+
377
+ 3. **Negative condition logic:**
378
+ - Must use: `not(row.flag and bad_condition)`
379
+ - Not: `row.flag → requires good_condition` (harder for AI to translate)
380
+
381
+ ### Why This Architecture?
382
+
383
+ **Traditional GenAI code generation problems:**
384
+ - Generates 200+ lines of procedural code
385
+ - Misses corner cases (foreign key changes, cascading updates)
386
+ - Creates technical debt (unmaintainable spaghetti)
387
+
388
+ **Declarative GenAI solution:**
389
+ - Generates **specifications** (5 rules), not code (200 lines)
390
+ - Rules executed by proven engine (40+ years, 6,000+ deployments)
391
+ - Engine handles ALL change paths automatically (no corner cases missed)
392
+ - Natural language → DSL → Runtime engine (not NL → procedural code)
393
+
394
+ **Critical difference:** The AI doesn't need to "think through" all possible change paths. It translates requirements to rules, and the engine provides correctness guarantee through automatic dependency analysis and chaining.
395
+
396
+ &nbsp;
397
+
162
398
  ## 🔄 Development Workflow
163
399
 
164
400
  **Source Repository:** https://github.com/ApiLogicServer/ApiLogicServer-src
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ApiLogicServer
3
- Version: 15.2.3
3
+ Version: 15.2.7
4
4
  Author-email: Val Huber <apilogicserver@gmail.com>
5
5
  License-Expression: BSD-3-Clause
6
6
  Project-URL: Homepage, https://www.genai-logic.com
@@ -104,10 +104,10 @@ source venv/bin/activate # windows: venv\Scripts\activate
104
104
  python -m pip install ApiLogicServer
105
105
 
106
106
  # Start the Manager (opens readme with instructions)
107
- ApiLogicServer start
107
+ genai-logic start
108
108
 
109
109
  # Create project from your database (or use sample)
110
- ApiLogicServer create --project_name=my_app --db_url=
110
+ genai-logic create --project_name=my_app --db_url=
111
111
 
112
112
  # Run it
113
113
  cd my_app
@@ -116,11 +116,14 @@ python api_logic_server_run.py
116
116
 
117
117
  **What you get in 5 seconds:**
118
118
  - 🚀 **JSON:API** - Endpoints for every table with filtering, pagination, related data
119
- - 📱 **Admin App** - Multi-page React app with automatic joins
119
+ - 📱 **Instant Admin App UI** - Multi-page React app with automatic joins (runs immediately)
120
+ - 🎨 **Custom Apps via API** - Use the API with your favorite vibe tools (Cursor, Bolt, Lovable, etc.) OR leverage GenAI-Logic training for Copilot to build custom UIs ([see this article](https://medium.com/@valjhuber/enterprise-vibe-automation-b40c8f750a1d))
120
121
  - 🧠 **Logic Engine** - Spreadsheet-like rules (40X more concise than code)
121
122
  - 🔐 **Security** - Row-level authorization, JWT authentication
122
123
  - 🐳 **Docker-ready** - Pre-configured containers for deployment
123
124
 
125
+ **Mix and match:** Use the instant Admin App for backoffice tasks AND build custom UIs with vibe tools for advanced features like cards and maps - all powered by the same logic-enabled API.
126
+
124
127
  **[📖 8-minute video demo](https://www.youtube.com/watch?v=Z4_NJIm5rFs&t=323s)** | **[📚 Full Documentation](https://apilogicserver.github.io/Docs/)** | **[🏠 Home](https://www.genai-logic.com)**
125
128
 
126
129
  ---
@@ -137,8 +140,8 @@ python api_logic_server_run.py
137
140
  | Traditional Approach | API Logic Server |
138
141
  |---------------------|------------------|
139
142
  | Weeks to create API endpoints | **5 seconds** (automated) |
140
- | 200+ lines of update logic code | **5 rules** (40X reduction) |
141
- | Manual screen painting | **Automated** from data model |
143
+ | 200+ lines of update logic code | **5 rules** (40X reduction - to see an A/B Comparision, [click here](https://github.com/ApiLogicServer/basic_demo/blob/main/logic/procedural/declarative-vs-procedural-comparison.md) |
144
+ | Manual screen painting | **Automated** from data model, plus vibe-enabled custom UIs |
142
145
  | Hard to integrate systems | **MCP-enabled** APIs |
143
146
  | Opaque procedural code | **Declarative** living documentation |
144
147
 
@@ -240,22 +243,28 @@ A: Join our **[Discord community](https://discord.gg/fNRTTVFT)** for real-time h
240
243
 
241
244
  ```
242
245
  my_app/
243
- ├── api/ # JSON:API endpoints
246
+ ├── api/ # JSON:API endpoints (for Admin App AND custom UIs)
244
247
  │ ├── expose_api_models.py
245
248
  │ └── customize_api.py # Add custom endpoints
246
- ├── ui/admin/ # Admin App
249
+ ├── ui/admin/ # Instant Admin App (ready to run)
247
250
  │ └── admin.yaml # Declare UI behavior
248
- ├── logic/ # Business Logic
251
+ ├── logic/ # Business Logic (enforced on ALL API calls)
249
252
  │ └── declare_logic.py # Spreadsheet-like rules
250
253
  ├── security/ # Authentication & Authorization
251
254
  │ └── declare_security.py
252
255
  ├── database/ # SQLAlchemy models
253
256
  │ └── models.py
254
257
  ├── tests/ # BDD tests (Behave)
258
+ ├── docs/
259
+ │ └── training/ # GenAI-Logic training for Copilot
255
260
  └── devops/
256
261
  └── docker/ # Deployment configs
257
262
  ```
258
263
 
264
+ **Two UI approaches (use both!):**
265
+ 1. **Instant Admin App** - Runs immediately for backoffice/internal users
266
+ 2. **Custom UIs** - Build with vibe tools (Cursor, Bolt, etc.) OR use GenAI-Logic Copilot training to create React/Vue/Angular apps that consume the API
267
+
259
268
  ---
260
269
 
261
270
  ## 🚀 Key Features
@@ -310,7 +319,7 @@ GET /api/Customer?filter[Balance][$gt]=1000&sort=-Balance&page[size]=10
310
319
 
311
320
  #### Create from Natural Language
312
321
  ```bash
313
- ApiLogicServer genai --using=prompt.txt
322
+ genai-logic genai --using=prompt.txt
314
323
  ```
315
324
 
316
325
  **Example prompt:**
@@ -324,24 +333,24 @@ Constraint: customer balance cannot exceed credit limit.
324
333
  ```
325
334
 
326
335
  **Result:** Working microservice with logic in 10 seconds!
327
-
328
336
  #### AI-Assisted Development
329
- Every created project includes:
330
- - 🤖 **Copilot instructions** (`.copilot-instructions.md`)
331
- - 📚 **Training materials** (`docs/training/`)
337
+
338
+ Every created project includes **AI tutoring** to help you get oriented and productive quickly:
339
+
340
+ - 🤖 **Copilot instructions** (`.copilot-instructions.md`) - When you open a project, Copilot presents a friendly welcome message explaining what's already built and what you can do next. Ask Copilot to "read instructions" anytime for guidance.
341
+ - 📚 **Training materials** (`docs/training/`) - Comprehensive guides for all features
332
342
  - 🔍 **Logic from natural language** (translate English → rules)
333
343
 
334
344
  ```python
335
345
  # Paste into Copilot: "Create logic for check credit"
336
346
  # Copilot generates the 5 rules above!
337
347
  ```
338
-
339
348
  ### 4️⃣ Living Documentation
340
349
 
341
350
  **Automated test generation** from your rules:
342
351
  ```bash
343
352
  # Generate Behave tests from declared logic
344
- ApiLogicServer add-tests
353
+ genai-logic add-tests
345
354
 
346
355
  # Run tests
347
356
  behave
@@ -1,5 +1,5 @@
1
1
  api_logic_server_cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
- api_logic_server_cli/api_logic_server.py,sha256=ebZHYYBPIJWMjw5kyuVeIRPXyc4US-I3y8U_SU1Hb_0,104501
2
+ api_logic_server_cli/api_logic_server.py,sha256=f9MVlTra5JbhK0EQwxMHF0HFz2jOBQECAtgYj42vsyk,104605
3
3
  api_logic_server_cli/api_logic_server_info.yaml,sha256=xwH5ENyjrlv3XbKx7IaY2iaF0Cc4zHi3x7qtpEWTzBI,139
4
4
  api_logic_server_cli/cli.py,sha256=xAqTOhq-OnXU2HEQgzsGC9yKrGcAgKUt_8b9U2bV5No,87831
5
5
  api_logic_server_cli/cli_args_base.py,sha256=7cVM6BeizwttYAwUu1FUyuLuvWufvgt0TFeA8FI6tu0,3304
@@ -423,7 +423,7 @@ api_logic_server_cli/prototypes/base/.devcontainer-option/For_VSCode.dockerfile,
423
423
  api_logic_server_cli/prototypes/base/.devcontainer-option/devcontainer.json,sha256=tk-mGd4XdmbpKUqUeGmcPMzX3RDc6am9-de8c-rFmSo,2361
424
424
  api_logic_server_cli/prototypes/base/.devcontainer-option/readme.md,sha256=-sSneMDne1fqEoox2hXUGmoO8ewgi34y7lJwGTidSpY,104
425
425
  api_logic_server_cli/prototypes/base/.devcontainer-option/setup.sh,sha256=pOvGjZ7jgRQzFkD93mNICmcC2y66Dexrq4bCnSSVwtU,310
426
- api_logic_server_cli/prototypes/base/.github/.copilot-instructions.md,sha256=rUxVk-srt1BXmzIkF10tlrrMvL7by5sDrpJKj84vym4,34002
426
+ api_logic_server_cli/prototypes/base/.github/.copilot-instructions.md,sha256=AVpy5C5BUzP4o8XHqEzLONrbKSlN94HM3kY0ilJj7Lk,36743
427
427
  api_logic_server_cli/prototypes/base/.idea/runConfigurations/ApiLogicServer.xml,sha256=eFzhe9NH-VNjcPWbPsRQy5o-MugJR9IWklA1Fo8wtYg,1127
428
428
  api_logic_server_cli/prototypes/base/.idea/runConfigurations/Report_Behave_Logic.xml,sha256=I3jlEf-TPzc-1NY843v6AcQIQ8QJD3z9KvxTYSZWMtY,1306
429
429
  api_logic_server_cli/prototypes/base/.idea/runConfigurations/Run_Behave.xml,sha256=CTzF0P4w7o4FzOi-eSpru0HczSEGtJsKqkQ7VWRyxPc,1196
@@ -534,7 +534,7 @@ api_logic_server_cli/prototypes/base/docs/training/logic_example.py,sha256=yAot6
534
534
  api_logic_server_cli/prototypes/base/docs/training/react_map.prompt.md,sha256=8B9bDjk4sL1t5LzYLKjuf78UPDmhj9assRZTIOvlwN4,891
535
535
  api_logic_server_cli/prototypes/base/docs/training/react_tree.prompt.md,sha256=Eoi4Q3H4x-PQOjonUjQ1o6xkiFtcEA_hg8tuFP-qk80,652
536
536
  api_logic_server_cli/prototypes/base/docs/training/readme_training.md,sha256=EilDTYaDPoGCD9ef5Efs8eDn8ZNQTgGN7_QnJ4LrO2s,120
537
- api_logic_server_cli/prototypes/base/docs/training/testing.md,sha256=embArgUMijhQbVSmBpEW9TCEXBpE9evAt7qJSOP7qmA,28556
537
+ api_logic_server_cli/prototypes/base/docs/training/testing.md,sha256=_G-m-s8mOAUbQOyqIRChIOM48SdFm80IaX11_BElfyY,32197
538
538
  api_logic_server_cli/prototypes/base/integration/kafka/kafka_consumer.py,sha256=2DOsFpYnsJ71gZzzfJweEmL-i99uCtEFU0hVwIKFGMw,1516
539
539
  api_logic_server_cli/prototypes/base/integration/kafka/kafka_producer.py,sha256=g0nMAVfz1Y0iKJbbXfvRpdf-QUmyB4uUGZ6lyaVoXag,4470
540
540
  api_logic_server_cli/prototypes/base/integration/kafka/kafka_readme.md,sha256=MlwykHWM2w41KzWh4vPuTnIodR8f-BQzrWpV4P1hrsI,161
@@ -618,7 +618,9 @@ api_logic_server_cli/prototypes/base/venv_setup/venv-linux.sh,sha256=FDIxVyZ50Cg
618
618
  api_logic_server_cli/prototypes/base/venv_setup/venv.ps1,sha256=_-LfKkLw5HOkZsF59BGCqM9Zsk3n1oDIyDb4emy0O08,698
619
619
  api_logic_server_cli/prototypes/base/venv_setup/venv.sh,sha256=aWX9fa8fe6aO9ifBIZEgGY5UGh4I0arOoCwBzDsxgU8,893
620
620
  api_logic_server_cli/prototypes/basic_demo/_config.yml,sha256=KIUQQpjgj7hP_Z2Fksq90E52UnbKnyom-v9L_eIfqZo,170
621
- api_logic_server_cli/prototypes/basic_demo/readme.md,sha256=lPqI91XAoZfkisGAICK_l2OCn7QYU6BFFfS05BCCHk8,18338
621
+ api_logic_server_cli/prototypes/basic_demo/readme.md,sha256=dLbO4T_6YK0_9aV-1fLiDSizHJxSvxTc-bNm5uuNcq4,18731
622
+ api_logic_server_cli/prototypes/basic_demo/tutor.md,sha256=VVlQSYUQxGNb-ZbYsvHP5MbKbHPU4nkOWDFyvRlmP3I,36337
623
+ api_logic_server_cli/prototypes/basic_demo/.github/.copilot-instructions.md,sha256=bb6SyDm3fu-MDXOLQfzJXh6NutsqNF8I4ik4qhVaLDM,33212
622
624
  api_logic_server_cli/prototypes/basic_demo/_layouts/redirect.html,sha256=-0kMPGYI88fb787IzYmdi7ySZUhgpUlP0vodrg8-NRM,457
623
625
  api_logic_server_cli/prototypes/basic_demo/customizations/api/api_discovery/openapi.py,sha256=kLQ7Fn1J7tzuNJHBXF2AiwtzvQ-0JxJ6z-MfFryAtLk,3887
624
626
  api_logic_server_cli/prototypes/basic_demo/customizations/config/default.env,sha256=-rjXJrjR4vjMr9YCVYVchaJw7qMBlbvQ3KfR_wri_XM,412
@@ -801,7 +803,7 @@ api_logic_server_cli/prototypes/genai_demo/ui/admin/admin.yaml,sha256=vMpr6to6g-
801
803
  api_logic_server_cli/prototypes/manager/.gitignore,sha256=xfAjNQHokbo6GuN1ghx-eml8tQIzwUczLC_YVzElndI,195
802
804
  api_logic_server_cli/prototypes/manager/README.md,sha256=GDYEPrigwcXQfhm924-NvJeVauvS9bxogY9euNie7yI,38957
803
805
  api_logic_server_cli/prototypes/manager/settings.txt,sha256=_jjL30jomIMxG21edDfrXYRT9Zfgr_0EdUWvcEUOnFQ,368
804
- api_logic_server_cli/prototypes/manager/.github/.copilot-instructions.md,sha256=ClNpIsIb3HY0nQ0tdYmJTHmgBnj8hS3IguI92jPP0vE,3722
806
+ api_logic_server_cli/prototypes/manager/.github/.copilot-instructions.md,sha256=p2eBNQuvsvzqPHdDJQDx7329xVbaKDaz8mAsPBvEgp8,5018
805
807
  api_logic_server_cli/prototypes/manager/.github/sync-to-dev-src.sh,sha256=hZbc5fJXnYiLWvN-OcQzYRsPBESmt6B9y581CczuwHM,1915
806
808
  api_logic_server_cli/prototypes/manager/.vscode/launch.json,sha256=B9NaDoTvJsXg1qeEuhG3RdRk4M2RpnpHBW6b8oXrBn4,33551
807
809
  api_logic_server_cli/prototypes/manager/.vscode/settings.json,sha256=Zj9oPObeI-KVh1l4b3uuF1vkezKomVqnhP241h6ZB-M,619
@@ -821,7 +823,7 @@ api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/.devcontainer-
821
823
  api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/.devcontainer-option/devcontainer.json,sha256=tk-mGd4XdmbpKUqUeGmcPMzX3RDc6am9-de8c-rFmSo,2361
822
824
  api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/.devcontainer-option/readme.md,sha256=-sSneMDne1fqEoox2hXUGmoO8ewgi34y7lJwGTidSpY,104
823
825
  api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/.devcontainer-option/setup.sh,sha256=pOvGjZ7jgRQzFkD93mNICmcC2y66Dexrq4bCnSSVwtU,310
824
- api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/.github/.copilot-instructions.md,sha256=ceN5_oghMh0dQ4ltVK-92IVahyFUAT-isGETdKvrDFg,32886
826
+ api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/.github/.copilot-instructions.md,sha256=yO9qQoTL24IzTh1Pi0FDZr320a7Mhn9gQTtndOofEAM,33144
825
827
  api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/.idea/runConfigurations/ApiLogicServer.xml,sha256=l9pIRZDgiRhyCWbPfWlqi57QpF3jvw8IvbMndE6nOSI,1122
826
828
  api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/.idea/runConfigurations/Report_Behave_Logic.xml,sha256=EaMZRx4ghJxagqS-a2F81dDEpzciLhKqAbzipyk0iX0,1301
827
829
  api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/.idea/runConfigurations/Run_Behave.xml,sha256=wpQmtozEV3Pue8wBED5PUnvEFzf7A1-UY-bh-SlColo,1191
@@ -988,7 +990,7 @@ api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/docs/training/
988
990
  api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/docs/training/react_map.prompt.md,sha256=8B9bDjk4sL1t5LzYLKjuf78UPDmhj9assRZTIOvlwN4,891
989
991
  api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/docs/training/react_tree.prompt.md,sha256=Eoi4Q3H4x-PQOjonUjQ1o6xkiFtcEA_hg8tuFP-qk80,652
990
992
  api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/docs/training/readme_training.md,sha256=EilDTYaDPoGCD9ef5Efs8eDn8ZNQTgGN7_QnJ4LrO2s,120
991
- api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/docs/training/testing.md,sha256=embArgUMijhQbVSmBpEW9TCEXBpE9evAt7qJSOP7qmA,28556
993
+ api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/docs/training/testing.md,sha256=_G-m-s8mOAUbQOyqIRChIOM48SdFm80IaX11_BElfyY,32197
992
994
  api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/integration/kafka/kafka_consumer.py,sha256=2DOsFpYnsJ71gZzzfJweEmL-i99uCtEFU0hVwIKFGMw,1516
993
995
  api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/integration/kafka/kafka_producer.py,sha256=g0nMAVfz1Y0iKJbbXfvRpdf-QUmyB4uUGZ6lyaVoXag,4470
994
996
  api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/integration/kafka/kafka_readme.md,sha256=MlwykHWM2w41KzWh4vPuTnIodR8f-BQzrWpV4P1hrsI,161
@@ -1048,11 +1050,11 @@ api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic
1048
1050
  api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/behave_logic_report.py.bak,sha256=dK0QZMi6ux3KVlwDQIht2_ww7YJHnocd4M2jtf9dvSU,11324
1049
1051
  api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/behave_run.py,sha256=KvHQAlsyF2heBvoD6voAkhIVJXS1AAKaHEcw77AsD3Q,2429
1050
1052
  api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/features/about.feature,sha256=c7KDFyXpX_84n6JhUtGzruX-bwb1fxNyYD57ttyWpwA,414
1051
- api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/features/order_processing.feature,sha256=KscQw3dUUFvXaGeZL2xs6CLtplf2-nwLH7_oDcDjumA,3077
1053
+ api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/features/order_processing.feature,sha256=9VwrkEEJOpXSewr6u6a5zGbxKZsFNSsogd67fhOcecM,3330
1052
1054
  api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/features/steps/about_steps.py,sha256=GLMrkOcGBl3PoQBio90_riDqEWnE4bHU11IUBHcd6MA,365
1053
- api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/features/steps/order_processing_steps.py,sha256=D9MnalekPFH71FrXQxvzBLbZ6fYw4YeBWpEHNiZuQIk,19943
1055
+ api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/features/steps/order_processing_steps.py,sha256=ROKu3gKbP938mBLRDpLgmwevFNrrCIOUQxHykymjQxQ,24397
1054
1056
  api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/features/steps/test_utils.py,sha256=SbQHG-1Bjgz3PGdt0rZAcjXmJx8mqKfF_hOYv5CDf9g,4999
1055
- api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/behave.log,sha256=t_34pIgJBgYM8K5jR99iIFi1JR8ChVX4YzfjJW3oFBY,7274
1057
+ api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/behave.log,sha256=Kb7XVB-AtsP5Kc0ukFW178SRXBoOowWOc0OfE5MwgMQ,7511
1056
1058
  api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Add_Item_Exceeding_Credit.log,sha256=XBsGRbMVex6bsmarRMLQx-D4-7x-HqGuIvBxE8iiszg,968
1057
1059
  api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Assign_Product_to_Item.log,sha256=qBEdp38kgCCLK2qzNyk42uR75oaV12z1EbNclLAiuhQ,3714
1058
1060
  api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/B2B_Order_-_10_Gadget.log,sha256=xasolOvlRydFM2Iqb4nNuIlHO2gCBGsvj-1EtOfHiTY,6746
@@ -1062,12 +1064,14 @@ api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic
1062
1064
  api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/B2B_Order_Placement.log,sha256=W8joJxO6hvbvUqCR2Djc_ek37yvcGPeR4o-W09ypZtU,124
1063
1065
  api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Balance_Check.log,sha256=fcOGBt28M85UeGJFonxbi4sPXyUyLXQwou-l-legh74,230
1064
1066
  api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Carbon_Neutral_B2B_Order.log,sha256=ltBgPMMw4Gs0V_9JrC87oHLNMNZtP4SYxBnzCNAnSbA,8106
1065
- api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Carbon_Neutral_Discount_A.log,sha256=1-8d_DUV4whgqgrwbqJKoz9oIDEx2XJ0oZKpiR9h2B0,7023
1067
+ api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Carbon_Neutral_Discount_A.log,sha256=WSsVtiYvDqV1LMJnhcdpXest7dOvc9HGp2aGrbF9IZA,8328
1066
1068
  api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Change_Item_Product.log,sha256=5P3FAxVsblS2J_HKcqVluvtSyuT2K0IEOfiTtAOgtO0,3479
1067
1069
  api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Change_Item_Product_to_Ga.log,sha256=h0iCj-0kkmbewdCTVO6VgE8zJDNzfBCKumJKerVRN9w,3462
1070
+ api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Change_Order_Customer.log,sha256=wwgy7Bl-FA5SU_RDoHh18CPucYFGsSBv3U2I4I2yssQ,3506
1068
1071
  api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Change_Order_Customer_Adj.log,sha256=bwwIjYCnPa0HLkupe_oQutXaml88OUuotsr1HobVLCE,2389
1069
1072
  api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Change_Order_Customer_to_.log,sha256=jtBXnyOwLbPrC7lPNQdsSbUIHBcWzDDpHKfQKkr1Zgo,2376
1070
1073
  api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Change_Product_Updates_Un.log,sha256=KQOx-1UQ_xFzeMILWc30d1hYmWofM2JTqWphAWBLotY,3478
1074
+ api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Change_Product_in_Item.log,sha256=4mqPvkVoKJYGvLgnvo6CiaRX_VwlYpYzuOvBUZEh7FQ,4579
1071
1075
  api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Create_Multi-Item_Order.log,sha256=1I-Q_YTSG0OwsUI3UuTC_09FCuLzpCxYGTI_g9TlfUM,11362
1072
1076
  api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Create_Order_for_Constrai.log,sha256=69fPQZy6t9oITmrPvojWVkJGMxjc7RvOCU_tfs-Ugls,809
1073
1077
  api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Create_Order_for_FK_Chang.log,sha256=Zg4MADl0N5jp6fv9WlADeJ028crk2G664zZM5AZ_X3E,7624
@@ -1078,13 +1082,15 @@ api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic
1078
1082
  api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Credit_Limit_Constraint_T.log,sha256=Ng0zD8lNvdn-ats-rZ40ANwVWrncAPYB31cu3PosMcU,255
1079
1083
  api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Customer_Change.log,sha256=8oSDjwHMd3utZbVZWAfLOmqQL53mIX0Mua7EwYi2kx0,2474
1080
1084
  api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Delete_First_Item.log,sha256=6ZGycwcAWPgaxIGPLslN8b7LzCkvIc9gk4tniOk9JFk,2529
1081
- api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Delete_Item_Reduces_Order.log,sha256=vweqMXnMFVGhVEqstrE9rZWxD9lPoEud3qwHbA-rUEM,2564
1082
- api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Exceed_Credit_Limit_Rejec.log,sha256=M4MKhI3KzthEJ6yW4jKAxo5NYMozC_xZLYgYv1dCRxk,6771
1083
- api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Good_Order_Placed_via_B2B.log,sha256=5_0BkNTZgQmvg4Aswrxjkd85f_xtpeN1diZTKVm58Gs,6783
1085
+ api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Delete_Item_Reduces_Order.log,sha256=radCNg7OSuYu4MyA3ZsXG0lvTFsxaKHUkvcv-iA4pJg,4753
1086
+ api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Exceed_Credit_Limit_Rejec.log,sha256=vBo5ajudtuX4tAPnAMbq-6CcmiAYzZ5mWcsdGGEGOro,6358
1087
+ api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Good_Order_Placed_via_B2B.log,sha256=d2WDR4zh0c0bEoXGq8dWLIIci1sm_CsjSG9-5-WwY5g,8091
1084
1088
  api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Item_Deletion.log,sha256=sjNuolQNY5JJRyM2-O0cwIkDVEDOJ-sAdDrqyX4P41I,2536
1089
+ api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Item_Quantity_Change.log,sha256=eRjt052sGb7umfZBHKR56Ju1I-fnQxws7vRpTRUK02Y,4120
1085
1090
  api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Item_Quantity_Update.log,sha256=dWTwK63VRhbVyIuIvZ9ytRbx5xa2zTbaXJ1PyGom95M,3016
1086
1091
  api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Item_Quantity_Update_Reca.log,sha256=Hbm782ObGv1_di6FuKkaFBsb94C3F9U9bymSg_JXM3I,3002
1087
1092
  api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Item_Quantity_Update_to_1.log,sha256=0xCKd16tbDdbnv-GYviAt2GAUVNvDudQY5FCIfSa7vM,2987
1093
+ api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Multi-Item_Order_via_B2B_.log,sha256=Eqx24Wcj77ROeOTzv8HsPz9no0X58EAdQEfDdgNuUt0,10648
1088
1094
  api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Order_Customer_Change.log,sha256=NrIz0Wzfip0SoLbRuGqmHysP2o8cJoUnwN6R6km2n8k,2380
1089
1095
  api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Order_Shipping.log,sha256=qhAKUfKUKWtRLxAjgK-Vrh6iU6b_8ecCOEr1FQCZ4js,2179
1090
1096
  api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Order_Unshipping.log,sha256=3HD6dMeV7_TQ2R5uvebH5qRgqDX8MDRQ7lfgdCFWzug,2155
@@ -1105,13 +1111,13 @@ api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic
1105
1111
  api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Setup_Shipped_Order.log,sha256=c1JqQ3dkdyeF87DkXKGSvvDB5gsJCA8TRL4zwxTsZdc,7169
1106
1112
  api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Setup_Unshipped_Order.log,sha256=kNRSBxzEmGXQaChdLfqkE0HcAiwjyGU_Jty-6rzY0D0,7447
1107
1113
  api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Ship_Order.log,sha256=ESNVX5dZokvBUl4Y61Do2sX3L-qRD6NDgs8JaauzynQ,2071
1108
- api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Ship_Order_Excludes_from_.log,sha256=XJr4R_Yij58jq8X0_6pMWHyptzaJAf9z0nCUbd_cwI0,2109
1114
+ api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Ship_Order_Excludes_from_.log,sha256=XyrmN9h7KtlXI_GN2lSyvE9bMVTD82bCyVNBlLRlBzQ,3257
1109
1115
  api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/System_Ready.log,sha256=7-w-JFaTZ6u4hPneHCcvb-nvyNaeYcslZJIx3blJiJs,85
1110
1116
  api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Test_Order_Setup_-_1_Item.log,sha256=MgP1vAOyA9_sn_EwZdwRPRzg-2xooblArKtRXJye5fc,7488
1111
1117
  api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Test_Order_Setup_-_2_Item.log,sha256=JeXJAZXaImcgPwZH-9YHPcTrNaw7XlbztPVDPJ8NwFQ,11181
1112
- api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Transaction_Processing.log,sha256=OQWPwbpp8-if3MUppLR9whYWqfoHKPrgwJvasmXxu7Y,1887
1118
+ api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Transaction_Processing.log,sha256=4TV5tmAKRbGqpZiQvQ6jue7rprCGFB723hTtZ6I6nvk,2850
1113
1119
  api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Unship_Order.log,sha256=FYm-2DoFTS7u7-KV4lytBWguoUZ-c_uOzM9_vQrDe4M,2057
1114
- api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Unship_Order_Includes_in_.log,sha256=5sWqfsgksUA2O2uiEc9RUARRK4GQBa0lWRj_xNplTy8,2093
1120
+ api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Unship_Order_Includes_in_.log,sha256=BwhLOnQW86hT5CNZlFE_stnKiC0kzd9y45_Q_tuR1fg,3255
1115
1121
  api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Verify_Charlie_Balance.log,sha256=H8jsnELgXRqilP14ygFklGDsZmtSn4OTS2oTxQipZyY,77
1116
1122
  api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Verify_Customer_Balance.log,sha256=XYcRfYYY2yLX6wxcPI7K4jnEjUCjCXwtoZBRUkGb_QQ,1192
1117
1123
  api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/logs/scenario_logic_logs/Verify_Diana_Balance.log,sha256=eSey0ZJqld-3Fc3EFR8CpPwb8D662wRQNeapNLwDBOc,1194
@@ -1121,7 +1127,7 @@ api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic
1121
1127
  api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/reports/Behave Logic Report Intro micro.md,sha256=vWXV3FPIHirQrxFQg7DpQhtrrYeay0xjGNL3FmklB2I,147
1122
1128
  api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/reports/Behave Logic Report Intro.md,sha256=UW_vCd4k2LwKPO4d9pXTsbvLPrXg7S42tbywVJlAbFU,3732
1123
1129
  api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/reports/Behave Logic Report Sample.md,sha256=wVNGwhF3GhVVRv7YJLjqUd2WsjFZD_IpIzRZN3xEgkI,91494
1124
- api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/reports/Behave Logic Report.md,sha256=WhL22IhjGuOFgceTiHKz-hRzfsO26VmvQ9-aKK08w5M,14132
1130
+ api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/api_logic_server_behave/reports/Behave Logic Report.md,sha256=bLfp8H9w8yY3KdzdF0i1MqFDKS2ISuVG9yN-gXQTlbA,28481
1125
1131
  api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/test/basic/server_test.py,sha256=mmFF-TKEbUyMU1QfcDDNGu9sULD9nclnp-tyzNv9kEo,757
1126
1132
  api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/ui/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1127
1133
  api_logic_server_cli/prototypes/manager/samples/basic_demo_sample/ui/admin/admin.yaml,sha256=pbL6Hx39n-xpUYhqXNUf0CBrfwUjPK1I6CYecZZfZT4,3514
@@ -1390,7 +1396,7 @@ api_logic_server_cli/prototypes/manager/samples/prompts/genai_demo.prompt,sha256
1390
1396
  api_logic_server_cli/prototypes/manager/system/Manager_workspace.code-workspace,sha256=sfzw6ZW2eZHOJCKmTM3r-Kt_fE1KKArD9fk4TLI5xUY,329
1391
1397
  api_logic_server_cli/prototypes/manager/system/readme_ssystem.md,sha256=52zXRh5KJ4GSRWyNLwzbXqKMDJmR7M6PhS71-DIUoBI,106
1392
1398
  api_logic_server_cli/prototypes/manager/system/style-guide.yaml,sha256=JaP3NDE29k4_e9ELeLTZfnWf2L8VgS1X7hO8J_BNqJU,673
1393
- api_logic_server_cli/prototypes/manager/system/ApiLogicServer-Internal-Dev/copilot-dev-context.md,sha256=bOLcRyfb5D8ta2NOfNZT22h25-gzNFlCY92o2rmfNSk,9816
1399
+ api_logic_server_cli/prototypes/manager/system/ApiLogicServer-Internal-Dev/copilot-dev-context.md,sha256=fhTkO1L5gyNkETbZ1QS6FiaLHHacYPTfQn9o84LvDSI,22608
1394
1400
  api_logic_server_cli/prototypes/manager/system/ApiLogicServer-Internal-Dev/install-ApiLogicServer-dev.ps1,sha256=RBV9nGJZBkvCoH06UJ5o15Kmt5nIeLXeIvTCmpHLWXE,3433
1395
1401
  api_logic_server_cli/prototypes/manager/system/ApiLogicServer-Internal-Dev/install-ApiLogicServer-dev.sh,sha256=zutEcQNZ1DX9gaUSRbsAcIClsy_a7inHWcb2dpcYgWY,3677
1396
1402
  api_logic_server_cli/prototypes/manager/system/ApiLogicServer-Internal-Dev/readme.md,sha256=NSr2hEKT1XeFMzJ_x5vcbdEFZ4PJz_GobdjRg-TyLHU,206
@@ -2856,9 +2862,9 @@ api_logic_server_cli/tools/mini_skel/database/system/SAFRSBaseX.py,sha256=p8C7AF
2856
2862
  api_logic_server_cli/tools/mini_skel/database/system/TestDataBase.py,sha256=U02SYqThsbY5g3DX7XGaiMxjZBuOpzvtPS6RfI1WQFg,371
2857
2863
  api_logic_server_cli/tools/mini_skel/logic/declare_logic.py,sha256=fTrlHyqMeZsw_TyEXFa1VlYBL7fzjZab5ONSXO7aApo,175
2858
2864
  api_logic_server_cli/tools/mini_skel/logic/load_verify_rules.py,sha256=Rr5bySJpYCZmNPF2h-phcPJ53nAOPcT_ohZpCD93-a0,7530
2859
- apilogicserver-15.2.3.dist-info/licenses/LICENSE,sha256=67BS7VC-Z8GpaR3wijngQJkHWV04qJrwQArVgn9ldoI,1485
2860
- apilogicserver-15.2.3.dist-info/METADATA,sha256=Z-Y8Zyr4rStFTN6ivyP4FoYZiRyapwqRvt4bMuvgYUs,25085
2861
- apilogicserver-15.2.3.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
2862
- apilogicserver-15.2.3.dist-info/entry_points.txt,sha256=W9EVNvf09h8n6rJChmVj2gzxVQ6BXXZa2x3wri0lFGc,259
2863
- apilogicserver-15.2.3.dist-info/top_level.txt,sha256=-r0AT_GEApleihg-jIh0OMvzzc0BO1RuhhOpE91H5qI,21
2864
- apilogicserver-15.2.3.dist-info/RECORD,,
2865
+ apilogicserver-15.2.7.dist-info/licenses/LICENSE,sha256=67BS7VC-Z8GpaR3wijngQJkHWV04qJrwQArVgn9ldoI,1485
2866
+ apilogicserver-15.2.7.dist-info/METADATA,sha256=DtkT_ZInOLonITZnYm5ofYGBwgfr1Cv_jmBcyZFIZlw,26461
2867
+ apilogicserver-15.2.7.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
2868
+ apilogicserver-15.2.7.dist-info/entry_points.txt,sha256=W9EVNvf09h8n6rJChmVj2gzxVQ6BXXZa2x3wri0lFGc,259
2869
+ apilogicserver-15.2.7.dist-info/top_level.txt,sha256=-r0AT_GEApleihg-jIh0OMvzzc0BO1RuhhOpE91H5qI,21
2870
+ apilogicserver-15.2.7.dist-info/RECORD,,