wayfind 2.0.64 → 2.0.66

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/bin/mcp-server.js CHANGED
@@ -228,7 +228,7 @@ async function proxyGetEntry(id) {
228
228
  const TOOLS = [
229
229
  {
230
230
  name: 'search_context',
231
- description: 'Search team context by natural language or keyword. Returns ranked journal entries, decisions, and signals. Use this to answer questions about past work, architectural decisions, and team activity.',
231
+ description: 'Search the team\'s full decision history across all repos and all engineers. Returns ranked journal entries, decisions, and signals. Use this — not file reads — to answer any question about past work, architectural decisions, what was decided, or team activity. The content store covers history that state files cannot.',
232
232
  inputSchema: {
233
233
  type: 'object',
234
234
  properties: {
@@ -3669,15 +3669,23 @@ async function contextPull(args) {
3669
3669
  log('[wayfind] Pulled latest team-context');
3670
3670
  // Mark success — doctor checks this to warn on prolonged failures
3671
3671
  try { fs.writeFileSync(markerFile, new Date().toISOString()); } catch {}
3672
- // Index any new team journals into the local content store
3673
- const journalsDir = path.join(teamPath, 'journals');
3674
- if (fs.existsSync(journalsDir)) {
3675
- try {
3676
- const stats = await contentStore.indexJournals({ journalDir: journalsDir });
3677
- if (!quiet && stats.newEntries > 0) {
3678
- log(`[wayfind] Indexed ${stats.newEntries} new team journal entries`);
3679
- }
3680
- } catch (_) {}
3672
+ // Index any new team journals into the local content store.
3673
+ // Also checks memory/journal/ — some setups (backup hook → team-context repo) land journals there.
3674
+ const journalDirsToIndex = [
3675
+ path.join(teamPath, 'journals'),
3676
+ path.join(teamPath, 'memory', 'journal'),
3677
+ ];
3678
+ let totalNewEntries = 0;
3679
+ for (const journalsDir of journalDirsToIndex) {
3680
+ if (fs.existsSync(journalsDir)) {
3681
+ try {
3682
+ const stats = await contentStore.indexJournals({ journalDir: journalsDir });
3683
+ totalNewEntries += stats.newEntries || 0;
3684
+ } catch (_) {}
3685
+ }
3686
+ }
3687
+ if (!quiet && totalNewEntries > 0) {
3688
+ log(`[wayfind] Indexed ${totalNewEntries} new team journal entries`);
3681
3689
  }
3682
3690
  // Import distilled entries if the team repo has a distilled.json
3683
3691
  const distilledJson = path.join(teamPath, '.wayfind', 'distilled.json');
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wayfind",
3
- "version": "2.0.64",
3
+ "version": "2.0.66",
4
4
  "description": "Team decision trail for AI-assisted development. The connective tissue between product, engineering, and strategy.",
5
5
  "bin": {
6
6
  "wayfind": "./bin/team-context.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wayfind",
3
- "version": "2.0.64",
3
+ "version": "2.0.66",
4
4
  "description": "Team decision trail for AI-assisted development. Session memory, decision journals, and team digests.",
5
5
  "author": {
6
6
  "name": "Wayfind",
@@ -27,6 +27,18 @@
27
27
  3. Check the Memory Files table in global-state.md — load any `~/.claude/memory/` files whose keywords match this session's topic
28
28
  4. Summarize current state, then ask: **"What's the goal for this session? What does success look like?"**
29
29
 
30
+ ### Using the Wayfind MCP Server
31
+
32
+ The `search_context` MCP tool is the right way to answer questions about past decisions, architectural choices, and team activity. **Do not read state files or repo files to answer these questions** — the content store covers the entire team's decision history across all repos and all engineers, which state files cannot.
33
+
34
+ Use `search_context` when asked about:
35
+ - What was decided about X
36
+ - What work has been done on X
37
+ - What the team's approach to X is
38
+ - Recent activity in a repo or area
39
+
40
+ State files (`team-state.md`, `personal-state.md`) are for **current status** — who's working on what right now. The content store is for **decision history** — what was decided and why.
41
+
30
42
  ### Mid-Session
31
43
 
32
44
  If work drifts from the stated goal, flag it: *"Quick check — we set out to [goal]. This feels like [tangent]. Stay the course or pivot?"*