sync: auto-sync from ACG-TECH03L at 2026-06-02 11:52:51
Author: Howard Enos Machine: ACG-TECH03L Timestamp: 2026-06-02 11:52:51
This commit is contained in:
261
.claude/memory/_reports/2026-06-02-1147-dream.md
Normal file
261
.claude/memory/_reports/2026-06-02-1147-dream.md
Normal file
@@ -0,0 +1,261 @@
|
||||
# Memory Dream Report
|
||||
Generated: 2026-06-02 11:47
|
||||
Repo root: C:\claudetools
|
||||
Memory store: C:\claudetools\.claude\memory
|
||||
Mode: REPORT-ONLY
|
||||
|
||||
Loaded 126 memory files (excluding MEMORY.md).
|
||||
|
||||
## 1. INDEX RECONCILE
|
||||
|
||||
### Orphan files (no index line): 49
|
||||
- [INFO] feedback-rmm-unc-path-encoding.md (type=feedback)
|
||||
- [INFO] feedback_cascades_folder_redirect.md (type=feedback)
|
||||
- [INFO] feedback_cascades_user_security_group.md (type=feedback)
|
||||
- [INFO] feedback_gururmm_agent_parity.md (type=feedback)
|
||||
- [INFO] feedback_gururmm_builds.md (type=feedback)
|
||||
- [INFO] feedback_howard_delegation.md (type=feedback)
|
||||
- [INFO] feedback_no_botalerts_internal_rmm.md (type=feedback)
|
||||
- [INFO] feedback_no_indented_code_blocks.md (type=feedback)
|
||||
- [INFO] feedback_rmm_dev_is_mike.md (type=feedback)
|
||||
- [INFO] feedback_rmm_identify_by_ip.md (type=feedback)
|
||||
- [INFO] feedback_syncro_appointment_date_check.md (type=feedback)
|
||||
- [INFO] feedback_syncro_appointment_owner.md (type=feedback)
|
||||
- [INFO] feedback_syncro_blank_contact.md (type=feedback)
|
||||
- [INFO] feedback_syncro_cascades_contact.md (type=feedback)
|
||||
- [INFO] feedback_syncro_comment_dedup.md (type=feedback)
|
||||
- [INFO] feedback_syncro_content_type.md (type=feedback)
|
||||
- [INFO] feedback_syncro_corrections_preserve_tech.md (type=feedback)
|
||||
- [INFO] feedback_syncro_emergency_billing.md (type=feedback)
|
||||
- [INFO] feedback_syncro_estimate_hardware.md (type=feedback)
|
||||
- [INFO] feedback_syncro_html.md (type=feedback)
|
||||
- [INFO] feedback_syncro_labor_tax.md (type=feedback)
|
||||
- [INFO] feedback_syncro_labor_type.md (type=feedback)
|
||||
- [INFO] feedback_syncro_line_items.md (type=feedback)
|
||||
- [INFO] feedback_syncro_live_rates.md (type=feedback)
|
||||
- [INFO] feedback_syncro_no_madeup_labor_items.md (type=feedback)
|
||||
- [INFO] feedback_syncro_timer_first.md (type=feedback)
|
||||
- [INFO] feedback_syncro_timer_response_shape.md (type=feedback)
|
||||
- [INFO] feedback_syncro_warranty_product.md (type=feedback)
|
||||
- [INFO] gururmm-development-principles.md (type=project)
|
||||
- [INFO] project-cascades-migration-plan.md (type=project)
|
||||
- [INFO] project_cascades_admin_accounts.md (type=project)
|
||||
- [INFO] project_cascades_billing.md (type=project)
|
||||
- [INFO] project_cascades_ca_phased_rollout.md (type=project)
|
||||
- [INFO] project_cascades_pilot_cleanup.md (type=project)
|
||||
- [INFO] project_dataforth_email.md (type=project)
|
||||
- [INFO] project_dataforth_incident_2026-03-27.md (type=project)
|
||||
- [INFO] project_guruconnect_deploy.md (type=project)
|
||||
- [INFO] project_guruconnect_v2_direction.md (type=project)
|
||||
- [INFO] project_mac_gururmm_setup_pending.md (type=project)
|
||||
- [INFO] project_pluto_build_server.md (type=project)
|
||||
- [INFO] project_rmm_webhook_docs_guard.md (type=project)
|
||||
- [INFO] reference_dataforth_contact.md (type=reference)
|
||||
- [INFO] reference_gururmm_api.md (type=reference)
|
||||
- [INFO] reference_gururmm_pipeline_vendored.md (type=reference)
|
||||
- [INFO] reference_gururmm_server.md (type=reference)
|
||||
- [INFO] reference_gururmm_user_session_context.md (type=reference)
|
||||
- [INFO] reference_ix_access_tailscale.md (type=reference)
|
||||
- [INFO] reference_ix_server_ssh.md (type=reference)
|
||||
- [INFO] reference_rmm_agent_runs_in_systemd_sandbox.md (type=reference)
|
||||
|
||||
### Index lines pointing at missing files: 0
|
||||
|
||||
### Frontmatter name vs filename signals: 1
|
||||
- [INFO] policy_pricing_verification.md: (no name in frontmatter)
|
||||
|
||||
## 2. BACKLINKS ([[name]] references)
|
||||
|
||||
### Broken backlinks: 13
|
||||
- [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_howard_delegation.md: [[feedback-testing]] has no matching memory file
|
||||
- [WARNING] feedback_syncro_corrections_preserve_tech.md: [[365-remediation-tool-reference]] has no matching memory file
|
||||
- [WARNING] feedback_syncro_emergency_billing.md: [[feedback-syncro-no-madeup-labor-items]] has no matching memory file
|
||||
- [WARNING] feedback_syncro_no_madeup_labor_items.md: [[feedback-syncro-live-rates]] has no matching memory file
|
||||
- [WARNING] feedback_syncro_no_madeup_labor_items.md: [[feedback-syncro-warranty-product]] has no matching memory file
|
||||
- [WARNING] feedback_syncro_timer_response_shape.md: [[Syncro — use add_line_item for billing, not timers]] 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: 24
|
||||
- [VERIFY] feedback_session_recovery.md: `claude/state/recovered-sessions.json` 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_comment_dedup.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_guruconnect_deploy.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] project_rmm_webhook_docs_guard.md: `gururmm-webhook.service` not found under repo (may be server-side or renamed -- verify, do not auto-delete)
|
||||
- [VERIFY] project_rmm_webhook_docs_guard.md: `opt/gururmm/webhook-handler.py` 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_resource_map.md: `mcp-servers/ticktick/.tokens.json` not found under repo (may be server-side or renamed -- verify, do not auto-delete)
|
||||
- [VERIFY] reference_rmm_agent_runs_in_systemd_sandbox.md: `gururmm-agent.service` not found under repo (may be server-side or renamed -- verify, do not auto-delete)
|
||||
- [VERIFY] reference_ticktick_integration.md: `mcp-servers/ticktick/.tokens.json` 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: 13
|
||||
- [feedback] 22 related memories:
|
||||
- feedback_syncro_api.md -- Technical mechanics for talking to the Syncro API — required Content-Type header, the no-i
|
||||
- feedback_syncro_appointment_date_check.md -- Before creating any Syncro appointment, verify the computed date falls on the intended wee
|
||||
- feedback_syncro_appointment_owner.md -- When creating Syncro tickets that include an appointment, always ask "who is the appointme
|
||||
- feedback_syncro_billing.md -- How to bill a Syncro ticket correctly — fetch live rates, use real product names, pick the
|
||||
- feedback_syncro_blank_contact.md -- When creating Syncro tickets or billing them out, leave the contact field blank ("Not Assi
|
||||
- feedback_syncro_cascades_contact.md -- Incident context for why the blank-contact rule matters at Cascades — Meredith Kuhn is the
|
||||
- feedback_syncro_comment_dedup.md -- Never retry ANY Syncro POST (ticket create or comment) without first GETting to confirm th
|
||||
- feedback_syncro_content_type.md -- Syncro API POST calls require explicit Content-Type application/json header or they 400 wi
|
||||
- feedback_syncro_corrections_preserve_tech.md -- Preserve Syncro attribution — corrections keep the original tech's labor user_id (commissi
|
||||
- feedback_syncro_emergency_billing.md -- Emergency labor is time-and-a-half (×1.5), applied once, never additive. Branch by custome
|
||||
- feedback_syncro_estimate_hardware.md -- Hardware line items on Syncro estimates always use product_id 32252 with varying name/pric
|
||||
- feedback_syncro_history.md -- Detail and incident archive backing the Syncro feedback rules. Read this when you need to
|
||||
- feedback_syncro_html.md -- Use <br> for line breaks in Syncro comments, not <ul>/<li> — list tags don't render
|
||||
- feedback_syncro_labor_tax.md -- Labor is never taxable in Arizona — always set taxable=false on labor line items in Syncro
|
||||
- feedback_syncro_labor_type.md -- When billing Syncro tickets, the labor product on the line item MUST be one of in-shop, on
|
||||
- feedback_syncro_line_items.md -- Correct Syncro API endpoint for adding labor/product line items to tickets
|
||||
- feedback_syncro_live_rates.md -- Always fetch Syncro labor rates live from the API — never use hardcoded rate table
|
||||
- feedback_syncro_no_madeup_labor_items.md -- NEVER invent or rename Syncro labor line items — every labor line must use an existing pro
|
||||
- feedback_syncro_timer_first.md -- Syncro billing uses add_line_item directly. Timer workflow (timer_entry → charge_timer_ent
|
||||
- feedback_syncro_timer_response_shape.md -- POST /tickets/{id}/timer_entry returns a flat object {"id": N, "ticket_id": ..., "product_
|
||||
- feedback_syncro_warranty_product.md -- For warranty/no-charge labor on Syncro tickets, use product_id 1049360 (Labor- Warranty wo
|
||||
- feedback_syncro_workflow.md -- Process and etiquette rules for Syncro work — always preview comments before posting, veri
|
||||
- [project] 6 related memories:
|
||||
- project_cascades.md -- Active state of the Cascades migration — Syncro ticket #110680053, plan file (machine-spec
|
||||
- project_cascades_admin_accounts.md -- Howard uses sysadmin@cascadestucson.com, Mike uses admin@cascadestucson.com — used for dai
|
||||
- project_cascades_billing.md -- Cascades of Tucson Syncro billing — prepaid block customer, rate TBD
|
||||
- project_cascades_ca_phased_rollout.md -- Caregiver bypass CA policies are scoped to SG-Caregivers-Pilot only at start, then expande
|
||||
- project_cascades_history.md -- Detail and rationale behind the active Cascades rules — fdeploy 502/ACL root cause and the
|
||||
- project_cascades_pilot_cleanup.md -- Pilot accounts (pilot.test@, howard.enos@ once synced) at Cascades must be removed at end
|
||||
- [reference] 5 related memories:
|
||||
- reference_gururmm.md -- Operational reference for GuruRMM — server layout (SSH user, paths on 172.16.3.30), agent
|
||||
- reference_gururmm_api.md -- API endpoints, auth flow, and curl recipe to execute a script on any GuruRMM agent and ret
|
||||
- reference_gururmm_pipeline_vendored.md -- GuruRMM build-pipeline scripts are now version-controlled at deploy/build-pipeline/ in the
|
||||
- reference_gururmm_server.md -- SSH user, home directory, and deploy paths on 172.16.3.30
|
||||
- reference_gururmm_user_session_context.md -- GuruRMM commands accept context=user_session (migration 041) to run as the active logged-o
|
||||
- [feedback] 4 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_agent_parity.md -- Add feature X to the agent" means all three platforms (Windows + Linux + macOS) in the sam
|
||||
- feedback_gururmm_build_channel_default.md -- GuruRMM build pipeline must tag NEW builds beta by default; stable is an explicit promote
|
||||
- feedback_gururmm_builds.md -- GuruRMM builds must go through the Gitea webhook pipeline, never run manually via SSH
|
||||
- [project] 4 related memories:
|
||||
- project_dataforth.md -- Dataforth runs on M365 (Graph API for mail send); the neptune.acghosting.com Exchange is A
|
||||
- project_dataforth_email.md -- Dataforth uses M365 for email; the Exchange server on 172.16.x.x / neptune.acghosting.com
|
||||
- project_dataforth_history.md -- Detail and remediation log for the 2026-03-27 Dataforth security incident — DF-JOEL2 compr
|
||||
- project_dataforth_incident_2026-03-27.md -- DF-JOEL2 compromised via ScreenConnect social engineering. MFA deployed. IC3 filed. C2 IPs
|
||||
- [feedback] 3 related memories:
|
||||
- feedback_cascades.md -- Two active rules for Cascades work — (1) folder redirection (fdeploy) needs subfolders pre
|
||||
- feedback_cascades_folder_redirect.md -- Cascades folder redirection — fdeploy failure/retry behavior, correct new-user procedure,
|
||||
- feedback_cascades_user_security_group.md -- When creating or adding any Cascades user, always ask which security group(s) the account
|
||||
- [feedback] 3 related memories:
|
||||
- feedback_no_botalerts_internal_rmm.md -- Post #bot-alerts ONLY when an RMM command directly affects a client endpoint or a ticket;
|
||||
- feedback_no_indented_code_blocks.md -- Never indent code inside code blocks — Howard copy-pastes directly and leading spaces brea
|
||||
- feedback_no_toml_config_endpoints.md -- User explicitly prohibits TOML or config-file-based endpoint configuration — this will nev
|
||||
- [project] 3 related memories:
|
||||
- project_guruconnect.md -- GuruConnect v2 architecture direction (native-first full key fidelity, bidirectional file
|
||||
- project_guruconnect_deploy.md -- How to deploy GuruConnect (v2+) to production — the server (172.16.3.30) builds its own Li
|
||||
- project_guruconnect_v2_direction.md -- GuruConnect v2 modernization direction (Mike, 2026-05-29) — native-first full key fidelity
|
||||
- [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
|
||||
- [reference] 3 related memories:
|
||||
- reference_ix_access_tailscale.md -- IX server (ix.azcomputerguru.com) is accessible with Tailscale on, no VPN needed
|
||||
- reference_ix_server_access.md -- How to reach ix.azcomputerguru.com (172.16.3.10) — Tailscale-on means it's directly reacha
|
||||
- reference_ix_server_ssh.md -- SSH access notes for IX server - key auth not set up on GURU-5070 (was CachyOS), must use
|
||||
- [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_rmm_dev_is_mike.md -- GuruRMM code/bugs/dev are Mike's domain — never route RMM dev or bug coord notes to Howard
|
||||
- feedback_rmm_identify_by_ip.md -- When the offending/target machine is known by external IP, identify the RMM agent by match
|
||||
- [project] 2 related memories:
|
||||
- gururmm-development-principles.md -- Every GuruRMM feature is full-stack (backend+API+UI+docs+scalability); product works witho
|
||||
- project_gururmm.md -- GuruRMM project state — dev principles (every feature full-stack: backend+API+UI+docs+scal
|
||||
|
||||
## 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 (~5106 days old) -- re-verify
|
||||
|
||||
## 6. DRIFT vs HARNESS PROFILE STORE
|
||||
|
||||
Profile store: C:\Users\howar\.claude\projects\C--claudetools\memory
|
||||
|
||||
### Profile-only (candidates to MIGRATE INTO repo): 0
|
||||
|
||||
### Repo-only (candidates to PUSH OUT to profile): 1
|
||||
- [INFO] policy_pricing_verification.md
|
||||
|
||||
### Present in BOTH but differing (CONFLICT -- human review): 0
|
||||
|
||||
## SUMMARY
|
||||
|
||||
- memory files: 126
|
||||
- orphan files (no index): 49
|
||||
- index -> missing file: 0
|
||||
- name/filename signals: 1
|
||||
- broken backlinks: 13
|
||||
- stale referenced paths: 24
|
||||
- overlap clusters: 13
|
||||
- stale dated project facts: 1
|
||||
- profile-only files: 0
|
||||
- repo-only files: 1
|
||||
- repo<->profile conflicts: 0
|
||||
|
||||
## PROPOSED (needs human approval -- NEVER auto-applied)
|
||||
|
||||
- [MERGE?] consolidate 22 'feedback' memories: feedback_syncro_api.md, feedback_syncro_appointment_date_check.md, feedback_syncro_appointment_owner.md, feedback_syncro_billing.md, feedback_syncro_blank_contact.md, feedback_syncro_cascades_contact.md, feedback_syncro_comment_dedup.md, feedback_syncro_content_type.md, feedback_syncro_corrections_preserve_tech.md, feedback_syncro_emergency_billing.md, feedback_syncro_estimate_hardware.md, feedback_syncro_history.md, feedback_syncro_html.md, feedback_syncro_labor_tax.md, feedback_syncro_labor_type.md, feedback_syncro_line_items.md, feedback_syncro_live_rates.md, feedback_syncro_no_madeup_labor_items.md, feedback_syncro_timer_first.md, feedback_syncro_timer_response_shape.md, feedback_syncro_warranty_product.md, feedback_syncro_workflow.md
|
||||
- [MERGE?] consolidate 6 'project' memories: project_cascades.md, project_cascades_admin_accounts.md, project_cascades_billing.md, project_cascades_ca_phased_rollout.md, project_cascades_history.md, project_cascades_pilot_cleanup.md
|
||||
- [MERGE?] consolidate 5 'reference' memories: reference_gururmm.md, reference_gururmm_api.md, reference_gururmm_pipeline_vendored.md, reference_gururmm_server.md, reference_gururmm_user_session_context.md
|
||||
- [MERGE?] consolidate 4 'feedback' memories: feedback_gururmm.md, feedback_gururmm_agent_parity.md, feedback_gururmm_build_channel_default.md, feedback_gururmm_builds.md
|
||||
- [MERGE?] consolidate 4 'project' memories: project_dataforth.md, project_dataforth_email.md, project_dataforth_history.md, project_dataforth_incident_2026-03-27.md
|
||||
- [MERGE?] consolidate 3 'feedback' memories: feedback_cascades.md, feedback_cascades_folder_redirect.md, feedback_cascades_user_security_group.md
|
||||
- [MERGE?] consolidate 3 'feedback' memories: feedback_no_botalerts_internal_rmm.md, feedback_no_indented_code_blocks.md, feedback_no_toml_config_endpoints.md
|
||||
- [MERGE?] consolidate 3 'project' memories: project_guruconnect.md, project_guruconnect_deploy.md, project_guruconnect_v2_direction.md
|
||||
- [MERGE?] consolidate 3 'reference' memories: reference_gitea_api_credential.md, reference_gitea_git_op_latency.md, reference_gitea_internal.md
|
||||
- [MERGE?] consolidate 3 'reference' memories: reference_ix_access_tailscale.md, reference_ix_server_access.md, reference_ix_server_ssh.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_rmm_dev_is_mike.md, feedback_rmm_identify_by_ip.md
|
||||
- [MERGE?] consolidate 2 'project' memories: gururmm-development-principles.md, project_gururmm.md
|
||||
- [REVERIFY?] radio_show_no_cohost_named_tom.md (dated facts) -- confirm still true, then update
|
||||
- [STALE-REF?] feedback_session_recovery.md references `claude/state/recovered-sessions.json` -- 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_comment_dedup.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_guruconnect_deploy.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?] project_rmm_webhook_docs_guard.md references `gururmm-webhook.service` -- confirm/repoint or note moved
|
||||
- [STALE-REF?] project_rmm_webhook_docs_guard.md references `opt/gururmm/webhook-handler.py` -- 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_resource_map.md references `mcp-servers/ticktick/.tokens.json` -- confirm/repoint or note moved
|
||||
- [STALE-REF?] reference_rmm_agent_runs_in_systemd_sandbox.md references `gururmm-agent.service` -- confirm/repoint or note moved
|
||||
- [STALE-REF?] reference_ticktick_integration.md references `mcp-servers/ticktick/.tokens.json` -- confirm/repoint or note moved
|
||||
- [STALE-REF?] reference_ticktick_integration.md references `mcp.json` -- confirm/repoint or note moved
|
||||
|
||||
78
session-logs/2026-06-02-howard-laptop-git-auth-and-sync.md
Normal file
78
session-logs/2026-06-02-howard-laptop-git-auth-and-sync.md
Normal file
@@ -0,0 +1,78 @@
|
||||
# Session Log — 2026-06-02 — Howard laptop: git auth, identity, sync, memory-dream, vault cleanup
|
||||
|
||||
## User
|
||||
- **User:** Howard Enos (howard)
|
||||
- **Machine:** ACG-TECH03L
|
||||
- **Role:** tech
|
||||
|
||||
## Session Summary
|
||||
|
||||
First ClaudeTools session on Howard's laptop (ACG-TECH03L). The machine had no `.claude/identity.json` (gitignored, never recreated on this clone), so `sync.sh` ran as "unknown" and could not reconcile git config. An initial `/sync` pulled and rebased 4 incoming commits cleanly but then failed at the push step and at the `gururmm` submodule clone with `remote: Failed to authenticate user`. Howard separately asked why he kept being prompted for his git password — same root cause.
|
||||
|
||||
Diagnosis: Git Credential Manager (`credential.helper = manager`) was configured, but Windows Credential Manager held zero entries for `git.azcomputerguru.com`. Every git operation prompted, the entered credential was rejected by Gitea (password rotated 2026-04-21; account now needs a token), so GCM never got a successful auth to cache — producing an infinite re-prompt loop. Howard provided a working Gitea token, which was primed into GCM via `git credential approve`. The pending auto-sync commit then pushed with no prompt, and the `gururmm` submodule cloned successfully (checked out `faf6b27`).
|
||||
|
||||
Rebuilt `identity.json` for this machine (howard / ACG-TECH03L, vault at `D:/vault`, root `C:/claudetools`) and ran `migrate-identity.sh` to populate python/ollama/platform/coord_api fields. A confirmation coord message was sent to Mike (GURU-5070) covering the identity migration + verification check-in and the auth fix. The two satisfied broadcasts (migrate-identity, alert-routing) were marked read.
|
||||
|
||||
A second `/sync` then auto-corrected this repo's local git config — it had been set to Howard's personal account (`Howweird` / `howardenos@gmail.com`) — back to `Howard Enos` / `howard@azcomputerguru.com` to match `identity.json`. The vault repo pulled 52 commits and pushed 1; that single pushed commit turned out to be a stray local backup file that a prior auto-sync had swept in.
|
||||
|
||||
Ran `/mem-dream` (memory-dream, report-only). It loaded 127 memory files and found 49 orphan files (no index line), 13 broken backlinks, 24 stale referenced paths (mostly legitimate server-side), and 13 proposed merge clusters. Key finding: Mike's consolidation commit `0c00010` ("104 -> 71") is present in the tree and added the new merged files, but the original granular files were never retired — old and new coexist (127 files, not 71), which is why so many files are now orphaned from the index. Per Howard's decision, left the store untouched and pinged Mike to finish the retirements in his consolidation automation rather than re-indexing files he intends to delete. Finally, removed the stray vault `.bak` from the shared repo (kept locally) and added a gitignore rule.
|
||||
|
||||
## Key Decisions
|
||||
|
||||
- **Primed GCM with a token rather than switching credential helpers.** GCM was already the configured helper and works fine once it has a valid credential to cache; the problem was never the helper, only that no successful auth had ever been stored. Storing via `git credential approve` keeps the secret in Windows DPAPI, not a plaintext file.
|
||||
- **Rebuilt `identity.json` instead of treating ACG-TECH03L as a brand-new machine.** ACG-TECH03L is already in howard's `known_machines` and git was attributed to Howard — the machine was known, it had only lost its gitignored local identity file. So recreated rather than running full onboarding.
|
||||
- **Namespaced the session log** (`2026-06-02-howard-laptop-git-auth-and-sync.md`) rather than appending to the existing `2026-06-02-session.md`, which is unrelated Outlook-contacts work from Howard's Howard-Home machine.
|
||||
- **Did NOT run `memory-dream --apply-safe`.** Appending 49 orphan index lines would re-index files Mike is mid-way through retiring as part of consolidation `0c00010`. Memory consolidation is Mike's automation domain, so handed the duplicate-file cleanup back to him.
|
||||
- **Untracked the vault `.bak` with `git rm --cached` (kept local) + gitignore.** The file is Howard's local backup; destroying it was unnecessary. A gitignore rule (`*.bak`, `*.LOCAL_BACKUP.*`) prevents `sync.sh`'s `git add -A` from re-committing it.
|
||||
|
||||
## Problems Encountered
|
||||
|
||||
- **Repeated git password prompts / push + submodule auth failures.** Root cause: no cached Gitea credential and the entered password was being rejected (rotated/needs token), so GCM never cached a success. Resolved by priming GCM with a valid token via `git credential approve`; push and submodule clone then succeeded with no prompt.
|
||||
- **`sync.sh` reported "identity.json present but unreadable" while the file did not exist.** The file was genuinely absent (`ls`/`cat` confirmed). Recreated it; the warning cleared on the next sync.
|
||||
- **Local git config drifted to Howard's personal gmail account** (`Howweird` / `howardenos@gmail.com`). The second `sync.sh` reconciled it to `identity.json` automatically once the file existed.
|
||||
- **Coord message POST returned HTTP 400 / silent `id: None` via curl.** Shell escaping of the multi-line JSON body was malformed. Resolved by posting through a Python `urllib` here-doc (HTTP 201).
|
||||
- **memory-dream showed 127 files vs the broadcast's claimed 71.** Verified `0c00010` is an ancestor of HEAD and the merged files exist alongside the originals — the consolidation never deleted the source files. Reported to Mike rather than acting.
|
||||
|
||||
## Configuration Changes
|
||||
|
||||
- Created `C:/claudetools/.claude/identity.json` (gitignored, machine-local) — howard / ACG-TECH03L / vault `D:/vault` / root `C:/claudetools`; then `migrate-identity.sh` added `python.command=py`, `ollama.endpoint=http://100.101.122.4:11434`, `ollama.prose_model=qwen3:14b`, `platform=windows`, `architecture=amd64`, `coord_api=http://172.16.3.30:8001`.
|
||||
- Reconciled local git config: `user.name=Howard Enos`, `user.email=howard@azcomputerguru.com` (was `Howweird` / `howardenos@gmail.com`).
|
||||
- Stored Gitea credential for `git.azcomputerguru.com` (user `howard`) in Windows Credential Manager via GCM.
|
||||
- `D:/vault/.gitignore` — added `*.bak` and `*.LOCAL_BACKUP.*` under a new "Local-only backups" section.
|
||||
- Deleted from vault repo (kept on disk): `clients/cascades-tucson/pfsense-firewall.LOCAL_BACKUP.sops.yaml.bak`.
|
||||
- Report written: `.claude/memory/_reports/2026-06-02-1147-dream.md`.
|
||||
|
||||
## Credentials & Secrets
|
||||
|
||||
- Gitea HTTPS access for `git.azcomputerguru.com` is via account `howard` using a personal access token (rotated 2026-04-21; account password no longer accepted for git-over-HTTPS). The token is now cached in this laptop's Windows Credential Manager (DPAPI). Howard's Gitea credential of record lives in his 1Password, not the SOPS vault.
|
||||
|
||||
## Infrastructure & Servers
|
||||
|
||||
- Coord API: `http://172.16.3.30:8001/api/coord` (no auth).
|
||||
- Ollama (this machine): remote Beast via Tailscale at `http://100.101.122.4:11434`, prose model `qwen3:14b`.
|
||||
- Gitea: `git.azcomputerguru.com` (office Cox IP NAT'd via NPM; not behind Cloudflare).
|
||||
- Vault repo: `D:/vault` on this machine.
|
||||
|
||||
## Commands & Outputs
|
||||
|
||||
- Prime credential: `printf "protocol=https\nhost=git.azcomputerguru.com\nusername=howard\npassword=<token>\n\n" | git credential approve`
|
||||
- Verify: `printf "protocol=https\nhost=git.azcomputerguru.com\nusername=howard\n\n" | git credential fill` → returned the stored password.
|
||||
- `GIT_TERMINAL_PROMPT=0 git push origin main` → `9b82bce..0f6c05a main -> main` (no prompt — confirms cache works).
|
||||
- `git submodule update --init projects/msp-tools/guru-rmm` → checked out `faf6b27` (heads/main).
|
||||
- `git merge-base --is-ancestor 0c00010 HEAD` → present in HEAD.
|
||||
- Coord POST that worked: Python `urllib` here-doc → HTTP 201.
|
||||
|
||||
## Pending / Incomplete Tasks
|
||||
|
||||
- **Memory store duplicates (Mike's domain):** consolidation `0c00010` left old + new files coexisting (127 vs 71). Mike (GURU-5070) was messaged to finish retiring the originals. 49 orphan index lines and 13 merge clusters remain unresolved by design.
|
||||
- **Billing (parked at Howard's request):** three uninvoiced Syncro tickets totaling $5,239.99 — #109035475 (Cascades, $127.49, resolved), #109836123 (Dataforth, $87.50, resolved), #109412123 (Cascades Entra setup, $5,025.00, in progress since May 1). Most context is on Howard's desktop; revisit later.
|
||||
- **Cascades wiki review** (`wiki/clients/cascades-tucson.md`) still awaiting Howard's onsite-context pass (coord message from DESKTOP-0O8A1RL, 05-24).
|
||||
- 13 broken backlinks and 1 stale dated fact (`radio_show_no_cohost_named_tom.md`, 2012) noted in the dream report for later cleanup.
|
||||
|
||||
## Reference Information
|
||||
|
||||
- Coord messages sent: `9573ca5c` (identity migration + verification confirm), `b07a0aad` (memory-dream duplicate-files report) — both to `GURU-5070/claude-main`.
|
||||
- Coord messages marked read: `1d93052f` (migrate-identity broadcast), `bafae411` (alert-routing).
|
||||
- Commits: ClaudeTools auto-sync `0f6c05a` (pushed `9b82bce..0f6c05a`); vault `27c0986` (pushed `5e3e031..27c0986`).
|
||||
- gururmm submodule pin: `faf6b274562da8f2de98c38980b3e21fcaf29c7c`.
|
||||
- Memory dream report: `.claude/memory/_reports/2026-06-02-1147-dream.md`.
|
||||
Reference in New Issue
Block a user