- 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.
67 lines
5.5 KiB
Markdown
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`.
|