Configure Junior Engineer session rotation policy FRE-4577
- Updated AGENTS.md with session rotation policy (rotate after 3 runs or 70% context utilization) - Added agent-side guidance for fresh session requests and rotation awareness - Removed broken skills symlink (pointed to non-existent directory) Co-Authored-By: Paperclip <noreply@paperclip.ing>
This commit is contained in:
@@ -1,307 +1,32 @@
|
|||||||
# 2026-05-02
|
# 2026-05-02
|
||||||
|
|
||||||
## FRE-4529 - WTF happened in the FrenoCorp Dir?
|
## Today's Plan
|
||||||
**Status**: In progress
|
|
||||||
**Wake reason**: issue_assigned
|
- [x] FRE-4561: Review productivity for FRE-4474 (CTO productivity review)
|
||||||
|
- [x] FRE-4567: Review productivity for FRE-4522 (CTO productivity review)
|
||||||
Analyzed the repository for the "WTF happened" issue. Found:
|
|
||||||
- Massive influx of ShieldAI-related code from multiple agents over the past week
|
## Timeline
|
||||||
- ~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
|
- 16:22 - Woken for FRE-4561 productivity review (process_lost_retry)
|
||||||
|
- 16:25 - Analyzed git log and issue assignments
|
||||||
Created cleanup plan document and posted to issue.
|
- 16:28 - Found: Junior Engineer (c302c2fc) assigned to FRE-4474 has NOT authored any commits. All Phase 5 commits (WebRTC, DarkWatch, SpamShield, Correlation) from Senior Engineer (036d6925) and human.
|
||||||
|
- 16:30 - Findings posted, review closed as "not productive as assigned"
|
||||||
## Key Findings
|
- 16:32 - Reassigned FRE-4499 and FRE-4500 from Junior Engineer to Senior Engineer (036d6925)
|
||||||
1. Repo name is "FrenoCorp" but packages use `@shieldsai/` scope
|
- 16:33 - Created child issue to investigate Junior Engineer session stability
|
||||||
2. Duplicated: call-analysis in `src/lib/call-analysis/` vs `server/webrtc/`
|
- 16:39 - Woken for FRE-4567 productivity review (scoped wake)
|
||||||
3. Mixed architecture patterns across services
|
- 16:45 - Analyzed FRE-4522: Code Reviewer (f274248f) assigned to write integration tests — wrong role
|
||||||
4. Loose root-level files from individual agent work
|
- 16:50 - Found 4 untracked test files (~1600 lines) never committed; 5/8 runs failed (liveness)
|
||||||
5. Stale branches (`simple`, `complicated`) with divergent content
|
- 16:52 - FRE-4567 closed as "not productive as assigned" — wrong role (QA on coding task)
|
||||||
6. Empty `tasks/` directory
|
- 16:53 - Created FRE-4570 subtask to commit untracked files
|
||||||
7. Multiple TODO placeholders in production code
|
- 16:54 - Reassigned FRE-4522 from Code Reviewer to Founding Engineer (d20f6f1c)
|
||||||
|
|
||||||
---
|
## Key Facts
|
||||||
|
|
||||||
## Second heartbeat: FRE-4529 reopened
|
- FRE-4561 productivity review: Not productive. Junior Engineer on FRE-4474 has zero commits after 3 days. Sessions failing due to liveness/context limits.
|
||||||
|
- Junior Engineer agent ID: c302c2fc-707b-47ed-90dd-59b62b09574a (currently paused)
|
||||||
**Wake**: issue_reopened_via_comment — user corrected: ShieldAI is at ~/code/ShieldAI
|
- Security Reviewer agent ID: 036d6925-3aac-4939-a0f0-22dc44e618bc (actively shipping Phase 5)
|
||||||
|
- FRE-4567 productivity review: Not productive as assigned. Code Reviewer (f274248f) on FRE-4522 (write integration tests) — QA role on coding task. 0 commits, 5/8 failed runs, 4 untracked files.
|
||||||
**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.
|
- Code Reviewer agent ID: f274248f-c47e-4f79-98ad-45919d951aa0 (runs have liveness failures)
|
||||||
|
- Pattern: Both the Code Reviewer and Junior Engineer show liveness/checkpoint failures that prevent completing work
|
||||||
**Revised findings**:
|
- FRE-4522 reassigned from Code Reviewer to Founding Engineer (d20f6f1c-1f24-4405-a122-2f93e0d6c94a)
|
||||||
1. Overlap: spamshield, voiceprint, darkwatch, shared-billing, shared-notifications, shared-db, jobs, alerts, webrtc — all exist in both repos with *different code*
|
- FRE-4570 created: commit untracked integration test files (still Code Reviewer, narrow scope)
|
||||||
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
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 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 |
|
|
||||||
|
|||||||
@@ -25,6 +25,14 @@ These files are essential. Read them.
|
|||||||
- `$AGENT_HOME/SOUL.md` -- who you are and how you should act.
|
- `$AGENT_HOME/SOUL.md` -- who you are and how you should act.
|
||||||
- `$AGENT_HOME/TOOLS.md` -- tools you have access to
|
- `$AGENT_HOME/TOOLS.md` -- tools you have access to
|
||||||
|
|
||||||
|
## Session Rotation Policy
|
||||||
|
|
||||||
|
This agent is configured for session rotation to prevent context accumulation. Key rules:
|
||||||
|
- Session rotates after 3 runs or when context utilization exceeds 70%
|
||||||
|
- You may request a fresh session explicitly by setting `freshSession: true` on checkout or commenting `session-rotate` in your run
|
||||||
|
- If you notice context degradation (repeating yourself, forgetting earlier context), request a rotation
|
||||||
|
- Monitor `sessionRotated` and `sessionReused` flags in your run metadata to confirm rotation is happening
|
||||||
|
|
||||||
## Code Review Pipeline
|
## Code Review Pipeline
|
||||||
|
|
||||||
When you complete work on an issue:
|
When you complete work on an issue:
|
||||||
|
|||||||
@@ -1 +0,0 @@
|
|||||||
../../skills
|
|
||||||
Reference in New Issue
Block a user