Last updated: 2026-08-06 22:43 AEST Paste this entire file into any session (web or native/API) to resync.
Rule: when adding a line to Verified Facts or Open Items, prefix it with your tag so edits don't get silently overwritten or misattributed. Edit Log entries always include prefix + timestamp.
| File / component | Status | Use it? |
|---|---|---|
orchestrator.py |
Modified this session (2shr, 3shr, mode-scoped /ping, cohesion-note fix) — compiles clean (py_compile), not yet live-API-tested |
Yes — this is the current version, supersedes any copy from before this session |
history/shared_memory.json |
Existing groupchat pool — TF-IDF relevance × recency × diversity-cap retrieval, top-5/turn, filelock + atomic writes | Yes — unchanged, still backs groupchat mode |
history/shared_memory_2shr.json |
New — full-transcript pool (last 40 entries shown in full, not retrieval-filtered) for /mode 2shr (Andrew + ChatGPT only) |
Yes — created automatically on first 2shr use |
history/shared_memory_3shr.json |
New — same full-transcript approach for /mode 3shr (Andrew + ChatGPT + Claude A, not Gemini) |
Yes — created automatically on first 3shr use |
memory_tools.py (standalone module, delivered separately, not yet pasted into orchestrator.py) |
Experimental — gives agents real function-calling read_memory/write_memory tools instead of always-inject. Built before orchestrator.py was uploaded, so its TF-IDF scorer is a reconstruction and does not match orchestrator.py's real shared_memory_retrieve() exactly |
Hold off — don't wire in as-is; if function-calling access is still wanted, redo it against the real shared_memory_retrieve()/_load_pool() methods instead of the standalone reimplementation |
agents/claude_agent.py, agents/openai_agent.py, agents/gemini_agent.py, agents/groq_agent.py |
Unchanged this session | Yes |
PDFsearch.py / ISE project (drugs-and-users.org) |
Unrelated to this session's changes — see prior checkpoint facts below | Yes, per prior status |
/mode <name> always sticks until changed again (the old once/permanent distinction is accepted for back-compat but ignored)/mode 2shr: private two-party session, Andrew + ChatGPT only. Every turn shows the last 40 entries in full (not relevance-filtered) from shared_memory_2shr.json, wrapped in a "SHARED SESSION LOG — use for continuity" instruction block. No other agent ever sees or writes to this pool./mode 3shr: same full-transcript mechanism, three-party: Andrew + ChatGPT + Claude A (originally built with Gemini, swapped to Claude A per Andrew's stated preference for Sonnet 5 and reused the same Claude A instance/history as other modes). ChatGPT and Claude A take turns within a round, each seeing what the other just said. Own pool: shared_memory_3shr.json./ping used to always hit the full configured roster regardless of mode. Now scoped via a new mode_ping_targets() method — only pings the agents the current mode actually uses (e.g. 2shr → ChatGPT only; 3shr → ChatGPT + Claude A; groupchat → full roster). "Not configured" warnings are scoped the same way.shared_memory.json (groupchat's pool): TF-IDF-style relevance × recency weighting × per-speaker diversity cap, top-5 hits/agent/turn, filelock-based concurrency, atomic writes (temp file + os.replace()), corrupted files backed up as .corrupt-<timestamp> instead of silently wiped/memory <query> command exists and works: read-only lookup into the groupchat pool only (not 2shr/3shr's pools) — no send, no writepy_compile clean and code-reviewed. First real run is the actual smoke test.TWOSHR_FULL_LOG_LIMIT / THREESHR_FULL_LOG_LIMIT both set to 40 (entries shown in full each turn) as an untuned guess — adjust if context runs too long/short in practicememory_tools.py's function-calling approach (agents choosing when to read/write memory, vs. always-inject) is still unintegrated and built against a reconstructed retrieval algorithm — needs a decision: drop it, or redo it against orchestrator.py's actual shared_memory_retrieve()Run /mode 2shr and /mode 3shr for real (live API calls) and confirm both behave as designed — full 40-entry transcript injection, correct per-agent cohesion wording in 3shr, and /ping only hitting the right agents per mode. Report back anything that doesn't match before building further on top of either mode.