From abf2e0514942f7e1294c5ed46ed0895ebf8271be Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A2=D0=B0=D0=B9=D0=B3=D0=B0?= Date: Fri, 29 May 2026 16:03:54 +0000 Subject: [PATCH] taiga-local-1780070634 --- family/how-to/arr-stack-kraken.md | 0 family/how-to/arr-stack-taiga.md | 0 family/how-to/gitea-config.md | 0 family/how-to/hermes-docker-kraken.md | 0 family/how-to/hermes-eagle-mac.md | 0 family/how-to/hermes-kraken-api.md | 0 family/how-to/htpc-bazzite-ecosystem.md | 0 family/how-to/htpc-bazzite-proton.md | 0 family/how-to/htpc-discworld-noir-nq.md | 0 family/how-to/htpc-kodi-layout.md | 0 family/how-to/jellyfin-config.md | 0 family/how-to/jellyfin-transcode-rpi5.md | 0 family/how-to/kraken-network.md | 0 family/how-to/truenas-inpxer.md | 0 family/how-to/vault-git-sync.md | 0 family/how-to/vps-qentra.md | 0 family/projects/watchlist-automation.md | 0 personal/projects/media-pipeline-pitfalls.md | 0 .../personal-os/agent-memory-architecture.md | 0 .../personal-os/autonomous-agent-safety.md | 0 .../personal-os/hermes-agent-improvements.md | 0 .../personal-os/hermes-deployment-patterns.md | 0 .../personal-os/hermes-native-vs-docker.md | 0 .../personal-os/knowledge-lifecycle.md | 0 .../multi-agent-design-patterns.md | 0 .../personal-os/multi-host-cron-topology.md | 0 .../personal-os/obsidian-mcp-wrapper.md | 0 .../personal-os/personal-os-agent-rules.md | 0 .../personal-os/personal-os-architecture.md | 0 .../personal-os-catchup-plan-2026-04-27.md | 0 .../personal-os/personal-os-purpose.md | 0 .../personal-os/personal-os-schema.md | 0 .../personal-os-self-modification.md | 0 .../personal-os-state-2026-04-27.md | 0 .../personal-os/personal-os-sync-pipeline.md | 0 .../projects/personal-os/research-queue.md | 0 .../personal-os/vault-agent-integration.md | 0 .../personal-os/vault-filling-guide.md | 0 .../projects/personal-os/vault-namespace.md | 0 .../personal-os/wiki-ingest-process.md | 0 personal/projects/personal-os/wiki-schema.md | 0 personal/projects/reflect-skip-fuse.md | 0 personal/user-profile.md | 0 wiki/personal-os-schema.md | 74 --------------- work/briefs/weekly/2026-05-29.md | 94 ------------------- 45 files changed, 168 deletions(-) mode change 100644 => 100755 family/how-to/arr-stack-kraken.md mode change 100644 => 100755 family/how-to/arr-stack-taiga.md mode change 100644 => 100755 family/how-to/gitea-config.md mode change 100644 => 100755 family/how-to/hermes-docker-kraken.md mode change 100644 => 100755 family/how-to/hermes-eagle-mac.md mode change 100644 => 100755 family/how-to/hermes-kraken-api.md mode change 100644 => 100755 family/how-to/htpc-bazzite-ecosystem.md mode change 100644 => 100755 family/how-to/htpc-bazzite-proton.md mode change 100644 => 100755 family/how-to/htpc-discworld-noir-nq.md mode change 100644 => 100755 family/how-to/htpc-kodi-layout.md mode change 100644 => 100755 family/how-to/jellyfin-config.md mode change 100644 => 100755 family/how-to/jellyfin-transcode-rpi5.md mode change 100644 => 100755 family/how-to/kraken-network.md mode change 100644 => 100755 family/how-to/truenas-inpxer.md mode change 100644 => 100755 family/how-to/vault-git-sync.md mode change 100644 => 100755 family/how-to/vps-qentra.md mode change 100644 => 100755 family/projects/watchlist-automation.md mode change 100644 => 100755 personal/projects/media-pipeline-pitfalls.md mode change 100644 => 100755 personal/projects/personal-os/agent-memory-architecture.md mode change 100644 => 100755 personal/projects/personal-os/autonomous-agent-safety.md mode change 100644 => 100755 personal/projects/personal-os/hermes-agent-improvements.md mode change 100644 => 100755 personal/projects/personal-os/hermes-deployment-patterns.md mode change 100644 => 100755 personal/projects/personal-os/hermes-native-vs-docker.md mode change 100644 => 100755 personal/projects/personal-os/knowledge-lifecycle.md mode change 100644 => 100755 personal/projects/personal-os/multi-agent-design-patterns.md mode change 100644 => 100755 personal/projects/personal-os/multi-host-cron-topology.md mode change 100644 => 100755 personal/projects/personal-os/obsidian-mcp-wrapper.md mode change 100644 => 100755 personal/projects/personal-os/personal-os-agent-rules.md mode change 100644 => 100755 personal/projects/personal-os/personal-os-architecture.md mode change 100644 => 100755 personal/projects/personal-os/personal-os-catchup-plan-2026-04-27.md mode change 100644 => 100755 personal/projects/personal-os/personal-os-purpose.md mode change 100644 => 100755 personal/projects/personal-os/personal-os-schema.md mode change 100644 => 100755 personal/projects/personal-os/personal-os-self-modification.md mode change 100644 => 100755 personal/projects/personal-os/personal-os-state-2026-04-27.md mode change 100644 => 100755 personal/projects/personal-os/personal-os-sync-pipeline.md mode change 100644 => 100755 personal/projects/personal-os/research-queue.md mode change 100644 => 100755 personal/projects/personal-os/vault-agent-integration.md mode change 100644 => 100755 personal/projects/personal-os/vault-filling-guide.md mode change 100644 => 100755 personal/projects/personal-os/vault-namespace.md mode change 100644 => 100755 personal/projects/personal-os/wiki-ingest-process.md mode change 100644 => 100755 personal/projects/personal-os/wiki-schema.md mode change 100644 => 100755 personal/projects/reflect-skip-fuse.md mode change 100644 => 100755 personal/user-profile.md delete mode 100644 wiki/personal-os-schema.md delete mode 100644 work/briefs/weekly/2026-05-29.md diff --git a/family/how-to/arr-stack-kraken.md b/family/how-to/arr-stack-kraken.md old mode 100644 new mode 100755 diff --git a/family/how-to/arr-stack-taiga.md b/family/how-to/arr-stack-taiga.md old mode 100644 new mode 100755 diff --git a/family/how-to/gitea-config.md b/family/how-to/gitea-config.md old mode 100644 new mode 100755 diff --git a/family/how-to/hermes-docker-kraken.md b/family/how-to/hermes-docker-kraken.md old mode 100644 new mode 100755 diff --git a/family/how-to/hermes-eagle-mac.md b/family/how-to/hermes-eagle-mac.md old mode 100644 new mode 100755 diff --git a/family/how-to/hermes-kraken-api.md b/family/how-to/hermes-kraken-api.md old mode 100644 new mode 100755 diff --git a/family/how-to/htpc-bazzite-ecosystem.md b/family/how-to/htpc-bazzite-ecosystem.md old mode 100644 new mode 100755 diff --git a/family/how-to/htpc-bazzite-proton.md b/family/how-to/htpc-bazzite-proton.md old mode 100644 new mode 100755 diff --git a/family/how-to/htpc-discworld-noir-nq.md b/family/how-to/htpc-discworld-noir-nq.md old mode 100644 new mode 100755 diff --git a/family/how-to/htpc-kodi-layout.md b/family/how-to/htpc-kodi-layout.md old mode 100644 new mode 100755 diff --git a/family/how-to/jellyfin-config.md b/family/how-to/jellyfin-config.md old mode 100644 new mode 100755 diff --git a/family/how-to/jellyfin-transcode-rpi5.md b/family/how-to/jellyfin-transcode-rpi5.md old mode 100644 new mode 100755 diff --git a/family/how-to/kraken-network.md b/family/how-to/kraken-network.md old mode 100644 new mode 100755 diff --git a/family/how-to/truenas-inpxer.md b/family/how-to/truenas-inpxer.md old mode 100644 new mode 100755 diff --git a/family/how-to/vault-git-sync.md b/family/how-to/vault-git-sync.md old mode 100644 new mode 100755 diff --git a/family/how-to/vps-qentra.md b/family/how-to/vps-qentra.md old mode 100644 new mode 100755 diff --git a/family/projects/watchlist-automation.md b/family/projects/watchlist-automation.md old mode 100644 new mode 100755 diff --git a/personal/projects/media-pipeline-pitfalls.md b/personal/projects/media-pipeline-pitfalls.md old mode 100644 new mode 100755 diff --git a/personal/projects/personal-os/agent-memory-architecture.md b/personal/projects/personal-os/agent-memory-architecture.md old mode 100644 new mode 100755 diff --git a/personal/projects/personal-os/autonomous-agent-safety.md b/personal/projects/personal-os/autonomous-agent-safety.md old mode 100644 new mode 100755 diff --git a/personal/projects/personal-os/hermes-agent-improvements.md b/personal/projects/personal-os/hermes-agent-improvements.md old mode 100644 new mode 100755 diff --git a/personal/projects/personal-os/hermes-deployment-patterns.md b/personal/projects/personal-os/hermes-deployment-patterns.md old mode 100644 new mode 100755 diff --git a/personal/projects/personal-os/hermes-native-vs-docker.md b/personal/projects/personal-os/hermes-native-vs-docker.md old mode 100644 new mode 100755 diff --git a/personal/projects/personal-os/knowledge-lifecycle.md b/personal/projects/personal-os/knowledge-lifecycle.md old mode 100644 new mode 100755 diff --git a/personal/projects/personal-os/multi-agent-design-patterns.md b/personal/projects/personal-os/multi-agent-design-patterns.md old mode 100644 new mode 100755 diff --git a/personal/projects/personal-os/multi-host-cron-topology.md b/personal/projects/personal-os/multi-host-cron-topology.md old mode 100644 new mode 100755 diff --git a/personal/projects/personal-os/obsidian-mcp-wrapper.md b/personal/projects/personal-os/obsidian-mcp-wrapper.md old mode 100644 new mode 100755 diff --git a/personal/projects/personal-os/personal-os-agent-rules.md b/personal/projects/personal-os/personal-os-agent-rules.md old mode 100644 new mode 100755 diff --git a/personal/projects/personal-os/personal-os-architecture.md b/personal/projects/personal-os/personal-os-architecture.md old mode 100644 new mode 100755 diff --git a/personal/projects/personal-os/personal-os-catchup-plan-2026-04-27.md b/personal/projects/personal-os/personal-os-catchup-plan-2026-04-27.md old mode 100644 new mode 100755 diff --git a/personal/projects/personal-os/personal-os-purpose.md b/personal/projects/personal-os/personal-os-purpose.md old mode 100644 new mode 100755 diff --git a/personal/projects/personal-os/personal-os-schema.md b/personal/projects/personal-os/personal-os-schema.md old mode 100644 new mode 100755 diff --git a/personal/projects/personal-os/personal-os-self-modification.md b/personal/projects/personal-os/personal-os-self-modification.md old mode 100644 new mode 100755 diff --git a/personal/projects/personal-os/personal-os-state-2026-04-27.md b/personal/projects/personal-os/personal-os-state-2026-04-27.md old mode 100644 new mode 100755 diff --git a/personal/projects/personal-os/personal-os-sync-pipeline.md b/personal/projects/personal-os/personal-os-sync-pipeline.md old mode 100644 new mode 100755 diff --git a/personal/projects/personal-os/research-queue.md b/personal/projects/personal-os/research-queue.md old mode 100644 new mode 100755 diff --git a/personal/projects/personal-os/vault-agent-integration.md b/personal/projects/personal-os/vault-agent-integration.md old mode 100644 new mode 100755 diff --git a/personal/projects/personal-os/vault-filling-guide.md b/personal/projects/personal-os/vault-filling-guide.md old mode 100644 new mode 100755 diff --git a/personal/projects/personal-os/vault-namespace.md b/personal/projects/personal-os/vault-namespace.md old mode 100644 new mode 100755 diff --git a/personal/projects/personal-os/wiki-ingest-process.md b/personal/projects/personal-os/wiki-ingest-process.md old mode 100644 new mode 100755 diff --git a/personal/projects/personal-os/wiki-schema.md b/personal/projects/personal-os/wiki-schema.md old mode 100644 new mode 100755 diff --git a/personal/projects/reflect-skip-fuse.md b/personal/projects/reflect-skip-fuse.md old mode 100644 new mode 100755 diff --git a/personal/user-profile.md b/personal/user-profile.md old mode 100644 new mode 100755 diff --git a/wiki/personal-os-schema.md b/wiki/personal-os-schema.md deleted file mode 100644 index e55e65db..00000000 --- a/wiki/personal-os-schema.md +++ /dev/null @@ -1,74 +0,0 @@ ---- -source: raw/schema.sql -content_hash: 71b47e47b483834c887de14c76d5b16506d90ad64198d76a92a7b3731132dab8 -namespace: work -last_synced: 2026-05-29 -confidence: 0.9 -tags: [schema, postgres, personal-os, database] ---- - -# Personal OS — PostgreSQL Schema - -The `personal_os` Postgres database is the durable backbone of Alex's Personal OS. It stores Asana state, agent annotations, file references, wiki content, and semantic memory. Extensions used: `vector` (pgvector) and `pg_trgm`. - -## Core tables - -### `tasks` -One row per Asana task GID. Upserted on every sync. Tracks name, notes (text + html), due/start dates, completion state, section, assignee, creator, project, source, timestamps, sync cursors, and raw JSON. Indexed on modified_at, due_on (partial), section, assignee, source, completed, plus a trigram index on name for fuzzy search. - -**`source` values** — discovery channel: -- `my_tasks` — assigned to Alex, in My Tasks sections -- `following` — Alex is a follower -- `delegated` — Alex created it, someone else owns -- `project` — project membership, otherwise uncovered - -### `stories` -Raw Asana event log per task — comments, assignments, due-date changes, etc. `resource_subtype` is Asana's event type. Stores plain and HTML body (HTML retains embedded task references). Indexed on task_gid, created_at, subtype, creator. - -### `task_edges` -Directed graph of inter-task relationships. `relation_type` covers `subtask`, `dependency`, `dependent`, `project_sibling`, `mention`. Primary key `(task_gid, related_gid, relation_type)`. - -### `task_annotations` -Agent or user-written metadata. Types: `irrelevant`, `watching`, `needs_action`, `snoozed`. Includes reasoning note, snooze date, and `annotated_by` (`agent` | `user`). - -### `sync_state` -One row per logical sync stream (`my_tasks`, `following`, `delegated`, `project:{gid}`, `workspace_events`). Holds last sync time, incremental cursor, and last full-sync time. - -### `task_embeddings` -pgvector 1024-dim embeddings (Voyage AI text-embedding-3 dims). HNSW cosine index. - -## Convenience view - -`active_tasks` — non-completed, non-irrelevant, non-snoozed tasks. Ordered by `source` priority (`my_tasks` → `delegated` → `following` → `project`), then due date, then modified. - -## Wiki / memory tables - -### `file_references` -Sources for wiki ingest. Includes a macOS security-scoped `bookmark_data` BYTEA, cached path, optional URL, SHA256 `content_hash`, MIME, title, tags, JSONB `modification_log`, and `wiki_stale` flag that triggers next ingest run. Namespace constrained to `work`/`personal`/`family`. - -### `wiki_pages` -LLM-synthesized markdown (not verbatim copies). Tracks sources JSONB, `confidence` (default 0.8), `superseded_by` chain for versioning, `stale` flag, `last_synced_hash`, and 1536-dim embedding. ivfflat index recommended once row count > 1000. See [[wiki-ingest-process]] for the current file-based replacement that supersedes this table. - -### `memory_store` -Semantic memory from Discord, Claude sessions, manual entries. `type` ∈ `fact|preference|decision|person`. `source` ∈ `discord|claude|manual`. JSONB entities array, confidence, optional `expires_at` for non-permanent facts, 1536-dim embedding. - -## Phase 0 additions (2026-04-27) - -- `namespace TEXT NOT NULL DEFAULT 'work'` added to all core tables — supports work/personal/family separation. -- `possibly_deleted BOOLEAN` and `last_seen_in_full_sync TIMESTAMPTZ` added to `tasks` so sync can detect Asana deletions. - -## Notes on usage - -- Stories are fetched after `tasks.stories_fetched_before` cursor — incremental. -- `task_annotations` is the only table the agent writes to from inference — `tasks` and `stories` are sync-owned. -- The `wiki_pages` table is effectively superseded by Obsidian + frontmatter `content_hash` (see [[personal-os-state-2026-04-27]] Decision 8). Schema retained for now. - -## Key Points -- Source-of-truth for Asana state is this DB, not the Asana API at query time. -- `source` column on `tasks` drives prioritization in `active_tasks` view. -- `namespace` column enables future Phase 2-family without schema churn. -- pgvector tables are provisioned but not yet populated — Phase 2 work. -- File-references / wiki-pages tables exist but Obsidian vault replaced them in practice. - -## Related -[[personal-os-state-2026-04-27]] [[personal-os-catchup-plan-2026-04-27]] [[wiki-ingest-process]] diff --git a/work/briefs/weekly/2026-05-29.md b/work/briefs/weekly/2026-05-29.md deleted file mode 100644 index 39e3312e..00000000 --- a/work/briefs/weekly/2026-05-29.md +++ /dev/null @@ -1,94 +0,0 @@ -# Weekly Review — Week of 2026-05-25 - -## ✅ Moved Forward - -**New Top Priority project kicked off and shipping** — [iOS Address onboarding conflicts with unified input and ship AI onboarding winner](https://app.asana.com/0/0/1214592943696234) (due Jun 5). [Kick-off](https://app.asana.com/0/0/1214592851898713) ran async May 26 with Alessandro; scope locked, advisor on board, and four implementation PRs landed in week one: -- [Ship AI onboarding winner (Treatment B) [0.5d]](https://app.asana.com/0/0/1215009192158955) — PR up -- [Hide "stop chat" button in the input box [0.5d]](https://app.asana.com/0/0/1215009192158954) — PR up -- [Hide Free plan • Upgrade in onboarding [0.5d]](https://app.asana.com/0/0/1215009192158952) — PR up, fade-in tweak in review -- [Disable back button during duck.ai onboarding [1d]](https://app.asana.com/0/0/1215009192158960) — descoped (closed) - -**Prior O-N project wrapped** — [iOS: Introduce a new screen that allows usage of the toggle with Search or Duck.ai set as the default toggle state](https://app.asana.com/0/0/1213320237636425) closed May 26. A/B/N experiment concluded with Treatment B as winner. [Postmortem](https://app.asana.com/0/0/1213320327587346) completed. - -**Incident closed cleanly** — [Incident Postmortem: AI Agent use via likely external Discord service](https://app.asana.com/0/0/1214996544314182) completed May 28. Action items captured and assigned (GDPR follow-up scheduled, [Mattermost Bots request](https://app.asana.com/0/0/1214799615211686) submitted). - -### Ship Reviews closed -None this week. (Prior week's Ship Review for "Demo tracker blocking" closed May 20.) - -### Tech Designs approved -None this week. - -### PRs merged / reviewed -- [PR: Simplify tab access in TabBarViewController](https://app.asana.com/0/0/1215059168411571) — merged May 28 -- [PR: iOS: Demo tracker blocking after chat in onboarding](https://app.asana.com/0/0/1214425079182350) — testing steps refreshed, dax-logo blink fix landed, ready for review -- Alessandro's UTI work PR (#4668 in apple-browsers) — approved & merged -- 3 new PRs opened for current TP project (above) - -### Rotations completed -None active this week. - ---- - -## 🔄 Didn't Move - -Older active/planning items that didn't get a touch — mostly tech-debt / infra that loses out to project work: - -- [Drop Storyboards in favor of code-initialized views](https://app.asana.com/0/0/1206472717181420) — active since Feb, no movement. Likely deprioritized in favor of project work; reassess whether it should stay `active`. -- [UI Tests refinement](https://app.asana.com/0/0/1210056873095697) — active since Feb. Tied to broader test-infra effort; needs a champion or descoping. -- [GH Workflow Failure - UI Tests](https://app.asana.com/0/0/1213729659282440) — active, last touched Mar 20. Worth a 30-min triage: still failing? Still relevant? -- [PR Check failing on main: testWhenTabWithConnectionLostErrorActivatedAndReloadFailsAgain](https://app.asana.com/0/0/1213975496167929) — due Apr 22, modified May 13. Either fix or quarantine the test. -- [Cursor integration: configure VSCode support](https://app.asana.com/0/0/1209808486380252) — active since May 7, no progress. Low-stakes; close or schedule. - -Likely cause: TP project work + the AI Agent incident consumed the week. Recommend a Quick-Wins-style sweep on one of these next week if the schedule allows. - ---- - -## 🔗 Open Loops Carrying Forward - -**Current TP project — live PRs heading into review/ship next week:** -- [Hide "stop chat" button](https://app.asana.com/0/0/1215009192158954) — due May 29 (today) -- [Ship AI onboarding winner (Treatment B)](https://app.asana.com/0/0/1215009192158955) — needs Ship Review (per Alex's May 28 status) -- [Hide Free plan • Upgrade in onboarding](https://app.asana.com/0/0/1215009192158952) — PR in review with fade-in fix -- [Persist 'You've got this' dialogue in non-focused state [2d]](https://app.asana.com/0/0/1215009192158950) — due Jun 1 -- [Try Visiting a Site: Background [1d]](https://app.asana.com/0/0/1214828145455342) — due Jun 1 -- [Address Bar Toggle Selection: Animated Assets [2-3d]](https://app.asana.com/0/0/1214627423981798) — due Jun 4 (asset dependency) - -**Incident follow-ups (open):** -- [Follow-up with Discord on GDPR request](https://app.asana.com/0/0/1215193471130270) — self-scheduled for ~Jun 15 (GDPR submitted May 12, still no response) -- [Create Mattermost Bots request](https://app.asana.com/0/0/1214799615211686) — submitted, awaiting response - -**Other:** -- [DRI <> Project Advisor async for Demo tracker blocking](https://app.asana.com/0/0/1213551072611261) — still open; consider closing if the project shipped. -- [[ON HOLD] iOS: Demo tracker blocking after chat in onboarding](https://app.asana.com/0/0/1213551050320249) — marked on-hold; revisit status next week. - -**Ship Reviews / Tech Designs awaiting your re-review:** None. -**Delegated tasks overdue:** None surfaced. -**Incidents without postmortem:** None. -**PFRs awaiting decision summary:** None. - ---- - -## 📅 Next Week Setup - -**TP Suggestion**: Continue [iOS Address onboarding conflicts with unified input and ship AI onboarding winner](https://app.asana.com/0/0/1214592943696234). Reasoning: project due Jun 5; 3 PRs in review and 3 tasks still to start. Treatment B ship needs to clear Ship Review next week to hold the schedule — and you're partly AFK for WWDC Jun 8–12, so the project must close before then. This is the obvious TP, keep it. - -**Rotation**: None starting next week. - -**OOO watch** — heads-up on collaborators: -- **Dominik (career advisor)** AFK Jun 1–3 (LDX3) and Jun 4–5 (public holiday). Effectively gone Mon–Fri. **1:1 likely skips** — confirm reschedule. -- **Sabrina, Lorenzo, Fernando, Pete, Marcos** all at LDX3 Jun 1–3. Several iOS/macOS folks unavailable early week — anything needing their review should ship today or wait. -- **You** — [Partly AFK Jun 8–12 for WWDC'26](https://app.asana.com/0/0/1212684797790491). Two weeks out, but the TP project due Jun 5 needs to close before WWDC week. - -**1:1 with Dominik** — last agenda was [May 26](https://app.asana.com/0/0/1214933759913756). Next slot likely Jun 9+ given Dominik's OOO. Items to bring: -- TP project ship status (Treatment B Ship Review, project close-out before WWDC) -- AI Agent incident postmortem outcomes — Mattermost Bots + Discord GDPR action items -- DDG Mac runner/AI worker infrastructure (carry-over from last agenda) -- Pre-WWDC handoff plan for in-flight work - ---- - -## 🏆 Wins - -1. **Closed an O-N project end-to-end** — A/B/N experiment ran, winner identified, [project wrap-up](https://app.asana.com/0/0/1213320237636425) posted, and [postmortem](https://app.asana.com/0/0/1213320327587346) shipped. Clean close-out. -2. **New TP project hit the ground running** — [scoped, kicked off, and 4 PRs landed in week 1](https://app.asana.com/0/0/1214592943696234). On track for the 2-week window. -3. **Incident postmortem done well** — [AI Agent Discord incident](https://app.asana.com/0/0/1214996544314182) closed with concrete follow-ups (GDPR, Mattermost Bots, O-T project link). Positive notes from leadership on the [Full Analysis](https://app.asana.com/0/0/1214900901154134) doc.