Commit Graph

1439 Commits

Author SHA1 Message Date
f7a1c2ecdc rmm: bump guru-rmm pointer — RMM_THOUGHTS Feature 4 (systemic log-feedback)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-10 11:59:15 -07:00
7cdc660bae rmm: bump guru-rmm pointer -> Event Log Watch management UI (e67dd82)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-10 11:47:16 -07:00
0edb0047c6 sync: auto-sync from Mikes-MacBook-Air.local at 2026-06-10 11:39:35
Author: Mike Swanson
Machine: Mikes-MacBook-Air.local
Timestamp: 2026-06-10 11:39:35
2026-06-10 11:39:38 -07:00
ddd146bef5 rmm: bump guru-rmm pointer -> 5260a0f (2026-06-09 audit fixes + tray pipeline, merged & shipped to prod)
Submodule now at the merge that shipped: status-stream auth, event-log
reconnect, credential-key fail-closed, coord proxy, sqlx runtime, internal_err
sweep, WS payload caps, credential-reveal audit log (migration 056), tray
build/sign/deploy pipeline (BUG-020). Deployed via pipeline: server v0.3.58,
dashboard beta v0.2.67, tray 0.6.57.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-10 10:52:27 -07:00
Winter Williams
da820d0a22 sync: auto-sync from GURU-BEAST-ROG at 2026-06-10 10:29:05
Author: Mike Swanson
Machine: GURU-BEAST-ROG
Timestamp: 2026-06-10 10:29:05
2026-06-10 10:29:11 -07:00
Winter Williams
c6c3cf92d1 wiki: refresh starr-pass — Syncro ID 153298, contacts, billing, assets 2026-06-10 10:26:01 -07:00
0e7a3faaba sync: auto-sync from GURU-5070 at 2026-06-10 10:23:06
Author: Mike Swanson
Machine: GURU-5070
Timestamp: 2026-06-10 10:23:06
2026-06-10 10:23:21 -07:00
f4528168f7 rmm: bump guru-rmm pointer — MEDIUM fixes (WS payload caps, Agent TS types, credential-reveal audit log)
Submodule 5cd11a3..ed92097:
- harden: bound agent-pushed WS payloads + fix Agent TS type drift
- feat: credential-reveal audit logging (audit_log table)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-10 10:23:20 -07:00
14dcd3beed rmm: bump guru-rmm pointer — 2026-06-09 audit HIGH fixes (cred key, coord proxy, sqlx, 500-leak sweep)
Submodule 4321e91..5cd11a3

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-10 10:23:20 -07:00
9702caf8c1 rmm: bump guru-rmm pointer — event-log watch CRUD full-config push
Submodule 557fa52..4321e91:
- fix: event-log watch CRUD push sends full policy + watches

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-10 10:23:20 -07:00
e90ff5d2f3 rmm: bump guru-rmm pointer — event-log watch reconnect re-push
Submodule f7750fa..557fa52:
- fix: re-push event-log watch rules on agent (re)connect

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-10 10:23:20 -07:00
599822b7f8 rmm: bump guru-rmm pointer — status-stream auth fix + 2026-06-09 audit
Submodule 226ba9f..f7750fa:
- fix: authenticate /api/agents/status-stream (SSE) + org-scope it
- docs: 2026-06-09 rmm-audit report + living-doc reconcile

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-10 10:23:20 -07:00
Winter Williams
94410944eb wiki: compile starr-pass (seed) — M365 onboarding, SPF cleanup, user audit 2026-06-10 2026-06-10 10:22:48 -07:00
Winter Williams
cf68d1c718 sync: auto-sync from GURU-BEAST-ROG at 2026-06-10 10:18:35
Author: Mike Swanson
Machine: GURU-BEAST-ROG
Timestamp: 2026-06-10 10:18:35
2026-06-10 10:18:40 -07:00
Winter Williams
7729874549 sync: auto-sync from GURU-BEAST-ROG at 2026-06-10 10:09:59
Author: Mike Swanson
Machine: GURU-BEAST-ROG
Timestamp: 2026-06-10 10:09:59
2026-06-10 10:10:08 -07:00
b75fb56574 sync: auto-sync from HOWARD-HOME at 2026-06-10 10:09:12
Author: Howard Enos
Machine: HOWARD-HOME
Timestamp: 2026-06-10 10:09:12
2026-06-10 10:09:23 -07:00
222849251f sync: auto-sync from GURU-5070 at 2026-06-09 18:41:07
Author: Mike Swanson
Machine: GURU-5070
Timestamp: 2026-06-09 18:41:07
2026-06-09 18:41:46 -07:00
2a006483f9 sync: auto-sync from GURU-5070 at 2026-06-09 18:18:03
Author: Mike Swanson
Machine: GURU-5070
Timestamp: 2026-06-09 18:18:03
2026-06-09 18:18:41 -07:00
6a961e06f4 sync: auto-sync from GURU-5070 at 2026-06-09 17:27:28
Author: Mike Swanson
Machine: GURU-5070
Timestamp: 2026-06-09 17:27:28
2026-06-09 17:28:17 -07:00
2625800885 wiki+memory: consolidate kittle-design -> kittle (redirect stub); add feedback memories (syncro preview, refresh-first, autonomy scope)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-09 17:28:17 -07:00
ac82e359a7 wiki: compile kittle (full) — BEC/ACH incident, entry-point root cause, CA hardening; mark kittle-design superseded
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-09 17:28:16 -07:00
4adf2c586c sync: auto-sync from HOWARD-HOME at 2026-06-09 17:08:26
Author: Howard Enos
Machine: HOWARD-HOME
Timestamp: 2026-06-09 17:08:26
2026-06-09 17:08:39 -07:00
67e0f8df20 sync: auto-sync from GURU-5070 at 2026-06-09 16:18:12
Author: Mike Swanson
Machine: GURU-5070
Timestamp: 2026-06-09 16:18:12
2026-06-09 16:18:52 -07:00
848ab69df5 sync: auto-sync from GURU-5070 at 2026-06-09 10:52:48
Author: Mike Swanson
Machine: GURU-5070
Timestamp: 2026-06-09 10:52:48
2026-06-09 10:53:34 -07:00
2029fa5429 sync: auto-sync from HOWARD-HOME at 2026-06-09 10:33:12
Author: Howard Enos
Machine: HOWARD-HOME
Timestamp: 2026-06-09 10:33:12
2026-06-09 10:33:25 -07:00
95b89c56a8 sync: auto-sync from GURU-5070 at 2026-06-09 10:13:37
Author: Mike Swanson
Machine: GURU-5070
Timestamp: 2026-06-09 10:13:37
2026-06-09 10:14:16 -07:00
53584e1497 report(kittle): IC3 complaint filed - submission ID aa2ef504... (2026-06-09)
IC3 filed 2026-06-09 12:46 EST. Stamped the submission ID on the report; bank freeze letters
(Truist/First State/Chase) updated with the IC3 # and real Kittle/ACG contacts - now turnkey to send.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-09 09:49:35 -07:00
4c580fe485 report(kittle): fraud PREVENTED - City stopped payment, Foam Factory confirmed mule
Per Kittle bookkeeper (2026-06-09): City of Tucson stopped the payment before any funds reached
the attacker (no completed loss; attempted $130k+). Kittle confirms no Foam Factory relationship,
confirming both receiving accounts are mules. Also: Ken un-restricted from sending (Outbox/Drafts
verified empty first); Lori was never restricted.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-09 09:15:07 -07:00
42135ed557 report(kittle): fold confirmed invoice amounts into IC3 report
Inv #31468 $123,776.75 (confirmed), Inv #31400 ~$8,818, Inv #31453 $41,231 (open);
total identified exposure $130,000+ since the ACH change redirects all City->Kittle payments.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-09 08:04:36 -07:00
c5a7c15cff report(kittle): IC3 BEC/ACH-fraud complaint package
Consolidated FBI IC3 report for the Kittle payment-redirection fraud: victim/payer info,
fraudulent mule accounts (Truist 053201607/1410020505238; Foam Factory First State + Chase),
targeted City of Tucson payments (Inv #31400 ~$8,818 6/9 EFT; Inv #31468 $123,776.75),
attacker IPs/domains/phone, full timeline, and evidence inventory. Evidence package assembled
to Downloads/Kittle-IC3-Package (report + 2 ACH form PDFs + recovered emails + 171-event audit CSV).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-09 07:52:24 -07:00
ce8401a093 sync: auto-sync from GURU-5070 at 2026-06-08 21:04:39
Author: Mike Swanson
Machine: GURU-5070
Timestamp: 2026-06-08 21:04:39
2026-06-08 21:05:24 -07:00
1cc03e9f23 verify(remediation): kittlearizona EXO persistence re-checked clean post role-fix
Double-checked the 2026-06-08 BEC remediation for missed EXO-dependent items now that
the Exchange role is confirmed. Findings: malicious inbox rules gone (cleanup stuck);
all 14 mailboxes clean of fwd/redirect/delete/move rules; no mailbox forwarding; no
transport rules; no rogue delegates. Open (need Ken): Christina-Micek StopProcessing rule
+ Ken FullAccess to Accounting. Corrected stale 'Exchange Admin NOT assigned' note (it IS).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-08 21:05:24 -07:00
2efd4a4fb3 discord-bot: fix "no response", serialize turns, attribution, mentions, post-at-bottom
client.py: send() falls back to ResultMessage.result when no TextBlock streams
(the "(no response)" bug) and reconnects+retries once on a closed SDK session.

message_handler.py: per-thread turn lock so messages arriving mid-turn or from a
second user queue in order (nothing dropped); per-session requester-attribution
env (discord_id -> users.json key), pinned to the thread opener; _USER_MAP caches
only on a successful load; final answer posts as a fresh message at the BOTTOM
(no edit-in-place); a <@id> tag goes out as a fresh send so it actually pings.

main.py: allowed_mentions permits user pings, blocks @everyone/@here/roles.

DISCORD_CLAUDE.md: no thread auto-delete; tiered close-out (Q&A -> one-line rolling
log, substantive -> /save); @mention guidance; opener-pinned attribution note.

whoami-block.sh / sync.sh: bot-context attribution (Executed by ClaudeTools Bot /
Requested by <person>; git author = mapped requester, committer = bot). Strict
no-op for interactive sessions.

users.json: discord_id for Mike/Howard; added Winter Williams (bot-only, full trust).

Reviewed by Code Review Agent + Grok + Gemini (Gemini's "malformed email" finding
verified as a false positive).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-08 21:00:34 -07:00
7fc29a7c5f fix(remediation): close the recurring Exchange-Admin-role gap fleet-wide
EXO email-cleanup tasks (Search-UnifiedAuditLog, Get-MessageTrace, inbox rules) kept
401/403-ing per tenant because the Exchange Operator SP was missing the Exchange Admin
directory role — admin consent grants Exchange.ManageAsApp but never the directory role.
onboard-tenant.sh assigns it, but tenants consented before that step / by hand never got
it, and nothing audited for it. Hence the recurring 'next onboarding will fix it' (false
for already-onboarded tenants).

- NEW assign-exchange-role.sh: idempotent role assignment via the authoritative
  roleManagement/directory/roleAssignments API (the legacy directoryRoles/members list
  reads back unreliably). <domain|--all> + --verify/--dry-run.
- Backfilled the whole fleet (--all): 13 stragglers ASSIGNED, 12 already OK, 20 skipped
  (tenant-admin not consented), 0 errors. Safe Site included.
- Standing audit documented (assign-exchange-role.sh --all --verify) + memory so no future
  session repeats the empty promise.
- Adds wiki/clients/safesite.md (tenant + 4-source endpoint inventory + investigation).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-08 20:07:28 -07:00
19b5ca299b sync: auto-sync from GURU-5070 at 2026-06-08 19:51:00
Author: Mike Swanson
Machine: GURU-5070
Timestamp: 2026-06-08 19:51:00
2026-06-08 19:51:46 -07:00
efb5bdfa77 sync: auto-sync from GURU-BEAST-ROG at 2026-06-08 19:11:27
Author: Mike Swanson
Machine: GURU-BEAST-ROG
Timestamp: 2026-06-08 19:11:27
2026-06-08 19:11:33 -07:00
a0e01c3d39 sync: auto-sync from GURU-5070 at 2026-06-08 19:04:33
Author: Mike Swanson
Machine: GURU-5070
Timestamp: 2026-06-08 19:04:33
2026-06-08 19:05:38 -07:00
d250086933 sync: auto-sync from GURU-BEAST-ROG at 2026-06-08 18:57:41
Author: Mike Swanson
Machine: GURU-BEAST-ROG
Timestamp: 2026-06-08 18:57:41
2026-06-08 18:57:46 -07:00
ef569dc84b sync: auto-sync from GURU-BEAST-ROG at 2026-06-08 16:57:04
Author: Mike Swanson
Machine: GURU-BEAST-ROG
Timestamp: 2026-06-08 16:57:04
2026-06-08 16:57:09 -07:00
31260814ee sync: auto-sync from GURU-BEAST-ROG at 2026-06-08 16:23:44
Author: Mike Swanson
Machine: GURU-BEAST-ROG
Timestamp: 2026-06-08 16:23:44
2026-06-08 16:23:48 -07:00
7f7f844eba sync: auto-sync from GURU-BEAST-ROG at 2026-06-08 15:55:24
Author: Mike Swanson
Machine: GURU-BEAST-ROG
Timestamp: 2026-06-08 15:55:24
2026-06-08 15:55:30 -07:00
c0ef73920c fix(remediation): Safe Site Utility Services marked onboarded (was stale NO)
Live-verified 2026-06-08: Security Investigator + User Manager + Tenant Admin Graph
tiers all consented and reading (subscribedSkus/organization HTTP 200) on
safesitellc.com (71b4e637-...). The reference's 'NO' was stale (last touched 2026-04-20).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-08 15:36:43 -07:00
7a84b30047 sync: auto-sync from HOWARD-HOME at 2026-06-08 15:25:56
Author: Howard Enos
Machine: HOWARD-HOME
Timestamp: 2026-06-08 15:25:56
2026-06-08 15:26:05 -07:00
f2474def5b sync: auto-sync from GURU-BEAST-ROG at 2026-06-08 10:50:37
Author: Mike Swanson
Machine: GURU-BEAST-ROG
Timestamp: 2026-06-08 10:50:37
2026-06-08 10:50:42 -07:00
eb5757d170 sync: auto-sync from GURU-BEAST-ROG at 2026-06-08 10:10:01
Author: Mike Swanson
Machine: GURU-BEAST-ROG
Timestamp: 2026-06-08 10:10:01
2026-06-08 10:10:06 -07:00
a14b723306 sync: auto-sync from GURU-BEAST-ROG at 2026-06-08 10:01:07
Author: Mike Swanson
Machine: GURU-BEAST-ROG
Timestamp: 2026-06-08 10:01:07
2026-06-08 10:01:14 -07:00
512ceb4727 feat(harness-guard): FATAL-promotion prerequisite — test matrix + pair-required conflict rule (VERSION 1.4.3)
Builds the false-positive/true-positive proof the plan requires before the guard can be
promoted to blocking, and fixes the one false-positive it surfaced.

- test-harness-guard.sh: 12-case matrix in a throwaway repo, runs the REAL guard, asserts
  WARN/clean for real conflicts/secrets/keys vs legit content (setext underlines, dividers,
  docs that mention a marker, encrypted sops, public keys, .example templates).
- harness-guard.sh: conflict rule now requires a real hunk (BOTH ^<<<<<<< AND ^>>>>>>>),
  dropping the lone =======$ trigger that false-positived on a 7-char setext underline /
  divider. Identical true-positive power (git writes all three markers); FP surface -> 0.
- /self-check: new harness.guard_selftest runs the matrix in an isolated temp repo (read-only
  vs the real tree) so guard correctness is continuously proven.

Verified 12/12 pass, true positives intact, real-tree FP surface = 0. FATAL flip (todo
f1c11d0d, on/after 2026-06-22) is now evidence-backed + one-step.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-08 08:41:58 -07:00
cfa264947b sync: auto-sync from GURU-BEAST-ROG at 2026-06-08 08:40:52
Author: Mike Swanson
Machine: GURU-BEAST-ROG
Timestamp: 2026-06-08 08:40:52
2026-06-08 08:40:58 -07:00
31e5cbd370 sync: auto-sync from GURU-5070 at 2026-06-08 08:34:06
Author: Mike Swanson
Machine: GURU-5070
Timestamp: 2026-06-08 08:34:06
2026-06-08 08:34:11 -07:00
e180a463e2 feat(self-check): command-restates-standard lint (consistency category, VERSION 1.4.2)
Task 3 leftover. Adds a 'consistency' category to /self-check that catches a standard
drifting back into restating/contradicting the command that owns the rule -- the Syncro
timers failure mode (standard said 'always timer' while /syncro said 'outlier only').

Deterministic half: each manifest.command_standard_links pair's standard must still carry
its defer-to-SSOT pointer (must_reference regex). Lost pointer = WARN. Seeded with
syncro-billing (time-entry-protocol.md -> /syncro). Semantic contradiction pass delegated
to the model in SKILL.md, mirroring check_memory. Verified PASS; negative-tested.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-08 08:29:58 -07:00