Conversation
Includes: - feat/soulfield-user-services - feat/e2e-demo - fix/newelle-launcher Summary: - Add systemd user services + docs - Add E2E demo script + doc (research→spec→dry→apply) - Add Newelle launcher + troubleshooting; fix Anthropic headers
…dar with all-day + window), provider-agnostic local embeddings (MiniLM) with OpenAI fallback, Pinecone adapter refactor, CLI context tools, health endpoint, retention + pruning + backfill, and docs updates
…brain-dump analysis) + CLI harness; store under .chatgpt; add smoke tests
… with usage; update sf-help
…en-memory) under NOTES_DIR; add JSON placeholders; route personal tools via NOTES_DIR; docs updated
…app/appearance/graph
…y, Q3-2025 quarterly, 2025 annual; refresh indexes
… weekly/monthly links, refresh indexes
…ekly/monthly/quarterly/annual)
…rom Project Memory
…y/embeddings/watcher)
…ge, Obsidian buttons, multi-base docs; add .gitignore for local artifacts
- Fixed merge conflict markers in package.json - Regenerated clean package-lock.json with npm install - All dependencies properly resolved without conflicts
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting
| from __future__ import absolute_import | ||
|
|
||
| import errno | ||
| import logging | ||
| import re |
There was a problem hiding this comment.
[P1] Stop committing virtualenv packages
The change introduces the entire .venv directory into version control (see pip/_vendor/urllib3/connectionpool.py). Those files are generated artifacts of a local Python environment and already reproducible from requirements.txt. Keeping them checked in will bloat the repository by thousands of files, vary per developer OS, and make future diffs and merges noisy. These should be removed and .venv added to .gitignore so only source code is tracked.
Useful? React with 👍 / 👎.
| async function callClaude(system, user){ | ||
| if (process.env.DEV_NO_API === "1") return "(dev offline)"; | ||
| const model = process.env.AIDEN_MODEL || "claude-opus-4.1-20250805"; | ||
|
|
||
| const r = await axios.post( | ||
| "https://api.anthropic.com/v1/messages", | ||
| { | ||
| model, | ||
| max_tokens: 800, | ||
| temperature: 0.2, | ||
| system: String(system || ""), // ✅ Claude-compatible top-level field | ||
| messages: [ | ||
| { role: "user", content: String(user || "") } | ||
| ] | ||
| }, | ||
| { | ||
| headers: { | ||
| "x-api-key": process.env.CLAUDE_API_KEY, | ||
| "anthropic-version": "2023-06-01" | ||
|
|
||
| const apiKey = process.env.ANTHROPIC_API_KEY || process.env.CLAUDE_API_KEY; | ||
| if (!apiKey) { | ||
| throw new Error("Missing ANTHROPIC_API_KEY (or CLAUDE_API_KEY) in environment variables"); | ||
| } |
There was a problem hiding this comment.
[P1] Council no longer loads .env when invoked directly
callClaude now throws when ANTHROPIC_API_KEY/CLAUDE_API_KEY is undefined, but council.js no longer invokes require('dotenv').config(). Any script that imports this module directly (e.g. backend/tests/test-council.js) will now immediately throw “Missing ANTHROPIC_API_KEY” unless the caller pre-loads the environment file, which is a regression from the previous behaviour where council.js loaded .env itself. Restore the dotenv initialisation or guard the missing key before raising so standalone usage still works.
Useful? React with 👍 / 👎.
* merge(main): squash integration of 3 branches Includes: - feat/soulfield-user-services - feat/e2e-demo - fix/newelle-launcher Summary: - Add systemd user services + docs - Add E2E demo script + doc (research→spec→dry→apply) - Add Newelle launcher + troubleshooting; fix Anthropic headers * feat(context,embeddings): add Context Spine (heartbeat + Google Calendar with all-day + window), provider-agnostic local embeddings (MiniLM) with OpenAI fallback, Pinecone adapter refactor, CLI context tools, health endpoint, retention + pruning + backfill, and docs updates * feat: add ChatGPT command suite (weekly/daily/checkins, daily brief, brain-dump analysis) + CLI harness; store under .chatgpt; add smoke tests * docs: add usage docs for personal command suite; update command pages with usage; update sf-help * feat(obsidian): add vault structure (notes, plans, docs, history, aiden-memory) under NOTES_DIR; add JSON placeholders; route personal tools via NOTES_DIR; docs updated * obsidian: sync vault changes * chore: add .gitignore for Obsidian vault (ignore workspace state, keep plugins) * docs: add Obsidian Git quick-setup guide * obsidian(test): add test note * chore(obsidian): ignore UI state (.obsidian/*) and untrack workspace/app/appearance/graph * docs: integrate Project Memory + add Codex-Prompts for vault ops * docs: populate Project Memory, link templates, add folder indexes * docs: replace Project Memory placeholder with real content; refresh indexes * docs(reviews): seed 2025-09-14 daily, 2025-W37 weekly, 2025-09 monthly, Q3-2025 quarterly, 2025 annual; refresh indexes * docs(reviews): populate from templates, backfill last 7 dailies, wire weekly/monthly links, refresh indexes * chore(automation): add obsidian note maker + systemd timers (daily/weekly/monthly/quarterly/annual) * docs(auto): daily note 2025-09-15; ensure cross-links * docs(auto): weekly note 2025-W38; ensure cross-links * docs(auto): monthly note 2025-09; ensure cross-links * chore(automation): serialize git ops with flock to avoid index.lock * chore(ops): add vault health check + Makefile shortcuts; weekly health timer * history: log 2025-09-15 vault build session (automation + timers + health) * docs(memory): add Recent History links to Project Memory * chore(health): log automated health snapshot 2025-09-15 * docs(release): add v0.1.0 release notes * docs(recipes): add Aiden/Pinecone query recipes * docs(tools): move Query Recipes into tools/; link from Project Memory * docs(tools): add README for tools/ section * docs(tasks+history): add Tasks Dashboard and History Timeline; link from Project Memory * chore(history): switch to History-Timeline.md and update link * docs(seo): add 2025 SEO Blueprint reference and link from funnel * docs(seo): add operational plan stub (seo-strategy.md) * docs(learning): add Learning index and wire into Project Memory * docs(learning): add Learning index with categories and link from Project Memory * docs(learning): seed Learning hub with index + auto-tagged placeholders * chore(learning): add brain-dump sorter to auto-file references * docs(codex): consolidate vault ops prompts (YAML/tags/learning/history/embeddings/watcher) * docs(auto): daily note 2025-09-16; ensure cross-links * docs(auto): daily note 2025-09-17; ensure cross-links * docs(auto): daily note 2025-09-18; ensure cross-links * docs(auto): daily note 2025-09-19; ensure cross-links * docs(auto): daily note 2025-09-20; ensure cross-links * docs(auto): daily note 2025-09-21; ensure cross-links * feat(usage+ops): log Anthropic API usage, add !usage-daily + live gauge, Obsidian buttons, multi-base docs; add .gitignore for local artifacts * chore(git): drop Obsidian UI state from repo; ignore nested .obsidian/** * chore(git): untrack Excalidraw snapshot (ignored) * docs(auto): daily note 2025-09-22; ensure cross-links * docs(auto): weekly note 2025-W39; ensure cross-links * docs(obsidian): restore vault pages without secrets * fix: resolve merge conflicts in package files and regenerate lockfile - Fixed merge conflict markers in package.json - Regenerated clean package-lock.json with npm install - All dependencies properly resolved without conflicts * docs(auto): daily note 2025-09-24; ensure cross-links --------- Co-authored-by: Michael <michael@localhost>
Summary
Describe the change in one or two sentences.
Checklist (Truth Kernel)
npm cinode backend/scripts/audit-truth.cjs(no violations)npm test(Node’s built-in runner)Notes
Link to related specs, runs, or artifacts if relevant.