sync: auto-sync from GURU-5070 at 2026-06-11 08:57:45

Author: Mike Swanson
Machine: GURU-5070
Timestamp: 2026-06-11 08:57:45
This commit is contained in:
2026-06-11 08:57:57 -07:00
parent 24bf954aaf
commit bf6ffa7da4
3 changed files with 33 additions and 3 deletions

View File

@@ -128,3 +128,4 @@
- [Autonomy scope](feedback_autonomy_scope.md) — confirm only for client-affecting actions; internal docs/wiki/ClaudeTools = act autonomously
- [Check for client-slug fragmentation](feedback_client_slug_fragmentation.md) — Before concluding a client has no records, grep broadly (company/owner/initials/hostname/"Last, First") across clients/, wiki/, session-logs/, vault — one client gets split across slug variants (Wolkin was 4: wolkin/wolkin-law/rswolkin/robert-wolkin). Consolidate to one canonical slug; action prior logs' Pending items.
- [RMM user_session = false SMB failures](feedback_rmm_user_session_smb_false_negative.md) — GuruRMM net use/net view/Add-Printer to a remote \HOST fail with error 67 / RPC 1702 (even with valid creds) because user_session is a WTS-impersonated non-interactive token that can't do authenticated SMB. The share/printer may work fine interactively. Treat RMM SMB results as "can't tell"; verify via ScreenConnect.
- [Broken [[backlinks]] = write-me-later markers](feedback_broken_backlinks_are_writeme_markers.md) — A [[name]] with no matching file is an intentional "worth writing" marker, not breakage. Flesh the missing memory out from session history/logs and index it; never strip the link to silence the warning. memory-dream reports these as INFO candidates, not errors.

View File

@@ -0,0 +1,25 @@
---
name: Broken [[backlinks]] are write-me-later markers — flesh out from session history, don't delete
description: A [[name]] link in a memory body whose target file doesn't exist is NOT an error to clean up — it's an intentional marker that that memory is worth writing. When you hit one (or memory-dream lists them), flesh the missing memory out from the session logs / session history, don't strip the link.
type: feedback
---
A `[[some-name]]` reference in a memory body that has no matching `some-name.md` file is an
**intentional placeholder**, per the harness memory convention (CLAUDE.md: "a `[[name]]` that
doesn't match an existing memory yet is fine; it marks something worth writing later, not an
error"). Leave the link in place.
**Why:** Mike, 2026-06-11. `memory-dream` flags ~16 of these as "broken backlinks." They are not
breakage — each is a pointer to a memory worth creating. Stripping them loses the signal of what's
worth capturing.
**How to apply:**
- When you encounter a dangling `[[X]]` (or memory-dream lists one), treat it as a TODO: **the
facts for that memory live in the session history / session logs** — grep `session-logs/` and
`clients/*/session-logs/` for the topic, then write `X.md` and index it in `MEMORY.md`. That
resolves the link by creating the target, not by deleting the reference.
- Do NOT delete the `[[X]]` reference just to silence the warning.
- `memory-dream` reports these informationally (candidates to write), not as errors to fix.
- Examples seen 2026-06-11: `[[universal-minerals]]`, `[[365-remediation-tool-reference]]`,
`[[SPEC-017]]`, `[[power-failure-runbook]]`, `[[feedback_syncro_html]]` — each is a real memory
someone should flesh out from the relevant session logs when next working that area.

View File

@@ -640,11 +640,15 @@ def run(args) -> int:
ref_slug = slugify_link_target(ref)
if ref_slug not in known_slugs and ref not in known_slugs:
broken_backlinks.append((m.filename, ref))
rpt.add(f"### Broken backlinks: {len(broken_backlinks)}")
rpt.add(f"### Dangling [[backlinks]] — write-me-later candidates: {len(broken_backlinks)}")
if broken_backlinks:
rpt.add(" (NOT errors — intentional markers per the memory convention. Flesh each missing")
rpt.add(" memory out from the session history/logs; do NOT strip the link. See")
rpt.add(" feedback_broken_backlinks_are_writeme_markers.md.)")
for fn, ref in broken_backlinks:
rpt.add(f"- [WARNING] {fn}: [[{ref}]] has no matching memory file")
rpt.add(f"- [INFO] {fn}: [[{ref}]] — memory not yet written (flesh out from session logs)")
if not broken_backlinks:
rpt.add("- [OK] no broken backlinks found")
rpt.add("- [OK] no dangling backlinks")
rpt.add("")
# ----- 3. REFERENCED-ARTIFACT VALIDITY -----