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
There was a problem hiding this comment.
Codex Review: Here are some suggestions.
Reply with @codex fix comments to fix any unresolved comments.
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, or 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 "@codex fix this CI failure" or "@codex address that feedback".
| # This file must be used with "source bin/activate" *from bash* | ||
| # You cannot run it directly | ||
|
|
||
| deactivate () { | ||
| # reset old environment variables | ||
| if [ -n "${_OLD_VIRTUAL_PATH:-}" ] ; then | ||
| PATH="${_OLD_VIRTUAL_PATH:-}" | ||
| export PATH | ||
| unset _OLD_VIRTUAL_PATH | ||
| fi | ||
| if [ -n "${_OLD_VIRTUAL_PYTHONHOME:-}" ] ; then | ||
| PYTHONHOME="${_OLD_VIRTUAL_PYTHONHOME:-}" | ||
| export PYTHONHOME | ||
| unset _OLD_VIRTUAL_PYTHONHOME | ||
| fi | ||
|
|
||
| # Call hash to forget past commands. Without forgetting | ||
| # past commands the $PATH changes we made may not be respected | ||
| hash -r 2> /dev/null | ||
|
|
||
| if [ -n "${_OLD_VIRTUAL_PS1:-}" ] ; then | ||
| PS1="${_OLD_VIRTUAL_PS1:-}" | ||
| export PS1 | ||
| unset _OLD_VIRTUAL_PS1 | ||
| fi | ||
|
|
||
| unset VIRTUAL_ENV | ||
| unset VIRTUAL_ENV_PROMPT | ||
| if [ ! "${1:-}" = "nondestructive" ] ; then | ||
| # Self destruct! | ||
| unset -f deactivate | ||
| fi | ||
| } | ||
|
|
||
| # unset irrelevant variables | ||
| deactivate nondestructive | ||
|
|
||
| # on Windows, a path can contain colons and backslashes and has to be converted: | ||
| if [ "${OSTYPE:-}" = "cygwin" ] || [ "${OSTYPE:-}" = "msys" ] ; then | ||
| # transform D:\path\to\venv to /d/path/to/venv on MSYS | ||
| # and to /cygdrive/d/path/to/venv on Cygwin | ||
| export VIRTUAL_ENV=$(cygpath /home/michael/soulfield/.venv) | ||
| else | ||
| # use the path as-is | ||
| export VIRTUAL_ENV=/home/michael/soulfield/.venv | ||
| fi | ||
|
|
||
| _OLD_VIRTUAL_PATH="$PATH" | ||
| PATH="$VIRTUAL_ENV/"bin":$PATH" | ||
| export PATH | ||
|
|
||
| # unset PYTHONHOME if set | ||
| # this will fail if PYTHONHOME is set to the empty string (which is bad anyway) | ||
| # could use `if (set -u; : $PYTHONHOME) ;` in bash | ||
| if [ -n "${PYTHONHOME:-}" ] ; then | ||
| _OLD_VIRTUAL_PYTHONHOME="${PYTHONHOME:-}" | ||
| unset PYTHONHOME | ||
| fi | ||
|
|
||
| if [ -z "${VIRTUAL_ENV_DISABLE_PROMPT:-}" ] ; then | ||
| _OLD_VIRTUAL_PS1="${PS1:-}" | ||
| PS1='(.venv) '"${PS1:-}" | ||
| export PS1 | ||
| VIRTUAL_ENV_PROMPT='(.venv) ' | ||
| export VIRTUAL_ENV_PROMPT | ||
| fi | ||
|
|
||
| # Call hash to forget past commands. Without forgetting | ||
| # past commands the $PATH changes we made may not be respected | ||
| hash -r 2> /dev/null |
There was a problem hiding this comment.
[P1] Remove committed Python virtual environment
This change checks an entire .venv (see bin/activate and all packages under .venv/lib). Including a local virtualenv dramatically inflates the repo, captures platform-specific binaries, and guarantees future dependency updates will generate huge diffs. The environment should be recreated from requirements and ignored rather than versioned.
Useful? React with 👍 / 👎.
- Fixed merge conflict markers in package.json - Regenerated clean package-lock.json with npm install - All dependencies properly resolved without conflicts
* 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 --------- Co-authored-by: Michael <michael@localhost>
Title:
Summary
Checklist
Validation
1.
2.
Links