chore: add PROJECT_STATE.md to all active projects and clients

Establishes inter-session coordination for 29 projects/clients:
- Full lock/component format for active projects (dataforth-dos,
  radio-show, cascades-tucson, valleywide, instrumental-music-center,
  lens-auto-brokerage, msp-audit-scripts)
- Light format for complete/stalled/planning (msp-pricing, pavon,
  wrightstown-*, gururmm-agent, community-forum, glaztech, etc.)
- Onboarding stubs for recently added clients

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-04-19 18:53:34 -07:00
parent b28152a358
commit 492fbbf4c9
29 changed files with 1159 additions and 0 deletions

View File

@@ -0,0 +1,19 @@
# Community Forum — Project State
> Last updated: 2026-04-20
**Status:** STALLED
**Last Activity:** 2026-03-30
Forum post themes and styling work. Contains `theme-v2.less` and a `forum-posts/` directory. Unclear whether this is an active forum product or one-off styling work.
## What Was Done
- `theme-v2.less` — second-iteration forum theme stylesheet
- `forum-posts/` — forum post content or templates
## If Resuming
- Clarify which forum platform this targets (Discourse, NodeBB, custom?)
- Review `theme-v2.less` for the current state of the design
- Check `forum-posts/` for any content that may need updating

View File

@@ -0,0 +1,76 @@
# Dataforth DOS — Project State
> READ THIS before starting work on this project.
> UPDATE THIS when you begin work (claim a lock) and when you finish (release lock + log changes).
> Last updated: 2026-04-20
---
## Active Session Locks
| Session | Working On | Status | Started |
|---------|-----------|--------|---------|
| _(none active)_ | | | |
**How to claim a lock:** Add a row before starting work. Remove it when done. Locks older than 2 hours with no update are considered stale.
---
## Current State
**Status:** ACTIVE / DEPLOYED
**Last Activity:** 2026-04-14
Legacy DOS hardware test pipeline for Dataforth Corporation. Node.js service (`testdatadb`) on AD2 (192.168.0.6) parses test log files from DOS-era test stations, stores 27k+ records in SQLite, and publishes datasheets to the web. As of 2026-04-12, pipeline was extended to support SCMVAS/SCMHVAS product families with a new VASLOG parser and accuracy-only datasheet template. 27,503 historical records backfilled; 434 Engineering-Tested .txt files imported. Service is production-deployed and running.
Remaining work: deploy session manager to SAGE-SQL, verify historical backfill accuracy for edge cases, continue any new product family extensions.
---
## Infrastructure / Access
| Component | IP/Location | Notes |
|-----------|-------------|-------|
| AD2 (primary) | 192.168.0.6 | Windows Server 2022, hosts testdatadb service on port 3000 |
| AD1 | 192.168.0.27 | Hosts Engineering share at \\AD1\Engineering |
| D2TESTNAS | 192.168.0.9 | SMB1 only — bridge for DOS test stations |
| VPN required | FortiClient | Must be connected to reach 192.168.0.x |
**Service:** `testdatadb` on AD2, account `INTRANET\svc_testdatadb`, working dir `C:\Shares\testdatadb`, API port 3000.
**Database:** SQLite at `C:\Shares\testdatadb\database/testdata.db` (4.1 GB, not in git).
**Web output:** `\\ad2\webshare\For_Web` (NOT `X:\For_Web` in SSH sessions).
**Credentials:**
```bash
# AD2 password (strip backslash escape)
bash D:/vault/scripts/vault.sh get-field clients/dataforth/ad2.sops.yaml credentials.password | sed 's/\\//g'
# AD1 password
bash D:/vault/scripts/vault.sh get-field clients/dataforth/ad1.sops.yaml credentials.password
```
**Anti-patterns:** See `CONTEXT.md` — especially: no X: drive in SSH, no 50+ args on PowerShell, no hardcoded passwords, no SMB1 on AD2.
---
## Pending / Next Up
- [ ] Deploy session manager to SAGE-SQL
- [ ] SCMVAS/SCMHVAS pipeline further extension (if new families identified)
- [ ] Verify 27,503 historical records backfill accuracy (438 plain-decimal edge cases patched 2026-04-12)
- [ ] Clean vault entry: ad2.sops.yaml has stale backslash in password (remove `\` escape)
---
## Recent Changes
| Date | By | Change | Status |
|------|-----|--------|--------|
| 2026-04-12 | Mike | SCMVAS/SCMHVAS pipeline: new VASLOG parser, accuracy-only template, 27,503 records backfilled, 434 ENG txt files imported | DEPLOYED |
| 2026-04-11 | Mike | Discovery session: explored VASLOG .DAT format, hvin.dat binary structure | RESEARCH |
---
## How to Update
**When starting:** Add your session to Active Session Locks (Session = "User/Machine", e.g. "Mike/DESKTOP-0O8A1RL").
**When finishing:** Remove your lock row, add entries to Recent Changes, update Current State if needed.

View File

@@ -0,0 +1,25 @@
# GuruRMM Agent (Claude Integration) — Project State
> Last updated: 2026-04-20
**Status:** COMPLETE
**Last Activity:** 2026-03-31
Rust/Tokio integration layer enabling Main Claude to invoke Claude Code CLI on AD2 (Windows Server 2022) via the GuruRMM WebSocket API. Rate-limited (10 tasks/hr), 2 concurrent max, 300s timeout. Implementation is production-ready but integration into the live GuruRMM agent binary was the pending step.
## What Was Done
- `agent/src/claude.rs` — 684-line Rust module: ClaudeExecutor struct, input sanitization, rate limiting, concurrency control, timeout management, unit tests
- `commands_modifications.rs` — step-by-step integration guide for adding `claude_task` command type to GuruRMM agent dispatcher
- `Cargo_dependencies.toml` — dependency spec (tokio 1.35, serde, serde_json, once_cell)
- `TESTING_AND_DEPLOYMENT.md` — 497-line complete deployment and testing guide
- `README.md` — full project documentation
## If Resuming
1. Copy `agent/src/claude.rs` into the live GuruRMM agent project (`azcomputerguru/gururmm`)
2. Follow `commands_modifications.rs` to wire up the `claude_task` command type
3. Update `Cargo.toml` in the agent crate with required dependencies
4. Build with `cargo build --release`, run `cargo test` and `cargo clippy`
5. Deploy to AD2 per `TESTING_AND_DEPLOYMENT.md` (stop service, backup binary, deploy, restart, smoke test)
6. Note: this was built against the GuruRMM API at 172.16.3.30:3001 — verify agent ID for AD2 before sending commands

View File

@@ -0,0 +1,23 @@
# MSP Pricing — Project State
> Last updated: 2026-04-20
**Status:** COMPLETE (stable reference)
**Last Activity:** 2026-02-01
MSP pricing calculator, models, and HTML price sheets for Arizona Computer Guru. Covers GPS endpoint monitoring, support plans, VoIP, web/email hosting pricing structures. Price sheets are published HTML files. No active development — used as a reference and updated only when pricing changes.
## What Was Done
- GPS price sheet (HTML): `GPS_Price_Sheet_12.html`
- VoIP pricing sheet: `GPS_VoIP_Pricing.html`
- VoIP tier comparison: `GPS_VoIP_Tier_Comparison.html`
- Supporting calculators in `calculators/`
- Documentation in `docs/`
- Marketing materials in `marketing/`
## If Resuming
- Update HTML price sheets when rates change
- Session logs in `session-logs/` for historical pricing decisions
- No infrastructure dependencies — all static files

View File

@@ -0,0 +1,25 @@
# GuruConnect — Project State
> Last updated: 2026-04-20
**Status:** STALLED
**Last Activity:** 2026-01-17 (planning), last session log 2025-12-29
GuruConnect is an MSP remote desktop solution (ScreenConnect replacement) built in Rust/Axum with a PostgreSQL backend. 24 conversation log files exist. Phase 1 (Security & Infrastructure) was scoped in January 2026 but never started — the project has been stalled since initial planning.
## What Was Done
- Full architecture designed: Rust agent (Windows), Rust relay server (Linux), WebSocket protocol, protobuf wire format
- Security gap analysis completed: 5 critical issues identified (JWT hardcoded, rate limiting, SQL injection, agent validation, session takeover)
- Phase 1-4 roadmap created (26-week timeline)
- CLAUDE.md, MASTER_ACTION_PLAN.md, GAP_ANALYSIS.md, CHECKLIST_STATE.json all written
- Server deploys to 172.16.3.30:3002, proxied via NPM to connect.azcomputerguru.com
- Codebase: Rust workspace with agent/ and server/ crates, proto/ for protobuf definitions
## If Resuming
1. Read `PHASE1_SECURITY_INFRASTRUCTURE.md` — 5 critical security fixes still outstanding
2. Read `CHECKLIST_STATE.json` for current progress (0/147 Phase 1 items completed as of last update)
3. Start with SEC-1 (JWT secret hardcoded) — highest priority blocker
4. Server is at 172.16.3.30:3002; static dashboard files in `server/static/`
5. Build: `cargo build -p guruconnect --release` (agent, Windows); cross-compile for Linux server

View File

@@ -0,0 +1,20 @@
# Howard Bootstrap — Project State
> Last updated: 2026-04-20
**Status:** STALLED
**Last Activity:** 2026-04-16
Bootstrap/onboarding setup for Howard's workstation and ClaudeTools integration. The directory contains only a README.txt, keys.txt, and setup.bat — minimal scaffolding. No substantive development has occurred.
## What Was Done
- Basic directory structure created
- setup.bat and keys.txt staged for Howard's initial machine setup
- No session logs recorded
## If Resuming
- Check `README.txt` for any setup instructions captured
- Determine what Howard still needs configured (vault access, git config, identity.json on his machine)
- Follow ONBOARDING.md process in `.claude/` for any new-machine setup steps

View File

@@ -0,0 +1,51 @@
# MSP Audit Scripts — Project State
> READ THIS before starting work on this project.
> UPDATE THIS when you begin work (claim a lock) and when you finish (release lock + log changes).
> Last updated: 2026-04-20
---
## Active Session Locks
| Session | Working On | Status | Started |
|---------|-----------|--------|---------|
| _(none active)_ | | | |
**How to claim a lock:** Add a row before starting work. Remove it when done. Locks older than 2 hours with no update are considered stale.
---
## Current State
**Status:** MAINTENANCE
**Last Activity:** 2026-04-17 (estimated from directory contents)
PowerShell audit scripts for MSP client environments. Two scripts: `server_audit.ps1` (server-side audit) and `workstation_audit.ps1` (workstation audit). Used ad-hoc during client engagements. No active development — maintained as stable reference scripts.
---
## Infrastructure / Access
No dedicated infrastructure. Scripts run against client environments via SSH or remote PowerShell. Credentials come from vault per-client.
---
## Pending / Next Up
- [ ] No active items — scripts are stable
---
## Recent Changes
| Date | By | Change | Status |
|------|-----|--------|--------|
| (no logged changes) | | | |
---
## How to Update
**When starting:** Add your session to Active Session Locks.
**When finishing:** Remove your lock row, add entries to Recent Changes.

View File

@@ -0,0 +1,21 @@
# Newsletter — Project State
> Last updated: 2026-04-20
**Status:** MAINTENANCE (ad-hoc)
**Last Activity:** 2026-04-09
HTML email newsletter templates for Arizona Computer Guru. Four variants maintained: flash-sale, clean, bold, and warm. Used as-needed for client or marketing emails.
## What Was Done
- `flash-sale-newsletter.html` — promotional flash-sale layout
- `variant-bold.html` — bold/high-contrast design variant
- `variant-clean.html` — minimal clean design variant
- `variant-warm.html` — warm/approachable design variant
## If Resuming
- Copy the most appropriate variant for the email campaign
- Customize copy and any promotional details
- No infrastructure — pure HTML/CSS, send via whatever email platform is in use

View File

@@ -0,0 +1,61 @@
# Computer Guru Radio Show — Project State
> READ THIS before starting work on this project.
> UPDATE THIS when you begin work (claim a lock) and when you finish (release lock + log changes).
> Last updated: 2026-04-20
---
## Active Session Locks
| Session | Working On | Status | Started |
|---------|-----------|--------|---------|
| _(none active)_ | | | |
**How to claim a lock:** Add a row before starting work. Remove it when done. Locks older than 2 hours with no update are considered stale.
---
## Current State
**Status:** ACTIVE (recurring weekly)
**Last Activity:** 2026-04-18 (most recent episode: "Tech That Makes Life Fun")
Weekly radio show audio production project. Post-show workflow transforms recorded broadcasts into tiered content: debrief notes, article drafts, archive-ready files. Episodes are stored under `episodes/` by date and title. The `audio-processor/` directory contains processing tooling; `website/` holds show website assets.
---
## Infrastructure / Access
- Episodes directory: `projects/radio-show/episodes/`
- Workflow reference: `projects/radio-show/post-show-workflow.md`
- Audio processor: `projects/radio-show/audio-processor/`
- Website assets: `projects/radio-show/website/`
No server infrastructure — all local processing.
---
## Pending / Next Up
- [ ] Verify post-show processing complete for 2026-04-18 episode ("Tech That Makes Life Fun")
- [ ] Process any queued episodes per `post-show-workflow.md`
---
## Recent Changes
| Date | By | Change | Status |
|------|-----|--------|--------|
| 2026-04-18 | Mike | Episode: "Tech That Makes Life Fun" | RECORDED |
| 2026-04-11 | Mike | Episode: "Hidden Price Tags" | RECORDED |
| 2026-04-05 | Mike | Episode: "AI Gold Rush Warp Speed" | RECORDED |
| 2026-03-21 | Mike | Episode: "Who Controls Your Tech" | RECORDED |
| 2026-03-14 | Mike | Episode: "AI Misconceptions" | RECORDED |
---
## How to Update
**When starting:** Add your session to Active Session Locks.
**When finishing:** Remove your lock row, add entries to Recent Changes, update Current State if needed.

View File

@@ -0,0 +1,22 @@
# Wrightstown Smart Home — Project State
> Last updated: 2026-04-20
**Status:** PLANNING
**Last Activity:** 2026-02-09
Privacy-first smart home system for the Wrightstown property. Stack: Home Assistant Yellow + local LLM + hybrid Claude/Grok bridge. No cloud dependencies for core automation.
## What Was Done
- Architecture decided: Home Assistant Yellow as hub
- Local LLM integration planned
- Hybrid Claude/Grok bridge designed for voice/AI features
- No code written — blocked on hardware
## If Resuming
- **Blocked by:** CM4/CM5 module not yet arrived (as of 2026-02-09 — verify current status)
- On hardware arrival: begin HA Yellow initial configuration, install Home Assistant OS
- Then: local LLM setup, then bridge integration
- Check `projects/wrightstown-smarthome/docs/` and `session-logs/` for any design documents

View File

@@ -0,0 +1,23 @@
# Wrightstown Solar — Project State
> Last updated: 2026-04-20
**Status:** PLANNING
**Last Activity:** 2026-02-09
DIY 48V LiFePO4 battery storage system (5-20 kWh) with Victron integration for the Wrightstown property. Components: EVE C40 cells, JK BMS, Victron MultiPlus II inverter/charger.
## What Was Done
- System design: 48V LiFePO4, EVE C40 cells, JK BMS, Victron MultiPlus II
- Capacity range defined: 5-20 kWh depending on cell count
- Victron integration planned
- No hardware procured yet
## If Resuming
- Begin with hardware procurement (EVE C40 cells, JK BMS, Victron MultiPlus II)
- Cell arrival: capacity test each cell individually before assembly
- BMS configuration: program JK BMS for 48V LiFePO4 pack parameters
- Victron setup: MultiPlus II commissioning, VE.Configure/VictronConnect
- Check `projects/wrightstown-solar/docs/` and `session-logs/` for any notes