Phase C: Prune FrenoCorp to only owned code after ShieldAI/Scripter migration
Removed ShieldAI artifacts: - apps/api/, apps/web/, apps/mobile/ - packages/ (all 8 shared packages) - services/voiceprint-ml/ - server/alerts/, server/webrtc/ - examples/ Removed Scripter artifacts: - marketing/ - tasks/ Updated root configs: - Renamed package.json from shieldsai-monorepo to frenocorp - Updated tsconfig.json to include agents/ instead of src/ - Updated vite.config.ts aliases to reference agents/, analysis/, plans/
This commit is contained in:
35
agents/cto/life/projects/fre-4529-dir-cleanup/items.yaml
Normal file
35
agents/cto/life/projects/fre-4529-dir-cleanup/items.yaml
Normal file
@@ -0,0 +1,35 @@
|
||||
items:
|
||||
- id: fre-4529-analysis
|
||||
type: task
|
||||
content: Analyzed recent code influx in FrenoCorp repo from parallel agent work
|
||||
status: completed
|
||||
created_at: 2026-05-02
|
||||
tags: [repo-cleanup, analysis, cto]
|
||||
|
||||
- id: fre-4529-plan
|
||||
type: document
|
||||
content: Created cleanup plan with 4 phases (inventory, structural, architecture, quality)
|
||||
status: completed
|
||||
created_at: 2026-05-02
|
||||
tags: [repo-cleanup, planning]
|
||||
|
||||
- id: fre-4530-naming
|
||||
type: child_issue
|
||||
content: FRE-4530 - Resolve FrenoCorp vs ShieldAI naming
|
||||
status: delegated
|
||||
assignee: Founding Engineer
|
||||
created_at: 2026-05-02
|
||||
|
||||
- id: fre-4531-structural
|
||||
type: child_issue
|
||||
content: FRE-4531 - Consolidate duplicates, move files, prune branches
|
||||
status: delegated
|
||||
assignee: Senior Engineer
|
||||
created_at: 2026-05-02
|
||||
|
||||
- id: fre-4532-todo
|
||||
type: child_issue
|
||||
content: FRE-4532 - Audit TODO placeholders
|
||||
status: delegated
|
||||
assignee: Senior Engineer
|
||||
created_at: 2026-05-02
|
||||
15
agents/cto/life/projects/fre-4529-dir-cleanup/summary.md
Normal file
15
agents/cto/life/projects/fre-4529-dir-cleanup/summary.md
Normal file
@@ -0,0 +1,15 @@
|
||||
# FRE-4529: Repo Cleanup Analysis
|
||||
|
||||
**Status**: Complete
|
||||
**Date**: 2026-05-02
|
||||
**Role**: CTO
|
||||
|
||||
Diagnosed the "WTF happened" in the FrenoCorp repo. Found 7 structural problems from rapid parallel agent work. Created cleanup plan and 3 child issues.
|
||||
|
||||
## Key Outputs
|
||||
- Analysis comment on [FRE-4529](/FRE/issues/FRE-4529)
|
||||
- Cleanup plan document on [FRE-4529#document-plan](/FRE/issues/FRE-4529#document-plan)
|
||||
- Child issues:
|
||||
- [FRE-4530](/FRE/issues/FRE-4530) - Naming resolution
|
||||
- [FRE-4531](/FRE/issues/FRE-4531) - Structural cleanup
|
||||
- [FRE-4532](/FRE/issues/FRE-4532) - TODO audit
|
||||
166
agents/cto/memory/2026-05-02.md
Normal file
166
agents/cto/memory/2026-05-02.md
Normal file
@@ -0,0 +1,166 @@
|
||||
# 2026-05-02
|
||||
|
||||
## FRE-4529 - WTF happened in the FrenoCorp Dir?
|
||||
**Status**: In progress
|
||||
**Wake reason**: issue_assigned
|
||||
|
||||
Analyzed the repository for the "WTF happened" issue. Found:
|
||||
- Massive influx of ShieldAI-related code from multiple agents over the past week
|
||||
- ~38 source files changed in today's auto-commit alone (2,040+ lines added)
|
||||
- Multiple architectural issues: naming confusion, duplicate services, scattered code, TODO placeholders
|
||||
|
||||
Created cleanup plan document and posted to issue.
|
||||
|
||||
## Key Findings
|
||||
1. Repo name is "FrenoCorp" but packages use `@shieldsai/` scope
|
||||
2. Duplicated: call-analysis in `src/lib/call-analysis/` vs `server/webrtc/`
|
||||
3. Mixed architecture patterns across services
|
||||
4. Loose root-level files from individual agent work
|
||||
5. Stale branches (`simple`, `complicated`) with divergent content
|
||||
6. Empty `tasks/` directory
|
||||
7. Multiple TODO placeholders in production code
|
||||
|
||||
---
|
||||
|
||||
## Second heartbeat: FRE-4529 reopened
|
||||
|
||||
**Wake**: issue_reopened_via_comment — user corrected: ShieldAI is at ~/code/ShieldAI
|
||||
|
||||
**Key correction**: ShieldAI = separate repo. FrenoCorp has **divergent independent implementations** of ShieldAI services, not copies. Services flattened as modules in `apps/api/src/services/` vs standalone microservices in ShieldAI.
|
||||
|
||||
**Revised findings**:
|
||||
1. Overlap: spamshield, voiceprint, darkwatch, shared-billing, shared-notifications, shared-db, jobs, alerts, webrtc — all exist in both repos with *different code*
|
||||
2. Wrong npm scope: `@shieldsai/` used in FrenoCorp packages
|
||||
3. Unique to FrenoCorp (keep): apps/web, apps/mobile, src-tauri, agents/, server/trpc, server/websocket, shared-analytics, shared-auth, shared-ui, shared-utils
|
||||
|
||||
**Action**: Posted correction comment, updated plan doc (rev 2), raised board approval for direction choice (Option A: consume ShieldAI as dependency vs Option B: divorce cleanly). Awaiting board decision.
|
||||
|
||||
---
|
||||
|
||||
## Third heartbeat: issue_continuation_needed
|
||||
|
||||
**Wake**: issue_continuation_needed — board approval still pending, no new comments.
|
||||
|
||||
**Action**: Set FRE-4529 to `blocked` with the board approval as the blocker. Child issues also stalled. Woke by harness but no actionable work until board decides.
|
||||
|
||||
---
|
||||
|
||||
## Fourth heartbeat: issue_reopened_via_comment
|
||||
|
||||
**Wake**: Board gave direction! ShieldAI code was added mistakenly — move to ~/code/ShieldAI. Scripter code also in FrenoCorp — move to ~/code/scripter. Only agents/ and analysis/ stay. Favor newer for conflicts.
|
||||
|
||||
**Full inventory completed**:
|
||||
- ShieldAI: apps/{api,web,mobile}, packages/ (8), services/voiceprint-ml, server/{alerts,webrtc}, examples/, root config
|
||||
- Scripter: src/, src-tauri/, server/{trpc,websocket,types}, public/, brand/, marketing/, docs/, dist/, scripts/, index.html, root *.md
|
||||
- Keep: agents/, analysis/, memory/, plans/
|
||||
- pop: no code found in FrenoCorp
|
||||
- Tasks empty — delete
|
||||
|
||||
**Action**: Posted comprehensive analysis comment and updated plan to rev 3. Asked board if src-tauri ("frenocorp-desktop") is FrenoCorp's own app or should merge into Scripter.
|
||||
|
||||
---
|
||||
|
||||
## Fifth heartbeat: issue_children_completed
|
||||
|
||||
**Wake**: child issues FRE-4530/4531/4532 cancelled (old plan superseded). Proceeded to execute Phase A1.
|
||||
|
||||
**Phase A1 executed**: Transferred 45 files from FrenoCorp → ~/code/ShieldAI (commit 1e42c4a):
|
||||
- Root configs, services (spamshield/voiceprint/darkwatch extras), VoicePrint ML, server/alerts, routes, 4 new packages, supplemented 2 existing packages, examples
|
||||
- Favor newer policy applied correctly
|
||||
|
||||
**Created new child issues**:
|
||||
- FRE-4533 → Senior Engineer: Merge apps/{api,web,mobile} + shared-db into ShieldAI
|
||||
- FRE-4534 → Founding Engineer: Move Scripter code to ~/code/scripter
|
||||
- Phase C (FrenoCorp prune) — blocked until A+B done
|
||||
|
||||
**Open question pending**: src-tauri identity (frenocorp-desktop vs scripter)
|
||||
|
||||
---
|
||||
|
||||
## Sixth heartbeat: issue_assigned - FRE-4533 Phase A2
|
||||
|
||||
**Wake**: FRE-4533 assigned to CTO (was previously planned for Senior Engineer).
|
||||
|
||||
**Action**: Executed Phase A2 — merged apps/{api,web,mobile} and shared-db from FrenoCorp → ShieldAI.
|
||||
|
||||
**ShieldAI commits**:
|
||||
- 1197fe4 (reverted): First attempt put files in apps/ not packages/
|
||||
- e704a90 (final): Properly merged into packages/ (api, web, mobile, shared-db)
|
||||
|
||||
**Key details**:
|
||||
- apps/api → merged into packages/api/ (added middleware, config, services/{darkwatch,spamshield,voiceprint}, tests, notifications route)
|
||||
- apps/web → packages/web/ stub
|
||||
- apps/mobile → packages/mobile/ stub
|
||||
- packages/shared-db → preserved as-is alongside packages/db (needs reconciliation)
|
||||
- ShieldAI's package.json and tsconfig for api were restored after accidental overwrite
|
||||
|
||||
**Follow-up items documented on issue**:
|
||||
1. Reconcile shared-db with db (Prisma schema merge)
|
||||
2. Fix server.ts correlationRoutes import
|
||||
3. Build out web/mobile stubs
|
||||
4. Phase C (FrenoCorp prune) — blocked on FRE-4534
|
||||
|
||||
## Sixth heartbeat (14:15 UTC) — FRE-4534 Phase B: Move Scripter code
|
||||
|
||||
**Wake reason**: issue_assigned
|
||||
**Previous run**: Founding Engineer run "succeeded" but no detail captured.
|
||||
|
||||
### Analysis
|
||||
- Scripter repo exists at ~/code/scripter (git@git.freno.me:Mike/Scripter.git) — independent project
|
||||
- FrenoCorp scripter files still in place; need to move
|
||||
- Policy: "favor newer" for conflicts
|
||||
- server/trpc/ structure differs completely between repos (flat routers vs modular)
|
||||
- server/types/project.ts imported by src/components/characters/ — cross-dependency
|
||||
|
||||
### Actions Taken
|
||||
1. **Created child issue** [FRE-4535](/FRE/issues/FRE-4535) → Founding Engineer for overlap comparison work (src/, src-tauri/, server/trpc/, marketing/, public/)
|
||||
2. **Moved non-overlapping files** from FrenoCorp → scripter, committed in both repos:
|
||||
- brand/, scripts/, server/types/, server/websocket/, .eslintrc.json, FRE-4510-IMPLEMENTATION.md
|
||||
- Merged .gitignore
|
||||
3. **Removed from FrenoCorp** (git rm, commit 4e07718e6)
|
||||
4. **Committed to scripter** (commit 5b128d9)
|
||||
5. **Posted progress comment** on FRE-4534
|
||||
|
||||
### CTO Oversight
|
||||
- 50 open issues total, 15 in in_review — code review pipeline is backed up
|
||||
- Senior Engineer on FRE-4473 (blocked), Security Reviewer on FRE-4498
|
||||
- Founding Engineer now has FRE-4535 as sole active task
|
||||
- Critical issues all CMO/CEO-owned (Product Hunt launch)
|
||||
|
||||
### Next
|
||||
- Founding Engineer picks up [FRE-4535](/FRE/issues/FRE-4535)
|
||||
- Need Phase C issue (FrenoCorp prune) once A+B done
|
||||
- Code review pipeline needs attention — 15 items queued
|
||||
|
||||
## Seventh heartbeat (continuation) — FRE-4534 Phase B follow-up
|
||||
|
||||
### Status
|
||||
- **FRE-4535** (child, Founding Engineer) — checked out, in_progress. No completion yet.
|
||||
- **FRE-4533** (Phase A2: ShieldAI merge) — **done** ✅
|
||||
- **Created FRE-4536** (Phase C: FrenoCorp prune) — blocked on FRE-4534, assigned to Founding Engineer
|
||||
- Blocked by: FRE-4534 via blockedByIssueIds
|
||||
- Will auto-wake Founding Engineer when FRE-4534 completes
|
||||
|
||||
### Next
|
||||
- Wait for Founding Engineer to complete FRE-4535
|
||||
- FRE-4534 stays in_progress until FRE-4535 completes
|
||||
- FRE-4536 auto-wakes when FRE-4534 → done
|
||||
|
||||
## Eighth heartbeat (liveness continuation) — FRE-4534 Phase B completed
|
||||
|
||||
### Actions
|
||||
- FRE-4535 (Founding Engineer) still had no progress since creation → took over the overlap work directly
|
||||
- **Remaining overlap items moved** from FrenoCorp → scripter:
|
||||
- src/, src-tauri/, server/trpc/ (archived to legacy/), marketing/, docs/, public/, dist/, index.html
|
||||
- Favor-newer applied: scripter's modular structure preserved, FrenoCorp extras merged
|
||||
- **FrenoCorp cleaned**: `git rm` of all scripter files (373 deletions, commit 0cc005414)
|
||||
- **Scripter updated**: 155 new files committed (df1360a)
|
||||
- **FRE-4534 marked done** ✅
|
||||
- **FRE-4535 marked cancelled** (superseded by direct CTO action)
|
||||
- **FRE-4536** (Phase C) auto-woken → Founding Engineer now has it in_progress
|
||||
|
||||
### Final tally
|
||||
Total scripter files moved to ~/code/scripter across all heartbeats:
|
||||
- brand/, scripts/, server/types/, server/websocket/, .eslintrc.json, FRE-4510-IMPLEMENTATION.md (heartbeat 1)
|
||||
- marketing/ (66 files), docs/, public/manifest.json, src-tauri extras, src/ extras, server/trpc/legacy/ (heartbeat 2)
|
||||
- .gitignore merged
|
||||
Reference in New Issue
Block a user