4.3 KiB
4.3 KiB
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.
- Started: Mid-2018.
- Frontend History: Python Flask -> Svelte (current: SvelteKit).
- Current API Version (FastAPI): v4.9.0.
- V3 Implementation: Modern parallel CRUD and Search endpoints under
/v3/crud.
API Versioning & Strategy
/crud(v1): Legacy, still used by older frontend parts./v2/crud(v2.5): Modern, preferred, and mostly functional endpoint./v3/crud: The goal of this project phase. A new, parallel implementation with a refined structure and advanced search. Runs alongside v1 and v2.
Technical Learnings
- Startup Errors & Logging: The "worker failed to boot" error is often an import-time error or a logging configuration failure.
- Root Cause: If
logging.config.dictConfigfails (e.g., due to missing/logsdirectories in Docker), the entire application crashes.
- Root Cause: If
- Circular Dependencies during Refactoring: Even deferred imports can trigger boot failures during FastAPI's introspection phase if the module structure is fragile. "Isolation Mode" (local definitions in routers) is a confirmed temporary fix.
- V3 API Dependencies: Standardized
Responseinjection should use plain type hints (e.g.,response: Response) to avoid router initialization failures.
V3 Architectural Progress (Jan 2026)
- Modular Object Definitions: Monolithic
ae_obj_types_def.pyrefactored into domain-specific files inapp/object_definitions/. - Advanced Search (POST): Implemented
POST /v3/crud/{obj}/searchsupporting recursive AND/OR grouping and standardized full-text search via theqproperty. - Security Hardening: Implemented a 5-level recursion depth limit and a field allowlist (
searchable_fields) for the Search API.
Session Learnings & Progress (Jan 2-7, 2026)
V3 API Security Hardening (Jan 7, 2026) - MILESTONE
- Mandatory JWT Authentication: Successfully implemented strict multi-tenant isolation across all V3 CRUD and Search endpoints.
- Account Isolation: results are automatically filtered by
account_idfrom the JWT. - Bootstrap Paradox Exception:
site_domainsearch is explicitly allowed for unauthenticated guests to unblock site context resolution.
- Account Isolation: results are automatically filtered by
Unified Agent Architecture
- Refined Specification: Incorporated feedback from the Frontend Svelte agent. The Unified Agent will handle Automated Schema Synchronization, Log Stream Aggregation, and Automated Lifecycle Management.
Infrastructure & Progress
- Modularize
lib_general.py: Successfully extracted Email, Export, JWT, and Hash functions into specialized modules (lib_email.py,lib_export.py,lib_jwt.py,lib_hash.py).
Current To-Do List
1. High Priority & Urgent
- Initialize
aether_platformProject (Priority: High): Create the root directory at/home/scott/OSIT_dev/aether_platform/and establish the initial meta-structure. - Unified Agent Architecture Document (Priority: High): Refine and synchronize the final spec (Draft Done).
- Permanent Dependency Fix (Priority: Urgent): Migrate
AccountContextand Auth logic to a dedicated module.
2. Infrastructure & Environment
- Docker MCP Integration: Re-attempt diagnostics using the correct python path (
./env_mcp/bin/python). - Agent Bridge Repair: Resolve the
psutilor syntax issues inapp/routers/agent_bridge.py. - Nginx Configuration: Resolve 404 errors on Port 8888 routes.
Workflow & Collaboration
GEMINI.mdStrategy: Context flows up the tree.- Agents Sync (rsync): Shared documentation and notifications pushed to
~/agents_sync/. - Home Server: Remote proxy at
https://dev-api.oneskyit.com.- [x] Establish Symbolic Links: Linked API, App, and Env into aether_platform.