evals/: port Modern AI Productivity Pack Component 4, wire fm-brief.sh eval gate, Brandon-voice tov-eval - #1
Open
verbagem wants to merge 6 commits into
Open
evals/: port Modern AI Productivity Pack Component 4, wire fm-brief.sh eval gate, Brandon-voice tov-eval#1verbagem wants to merge 6 commits into
verbagem wants to merge 6 commits into
Conversation
Component 2's Firstmate-side half: fm-linear-poll.mjs claims pending rows from the Supabase bridge table (populated by ops/linear-dispatch-webhook/, PR kunchenguid#197) and dispatches real crewmates, routed by Linear team id per the 2026-07-20 team-per-business restructure. fm-linear-team-scaffold.mjs and fm-linear-team-reshape.mjs create/reshape Linear teams into the standard 5-state/3-label dispatch shape, used to stand up the 13 current teams. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CZTwc4SabVJiWp2ZhR2UV3
- TEAM_ROUTING now has a real notionProject for all 13 teams, not just 2 (the other 11 got null placeholders in the first pass, called out as the bare-minimum failure mode to stop doing) - createNotionTask now actually POSTs to the Notion REST API instead of writing a JSONL request file for some hypothetical future session to pick up later Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CZTwc4SabVJiWp2ZhR2UV3
- AGENTS.md: voice-carries-the-interaction preference (captain 2026-07-19/20) - herdr.sh: replace grep -F with case/glob for POSIX portability - .claude/settings.json: autoCompactEnabled, drop the focus-gate hook wiring the captain tried earlier and asked to remove (SessionStart/UserPromptSubmit/ PreToolUse hooks calling command-center/ops/focus-gate.py) - the actual script lives in a different repo and was never part of this one
0.82.1's changelog only touches auth and model-catalog code, none of the ToolDefinition/renderer surface fm-calm depends on, and the presentation-only test still passes unmodified against it.
… evals/ directory in firstmate, rewrote tov-eval.md for Brandon Quijano's actual voice with cited sources, and wired bin/fm-brief.sh's ship-mode scaffold to instruct crewmates to run the relevant eval(s) before reporting done.
…ying the eval-step wiring (run_eval.sh + FAIL-means-loop-and-fix) renders correctly across all three ship delivery modes, closing a test-coverage gap left by iteration 1's otherwise-working implementation.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Unattended overnight build via gnhf-nightly, per resources/modern-ai-productivity-pack/05-MASTER-RECREATE-PROMPT.md Component 4 + 03-evals/ (that pack lives in command-center, read read-only as reference).
Verification: gnhf reported 4/4 good iterations, genuine 'stop condition met' (not a forced stop, unlike this batch's other command-center run). Independently re-ran bin/fm-lint.sh myself against the actual worktree after the fact — exit 0, clean.