From f518d7a4333fc5a23d70b69cf1889d31c7887532 Mon Sep 17 00:00:00 2001 From: Scott Idem Date: Fri, 20 Feb 2026 19:46:03 -0500 Subject: [PATCH] Saving notes --- GEMINI.md | 3 +++ documentation/AGENT_TODO.md | 21 ++++++++++++--------- 2 files changed, 15 insertions(+), 9 deletions(-) diff --git a/GEMINI.md b/GEMINI.md index c9546f1..808c1c3 100644 --- a/GEMINI.md +++ b/GEMINI.md @@ -30,8 +30,11 @@ You must follow the safety, testing, and coordination standards defined in: - **Harden `root_validator`:** Ensure pre-validation logic doesn't delete integer IDs during ID Vision resolution. - **Pydantic worker boot failures:** Watch for `ValueError`, `NameError`, and `KeyError` during startup. - **Inherited Context:** Account context for child objects should be inherited via View joins. +- **Lookup Hierarchy:** Implemented `ROW_NUMBER() OVER` logic for tiered overrides (Object > Account > Global). +- **Vision Comparison:** Discovered `load_site_obj` returns Random IDs for accounts; comparison in router must use `account_id_random` strings for reliable 403 authorization. ## 🤝 Coordination & Continuity - **Handshake:** Use the `message` tool to notify the Frontend Agent of API changes. - **Active Tasks:** Track your progress in `documentation/AGENT_TODO.md`. +- **Lookup Milestone:** Batch 1 (Country, Subdivision, Timezone) complete. V3.1 goal set for Batch 2 and Novi-Mailman bridge. - **Learning:** Review `ARCH__V3_CORE_STANDARDS.md` for V4 lifecycle field migration planning. diff --git a/documentation/AGENT_TODO.md b/documentation/AGENT_TODO.md index ced3da8..1460e61 100644 --- a/documentation/AGENT_TODO.md +++ b/documentation/AGENT_TODO.md @@ -14,7 +14,7 @@ - [x] Audit File/Exhibit Models (File, Template, Tracking). - [x] Whitelist `account_id` in all Event search definitions. - [x] Audit Relational "Low-Priority" Models (Address, Contact, DataStore). - - [x] Audit Lookup Fields (Uniform V3 System Phase 1 Complete). + - [x] **V3 Uniform Lookup System:** Phase 1 & 2 Complete (Hierarchical ranking, Whitelisting, Priority filtering). - [ ] Verify SQL Views join in all required `_random` IDs for performance. - [ ] **Step 2:** Coordination (Verify Frontend uses `x-account-id` instead of token). @@ -23,14 +23,17 @@ - **Principle:** Every object requires an Account Context except `site_domain`. - **Maintenance:** Run `tests/e2e/test_e2e_v3_security_audit.py` after ANY router or registry change. -## 🚧 Upcoming Strategic Goals +## 🚧 Upcoming Strategic Goals (V3.1+) +- **IDAA Novi-Mailman Bridge:** Establish synchronization between Novi AMS and Mailman 3 mailing lists. +- **Lookup System Batch 2:** Migration of `post_topic`, `user_status`, `file_purpose` (ON HOLD). +- **Lookup Resolve Whitelist:** Extend `resolve` endpoint to respect site policies. - **Zoom Events Integration:** Implement cron synchronization for OAuth2 ticket retrieval. - **Aether V4 Architecture:** Migration to V4 core standards (Lifecycle fields). -## 📝 Session Notes (Feb 19, 2026) -- **Resolved:** Fixed integer ID leakage in `Event_Badge_Template_Base` and `Event_File_Base`. -- **Hardened:** Whitelisted `account_id` searching for all Event Objects (Presentation, General, Registration). -- **Verified:** SQL Views `v_event_session` and `v_event_session_w_file_count` confirmed to have `account_id_random`. -- **Resolved:** Implemented polymorphic `for_id` resolution for DataStore, Address, and Contact models. -- **Resolved:** Fixed `hash_sha256` for Event Files being null on the frontend. -- **Status:** Core and Demo Vision parity suites verified at 100% pass rate. +## 📝 Session Notes (Feb 20, 2026) +- **Implemented:** V3 Uniform Lookup router and methods with `ROW_NUMBER()` hierarchy. +- **Standardized:** Normalization of `lu_v3_*` tables (group, priority, sort, underscore names). +- **Added:** Site-specific whitelisting via `site.cfg_json` -> `lookup_policy`. +- **Enhanced:** `only_priority` filtering and `COALESCE` sort stability for all lookups. +- **Resolved:** Type-safe authorization check for sites (string-based `account_id_random` comparison). +- **Verified:** E2E suite `test_e2e_v3_lookup.py` passes at 100% for all scenarios.