taiga-local-1780070634

This commit is contained in:
Тайга
2026-05-29 16:03:54 +00:00
parent c2f90279b3
commit abf2e05149
45 changed files with 0 additions and 168 deletions
View File
Regular → Executable
View File
Regular → Executable
View File
View File
View File
View File
View File
View File
View File
View File
Regular → Executable
View File
View File
Regular → Executable
View File
Regular → Executable
View File
Regular → Executable
View File
Regular → Executable
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
Regular → Executable
View File
-74
View File
@@ -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]]
-94
View File
@@ -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 812, 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 13 (LDX3) and Jun 45 (public holiday). Effectively gone MonFri. **1:1 likely skips** — confirm reschedule.
- **Sabrina, Lorenzo, Fernando, Pete, Marcos** all at LDX3 Jun 13. Several iOS/macOS folks unavailable early week — anything needing their review should ship today or wait.
- **You** — [Partly AFK Jun 812 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.