Files
OSIT-AE-API-FastAPI/GEMINI.md
Scott Idem 29b4d5ae4b Fix Person creation issues and enhance V3 CRUD robustness.
- Added Pydantic validators to Person_Base to handle null values for given_name and allow_auth_key, ensuring database NOT NULL constraints are met.
- Updated api_crud_v3.py (POST and PATCH) to filter out virtual *_id_random fields from data payloads before database operations to prevent "Unknown column" errors.
- Updated GEMINI.md with session progress.
2026-01-09 14:30:45 -05:00

67 lines
5.5 KiB
Markdown

# Gemini Added Memories
## My Role and Operating Principles
I am the **primary orchestrator and main helper** for the development of the **Unified Aether AI Agent (UE-AE-01)**. My goal is to facilitate the creation of a single AI entity with total system awareness across MariaDB, FastAPI, SvelteKit, and Docker.
---
## Project Context - Aether API (FastAPI)
- **Owner/Developer:** Scott Idem (user).
- **System Name:** Aether (AE).
- **Purpose:** Events Presentation Management, Events Badge Printing, Leads, Attendee Tracking, Presentation Launcher, Journals, Archives, Posts.
- **Current API Version (FastAPI):** v4.9.0.
- **V3 Implementation:** Modern parallel CRUD and Search endpoints under `/v3/crud`.
- **Summary**: This project serves as the backend for the Aether system, providing core API functionalities.
### Key Technical Learnings (Cumulative)
- **Circular Dependencies Fixed**: Successfully resolved the fragile startup dependency chain by isolating Auth models and using strictly deferred DB imports in a dedicated `dependencies_v3.py` module.
- **Bootstrap Paradox Solved**: Implemented a guest-access exception for `site_domain` search, allowing the frontend to resolve site context without a JWT.
- **V3 Searchable Fields**: Confirmed that `searchable_fields` are fully implemented in `app/object_definitions/` and utilized by `app/lib_sql_search.py` for dynamic query generation.
- **Environment Sync Clarification**: Critical understanding that the `/home/scott/OSIT_dev/` directory is **NOT** a synchronized directory across different machines (e.g., Workstation vs. Laptop). This means virtual environments and installed dependencies are environment-specific and do not propagate via Syncthing. This is crucial for debugging cross-machine environment issues.
## Session Summary & Progress (Jan 8, 2026)
This session focused on debugging, task management, and communication protocols within the Aether AI Agent network.
* **Task Management Bug Resolved:** The `add_task` tool bug (duplicate IDs) was identified, reported, and fixed by the Manager/Coordinator agent. The fix introduced microsecond precision for IDs in task management.
* **Agent Bridge Restoration Verified:** `app/routers/agent_bridge.py` was inspected; `psutil` handling was confirmed robust. Docker container logs for FastAPI (green/red) showed no crashes related to `agent_bridge.py` or `psutil`. The task was marked as Done.
* **Docker Registry Sync Audit Completed:** An audit of `ae_api_dev_green` and `ae_api_dev_red` against `docker-compose.yml` confirmed consistency in environment variables, volumes, ports, images, and extra hosts. No critical configuration drift was identified. The task was marked as Done.
* **Frontend Interface Validation Successful:** The `frontend` agent confirmed full validation and successful unified type migration for 59 TypeScript interfaces. The task was marked as Done.
* **AE Person Creation Fixes:**
* Identified that `given_name` was failing due to `null` values violating database `NOT NULL` constraints.
* Added Pydantic validators to `Person_Base` to default `given_name` to `""` and `allow_auth_key` to `True` if `None` is provided.
* Modified `app/routers/api_crud_v3.py` to strip virtual `*_id_random` fields (like `account_id_random`) from payloads before database insertion/update. This prevents "Unknown column" errors when the frontend sends convenience lookup fields.
* **`ae_obj_info` Dependency Resolved:**
* Initial investigation confirmed `pytz` was installed in the Workstation's host venv, contradicting an `mcp_agent` message.
* Further clarification revealed `OSIT_dev` is not synced between Workstation and Laptop, causing environment discrepancies.
* The `mcp_agent` provided a traceback from the Laptop, confirming `pytz` was indeed missing from the *Laptop's* host venv.
* User (Scott Idem) confirmed manual installation of `pytz` in the Laptop's host venv, resolving the issue. The task was marked as Done.
* The source code for `ae_obj_info` is confirmed to be at `agents_sync/scripts/ae_object_info.py`.
* **New MCP Tool Announcements:**
* `read_reference` tool introduced for technical stubs.
* `delete_task` and `git_smart_commit` tools are now live, enhancing task management and version control.
* **Codebase Investigator Report:** The report for Aether extension and journal management is pending `gemini_cli`'s instruction; further review is blocked until notification. Task `155435511` is completed for this phase.
## Current To-Do List
### 1. High Priority & Urgent (UE-AE-01 Orchestration)
- [ ] **Review codebase investigator report for Aether extension and journal management.** (ID: 155435511) - In Progress (awaiting report from codebase_investigator via gemini_cli).
- [x] **Fix AE Person Creation (Backend/API)** - Completed (Validators added and router filtering implemented).
### 2. Infrastructure & Technical Debt
- [ ] **Psutil Container Update**: Rebuilding the API image with C-build tools (GCC) to support native system monitoring. (Deferred / Paused)
### 3. Other Agent Tasks
- [ ] **[scott_wks] Perform Initial System Health Audit** (ID: 131939030)
- [ ] **Review and process new messages from various agents.** (ID: 134908245) - In Progress (Internal gemini_cli task).
### Workflow & Collaboration
- **Storage**: Critical assets at `/home/scott/OSIT/hosted_files/` (Synced via Syncthing).
- **Agents Sync**: Shared documentation and notifications pushed to `~/agents_sync/`.
- **Coding Standards**: Adhering to `prompts/coding_standards.md`.