# Memory Dream Report
Generated: 2026-06-11 08:20
Repo root: D:\claudetools
Memory store: D:\claudetools\.claude\memory
Mode: APPLY-SAFE (additive)

Loaded 112 memory files (excluding MEMORY.md).

## 1. INDEX RECONCILE

### Orphan files (no index line): 3
- [INFO] feedback_ascii_only_api_payloads.md  (type=feedback)
- [INFO] reference_backblaze_storage_rate.md  (type=reference)
- [INFO] reference_sqlx_migrations_immutable.md  (type=reference)

### Index lines pointing at missing files: 0

### Frontmatter name vs filename signals: 4
- [INFO] feedback_mac_rmm_auth_fixed.md: (no name in frontmatter)
- [INFO] feedback_rmm_password_limitation.md: (no name in frontmatter)
- [INFO] feedback_windows_bash_mapping.md: (no name in frontmatter)
- [INFO] policy_pricing_verification.md: (no name in frontmatter)

## 2. BACKLINKS ([[name]] references)

### Broken backlinks: 16
- [WARNING] cyndyoffice-physical-hp-lockups.md: [[universal-minerals]] has no matching memory file
- [WARNING] feedback_bot_alert_ticket_link.md: [[feedback_syncro_html]] has no matching memory file
- [WARNING] feedback_ca_programmatic_management.md: [[365-remediation-tool-reference]] has no matching memory file
- [WARNING] feedback_check_patterns_before_asking.md: [[user-font-preference]] has no matching memory file
- [WARNING] feedback_check_patterns_before_asking.md: [[feedback-check-patterns-before-asking]] has no matching memory file
- [WARNING] feedback_client_slug_fragmentation.md: [[wolkin]] has no matching memory file
- [WARNING] feedback_dashboard_beta_first.md: [[feedback_gururmm_builds]] has no matching memory file
- [WARNING] feedback_gururmm_build_channel_default.md: [[feedback_gururmm_builds]] has no matching memory file
- [WARNING] feedback_no_manufactured_guardrails.md: [[feedback-no-toml-config-endpoints]] has no matching memory file
- [WARNING] feedback_rmm_thoughts_backlog.md: [[feedback-stream-of-thought-design]] has no matching memory file
- [WARNING] feedback_rmm_user_session_smb_false_negative.md: [[wolkin]] has no matching memory file
- [WARNING] feedback_stream_of_thought_design.md: [[feedback-dashboard-beta-first]] has no matching memory file
- [WARNING] infra_office_network.md: [[power-failure-runbook]] has no matching memory file
- [WARNING] project_apple_mdm_certs.md: [[SPEC-017]] has no matching memory file
- [WARNING] project_memory_consolidation_automation.md: [[feedback_memory_repo_not_profile]] has no matching memory file
- [WARNING] reference_coord_messages_api_shape.md: [[CLAUDE.md]] has no matching memory file

## 3. REFERENCED-ARTIFACT VALIDITY (conservative; 'verify', not 'delete')

### Referenced paths not found in repo: 23
- [VERIFY] feedback_dashboard_beta_first.md: `opt/gururmm/build-dashboard.sh` not found under repo (may be server-side or renamed -- verify, do not auto-delete)
- [VERIFY] feedback_stream_of_thought_design.md: `projects/msp-tools/guru-rmm/docs/PARKED_alert-lifecycle-and-telemetry-cadence.md` not found under repo (may be server-side or renamed -- verify, do not auto-delete)
- [VERIFY] feedback_syncro_api.md: `tmp/syncro_comment.json` not found under repo (may be server-side or renamed -- verify, do not auto-delete)
- [VERIFY] feedback_syncro_history.md: `tmp/syncro_comment.json` not found under repo (may be server-side or renamed -- verify, do not auto-delete)
- [VERIFY] feedback_tmp_path_windows.md: `tmp/comment_payload.json` not found under repo (may be server-side or renamed -- verify, do not auto-delete)
- [VERIFY] feedback_tmp_path_windows.md: `tmp/foo.json` not found under repo (may be server-side or renamed -- verify, do not auto-delete)
- [VERIFY] machine_windows_guru_setup_status.md: `sops.yaml` not found under repo (may be server-side or renamed -- verify, do not auto-delete)
- [VERIFY] project_guruconnect.md: `etc/systemd/system/guruconnect.service` not found under repo (may be server-side or renamed -- verify, do not auto-delete)
- [VERIFY] project_gururmm.md: `gururmm-webhook.service` not found under repo (may be server-side or renamed -- verify, do not auto-delete)
- [VERIFY] project_gururmm.md: `opt/gururmm/webhook-handler.py` not found under repo (may be server-side or renamed -- verify, do not auto-delete)
- [VERIFY] project_masterbooter.md: `DECISIONS.md` not found under repo (may be server-side or renamed -- verify, do not auto-delete)
- [VERIFY] project_masterbooter.md: `EXPANSION_PLAN.md` not found under repo (may be server-side or renamed -- verify, do not auto-delete)
- [VERIFY] project_masterbooter.md: `TODO_CLEANUP.md` not found under repo (may be server-side or renamed -- verify, do not auto-delete)
- [VERIFY] project_masterbooter.md: `VISION.md` not found under repo (may be server-side or renamed -- verify, do not auto-delete)
- [VERIFY] project_neptune_sbr_email_routing.md: `data/on_boot.d/10-neptune-snat.sh` not found under repo (may be server-side or renamed -- verify, do not auto-delete)
- [VERIFY] reference_ff_firefox_driver.md: `~/.claude.json` not found under repo (may be server-side or renamed -- verify, do not auto-delete)
- [VERIFY] reference_gururmm.md: `build-{windows,linux,mac,agents,server,shared}.sh` not found under repo (may be server-side or renamed -- verify, do not auto-delete)
- [VERIFY] reference_gururmm.md: `gururmm-agent.service` not found under repo (may be server-side or renamed -- verify, do not auto-delete)
- [VERIFY] reference_ix_server_access.md: `etc/gururmm/agent.toml` not found under repo (may be server-side or renamed -- verify, do not auto-delete)
- [VERIFY] reference_ix_server_access.md: `gururmm-agent.service` not found under repo (may be server-side or renamed -- verify, do not auto-delete)
- [VERIFY] reference_radio_website.md: `fuse.js` not found under repo (may be server-side or renamed -- verify, do not auto-delete)
- [VERIFY] reference_radio_website.md: `wavesurfer.js` not found under repo (may be server-side or renamed -- verify, do not auto-delete)
- [VERIFY] reference_ticktick_integration.md: `mcp.json` not found under repo (may be server-side or renamed -- verify, do not auto-delete)

## 4. DUPLICATE / OVERLAP CLUSTERS (PROPOSED merges -- never auto-applied)

### Candidate clusters: 11
- [feedback] 5 related memories:
    - feedback_syncro_api.md  -- Technical mechanics for talking to the Syncro API — required Content-Type header, the no-i
    - feedback_syncro_billing.md  -- How to bill a Syncro ticket correctly — fetch live rates, use real product names, pick the
    - feedback_syncro_history.md  -- Detail and incident archive backing the Syncro feedback rules. Read this when you need to 
    - feedback_syncro_preview_mandatory.md  -- Every Syncro write needs a payload preview + explicit confirmation BEFORE posting — includ
    - feedback_syncro_workflow.md  -- Process and etiquette rules for Syncro work — always preview comments before posting, veri
- [reference] 3 related memories:
    - reference_gitea_api_credential.md  -- Gitea API auth (PRs, merges) uses services/gitea-howard.sops.yaml, NOT the gururmm server 
    - reference_gitea_git_op_latency.md  -- Gitea git-op latency benchmarks - SSH is SLOWER than internal HTTP+token; the SOPS credent
    - reference_gitea_internal.md  -- git.azcomputerguru.com is NOT behind Cloudflare — it's the office Cox IP NAT'd to NPM (ope
- [feedback] 2 related memories:
    - feedback_cascades.md  -- Active rules for Cascades work — (1) folder redirection (fdeploy) needs subfolders pre-cre
    - feedback_cascades_scan_account.md  -- At Cascades, every scanner→network-folder (scan-to-SMB) setup reuses the single svc-scan A
- [feedback] 2 related memories:
    - feedback_client_slug_fragmentation.md  -- A single client can be recorded under several slug variants (e.g. wolkin / wolkin-law / rs
    - feedback_client_tone.md  -- How to write client-facing Syncro comments — expert partner, not intake questionnaire
- [feedback] 2 related memories:
    - feedback_graph_ca_policy_eventual_consistency.md  -- After PATCHing a CA policy (204 No Content), an immediate GET may return stale state. Wait
    - feedback_graph_password_reset_requires_role.md  -- With User.ReadWrite.All app perm + no privileged directory role, Tenant Admin can CREATE a
- [feedback] 2 related memories:
    - feedback_gururmm.md  -- Six rules for working with GuruRMM. (1) RMM dev is Mike's domain — Howard does NOT code RM
    - feedback_gururmm_build_channel_default.md  -- GuruRMM build pipeline must tag NEW builds beta by default; stable is an explicit promote 
- [feedback] 2 related memories:
    - feedback_no_manufactured_guardrails.md  -- On OUR products (GuruRMM/GuruConnect/ClaudeTools etc.) at Mike's request, execute without 
    - feedback_no_toml_config_endpoints.md  -- User explicitly prohibits TOML or config-file-based endpoint configuration — this will nev
- [feedback] 2 related memories:
    - feedback_rmm_thoughts_backlog.md  -- GuruRMM ideas go into the "RMM Thoughts" backlog (docs/RMM_THOUGHTS.md); pipeline thought 
    - feedback_rmm_user_session_smb_false_negative.md  -- GuruRMM commands (even context user_session) run under a WTS-impersonated, non-interactive
- [feedback] 2 related memories:
    - feedback_vault_gcm_shadow_auth.md  -- Vault git push/fetch "Failed to authenticate user" cause+fix — GCM shadows the store token
    - feedback_vault_pointer_for_teammates.md  -- When relaying infra/credential info to Howard (or any teammate with vault access), hand ov
- [project] 2 related memories:
    - project_cascades.md  -- Active state of the Cascades migration — Syncro ticket #110680053, plan file (machine-spec
    - project_cascades_history.md  -- Detail and rationale behind the active Cascades rules — fdeploy 502/ACL root cause and the
- [project] 2 related memories:
    - project_dataforth.md  -- Dataforth runs on M365 (Graph API for mail send); the neptune.acghosting.com Exchange is A
    - project_dataforth_history.md  -- Detail and remediation log for the 2026-03-27 Dataforth security incident — DF-JOEL2 compr

## 5. STALE DATED FACTS (project-type, dated > 6 months)

### Project memories with stale dated claims: 1
- [VERIFY] radio_show_no_cohost_named_tom.md: dated 2012-06-09 (~5115 days old) -- re-verify

## 6. DRIFT vs HARNESS PROFILE STORE

Profile store: C:\Users\guru\.claude\projects\D--claudetools\memory

### Profile-only (candidates to MIGRATE INTO repo): 0

### Repo-only (candidates to PUSH OUT to profile): 2
- [INFO] feedback_client_slug_fragmentation.md
- [INFO] feedback_rmm_user_session_smb_false_negative.md

### Present in BOTH but differing (CONFLICT -- human review): 1
- [WARNING] gururmm-physical-server-storage.md: content differs between repo and profile

## APPLY-SAFE ACTIONS PERFORMED (additive-only)

- [OK] appended index line under ## Feedback: - [feedback_ascii_only_api_payloads](feedback_ascii_only_api_payloads.md) -- On Windows/Git-bash, non-ASCII chars (em-dash, arrow, smart quotes) in JSON payload TEXT passed to curl get mangled and rejected — Discord bot-alert returns 400, the coord API returns "error parsing the body". Use ASCII-only in API payload text, or a single-quoted heredoc.
- [OK] appended index line under ## Reference: - [reference_backblaze_storage_rate](reference_backblaze_storage_rate.md) -- ACG's Backblaze B2 storage cost rate ($0.00695/GB) for the GuruRMM mspbackups storage-cost calculation
- [OK] appended index line under ## Reference: - [reference_sqlx_migrations_immutable](reference_sqlx_migrations_immutable.md) -- NEVER edit an already-applied sqlx migration file — even a comment. sqlx::migrate! checksums each file at compile time and validates against _sqlx_migrations at startup; a changed checksum crash-loops the server with "migration N was previously applied but has been modified". Code review MUST flag any edit to an applied migration.

## SUMMARY

- memory files:                 112
- orphan files (no index):      3
- index -> missing file:        0
- name/filename signals:        4
- broken backlinks:             16
- stale referenced paths:       23
- overlap clusters:             11
- stale dated project facts:    1
- profile-only files:           0
- repo-only files:              2
- repo<->profile conflicts:     1
- additive actions performed:   3

## PROPOSED (needs human approval -- NEVER auto-applied)

- [MERGE?] consolidate 5 'feedback' memories: feedback_syncro_api.md, feedback_syncro_billing.md, feedback_syncro_history.md, feedback_syncro_preview_mandatory.md, feedback_syncro_workflow.md
- [MERGE?] consolidate 3 'reference' memories: reference_gitea_api_credential.md, reference_gitea_git_op_latency.md, reference_gitea_internal.md
- [MERGE?] consolidate 2 'feedback' memories: feedback_cascades.md, feedback_cascades_scan_account.md
- [MERGE?] consolidate 2 'feedback' memories: feedback_client_slug_fragmentation.md, feedback_client_tone.md
- [MERGE?] consolidate 2 'feedback' memories: feedback_graph_ca_policy_eventual_consistency.md, feedback_graph_password_reset_requires_role.md
- [MERGE?] consolidate 2 'feedback' memories: feedback_gururmm.md, feedback_gururmm_build_channel_default.md
- [MERGE?] consolidate 2 'feedback' memories: feedback_no_manufactured_guardrails.md, feedback_no_toml_config_endpoints.md
- [MERGE?] consolidate 2 'feedback' memories: feedback_rmm_thoughts_backlog.md, feedback_rmm_user_session_smb_false_negative.md
- [MERGE?] consolidate 2 'feedback' memories: feedback_vault_gcm_shadow_auth.md, feedback_vault_pointer_for_teammates.md
- [MERGE?] consolidate 2 'project' memories: project_cascades.md, project_cascades_history.md
- [MERGE?] consolidate 2 'project' memories: project_dataforth.md, project_dataforth_history.md
- [REVERIFY?] radio_show_no_cohost_named_tom.md (dated facts) -- confirm still true, then update
- [STALE-REF?] feedback_dashboard_beta_first.md references `opt/gururmm/build-dashboard.sh` -- confirm/repoint or note moved
- [STALE-REF?] feedback_stream_of_thought_design.md references `projects/msp-tools/guru-rmm/docs/PARKED_alert-lifecycle-and-telemetry-cadence.md` -- confirm/repoint or note moved
- [STALE-REF?] feedback_syncro_api.md references `tmp/syncro_comment.json` -- confirm/repoint or note moved
- [STALE-REF?] feedback_syncro_history.md references `tmp/syncro_comment.json` -- confirm/repoint or note moved
- [STALE-REF?] feedback_tmp_path_windows.md references `tmp/comment_payload.json` -- confirm/repoint or note moved
- [STALE-REF?] feedback_tmp_path_windows.md references `tmp/foo.json` -- confirm/repoint or note moved
- [STALE-REF?] machine_windows_guru_setup_status.md references `sops.yaml` -- confirm/repoint or note moved
- [STALE-REF?] project_guruconnect.md references `etc/systemd/system/guruconnect.service` -- confirm/repoint or note moved
- [STALE-REF?] project_gururmm.md references `gururmm-webhook.service` -- confirm/repoint or note moved
- [STALE-REF?] project_gururmm.md references `opt/gururmm/webhook-handler.py` -- confirm/repoint or note moved
- [STALE-REF?] project_masterbooter.md references `DECISIONS.md` -- confirm/repoint or note moved
- [STALE-REF?] project_masterbooter.md references `EXPANSION_PLAN.md` -- confirm/repoint or note moved
- [STALE-REF?] project_masterbooter.md references `TODO_CLEANUP.md` -- confirm/repoint or note moved
- [STALE-REF?] project_masterbooter.md references `VISION.md` -- confirm/repoint or note moved
- [STALE-REF?] project_neptune_sbr_email_routing.md references `data/on_boot.d/10-neptune-snat.sh` -- confirm/repoint or note moved
- [STALE-REF?] reference_ff_firefox_driver.md references `~/.claude.json` -- confirm/repoint or note moved
- [STALE-REF?] reference_gururmm.md references `build-{windows,linux,mac,agents,server,shared}.sh` -- confirm/repoint or note moved
- [STALE-REF?] reference_gururmm.md references `gururmm-agent.service` -- confirm/repoint or note moved
- [STALE-REF?] reference_ix_server_access.md references `etc/gururmm/agent.toml` -- confirm/repoint or note moved
- [STALE-REF?] reference_ix_server_access.md references `gururmm-agent.service` -- confirm/repoint or note moved
- [STALE-REF?] reference_radio_website.md references `fuse.js` -- confirm/repoint or note moved
- [STALE-REF?] reference_radio_website.md references `wavesurfer.js` -- confirm/repoint or note moved
- [STALE-REF?] reference_ticktick_integration.md references `mcp.json` -- confirm/repoint or note moved
- [DRIFT-RESOLVE?] gururmm-physical-server-storage.md differs repo vs profile -- human picks winner (sync-memory.sh leaves both untouched)

