Skip to content

strategy: session #0123 -- 3 tasks from v2 strategy analysis#242

Merged
fazxes merged 2 commits intomainfrom
worktree-agent-a4cb88b7
Apr 9, 2026
Merged

strategy: session #0123 -- 3 tasks from v2 strategy analysis#242
fazxes merged 2 commits intomainfrom
worktree-agent-a4cb88b7

Conversation

@fazxes
Copy link
Copy Markdown
Member

@fazxes fazxes commented Apr 9, 2026

Summary

First strategy session in the v2 brain era (sessions #107-#122, 16 delegations). Analyzed the 7 human-filed GitHub issues and produced 3 high-priority tasks.

Root Cause Analysis

The 7 human issues share 3 root causes:

  1. No feedback loop signal for eval staleness (feat: surface dependency cycles explicitly in module map #228, feat: vision-alignment tiebreaker in task selection (task #0072) #224, fix: target step 0 evaluations at cloned repos #94) -- fixed by strategy: session #0123 -- 3 tasks from v2 strategy analysis #242
  2. Worktree cleanup incomplete in daemon (fix: raise ValueError in _all_tasks_done when given empty list #223) -- fixed by fix: correct module_map comment imprecision and test date formatting #241
  3. Brain has no forcing function for non-build agents (fix: make module map generation survive per-file syntax errors #226, feat: add vision-alignment tiebreaker to task selection (task #0072) #225, docs: add infra.release to dependency flow chain and normalize infra/ ordering #221) -- partially addressed by oversee in overseer: dedupe auto-release queue #122, but eval cadence rule in strategy: session #0123 -- 3 tasks from v2 strategy analysis #242 adds another forcing function

Test plan

  • Verify task frontmatter passes bash .recursive/scripts/validate-tasks.sh
  • Verify .next-id is 244
  • No code changes -- runtime state only (tasks/ and strategy/)

…y report

Tasks created from analysis of sessions #107-#122 and 7 human-filed issues:
- #241 (urgent): fix worktree cleanup -- .claude/worktrees/agent-* leaking
- #242 (urgent): add sessions_since_eval signal + brain eval cadence rule
- #243 (normal): run nightshift against Phractal immediately (eval #17)

Root causes identified: eval loop broken (14 sessions stale), worktree leak
confirmed live, Phractal E2E never runs in daemon cadence.
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 1f307eb09a

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread .recursive/tasks/0242.md
In `nightshift/core/signals.py` or equivalent, add a `sessions_since_eval` signal that:
1. Reads the latest eval file from `.recursive/evaluations/` (highest-numbered `NNNN.md`)
2. Reads the current session count from `.recursive/sessions/index.md`
3. Returns `sessions_since_eval = current_session - eval_session_number`
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Compute eval staleness from session IDs, not eval file IDs

The task defines sessions_since_eval = current_session - eval_session_number, but the preceding text says eval #0016 happened in session #0108, so subtracting the eval file number (16) from the session count (123) would produce 107 instead of 14. That will make the staleness signal permanently inflated and force unnecessary eval delegations. The calculation needs to use the session ID associated with the latest eval run (e.g., parsed from eval metadata) rather than the evaluation document sequence number.

Useful? React with 👍 / 👎.

Comment thread .recursive/tasks/0243.md
Comment on lines +2 to +6
status: pending
priority: normal
target: v0.0.8
vision_section: self-maintaining
created: 2026-04-09
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Tag external eval run as integration task

This task requires cloning and testing against https://github.com/fazxes/Phractal (external network/resource dependency), but the frontmatter leaves environment unset, so it defaults to internal. The build operator explicitly skips only tasks tagged environment: integration, so this item can be auto-selected in environments where external access is unavailable and repeatedly fail/block the queue. Add environment: integration (or split into internal subtasks) so scheduler behavior matches the task's dependency profile.

Useful? React with 👍 / 👎.

Add the missing strategy report for session #123 that tasks #241,
#242, and #243 reference. Mark task #223 (worktree cleanup) as done
since it is superseded by the more detailed #241 spec.
@fazxes fazxes merged commit c4fb0bd into main Apr 9, 2026
7 checks passed
fazxes added a commit that referenced this pull request Apr 9, 2026
- Add `sessions_since_eval()` to signals.py: reads the latest eval file
  from .recursive/evaluations/, extracts its date/mtime, then counts
  session index rows after that timestamp. Returns a scalar int.
- Surface the signal prominently in the dashboard Health section next to
  Eval score, with STALE annotation when >= 5 sessions.
- Add alert in the Alerts section when sessions_since_eval >= 5, pointing
  the brain to delegate a Phractal eval run.
- Add eval cadence rule to brain.md Delegation Protocol: when
  eval_staleness alert fires, brain SHOULD include eval run as a
  delegation.
- Add 8 unit tests in test_signals.py and 6 in test_dashboard.py covering
  all branches of the new signal and alert logic.
- All 1156 tests pass (make check green).

Closes task #242.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant