feat: update Mattermost integration to prefer local proxy mirror evidence and enhance context retrieval methods
This commit is contained in:
@@ -26,11 +26,12 @@ Read:
|
||||
|
||||
Fresh communication evidence:
|
||||
|
||||
!`if [ -s ai/inbox/mattermost-latest.md ]; then cat ai/inbox/mattermost-latest.md; elif [ -s scripts/mattermost/generated/mattermost_context.jsonl ]; then cat scripts/mattermost/generated/mattermost_context.jsonl; else echo "No communication evidence available."; fi`
|
||||
!`python3 scripts/mattermost-proxy/read-context.py --mode latest`
|
||||
|
||||
Instructions:
|
||||
|
||||
- if the sync command failed, stop and do not edit workspace memory
|
||||
- prefer local proxy mirror evidence when present; legacy sync output is fallback evidence
|
||||
- treat connector output as evidence, not automatically as project truth
|
||||
- promote only explicit, project-relevant, high-confidence facts
|
||||
- default destination is `project-knowledge/06-daily/$(date +%F).md`
|
||||
|
||||
@@ -59,7 +59,7 @@ PY`
|
||||
|
||||
Latest Mattermost context, if available:
|
||||
|
||||
!`if [ -s ai/inbox/mattermost-latest.md ]; then cat ai/inbox/mattermost-latest.md; elif [ -s scripts/mattermost/generated/mattermost_context.jsonl ]; then cat scripts/mattermost/generated/mattermost_context.jsonl; else echo "No Mattermost context available."; fi`
|
||||
!`python3 scripts/mattermost-proxy/read-context.py --mode latest`
|
||||
|
||||
Respond with:
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
description: Force-sync Mattermost and answer from the latest matching message
|
||||
---
|
||||
|
||||
Force-refresh Mattermost first, then answer the user's question from the refreshed inbox.
|
||||
Refresh/read Mattermost first, then answer the user's question from the freshest evidence. Prefer the local proxy mirror when it is present; legacy sync output is fallback evidence.
|
||||
|
||||
Use this when the user asks for:
|
||||
|
||||
@@ -11,46 +11,13 @@ Use this when the user asks for:
|
||||
- the latest Mattermost update
|
||||
- the latest message in `fidelity-preguntas`
|
||||
|
||||
Run sync:
|
||||
Run sync/fallback refresh:
|
||||
|
||||
!`start=$(date +%s); if [ -n "$AIW_MATTERMOST_SYNC_CMD" ]; then bash -lc "$AIW_MATTERMOST_SYNC_CMD"; elif [ -n "$FIDELITY_MATTERMOST_SYNC_CMD" ]; then bash -lc "$FIDELITY_MATTERMOST_SYNC_CMD"; elif [ -f scripts/mattermost/sync.sh ]; then bash scripts/mattermost/sync.sh; else echo "No Mattermost sync command is configured."; fi; status=$?; end=$(date +%s); echo "__MATTERMOST_SYNC_SECONDS__=$((end - start))"; exit "$status"`
|
||||
|
||||
Read a focused slice of refreshed Mattermost context:
|
||||
Read a focused slice of refreshed Mattermost context, preferring the proxy mirror:
|
||||
|
||||
!`python3 - <<'PY'
|
||||
import json
|
||||
from pathlib import Path
|
||||
|
||||
paths = [
|
||||
Path("ai/inbox/mattermost-latest.md"),
|
||||
Path("scripts/mattermost/generated/mattermost_context.jsonl"),
|
||||
]
|
||||
|
||||
source = next((path for path in paths if path.is_file() and path.stat().st_size > 0), None)
|
||||
if not source:
|
||||
print("No Mattermost context available after sync.")
|
||||
raise SystemExit(0)
|
||||
|
||||
records = []
|
||||
for line in source.read_text().splitlines():
|
||||
line = line.strip()
|
||||
if not line:
|
||||
continue
|
||||
try:
|
||||
records.append(json.loads(line))
|
||||
except json.JSONDecodeError:
|
||||
continue
|
||||
|
||||
manager_names = {"jeff", "jeff.dewitte"}
|
||||
manager_records = [
|
||||
record for record in records
|
||||
if str(record.get("username", "")).lower() in manager_names
|
||||
]
|
||||
|
||||
focused = manager_records[-10:] if manager_records else records[-15:]
|
||||
for record in focused:
|
||||
print(json.dumps(record, ensure_ascii=False))
|
||||
PY`
|
||||
!`python3 scripts/mattermost-proxy/read-context.py --mode focused`
|
||||
|
||||
User request:
|
||||
|
||||
|
||||
@@ -22,7 +22,7 @@ Today's log, if present:
|
||||
|
||||
Latest Mattermost context, if available:
|
||||
|
||||
!`if [ -s ai/inbox/mattermost-latest.md ]; then cat ai/inbox/mattermost-latest.md; elif [ -s scripts/mattermost/generated/mattermost_context.jsonl ]; then cat scripts/mattermost/generated/mattermost_context.jsonl; else echo "No Mattermost context available."; fi`
|
||||
!`python3 scripts/mattermost-proxy/read-context.py --mode latest`
|
||||
|
||||
Detailed active work item files, if available:
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
description: Sync Mattermost context and automatically promote high-confidence project memory
|
||||
---
|
||||
// turbo-all
|
||||
Use the configured Mattermost sync command to fetch fresh communication context and maintain workspace memory automatically.
|
||||
Use the configured Mattermost sync command and/or local proxy mirror evidence to fetch fresh communication context and maintain workspace memory automatically.
|
||||
|
||||
Preferred command sources:
|
||||
|
||||
@@ -14,12 +14,17 @@ Run the command and use its output as fresh communication context:
|
||||
|
||||
!`if [ -n "$AIW_MATTERMOST_SYNC_CMD" ]; then bash -lc "$AIW_MATTERMOST_SYNC_CMD"; elif [ -n "$FIDELITY_MATTERMOST_SYNC_CMD" ]; then bash -lc "$FIDELITY_MATTERMOST_SYNC_CMD"; elif [ -f scripts/mattermost/sync.sh ]; then bash scripts/mattermost/sync.sh; else echo "No Mattermost sync command is configured."; fi`
|
||||
|
||||
Fresh Mattermost evidence, preferring the proxy mirror:
|
||||
|
||||
!`python3 scripts/mattermost-proxy/read-context.py --mode latest`
|
||||
|
||||
Use this command implicitly when the user asks for the latest or last Mattermost message, especially messages from Jeff or the current manager.
|
||||
|
||||
Then:
|
||||
|
||||
- if the command fails, stop there and do not edit any workspace files
|
||||
- use `ai/inbox/mattermost-latest.md` if it exists and is non-empty
|
||||
- prefer the local proxy mirror via `scripts/mattermost-proxy/read-context.py --mode latest` when it has evidence
|
||||
- otherwise use `ai/inbox/mattermost-latest.md` if it exists and is non-empty
|
||||
- otherwise use `scripts/mattermost/generated/mattermost_context.jsonl` if it exists and is non-empty
|
||||
- apply the memory promotion rules from `agent-memory/memory/promotion-rules.md`
|
||||
- treat Mattermost output as live communication evidence; the agent decides what becomes promoted memory
|
||||
|
||||
@@ -22,11 +22,11 @@ Today's log, if present:
|
||||
|
||||
Current Mattermost inbox, if present:
|
||||
|
||||
!`if [ -f ai/inbox/mattermost-latest.md ]; then cat ai/inbox/mattermost-latest.md; else echo "No Mattermost inbox file is available."; fi`
|
||||
!`python3 scripts/mattermost-proxy/read-context.py --mode latest`
|
||||
|
||||
Generated Mattermost context, if present:
|
||||
|
||||
!`if [ -s scripts/mattermost/generated/mattermost_context.jsonl ]; then cat scripts/mattermost/generated/mattermost_context.jsonl; else echo "No generated Mattermost context is available."; fi`
|
||||
!`if [ -s scripts/mattermost/generated/mattermost_context.jsonl ]; then cat scripts/mattermost/generated/mattermost_context.jsonl; else echo "No legacy generated Mattermost context is available."; fi`
|
||||
|
||||
User direction or facts to promote:
|
||||
|
||||
|
||||
@@ -79,7 +79,7 @@ Today's log, if present:
|
||||
|
||||
Latest refreshed Mattermost context, if present:
|
||||
|
||||
!`if [ -s ai/inbox/mattermost-latest.md ]; then cat ai/inbox/mattermost-latest.md; elif [ -s scripts/mattermost/generated/mattermost_context.jsonl ]; then cat scripts/mattermost/generated/mattermost_context.jsonl; else echo "No refreshed Mattermost context available."; fi`
|
||||
!`python3 scripts/mattermost-proxy/read-context.py --mode standup --today $(date +%F)`
|
||||
|
||||
Detailed active work item files, if available:
|
||||
|
||||
|
||||
@@ -36,7 +36,7 @@ Today's log, if present:
|
||||
|
||||
Latest Mattermost context, if available:
|
||||
|
||||
!`if [ -s ai/inbox/mattermost-latest.md ]; then cat ai/inbox/mattermost-latest.md; elif [ -s scripts/mattermost/generated/mattermost_context.jsonl ]; then cat scripts/mattermost/generated/mattermost_context.jsonl; else echo "No Mattermost context available."; fi`
|
||||
!`python3 scripts/mattermost-proxy/read-context.py --mode latest`
|
||||
|
||||
Detailed active work item files, if available:
|
||||
|
||||
|
||||
@@ -66,7 +66,7 @@ PY`
|
||||
|
||||
Latest communication inbox, if available:
|
||||
|
||||
!`if [ -s ai/inbox/mattermost-latest.md ]; then cat ai/inbox/mattermost-latest.md; elif [ -s scripts/mattermost/generated/mattermost_context.jsonl ]; then cat scripts/mattermost/generated/mattermost_context.jsonl; else echo "No live communication context available."; fi`
|
||||
!`python3 scripts/mattermost-proxy/read-context.py --mode latest`
|
||||
|
||||
Respond with:
|
||||
|
||||
|
||||
Reference in New Issue
Block a user