Files
FrenoCorp/agents/cto/memory/2026-05-02.md
Michael Freno ce9c89905a FRE-4540: Board responded — close issue, create revival child issues
Board decisions: Nessa (keep), Lendair (keep)
- FRE-4545 → Founding Engineer: Nessa scope definition
- FRE-4546 → Senior Engineer: Lendair scope definition
- FRE-4540 marked done, 3 child issues created for revived projects
- 5 projects archived (no code changes)
2026-05-02 11:39:27 -04:00

14 KiB

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 → 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
  • 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

Heartbeat: FRE-4537 — Review projects

Wake: issue_assigned — FRE-4537 "Review projects"

Comprehensive project review completed across all 13 company projects.

Actions Taken

  1. Created plan doc: plans/FRE-4537-project-review.md
  2. Posted comment on FRE-4537 with summary + 5 board questions
  3. Created 4 child issues:
    • FRE-4538 → Founding Engineer: Scripter deep-dive (code quality, duplicates, launch readiness)
    • FRE-4539 → Senior Engineer: ShieldAI deep-dive (dependencies, foundation, blocked triage)
    • FRE-4540 → CTO: Dormant/backlog project review (archive vs revive)
    • FRE-4541 → Code Reviewer: Code quality & test baseline assessment
  4. Reassigned CEO tasks (CEO in error state):
    • FRE-4414 (spam/ID suite) → Senior Engineer
    • FRE-4522 (integration tests) → Code Reviewer
  5. FRE-4528 (assign issues to engineers) — being addressed by this work

Key Findings

  • Scripter: 35 open issues, PH launch May 7, CMO paused = critical launch risk
  • ShieldAI: Phase 1 foundation unassigned, Phase 3 blocked with 6 stalled blockers
  • Dormant: 8 projects with no active work (AudiobookPipeline, Pop, 6 backlog)
  • Code quality: No formal test baseline, no CI/CD, single reviewer for all projects
  • Agent health: CEO (error), CMO (paused), 4 idle agents

Board Questions Asked

  1. Who covers the CMO/CEO gap for May 7 PH launch?
  2. Reassign CEO engineering tasks? (done proactively)
  3. Phase 1 foundation owner — Senior Engineer once unblocked?
  4. Archive dormant backlog projects?
  5. Confirm ShieldAI as canonical product going forward?

FRE-4540 — Dormant/Backlog Project Review

Wake: issue_assigned

Actions Taken

  1. Audited all 8 dormant/backlog projects (AudiobookPipeline, Pop, Firesoft, Lendair, Nessa, PodTui, Rssuper, TVRemote)
  2. Evaluated each on: strategic alignment, recent activity, development investment, maintenance burden, revival path
  3. Created assessment plan: plans/FRE-4540-dormant-project-review.md

Verdicts

  • ARCHIVE (5): AudiobookPipeline, Firesoft, PodTui, Rssuper, TVRemote
  • BOARD DECISION NEEDED (2): Nessa, Lendair — significant investment, non-core
  • REVIVE (1): Pop — recently active, security-hardened Go CLI

Next Steps

  • Post findings to FRE-4540 with recommendations
  • Await board input on Nessa and Lendair before creating child issues for those
  • Create child issue for Pop revival if board approves direction

Continuation heartbeat: FRE-4537 — Dormant review synced, oversight scan

Wake: continuation (no new board comments)

Actions

  • Confirmed FRE-4540 findings: Pop (active, Apr 29) and AudiobookPipeline (semi-active, Apr 4) need issues; 6 truly dormant
  • Oversight scan: 50 open issues (17 in_progress, 27 todo, 6 blocked), 16 in_review backlog on Code Reviewer
  • Agents: Founding Engineer (running), Senior Engineer (running), Code Reviewer (running) — all picked up child issues
  • CEOs tasks reassigned previously: FRE-4414 (Senior Eng), FRE-4522 (Code Reviewer)
  • No board responses yet to 5 questions

Next

  • FRE-4537 stays in_progress until children report back and board answers
  • Code review pipeline bottleneck noted (16 items) — Code Reviewer has FRE-4522+FRE-4541 in addition

Continuation heartbeat: FRE-4540 take action

Wake: issue_continuation_needed

Actions Taken

  1. Posted findings comment on FRE-4540 with full assessment summary
  2. Created interaction asking board to decide on Nessa (keep vs archive) and Lendair (keep vs archive)
  3. Created child issue FRE-4542 → Founding Engineer: Pop scope definition and revival
  4. Archived recommendations documented for 5 projects (AudiobookPipeline, Firesoft, PodTui, Rssuper, TVRemote)

Blockers

  • Nessa and Lendair decisions blocked on board response (interaction created, continuationPolicy: wake_assignee)
  • Pop revival unblocked — Founding Engineer has FRE-4542 in todo

Next

  • Await board response on Nessa/Lendair interaction
  • Founding Engineer picks up FRE-4542 for Pop scope definition
  • Once all decisions made, close FRE-4540

Continuation heartbeat: FRE-4537 — Board answered: revive Nessa + Lendair

Wake: issue_commented — board said "We should revive Nessa and Lendair"

Actions Taken

  1. FRE-4543 → Founding Engineer: Nessa revival (audit Swift app, stabilize, roadmap)
  2. FRE-4544 → Senior Engineer: Lendair revival (audit iOS Swift app, stabilize, roadmap)
  3. Updated plan doc plans/FRE-4537-project-review.md with revival status
  4. Acknowledged board directive on FRE-4537 and re-asked 4 remaining questions

Board Questions Still Pending

  1. CMO paused + CEO errored — who covers May 7 PH launch?
  2. Phase 1 (ShieldAI) owner?
  3. Archive remaining dormant projects?
  4. Confirm ShieldAI direction?

Continuation heartbeat: FRE-4540 — board responded, closing

Wake: issue_commented (interaction answered)

Board Decisions

  • Nessa → Keep as potential product line
  • Lendair → Keep as side business

Actions Taken

  • Created FRE-4545 → Founding Engineer: Nessa scope definition
  • Created FRE-4546 → Senior Engineer: Lendair scope definition
  • Posted final summary comment with all child issue references
  • Marked FRE-4540 as DONE
  • Updated plan doc with final execution summary

All Child Issues Created

Project Issue Assignee Action
Pop FRE-4542 Founding Engineer Scope definition
Nessa FRE-4545 Founding Engineer Scope definition
Lendair FRE-4546 Senior Engineer Scope definition
AudiobookPipeline Archived
Firesoft Archived
PodTui Archived
Rssuper Archived
TVRemote Archived