| Capability | Resource | Projects |
|---|---|---|
| academic / legal data harvesting | CORE | thesis-repo (Research RAG / USAL thesis) |
| academic / legal data harvesting | CourtListener | thesis-repo (Research RAG / USAL thesis) |
| academic / legal data harvesting | Crossref | thesis-repo (Research RAG / USAL thesis) |
| academic / legal data harvesting | DBLP | thesis-repo (Research RAG / USAL thesis) |
| academic / legal data harvesting | Dialnet | thesis-repo (Research RAG / USAL thesis) |
| academic / legal data harvesting | Federal Register | thesis-repo (Research RAG / USAL thesis) |
| academic / legal data harvesting | GovInfo | thesis-repo (Research RAG / USAL thesis) |
| academic / legal data harvesting | OpenAlex | thesis-repo (Research RAG / USAL thesis) |
| academic / legal data harvesting | Readwise | thesis-repo (Research RAG / USAL thesis) |
| academic / legal data harvesting | Regulations.gov | thesis-repo (Research RAG / USAL thesis) |
| academic / legal data harvesting | Semantic Scholar | thesis-repo (Research RAG / USAL thesis) |
| academic / legal data harvesting | USAspending | thesis-repo (Research RAG / USAL thesis) |
| admin UI | React | ademas.ai (AI voice assistant) |
| admin UI | vanilla HTML/JS | Radius (Marketing / ZIP / EDDM) |
| analog phone line (FXS) bridged to Twilio over SIP | Grandstream HT801 v2 ATA (on-premises) | Merit (academic-merit messaging) |
| backup / mirror | GitHub Actions | ademas.ai (AI voice assistant) |
| backup / mirror | Google Drive | thesis-repo (Research RAG / USAL thesis) |
| backup / mirror | Supabase (phd-kb) | thesis-repo (Research RAG / USAL thesis) |
| billing / payments | Stripe | Aroma (Recipe site), Radius (Marketing / ZIP / EDDM), ademas.ai (AI voice assistant), Merit (academic-merit messaging), Numora (Fiscal & financial intelligence) |
| calendar / scheduling | Google Calendar | ademas.ai (AI voice assistant) |
| chat interface | React | ademas.ai (AI voice assistant), Merit (academic-merit messaging), Numora (Fiscal & financial intelligence) |
| CI/CD | Anthropic Managed Agents API | ademas.ai (AI voice assistant) |
| CI/CD | GitHub Actions | Radius (Marketing / ZIP / EDDM), thesis-repo (Research RAG / USAL thesis), ademas.ai (AI voice assistant), Numora (Fiscal & financial intelligence) |
| component library | Astro | Glossa (bilingual publication layer over phd-kb) |
| credential management | 1Password | Aroma (Recipe site), Radius (Marketing / ZIP / EDDM), thesis-repo (Research RAG / USAL thesis), ademas.ai (AI voice assistant), Glossa (bilingual publication layer over phd-kb), Numora (Fiscal & financial intelligence) |
| deployment / hosting | Cloudflare Pages | thesis-repo (Research RAG / USAL thesis), ademas.ai (AI voice assistant) |
| deployment / hosting | Cloudflare Pages Functions | ademas.ai (AI voice assistant) |
| deployment / hosting | Cloudflare Workers | Radius (Marketing / ZIP / EDDM), ademas.ai (AI voice assistant) |
| deployment / hosting | Supabase Edge Functions | ademas.ai (AI voice assistant) |
| deployment / hosting | Vercel | Aroma (Recipe site), Glossa (bilingual publication layer over phd-kb), Merit (academic-merit messaging), Numora (Fiscal & financial intelligence) |
| design system | Ademas design language | Radius (Marketing / ZIP / EDDM) |
| design system | hand-rolled CSS variables | thesis-repo (Research RAG / USAL thesis), ademas.ai (AI voice assistant), Glossa (bilingual publication layer over phd-kb) |
| design system | Tailwind CSS v4 | Aroma (Recipe site), Merit (academic-merit messaging), Numora (Fiscal & financial intelligence) |
| DNS / caching | Cloudflare | thesis-repo (Research RAG / USAL thesis), ademas.ai (AI voice assistant), Glossa (bilingual publication layer over phd-kb), Merit (academic-merit messaging), Numora (Fiscal & financial intelligence) |
| error monitoring | Sentry | ademas.ai (AI voice assistant) |
| key-value store | Cloudflare KV | ademas.ai (AI voice assistant) |
| legacy JWT fallback only — no new Clerk-dependent UI | Clerk | Aroma (Recipe site) |
| LLM | Anthropic | Aroma (Recipe site), Radius (Marketing / ZIP / EDDM), thesis-repo (Research RAG / USAL thesis), ademas.ai (AI voice assistant), Glossa (bilingual publication layer over phd-kb), Merit (academic-merit messaging), Numora (Fiscal & financial intelligence) |
| LLM | DeepSeek | Radius (Marketing / ZIP / EDDM), thesis-repo (Research RAG / USAL thesis) |
| LLM | Google Gemini | thesis-repo (Research RAG / USAL thesis), Glossa (bilingual publication layer over phd-kb) |
| LLM | Groq | thesis-repo (Research RAG / USAL thesis) |
| LLM | Moonshot | thesis-repo (Research RAG / USAL thesis) |
| LLM | Moonshot (Kimi) | Glossa (bilingual publication layer over phd-kb) |
| LLM | OpenAI | Aroma (Recipe site), thesis-repo (Research RAG / USAL thesis), Numora (Fiscal & financial intelligence) |
| LLM | xAI | thesis-repo (Research RAG / USAL thesis), Numora (Fiscal & financial intelligence) |
| mobile web UI | React | Aroma (Recipe site), ademas.ai (AI voice assistant), Merit (academic-merit messaging), Numora (Fiscal & financial intelligence) |
| monitoring / health checks | GitHub Actions | Glossa (bilingual publication layer over phd-kb) |
| phone verification (OTP) | Twilio | Aroma (Recipe site), Radius (Marketing / ZIP / EDDM), ademas.ai (AI voice assistant), Merit (academic-merit messaging), Numora (Fiscal & financial intelligence) |
| progressive web app | React | ademas.ai (AI voice assistant) |
| progressive web app | vanilla JS PWA | thesis-repo (Research RAG / USAL thesis) |
| realtime voice agent | OpenAI gpt-live | ademas.ai (AI voice assistant) |
| realtime voice agent | Twilio Elastic SIP Trunking | ademas.ai (AI voice assistant) |
| realtime voice agent | Vapi | ademas.ai (AI voice assistant) |
| realtime voice agent | xAI realtime voice | ademas.ai (AI voice assistant) |
| recording, transcription and stored audio for the voice line | Twilio | Merit (academic-merit messaging) |
| relational database | Neon | Aroma (Recipe site), Radius (Marketing / ZIP / EDDM) |
| relational database | Supabase (account artcx@protonmail.com) | Merit (academic-merit messaging) |
| relational database | Supabase (ademas-ai) | ademas.ai (AI voice assistant) |
| relational database | Supabase (phd-kb) | thesis-repo (Research RAG / USAL thesis), Glossa (bilingual publication layer over phd-kb) |
| relational database | Supabase (project numora) | Numora (Fiscal & financial intelligence) |
| remote config / firmware for the ATA over TR-069 | GDMS (Grandstream cloud, gdms.cloud) | Merit (academic-merit messaging) |
| repository / CI-CD | GitHub | Aroma (Recipe site), Radius (Marketing / ZIP / EDDM), thesis-repo (Research RAG / USAL thesis), Glossa (bilingual publication layer over phd-kb), Merit (academic-merit messaging), Numora (Fiscal & financial intelligence) |
| search / benchmarking | Firecrawl | thesis-repo (Research RAG / USAL thesis) |
| search / benchmarking | GDELT | Glossa (bilingual publication layer over phd-kb) |
| search / benchmarking | Google News RSS | Glossa (bilingual publication layer over phd-kb) |
| search / benchmarking | OpenAlex | Glossa (bilingual publication layer over phd-kb) |
| search / benchmarking | Perplexity | thesis-repo (Research RAG / USAL thesis) |
| search / benchmarking | Tavily | Radius (Marketing / ZIP / EDDM), thesis-repo (Research RAG / USAL thesis), Glossa (bilingual publication layer over phd-kb) |
| search / benchmarking | YouTube Data API | Glossa (bilingual publication layer over phd-kb) |
| serverless scripting runtime | Google Apps Script | thesis-repo (Research RAG / USAL thesis) |
| SMS | Twilio | Aroma (Recipe site), ademas.ai (AI voice assistant), Merit (academic-merit messaging) |
| speech-to-text | Cloudflare Workers AI | ademas.ai (AI voice assistant) |
| static site generation | Astro | Glossa (bilingual publication layer over phd-kb) |
| transactional email | Resend | thesis-repo (Research RAG / USAL thesis), ademas.ai (AI voice assistant), Glossa (bilingual publication layer over phd-kb), Numora (Fiscal & financial intelligence) |
| Turnstile challenge on OTP send | Cloudflare | Aroma (Recipe site), Merit (academic-merit messaging), Numora (Fiscal & financial intelligence) |
| TwiML routing for the voice line | Twilio Serverless Functions | Merit (academic-merit messaging) |
| user authentication | Cloudflare Access | thesis-repo (Research RAG / USAL thesis) |
| user authentication | Supabase Auth | ademas.ai (AI voice assistant) |
| user-owned document storage | Google Drive | Numora (Fiscal & financial intelligence) |
| vector database / embeddings | Supabase (phd-kb) | thesis-repo (Research RAG / USAL thesis), Glossa (bilingual publication layer over phd-kb) |
| vector database / embeddings | Supabase (project numora) | Numora (Fiscal & financial intelligence) |
| voice — Programmable Voice SIP Domain with SIP registration | Twilio | Merit (academic-merit messaging) |
| web scraping / content extraction | Firecrawl | thesis-repo (Research RAG / USAL thesis) |
These provider strings look like the same service written differently. Grouping is by exact text, so each variant splits one shared resource in two and then reports the split as a duplication — inflating conflict and hiding reuse. Reconcile them in the projects’ own resource blocks, unless the difference genuinely marks separate accounts.
Supabase (phd-kb) · Supabase (ademas-ai) · Supabase (account artcx@protonmail.com) · Supabase (project numora)Supabase (phd-kb) — thesis (relational database, vector database / embeddings, backup / mirror) · glossa (relational database, vector database / embeddings)Supabase (ademas-ai) — ademas-ai (relational database)Supabase (account artcx@protonmail.com) — merit (relational database)Supabase (project numora) — numora (relational database, vector database / embeddings)Moonshot · Moonshot (Kimi)Moonshot — thesis (LLM)Moonshot (Kimi) — glossa (LLM)Standing instructions, regenerated on every run. If you are an agent working in one of these projects, this is the section addressed to you. Umbrella never writes into any project; it publishes here and projects pull, which is what keeps its read-only rule intact.
Standards that bind this project:
docs/STANDARD-ACTIONS-BUDGET.md · applies via GitHub · configuration integrated on 2026-09-25 · first unblocked GitHub execution and measured savings pending · no conforms_to declaredsource_control:
provider: GitHub
capability: repository / CI-CD
conforms_to: [STANDARD-ACTIONS-BUDGET, STANDARD-DOC-ENTRYPOINT, STANDARD-PUBLISHED-OUTPUT]docs/STANDARD-DOC-ENTRYPOINT.md · applies via GitHub · active since 2026-08-21 · no conforms_to declareddocs/STANDARD-PUBLISHED-OUTPUT.md · applies via GitHub · active since 2026-08-21 · no conforms_to declareddocs/STANDARD-TWILIO-OTP.md · applies via Twilio · active since 2026-08-10 · no conforms_to declaredauth:
provider: Twilio
capability: phone verification (OTP)
implemented_in: api/_lib/twilio.js
conforms_to: STANDARD-TWILIO-OTPAlready solved elsewhere in the portfolio:
.github/workflows/glossa-publish.yml. Read it before writing your own.phd-agents/docs/RECOVERY-SECRETS.md. Read it before writing your own.docs/ARCHITECTURE.md, and there are 6 more in the portfolio: radius → docs/DECISIONS.md · thesis → pwa/WEBAPP-MEMORY.md · ademas-ai → inbox/index.html · glossa → src/styles/global.css · merit → web/src/app/globals.css · numora → 04-UI-Visual-Specification.md. Worth comparing before the next change to yours.src/index.css, and there are 3 more in the portfolio: ademas-ai → inbox/index.html · merit → web/src/components/ChildTabBar.tsx · numora → app/app/layout.tsx. Worth comparing before the next change to yours.Lessons from other projects that touch what you use (245, grouped by what matched):
docs/DECISIONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/09-Decisiones-Abiertas.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mddocs/DECISIONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdphd-pm/docs/LESSONS-LEARNED-2026-04.mdphd-pm/docs/LESSONS-LEARNED-2026-04.mdphd-pm/docs/LESSONS-LEARNED-2026-04.mdphd-pm/docs/LESSONS-LEARNED-2026-04.mdLESSONS.mdLESSONS.mdLESSONS.mddocs/DECISIONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/DECISIONS.mdLESSONS.mddocs/LESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mddocs/09-Decisiones-Abiertas.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mddocs/DECISIONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/DECISIONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdphd-pm/docs/LESSONS-LEARNED-2026-04.mdphd-pm/docs/LESSONS-LEARNED-2026-04.mdphd-pm/docs/LESSONS-LEARNED-2026-04.mdphd-pm/docs/LESSONS-LEARNED-2026-04.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mddocs/09-Decisiones-Abiertas.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdphd-pm/docs/LESSONS-LEARNED-2026-04.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mddocs/DECISIONS.mdSTANDARD-ACTIONS-BUDGET (matched on GitHub) and no conforms_to is declared for it. Umbrella reads documentation, not code, so this is a missing declaration rather than proof of non-compliance — but the resource is shared, so the cost of getting it wrong is not.STANDARD-DOC-ENTRYPOINT (matched on GitHub) and no conforms_to is declared for it. Umbrella reads documentation, not code, so this is a missing declaration rather than proof of non-compliance — but the resource is shared, so the cost of getting it wrong is not.STANDARD-PUBLISHED-OUTPUT (matched on GitHub) and no conforms_to is declared for it. Umbrella reads documentation, not code, so this is a missing declaration rather than proof of non-compliance — but the resource is shared, so the cost of getting it wrong is not.STANDARD-TWILIO-OTP (matched on Twilio) and no conforms_to is declared for it. Umbrella reads documentation, not code, so this is a missing declaration rather than proof of non-compliance — but the resource is shared, so the cost of getting it wrong is not.Standards that bind this project:
docs/STANDARD-ACTIONS-BUDGET.md · applies via GitHub Actions · configuration integrated on 2026-09-25 · first unblocked GitHub execution and measured savings pending · no conforms_to declaredci_cd:
provider: GitHub Actions
capability: CI/CD
implemented_in: docs/PIPELINE.md
conforms_to: STANDARD-ACTIONS-BUDGETdocs/STANDARD-DOC-ENTRYPOINT.md · applies via GitHub · active since 2026-08-21 · no conforms_to declaredsource_control:
provider: GitHub
capability: repository / CI-CD
conforms_to: [STANDARD-DOC-ENTRYPOINT, STANDARD-PUBLISHED-OUTPUT]docs/STANDARD-PUBLISHED-OUTPUT.md · applies via GitHub · active since 2026-08-21 · no conforms_to declareddocs/STANDARD-TWILIO-OTP.md · applies via Twilio · active since 2026-08-10 · conformance declaredAlready solved elsewhere in the portfolio:
docs/DECISIONS.md, and there are 6 more in the portfolio: aroma → docs/ARCHITECTURE.md · thesis → pwa/WEBAPP-MEMORY.md · ademas-ai → inbox/index.html · glossa → src/styles/global.css · merit → web/src/app/globals.css · numora → 04-UI-Visual-Specification.md. Worth comparing before the next change to yours.site/, and there is 1 more in the portfolio: ademas-ai → console/index.html. Worth comparing before the next change to yours..github/workflows/glossa-publish.yml. Read it before writing your own.api/_lib/textModels.js · aroma → api/_lib/recipeImages.js · thesis → phd-agents/docs/MODEL-ROUTING.md · thesis → phd-agents/shared/curation_models.py · ademas-ai → supabase/functions/_shared/llm.ts · glossa → skills/SKILL.md · glossa → supabase/functions/_shared/gemini.ts · glossa → scripts/weekly_from_supabase.mjs · merit → web/src/lib/anthropic.ts. Read it before writing your own.phd-agents/shared/research_search.py · glossa → src/lib/gdelt.mjs · glossa → src/lib/gnews.mjs · glossa → scripts/research_from_supabase.mjs · glossa → scripts/reportaje_from_supabase.mjs · glossa → supabase/functions/_shared/feeds.ts. Read it before writing your own.phd-agents/docs/RECOVERY-SECRETS.md. Read it before writing your own.Lessons from other projects that touch what you use (304, grouped by what matched):
docs/LESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdphd-pm/docs/LESSONS-LEARNED-2026-04.mdphd-pm/docs/LESSONS-LEARNED-2026-04.mdphd-pm/docs/LESSONS-LEARNED-2026-04.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mdLESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/09-Decisiones-Abiertas.mdLESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdphd-pm/docs/LESSONS-LEARNED-2026-04.mdphd-pm/docs/LESSONS-LEARNED-2026-04.mdphd-pm/docs/LESSONS-LEARNED-2026-04.mdphd-pm/docs/LESSONS-LEARNED-2026-04.mdLESSONS.mdLESSONS.mdLESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mdLESSONS.mddocs/LESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mddocs/09-Decisiones-Abiertas.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mdLESSONS.mdLESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdphd-pm/docs/LESSONS-LEARNED-2026-04.mdphd-pm/docs/LESSONS-LEARNED-2026-04.mdphd-pm/docs/LESSONS-LEARNED-2026-04.mdphd-pm/docs/LESSONS-LEARNED-2026-04.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mddocs/09-Decisiones-Abiertas.mddocs/LESSONS.mddocs/LESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdphd-pm/docs/LESSONS-LEARNED-2026-04.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mdSTANDARD-ACTIONS-BUDGET (matched on GitHub Actions) and no conforms_to is declared for it. Umbrella reads documentation, not code, so this is a missing declaration rather than proof of non-compliance — but the resource is shared, so the cost of getting it wrong is not.STANDARD-DOC-ENTRYPOINT (matched on GitHub) and no conforms_to is declared for it. Umbrella reads documentation, not code, so this is a missing declaration rather than proof of non-compliance — but the resource is shared, so the cost of getting it wrong is not.STANDARD-PUBLISHED-OUTPUT (matched on GitHub) and no conforms_to is declared for it. Umbrella reads documentation, not code, so this is a missing declaration rather than proof of non-compliance — but the resource is shared, so the cost of getting it wrong is not.Standards that bind this project:
docs/STANDARD-ACTIONS-BUDGET.md · applies via GitHub Actions · configuration integrated on 2026-09-25 · first unblocked GitHub execution and measured savings pending · no conforms_to declaredci_cd:
provider: GitHub Actions
capability: CI/CD
implemented_in: phd-agents/README.md
conforms_to: STANDARD-ACTIONS-BUDGETdocs/STANDARD-DOC-ENTRYPOINT.md · applies via GitHub · active since 2026-08-21 · no conforms_to declaredsource_control:
provider: GitHub
capability: repository / CI-CD
conforms_to: [STANDARD-DOC-ENTRYPOINT, STANDARD-PUBLISHED-OUTPUT]docs/STANDARD-PUBLISHED-OUTPUT.md · applies via GitHub · active since 2026-08-21 · no conforms_to declaredAlready solved elsewhere in the portfolio:
pwa/WEBAPP-MEMORY.md, and there are 6 more in the portfolio: aroma → docs/ARCHITECTURE.md · radius → docs/DECISIONS.md · ademas-ai → inbox/index.html · glossa → src/styles/global.css · merit → web/src/app/globals.css · numora → 04-UI-Visual-Specification.md. Worth comparing before the next change to yours.pwa/, and there is 1 more in the portfolio: ademas-ai → inbox/manifest.json. Worth comparing before the next change to yours..github/workflows/glossa-publish.yml. Read it before writing your own.External material found for your open items — proposals, not instructions: nothing here was verified against a repository
Lessons from other projects that touch what you use (143, grouped by what matched):
docs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/DECISIONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/09-Decisiones-Abiertas.mdLESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/DECISIONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/09-Decisiones-Abiertas.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/DECISIONS.mddocs/LESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mddocs/09-Decisiones-Abiertas.mdLESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mddocs/LESSONS.mddocs/DECISIONS.mddocs/DECISIONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mdLESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mdSupabase (phd-kb), Moonshot. Confirm each one marks a genuinely separate account rather than a differently-worded same service.STANDARD-ACTIONS-BUDGET (matched on GitHub Actions) and no conforms_to is declared for it. Umbrella reads documentation, not code, so this is a missing declaration rather than proof of non-compliance — but the resource is shared, so the cost of getting it wrong is not.STANDARD-DOC-ENTRYPOINT (matched on GitHub) and no conforms_to is declared for it. Umbrella reads documentation, not code, so this is a missing declaration rather than proof of non-compliance — but the resource is shared, so the cost of getting it wrong is not.STANDARD-PUBLISHED-OUTPUT (matched on GitHub) and no conforms_to is declared for it. Umbrella reads documentation, not code, so this is a missing declaration rather than proof of non-compliance — but the resource is shared, so the cost of getting it wrong is not.Standards that bind this project:
docs/STANDARD-ACTIONS-BUDGET.md · applies via GitHub Actions · configuration integrated on 2026-09-25 · first unblocked GitHub execution and measured savings pending · no conforms_to declaredci_cd:
provider: GitHub Actions
capability: CI/CD
implemented_in: .github/workflows/deploy.yml
conforms_to: STANDARD-ACTIONS-BUDGETdocs/STANDARD-TWILIO-OTP.md · applies via Twilio · active since 2026-08-10 · no conforms_to declaredmessaging:
provider: Twilio
capability: SMS
implemented_in: supabase/functions/send-message/index.ts
conforms_to: STANDARD-TWILIO-OTPAlready solved elsewhere in the portfolio:
api/_lib/db.js · radius → docs/ARCHITECTURE.md · thesis → phd-agents/sql/ · glossa → docs/11-Integracion-phd-kb.md · merit → web/src/lib/supabase-admin.ts · numora → lib/db.ts. Read it before writing your own.phd-agents/weekly_digest/main.py · glossa → scripts/boletin_from_supabase.mjs · numora → lib/email.ts. Read it before writing your own.inbox/index.html, and there are 6 more in the portfolio: aroma → docs/ARCHITECTURE.md · radius → docs/DECISIONS.md · thesis → pwa/WEBAPP-MEMORY.md · glossa → src/styles/global.css · merit → web/src/app/globals.css · numora → 04-UI-Visual-Specification.md. Worth comparing before the next change to yours.inbox/app.jsx, and there are 2 more in the portfolio: merit → web/src/app/inbox/f/[friendshipId]/page.tsx · numora → app/app/three-panel.tsx. Worth comparing before the next change to yours.inbox/manifest.json, and there is 1 more in the portfolio: thesis → pwa/. Worth comparing before the next change to yours.inbox/index.html, and there are 3 more in the portfolio: aroma → src/index.css · merit → web/src/components/ChildTabBar.tsx · numora → app/app/layout.tsx. Worth comparing before the next change to yours.console/index.html, and there is 1 more in the portfolio: radius → site/. Worth comparing before the next change to yours.phd-agents/docs/RECOVERY-SECRETS.md. Read it before writing your own.External material found for your open items — proposals, not instructions: nothing here was verified against a repository
Lessons from other projects that touch what you use (264, grouped by what matched):
docs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/DECISIONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdphd-pm/docs/LESSONS-LEARNED-2026-04.mdphd-pm/docs/LESSONS-LEARNED-2026-04.mdphd-pm/docs/LESSONS-LEARNED-2026-04.mdphd-pm/docs/LESSONS-LEARNED-2026-04.mddocs/09-Decisiones-Abiertas.mddocs/LESSONS.mddocs/DECISIONS.mddocs/DECISIONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdphd-pm/docs/LESSONS-LEARNED-2026-04.mdphd-pm/docs/LESSONS-LEARNED-2026-04.mdphd-pm/docs/LESSONS-LEARNED-2026-04.mdLESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/DECISIONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mddocs/09-Decisiones-Abiertas.mdLESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdphd-pm/docs/LESSONS-LEARNED-2026-04.mdphd-pm/docs/LESSONS-LEARNED-2026-04.mdphd-pm/docs/LESSONS-LEARNED-2026-04.mdphd-pm/docs/LESSONS-LEARNED-2026-04.mdLESSONS.mdLESSONS.mdLESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/DECISIONS.mdLESSONS.mdLESSONS.mdLESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/DECISIONS.mddocs/LESSONS.mdLESSONS.mddocs/LESSONS.mddocs/LESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mdLESSONS.mdphd-pm/docs/LESSONS-LEARNED-2026-04.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mddocs/DECISIONS.mddocs/LESSONS.mdLESSONS.mdSupabase (ademas-ai). Confirm each one marks a genuinely separate account rather than a differently-worded same service.STANDARD-ACTIONS-BUDGET (matched on GitHub Actions) and no conforms_to is declared for it. Umbrella reads documentation, not code, so this is a missing declaration rather than proof of non-compliance — but the resource is shared, so the cost of getting it wrong is not.STANDARD-TWILIO-OTP (matched on Twilio) and no conforms_to is declared for it. Umbrella reads documentation, not code, so this is a missing declaration rather than proof of non-compliance — but the resource is shared, so the cost of getting it wrong is not.Standards that bind this project:
docs/STANDARD-ACTIONS-BUDGET.md · applies via GitHub Actions · configuration integrated on 2026-09-25 · first unblocked GitHub execution and measured savings pending · no conforms_to declaredmonitoring:
provider: GitHub Actions
capability: monitoring / health checks
implemented_in: scripts/vigilante_from_supabase.mjs
conforms_to: STANDARD-ACTIONS-BUDGETdocs/STANDARD-DOC-ENTRYPOINT.md · applies via GitHub · active since 2026-08-21 · conformance declareddocs/STANDARD-PUBLISHED-OUTPUT.md · applies via GitHub · active since 2026-08-21 · conformance declaredAlready solved elsewhere in the portfolio:
phd-agents/docs/RECOVERY-SECRETS.md. Read it before writing your own.src/styles/global.css, and there are 6 more in the portfolio: aroma → docs/ARCHITECTURE.md · radius → docs/DECISIONS.md · thesis → pwa/WEBAPP-MEMORY.md · ademas-ai → inbox/index.html · merit → web/src/app/globals.css · numora → 04-UI-Visual-Specification.md. Worth comparing before the next change to yours.Lessons from other projects that touch what you use (264, grouped by what matched):
docs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/DECISIONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdphd-pm/docs/LESSONS-LEARNED-2026-04.mdphd-pm/docs/LESSONS-LEARNED-2026-04.mdphd-pm/docs/LESSONS-LEARNED-2026-04.mdphd-pm/docs/LESSONS-LEARNED-2026-04.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/DECISIONS.mddocs/DECISIONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdphd-pm/docs/LESSONS-LEARNED-2026-04.mdphd-pm/docs/LESSONS-LEARNED-2026-04.mdphd-pm/docs/LESSONS-LEARNED-2026-04.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mdLESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/DECISIONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mdLESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdphd-pm/docs/LESSONS-LEARNED-2026-04.mdphd-pm/docs/LESSONS-LEARNED-2026-04.mdphd-pm/docs/LESSONS-LEARNED-2026-04.mdphd-pm/docs/LESSONS-LEARNED-2026-04.mddocs/LESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/DECISIONS.mdLESSONS.mddocs/LESSONS.mdLESSONS.mdLESSONS.mddocs/LESSONS.mdLESSONS.mdLESSONS.mddocs/LESSONS.mdLESSONS.mddocs/LESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mdLESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdphd-pm/docs/LESSONS-LEARNED-2026-04.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mdLESSONS.mdLESSONS.mdSupabase (phd-kb), Moonshot (Kimi). Confirm each one marks a genuinely separate account rather than a differently-worded same service.STANDARD-ACTIONS-BUDGET (matched on GitHub Actions) and no conforms_to is declared for it. Umbrella reads documentation, not code, so this is a missing declaration rather than proof of non-compliance — but the resource is shared, so the cost of getting it wrong is not.Standards that bind this project:
docs/STANDARD-ACTIONS-BUDGET.md · applies via GitHub · configuration integrated on 2026-09-25 · first unblocked GitHub execution and measured savings pending · no conforms_to declaredsource_control:
provider: GitHub
capability: repository / CI-CD
conforms_to: [STANDARD-ACTIONS-BUDGET, STANDARD-DOC-ENTRYPOINT, STANDARD-PUBLISHED-OUTPUT]docs/STANDARD-DOC-ENTRYPOINT.md · applies via GitHub · active since 2026-08-21 · no conforms_to declareddocs/STANDARD-PUBLISHED-OUTPUT.md · applies via GitHub · active since 2026-08-21 · no conforms_to declareddocs/STANDARD-TWILIO-OTP.md · applies via Twilio · active since 2026-08-10 · conformance declaredAlready solved elsewhere in the portfolio:
.github/workflows/glossa-publish.yml. Read it before writing your own.web/src/app/globals.css, and there are 6 more in the portfolio: aroma → docs/ARCHITECTURE.md · radius → docs/DECISIONS.md · thesis → pwa/WEBAPP-MEMORY.md · ademas-ai → inbox/index.html · glossa → src/styles/global.css · numora → 04-UI-Visual-Specification.md. Worth comparing before the next change to yours.web/src/app/inbox/f/[friendshipId]/page.tsx, and there are 2 more in the portfolio: ademas-ai → inbox/app.jsx · numora → app/app/three-panel.tsx. Worth comparing before the next change to yours.web/src/components/ChildTabBar.tsx, and there are 3 more in the portfolio: aroma → src/index.css · ademas-ai → inbox/index.html · numora → app/app/layout.tsx. Worth comparing before the next change to yours.External material found for your open items — proposals, not instructions: nothing here was verified against a repository
Lessons from other projects that touch what you use (292, grouped by what matched):
docs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/DECISIONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdphd-pm/docs/LESSONS-LEARNED-2026-04.mdphd-pm/docs/LESSONS-LEARNED-2026-04.mdphd-pm/docs/LESSONS-LEARNED-2026-04.mdphd-pm/docs/LESSONS-LEARNED-2026-04.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/09-Decisiones-Abiertas.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/DECISIONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/09-Decisiones-Abiertas.mdLESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/DECISIONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/DECISIONS.mdLESSONS.mddocs/LESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mddocs/09-Decisiones-Abiertas.mdLESSONS.mddocs/LESSONS.mddocs/DECISIONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdphd-pm/docs/LESSONS-LEARNED-2026-04.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mdLESSONS.mdLESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mddocs/LESSONS.mdLESSONS.mdLESSONS.mddocs/DECISIONS.mdLESSONS.md or DECISIONS.md recorded. Whatever this project has learned the hard way is currently unavailable to every other project, and will be re-learned at full price.Supabase (account artcx@protonmail.com). Confirm each one marks a genuinely separate account rather than a differently-worded same service.STANDARD-ACTIONS-BUDGET (matched on GitHub) and no conforms_to is declared for it. Umbrella reads documentation, not code, so this is a missing declaration rather than proof of non-compliance — but the resource is shared, so the cost of getting it wrong is not.STANDARD-DOC-ENTRYPOINT (matched on GitHub) and no conforms_to is declared for it. Umbrella reads documentation, not code, so this is a missing declaration rather than proof of non-compliance — but the resource is shared, so the cost of getting it wrong is not.STANDARD-PUBLISHED-OUTPUT (matched on GitHub) and no conforms_to is declared for it. Umbrella reads documentation, not code, so this is a missing declaration rather than proof of non-compliance — but the resource is shared, so the cost of getting it wrong is not.Standards that bind this project:
docs/STANDARD-ACTIONS-BUDGET.md · applies via GitHub Actions · configuration integrated on 2026-09-25 · first unblocked GitHub execution and measured savings pending · no conforms_to declaredci_cd:
provider: GitHub Actions
capability: CI/CD
conforms_to: STANDARD-ACTIONS-BUDGETdocs/STANDARD-DOC-ENTRYPOINT.md · applies via GitHub · active since 2026-08-21 · no conforms_to declaredsource_control:
provider: GitHub
capability: repository / CI-CD
conforms_to: [STANDARD-DOC-ENTRYPOINT, STANDARD-PUBLISHED-OUTPUT]docs/STANDARD-PUBLISHED-OUTPUT.md · applies via GitHub · active since 2026-08-21 · no conforms_to declareddocs/STANDARD-TWILIO-OTP.md · applies via Twilio · active since 2026-08-10 · no conforms_to declaredcommunications:
provider: Twilio
capability: phone verification (OTP)
implemented_in: app/api/auth/start/route.ts
conforms_to: STANDARD-TWILIO-OTPAlready solved elsewhere in the portfolio:
docs/ARCHITECTURE.md · radius → docs/DEPLOY.md · thesis → .github/workflows/pages-deploy.yml · ademas-ai → .github/workflows/deploy.yml · ademas-ai → supabase/functions/ · ademas-ai → voice-gateway/src/call-session.ts · ademas-ai → functions/_middleware.js · glossa → skills/references/deployment.md · merit → web/vercel.json. Read it before writing your own.api/_lib/textModels.js · aroma → api/_lib/recipeImages.js · thesis → phd-agents/docs/MODEL-ROUTING.md · thesis → phd-agents/shared/curation_models.py · ademas-ai → supabase/functions/_shared/llm.ts · glossa → skills/SKILL.md · glossa → supabase/functions/_shared/gemini.ts · glossa → scripts/weekly_from_supabase.mjs · merit → web/src/lib/anthropic.ts. Read it before writing your own.docs/PIPELINE.md · thesis → phd-agents/README.md · ademas-ai → .github/workflows/deploy.yml · ademas-ai → scripts/start-guard-session.ts. Read it before writing your own..github/workflows/glossa-publish.yml. Read it before writing your own.phd-agents/docs/RECOVERY-SECRETS.md. Read it before writing your own.04-UI-Visual-Specification.md, and there are 6 more in the portfolio: aroma → docs/ARCHITECTURE.md · radius → docs/DECISIONS.md · thesis → pwa/WEBAPP-MEMORY.md · ademas-ai → inbox/index.html · glossa → src/styles/global.css · merit → web/src/app/globals.css. Worth comparing before the next change to yours.app/app/three-panel.tsx, and there are 2 more in the portfolio: ademas-ai → inbox/app.jsx · merit → web/src/app/inbox/f/[friendshipId]/page.tsx. Worth comparing before the next change to yours.app/app/layout.tsx, and there are 3 more in the portfolio: aroma → src/index.css · ademas-ai → inbox/index.html · merit → web/src/components/ChildTabBar.tsx. Worth comparing before the next change to yours.External material found for your open items — proposals, not instructions: nothing here was verified against a repository
Lessons from other projects that touch what you use (328, grouped by what matched):
docs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/DECISIONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdphd-pm/docs/LESSONS-LEARNED-2026-04.mdphd-pm/docs/LESSONS-LEARNED-2026-04.mdphd-pm/docs/LESSONS-LEARNED-2026-04.mdphd-pm/docs/LESSONS-LEARNED-2026-04.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/09-Decisiones-Abiertas.mddocs/LESSONS.mddocs/DECISIONS.mddocs/DECISIONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdphd-pm/docs/LESSONS-LEARNED-2026-04.mdphd-pm/docs/LESSONS-LEARNED-2026-04.mdphd-pm/docs/LESSONS-LEARNED-2026-04.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/DECISIONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/09-Decisiones-Abiertas.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mdLESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdphd-pm/docs/LESSONS-LEARNED-2026-04.mdphd-pm/docs/LESSONS-LEARNED-2026-04.mdphd-pm/docs/LESSONS-LEARNED-2026-04.mdphd-pm/docs/LESSONS-LEARNED-2026-04.mdLESSONS.mdLESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/DECISIONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/DECISIONS.mdLESSONS.mddocs/LESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mddocs/09-Decisiones-Abiertas.mddocs/LESSONS.mddocs/DECISIONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mdLESSONS.mddocs/LESSONS.mddocs/LESSONS.mdLESSONS.mddocs/LESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdphd-pm/docs/LESSONS-LEARNED-2026-04.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mdLESSONS.mdLESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mddocs/LESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mdLESSONS.mddocs/LESSONS.mdLESSONS.mdLESSONS.mddocs/LESSONS.mddocs/LESSONS.mdLESSONS.mdLESSONS.mddocs/DECISIONS.mdSupabase (project numora). Confirm each one marks a genuinely separate account rather than a differently-worded same service.STANDARD-ACTIONS-BUDGET (matched on GitHub Actions) and no conforms_to is declared for it. Umbrella reads documentation, not code, so this is a missing declaration rather than proof of non-compliance — but the resource is shared, so the cost of getting it wrong is not.STANDARD-DOC-ENTRYPOINT (matched on GitHub) and no conforms_to is declared for it. Umbrella reads documentation, not code, so this is a missing declaration rather than proof of non-compliance — but the resource is shared, so the cost of getting it wrong is not.STANDARD-PUBLISHED-OUTPUT (matched on GitHub) and no conforms_to is declared for it. Umbrella reads documentation, not code, so this is a missing declaration rather than proof of non-compliance — but the resource is shared, so the cost of getting it wrong is not.STANDARD-TWILIO-OTP (matched on Twilio) and no conforms_to is declared for it. Umbrella reads documentation, not code, so this is a missing declaration rather than proof of non-compliance — but the resource is shared, so the cost of getting it wrong is not.| Project | Files |
|---|---|
| Aroma (Recipe site) | docs/LESSONS.md |
| Radius (Marketing / ZIP / EDDM) | docs/DECISIONS.md |
| thesis-repo (Research RAG / USAL thesis) | DECISIONS.md, LESSONS.md, phd-pm/docs/LESSONS-LEARNED-2026-04.md |
| ademas.ai (AI voice assistant) | docs/DECISIONS.md, docs/LESSONS.md |
| Glossa (bilingual publication layer over phd-kb) | DECISIONS.md, LESSONS.md, docs/09-Decisiones-Abiertas.md |
| Numora (Fiscal & financial intelligence) | LESSONS.md |
Paths only, by design; read them where they live.