Skip to content

fix(calm): hide routine supervision notes - #4529

Open
dctmfoo wants to merge 6 commits into
kunchenguid:mainfrom
dctmfoo:fm/fm-calm-hide-routine-notes-i1
Open

dctmfoo wants to merge 6 commits into
kunchenguid:mainfrom
dctmfoo:fm/fm-calm-hide-routine-notes-i1

Conversation

@dctmfoo

@dctmfoo dctmfoo commented Sep 15, 2026

Copy link
Copy Markdown

Intent

Configure Firstmate in Pi so the routine sailboat-prefixed supervision updates shown in the supplied screenshot do not appear in chat. Check whether an existing configuration already controls them, check the current remote implementation, update Firstmate, and keep important updates visible.

What Changed

  • Hide sailboat-prefixed routine supervision notes while Pi Calm mode is active, including restored and live rows, without removing them from stock exports.
  • Keep captain outcomes and supervision pause or recovery alerts visible by routing health alerts through a dedicated native message type and preserving legacy rendering.
  • Document the Calm presentation contract and extend branch-extension coverage for toggling, exports, allowlisting, and health alerts.

Risk Assessment

✅ Low: Captain, the change is narrowly scoped to presentation, preserves health and captain-facing updates, and introduces no material source-verifiable risk.

Testing

Installed Pi 0.85.1 was driven live in an isolated home. Calm hid live and restored routine notes, /calm repainted them reversibly, and current plus legacy health and captain updates stayed visible. Two focused executable regressions passed, including provider-error pause and recovery behavior. After correcting the in-memory export setup, persisted-session export succeeded. macOS Screen Recording permission was unavailable, so the evidence contains exact TUI recordings instead of PNG screenshots. The worktree remained clean.

  • Live validation: ✅ go - 4 of 4 scenarios driven live against the product
Scenario Result Live Evidence
Captain enables Calm and routine sailboat supervision notes disappear from chat ✅ pass live calm-on-tui.typescript: Pi omitted the routine-worker row with Calm on, restored it after /calm off, and removed it again after /calm on.
Calm keeps important current and legacy supervision updates visible ✅ pass live calm-on-tui.typescript: pause, recovery, legacy captain, and current sequence-keyed captain rows remained visible in Calm.
Resuming an existing Calm session suppresses only restored routine notes ✅ pass live calm-restored-session.typescript and the persisted JSONL session show Pi suppressing the restored routine row while retaining restored health and captain rows.
Calm suppression is reversible and presentation-only ✅ pass live Live /calm toggles repainted the existing row without recreating it, while the persisted JSONL retained the routine message. The focused renderer test also passed its stock-export rendering assertio…
Evidence: Focused executable regressions
Focused renderer regression passed routine-note suppression, captain visibility, and delivery behavior. Focused provider-health regression passed pause, cooldown, recovery, and visible health-note behavior.
Evidence: Live Pi Calm toggle recording

Source: Live Pi Calm toggle recording

Warning: No models match pattern "anthropic/claude-opus-4-6"
Warning: No models match pattern "anthropic/claude-sonnet-4-6"
�[38;5;241mModel scope: gpt-5.4, qwen3.8:27b-mlx�[38;5;244m (Ctrl+P to cycle)�[39m�[39m
�[?2004h�[>7u�[?u�[c�[?25l�[?2026h�[0m�]8;;�

 �[38;5;109mpi�[39m�[38;5;241m v0.85.1�[39m                                                                     �[0m�]8;;�

 �[38;5;241mescape�[39m�[38;5;244m interrupt�[39m�[38;5;244m · �[39m�[38;5;241mctrl+c/ctrl+d�[39m�[38;5;244m clear/exit�[39m�[38;5;244m · �[39m�[38;5;241m/�[39m�[38;5;244m commands�[39m�[38;5;244m · �[39m�[38;5;241m!�[39m�[38;5;244m bash�[39m�[38;5;244m · �[39m�[38;5;241mctrl+o�[39m�[38;5;244m     �[0m�]8;;�

 �[38;5;244mmore�[39m                                                                           �[0m�]8;;�

 �[38;5;241mPress ctrl+o to show full startup help and loaded resources.�[39m                   �[0m�]8;;�

                                                                                �[0m�]8;;�

 �[38;5;241mPi can explain its own features and look up its docs. Ask it how to use or     �[0m�]8;;�

 �[38;5;241mextend Pi.�[39m                                                                     �[0m�]8;;�

�[0m�]8;;�

�[0m�]8;;�

�[38;5;139m────────────────────────────────────────────────────────────────────────────────�[39m�[0m�]8;;�

�[7m �[0m                                                                               �[0m�]8;;�

�[38;5;139m────────────────────────────────────────────────────────────────────────────────�[39m�[0m�]8;;�

�[38;5;241m~/.no-mistakes/worktrees/112ad61efd5a/01M2J3JP94H00DHX4BQ153YQB9 (detached)�[39m�[0m�]8;;�

�[38;5;241m0.1%/66k (auto)�[39m�[38;5;241m                                           qwen3.8:27b-mlx • high�[39m�[0m�]8;;��[?2026l�[3A�[1G�[?25l�]0;π - 01M2J3JP94H00DHX4BQ153YQB9��[?2026h�[2A
�[2K�[38;5;222m[Skills]�[39m                                                                        �[0m�]8;;�

�[2K�[38;5;241m  afk, ahoy, apple-app-bootstrap, apple-app-icon, apple-platform-think,         �[0m�]8;;�

�[2K�[38;5;241marchive-link-finder, ask-user-authority, azure-devops-gitops-operator,          �[0m�]8;;�

�[2K�[38;5;241mazure-ril-documentum-aks-devops, bearings, beautiful-mermaid, better-colors,    �[0m�]8;;�

�[2K�[38;5;241mbetter-typography, better-ui, bootstrap-diagnostics, captain-design-talk,       �[0m�]8;;�

�[2K�[38;5;241mcaptain-hold-lifecycle, captivating-tech-shorts, chrome-cdp, claude,            �[0m�]8;;�

�[2K�[38;5;241mclaude-agent-sdk-dev, claude-agent-sdk-upgrade-guard,                           �[0m�]8;;�

�[2K�[38;5;241mclaude-automation-recommender, codex-goal-prompt, context7, converge,           �[0m�]8;;�

�[2K�[38;5;241mcustomer-email-author, decision-hold-lifecycle, design-concepts,                �[0m�]8;;�

�[2K�[38;5;241mdesign-judgment, design-taste-frontend, diagnostic-reasoning,                   �[0m�]8;;�

�[2K�[38;5;241mdocumentum-25-4-sources, drawio, engineering-principles, excalidraw,            �[0m�]8;;�

�[2K�[38;5;241mextract-x-article, find-skills, finding-judgment, firstmate-codexapp,           �[0m�]8;;�

�[2K�[38;5;241mfirstmate-coding-guidelines, firstmate-orca, fmx-respond,                       �[0m�]8;;�

�[2K�[38;5;241mgemini-translation-review, gh-address-comments, gptpro, grill-me, grilling,     �[0m�]8;;�

�[2K�[38;5;241mharness-adapters, hatch-pet, herdr, html, html-diagram, html-plan,              �[0m�]8;;�

�[2K�[38;5;241mhub-catalog-entry-author, intelli-expense-import, kun, last30days, no-mistakes, �[0m�]8;;�

�[2K�[38;5;241mopentext-docx, opentext-html-brief-to-pptx, opentext-ppt-template,              �[0m�]8;;�

�[2K�[38;5;241mopentext-pptx-agents-template, oracle-render-pack, otds-cli-gap-implementer,    �[0m�]8;;�

�[2K�[38;5;241moverlay-studio-ril-dev-sync, parallel-search-extract, peekaboo, playwright,     �[0m�]8;;�

�[2K�[38;5;241mplaywright-interactive, process-event-sources, prod-user-migration,             �[0m�]8;;�

�[2K�[38;5;241mproject-management, promo-video-review-board, quiet, quota-array-dispatch,      �[0m�]8;;�

�[2K�[38;5;241mrecall, record-matched-ui-scenarios, reliance-codex-agent-pc-gitops-operator,   �[0m�]8;;�

�[2K�[38;5;241mreliance-project-tour, repo, repobench-ril-windows-release,                     �[0m�]8;;�

�[2K�[38;5;241mril-deploy-config-operator, ril-dev-customer-env-operator,                      �[0m�]8;;�

�[2K�[38;5;241mril-helper-script-author, ril-inventory-enricher, ril-issue-documenter,         �[0m�]8;;�

�[2K�[38;5;241mscreenshot, secondmate-provisioning, show-me, sitrep, stepback-coach, stow,     �[0m�]8;;�

�[2K�[38;5;241mstuck-crewmate-recovery, swiftui-design-principles, swiftui-pro, tldraw-offline,�[0m�]8;;�

�[2K�[38;5;241munslop, updatefirstmate, web-search-plus�[39m                                        �[0m�]8;;�

�[2K�[0m�]8;;�

�[2K�[38;5;222m[Prompts]�[39m                                                                       �[0m�]8;;�

�[2K�[38;5;241m  /double-check, /double-check-plan�[39m                                             �[0m�]8;;�

�[2K�[0m�]8;;�

�[2K�[38;5;222m[Extensions]�[39m                                                                    �[0m�]8;;�

�[2K�[38;5;241m  calm-render-evidence.ts, chrome-devtools-mcp, fm-branch-supervision.ts,       �[0m�]8;;�

�[2K�[38;5;241mfm-calm.ts, fm-primary-pi-watch.ts, fm-primary-turnend-guard.ts,                �[0m�]8;;�

�[2K�[38;5;241mherdr-agent-state.ts, pi-librarian@1.3.7, pi-review-loop�[39m                        �[0m�]8;;�

�[2K�[0m�]8;;�

�[2K�[38;5;226m[Skill conflicts]�[39m                                                               �[0m�]8;;�

�[2K�[38;5;226m  ~/.codex/skills/ril-pipelines-repo-operator/SKILL.md�[39m                          �[0m�]8;;�

�[2K�[38;5;226m    Nested mappings are not allowed in compact mappings at line 2, column 14:   �[0m�]8;;�

�[2K�[38;5;226m                                                                                �[0m�]8;;�

�[2K�[38;5;226mdescription: Standardize every change to the dctm254-pipelines repo that must r…�[0m�]8;;�

�[2K�[38;5;226m             ^                                                                  �[0m�]8;;�

�[2K�[38;5;226m�[39m                                                                                �[0m�]8;;�

�[2K�[0m�]8;;�

�[2K�[0m�]8;;�

�[2K �[38;5;241mChrome DevTools MCP: 29 tools ready�[39m                                            �[0m�]8;;�

�[2K�[0m�]8;;�

�[2K�[0m�]8;;�

�[2K �[38;5;188m⛵�[39m�[38;5;241m Supervision branch paused after repeated provider errors; main will handle  �[0m�]8;;�

�[2K �[38;5;241mwakes while it cools down.�[39m                                                     �[0m�]8;;�

�[2K�[0m�]8;;�

�[2K �[38;5;241m⚓ legacy-task: captain review required�[39m                                        �[0m�]8;;�

�[2K�[0m�]8;;�

�[2K �[38;5;188m⛵�[39m�[38;5;241m Supervision branch recovered after a successful cooldown probe.�[39m             �[0m�]8;;�

�[2K�[0m�]8;;�

�[2K �[38;5;188m⚓�[39m�[38;5;241m [seq 42] current-task: PR checks green, ready for captain review�[39m            �[0m�]8;;�

�[2K�[0m�]8;;�

�[2K�[38;5;139m────────────────────────────────────────────────────────────────────────────────�[39m�[0m�]8;;�

�[2K�[7m �[0m                                                                               �[0m�]8;;�

�[2K�[38;5;139m────────────────────────────────────────────────────────────────────────────────�[39m�[0m�]8;;�

�[2K�[38;5;241m~/.no-mistakes/worktrees/112ad61efd5a/01M2J3JP94H00DHX4BQ153YQB9 (detached)�[39m�[0m�]8;;�

�[2K�[38;5;241m0.1%/66k (auto)�[39m�[38;5;241m                                  (ollama) qwen3.8:27b-mlx • high�[39m�[0m�]8;;��[?2026l�[3A�[1G�[?25l�[1G�[?25l�[1G�[?25l�[?2026h�[11A
�[2K �[38;5;188m⛵�[39m�[38;5;241m routine-worker: healthy, no action needed�[39m                                   �[0m�]8;;�

�[2K�[0m�]8;;�

�[2K �[38;5;188m⛵�[39m�[38;5;241m Supervision branch paused after repeated provider errors; main will handle  �[0m�]8;;�

�[2K �[38;5;241mwakes while it cools down.�[39m                                                     �[0m�]8;;�

�[2K�[0m�]8;;�

�[2K �[38;5;241m⚓ legacy-task: captain review required�[39m                                        �[0m�]8;;�

�[2K�[0m�]8;;�

�[2K �[38;5;188m⛵�[39m�[38;5;241m Supervision branch recovered after a successful cooldown probe.�[39m             �[0m�]8;;�

�[2K�[0m�]8;;�

�[2K �[38;5;188m⚓�[39m�[38;5;241m [seq 42] current-task: PR checks green, ready for captain review�[39m            �[0m�]8;;�

�[2K�[0m�]8;;�

�[2K �[38;5;241mTool output: collapsed�[39m                                                         �[0m�]8;;�

�[2K�[0m�]8;;�

�[2K�[38;5;139m────────────────────────────────────────────────────────────────────────────────�[39m�[0m�]8;;�

�[2K�[7m �[0m                                                                               �[0m�]8;;�

�[2K�[38;5;139m────────────────────────────────────────────────────────────────────────────────�[39m�[0m�]8;;�

�[2K�[38;5;241m~/.no-mistakes/worktrees/112ad61efd5a/01M2J3JP94H00DHX4BQ153YQB9 (detached)�[39m�[0m�]8;;�

�[2K�[38;5;241m0.1%/66k (auto)�[39m�[38;5;241m                                  (ollama) qwen3.8:27b-mlx • high�[39m�[0m�]8;;��[?2026l�[3A�[1G�[?25l�[1G�[?25l�[?2026h�[14A
�[2K�[0m�]8;;�

�[2K �[38;5;188m⛵�[39m�[38;5;241m Supervision branch paused after repeated provider errors; main will handle  �[0m�]8;;�

�[2K �[38;5;241mwakes while it cools down.�[39m                                                     �[0m�]8;;�

�[2K�[0m�]8;;�

�[2K �[38;5;241m⚓ legacy-task: captain review required�[39m                                        �[0m�]8;;�

�[2K�[0m�]8;;�

�[2K �[38;5;188m⛵�[39m�[38;5;241m Supervision branch recovered after a successful cooldown probe.�[39m             �[0m�]8;;�

�[2K�[0m�]8;;�

�[2K �[38;5;188m⚓�[39m�[38;5;241m [seq 42] current-task: PR checks green, ready for captain review�[39m            �[0m�]8;;�

�[2K�[0m�]8;;�

�[2K �[38;5;241mTool output: collapsed�[39m                                                         �[0m�]8;;�

�[2K�[0m�]8;;�

�[2K�[38;5;139m────────────────────────────────────────────────────────────────────────────────�[39m�[0m�]8;;�

�[2K�[7m �[0m                                                                               �[0m�]8;;�

�[2K�[38;5;139m────────────────────────────────────────────────────────────────────────────────�[39m�[0m�]8;;�

�[2K�[38;5;241m~/.no-mistakes/worktrees/112ad61efd5a/01M2J3JP94H00DHX4BQ153YQB9 (detached)�[39m�[0m�]8;;�

�[2K�[38;5;241m0.1%/66k (auto)�[39m�[38;5;241m                                  (ollama) qwen3.8:27b-mlx • high�[39m�[0m�]8;;�

�[2K�[1A�[?2026l�[3A�[1G�[?25l�[<u�[1G�[?25l �[4B

�[?25h�[?2004l�]0;π - 01M2J3JP94H00DHX4BQ153YQB9�
Evidence: Restored Pi session under Calm

Source: Restored Pi session under Calm

Warning: No models match pattern "anthropic/claude-opus-4-6"
Warning: No models match pattern "anthropic/claude-sonnet-4-6"
�[38;5;241mModel scope: gpt-5.4, qwen3.8:27b-mlx�[38;5;244m (Ctrl+P to cycle)�[39m�[39m
�[?2004h�[>7u�[?u�[c�[?25l�[?2026h�[0m�]8;;�

 �[38;5;109mpi�[39m�[38;5;241m v0.85.1�[39m                                                                     �[0m�]8;;�

 �[38;5;241mescape�[39m�[38;5;244m interrupt�[39m�[38;5;244m · �[39m�[38;5;241mctrl+c/ctrl+d�[39m�[38;5;244m clear/exit�[39m�[38;5;244m · �[39m�[38;5;241m/�[39m�[38;5;244m commands�[39m�[38;5;244m · �[39m�[38;5;241m!�[39m�[38;5;244m bash�[39m�[38;5;244m · �[39m�[38;5;241mctrl+o�[39m�[38;5;244m     �[0m�]8;;�

 �[38;5;244mmore�[39m                                                                           �[0m�]8;;�

 �[38;5;241mPress ctrl+o to show full startup help and loaded resources.�[39m                   �[0m�]8;;�

                                                                                �[0m�]8;;�

 �[38;5;241mPi can explain its own features and look up its docs. Ask it how to use or     �[0m�]8;;�

 �[38;5;241mextend Pi.�[39m                                                                     �[0m�]8;;�

�[0m�]8;;�

�[0m�]8;;�

�[38;5;139m────────────────────────────────────────────────────────────────────────────────�[39m�[0m�]8;;�

�[7m �[0m                                                                               �[0m�]8;;�

�[38;5;139m────────────────────────────────────────────────────────────────────────────────�[39m�[0m�]8;;�

�[38;5;241m~/.no-mistakes/worktrees/112ad61efd5a/01M2J3JP94H00DHX4BQ153YQB9 (detached)�[39m�[0m�]8;;�

�[38;5;241m0.1%/66k (auto)�[39m�[38;5;241m                                           qwen3.8:27b-mlx • high�[39m�[0m�]8;;��[?2026l�[3A�[1G�[?25l�]0;π - 01M2J3JP94H00DHX4BQ153YQB9��[?2026h�[2A
�[2K�[38;5;222m[Skills]�[39m                                                                        �[0m�]8;;�

�[2K�[38;5;241m  afk, ahoy, apple-app-bootstrap, apple-app-icon, apple-platform-think,         �[0m�]8;;�

�[2K�[38;5;241marchive-link-finder, ask-user-authority, azure-devops-gitops-operator,          �[0m�]8;;�

�[2K�[38;5;241mazure-ril-documentum-aks-devops, bearings, beautiful-mermaid, better-colors,    �[0m�]8;;�

�[2K�[38;5;241mbetter-typography, better-ui, bootstrap-diagnostics, captain-design-talk,       �[0m�]8;;�

�[2K�[38;5;241mcaptain-hold-lifecycle, captivating-tech-shorts, chrome-cdp, claude,            �[0m�]8;;�

�[2K�[38;5;241mclaude-agent-sdk-dev, claude-agent-sdk-upgrade-guard,                           �[0m�]8;;�

�[2K�[38;5;241mclaude-automation-recommender, codex-goal-prompt, context7, converge,           �[0m�]8;;�

�[2K�[38;5;241mcustomer-email-author, decision-hold-lifecycle, design-concepts,                �[0m�]8;;�

�[2K�[38;5;241mdesign-judgment, design-taste-frontend, diagnostic-reasoning,                   �[0m�]8;;�

�[2K�[38;5;241mdocumentum-25-4-sources, drawio, engineering-principles, excalidraw,            �[0m�]8;;�

�[2K�[38;5;241mextract-x-article, find-skills, finding-judgment, firstmate-codexapp,           �[0m�]8;;�

�[2K�[38;5;241mfirstmate-coding-guidelines, firstmate-orca, fmx-respond,                       �[0m�]8;;�

�[2K�[38;5;241mgemini-translation-review, gh-address-comments, gptpro, grill-me, grilling,     �[0m�]8;;�

�[2K�[38;5;241mharness-adapters, hatch-pet, herdr, html, html-diagram, html-plan,              �[0m�]8;;�

�[2K�[38;5;241mhub-catalog-entry-author, intelli-expense-import, kun, last30days, no-mistakes, �[0m�]8;;�

�[2K�[38;5;241mopentext-docx, opentext-html-brief-to-pptx, opentext-ppt-template,              �[0m�]8;;�

�[2K�[38;5;241mopentext-pptx-agents-template, oracle-render-pack, otds-cli-gap-implementer,    �[0m�]8;;�

�[2K�[38;5;241moverlay-studio-ril-dev-sync, parallel-search-extract, peekaboo, playwright,     �[0m�]8;;�

�[2K�[38;5;241mplaywright-interactive, process-event-sources, prod-user-migration,             �[0m�]8;;�

�[2K�[38;5;241mproject-management, promo-video-review-board, quiet, quota-array-dispatch,      �[0m�]8;;�

�[2K�[38;5;241mrecall, record-matched-ui-scenarios, reliance-codex-agent-pc-gitops-operator,   �[0m�]8;;�

�[2K�[38;5;241mreliance-project-tour, repo, repobench-ril-windows-release,                     �[0m�]8;;�

�[2K�[38;5;241mril-deploy-config-operator, ril-dev-customer-env-operator,                      �[0m�]8;;�

�[2K�[38;5;241mril-helper-script-author, ril-inventory-enricher, ril-issue-documenter,         �[0m�]8;;�

�[2K�[38;5;241mscreenshot, secondmate-provisioning, show-me, sitrep, stepback-coach, stow,     �[0m�]8;;�

�[2K�[38;5;241mstuck-crewmate-recovery, swiftui-design-principles, swiftui-pro, tldraw-offline,�[0m�]8;;�

�[2K�[38;5;241munslop, updatefirstmate, web-search-plus�[39m                                        �[0m�]8;;�

�[2K�[0m�]8;;�

�[2K�[38;5;222m[Prompts]�[39m                                                                       �[0m�]8;;�

�[2K�[38;5;241m  /double-check, /double-check-plan�[39m                                             �[0m�]8;;�

�[2K�[0m�]8;;�

�[2K�[38;5;222m[Extensions]�[39m                                                                    �[0m�]8;;�

�[2K�[38;5;241m  chrome-devtools-mcp, fm-branch-supervision.ts, fm-calm.ts,                    �[0m�]8;;�

�[2K�[38;5;241mfm-primary-pi-watch.ts, fm-primary-turnend-guard.ts, herdr-agent-state.ts,      �[0m�]8;;�

�[2K�[38;5;241mpi-librarian@1.3.7, pi-review-loop�[39m                                              �[0m�]8;;�

�[2K�[0m�]8;;�

�[2K�[38;5;226m[Skill conflicts]�[39m                                                               �[0m�]8;;�

�[2K�[38;5;226m  ~/.codex/skills/ril-pipelines-repo-operator/SKILL.md�[39m                          �[0m�]8;;�

�[2K�[38;5;226m    Nested mappings are not allowed in compact mappings at line 2, column 14:   �[0m�]8;;�

�[2K�[38;5;226m                                                                                �[0m�]8;;�

�[2K�[38;5;226mdescription: Standardize every change to the dctm254-pipelines repo that must r…�[0m�]8;;�

�[2K�[38;5;226m             ^                                                                  �[0m�]8;;�

�[2K�[38;5;226m�[39m                                                                                �[0m�]8;;�

�[2K�[0m�]8;;�

�[2K�[0m�]8;;�

�[2K �[38;5;241mChrome DevTools MCP: 29 tools ready�[39m                                            �[0m�]8;;�

�[2K�[0m�]8;;�

�[2K�[0m�]8;;�

�[2K �[38;5;188m⛵�[39m�[38;5;241m Supervision branch paused after repeated provider errors; main will handle  �[0m�]8;;�

�[2K �[38;5;241mwakes while it cools down.�[39m                                                     �[0m�]8;;�

�[2K�[0m�]8;;�

�[2K �[38;5;241m⚓ legacy-task: captain review required�[39m                                        �[0m�]8;;�

�[2K�[0m�]8;;�

�[2K �[38;5;188m⛵�[39m�[38;5;241m Supervision branch recovered after a successful cooldown probe.�[39m             �[0m�]8;;�

�[2K�[0m�]8;;�

�[2K �[38;5;188m⚓�[39m�[38;5;241m [seq 42] current-task: PR checks green, ready for captain review�[39m            �[0m�]8;;�

�[2K�[0m�]8;;�

�[2K�]133;A��[48;5;59m                                                                                �[49m�[0m�]8;;�

�[2K�[48;5;59m �[38;5;188mReply with OK only.�[39m                                                            �[49m�[0m�]8;;�

�[2K�]133;B��]133;C��[48;5;59m                                                                                �[49m�[0m�]8;;�

�[2K�]133;A��[0m�]8;;�

�[2K�]133;B��]133;C� �[38;5;167mOperation aborted�[39m                                                              �[0m�]8;;�

�[2K�[0m�]8;;�

�[2K�[38;5;139m────────────────────────────────────────────────────────────────────────────────�[39m�[0m�]8;;�

�[2K�[7m �[0m                                                                               �[0m�]8;;�

�[2K�[38;5;139m────────────────────────────────────────────────────────────────────────────────�[39m�[0m�]8;;�

�[2K�[38;5;241m~/.no-mistakes/worktrees/112ad61efd5a/01M2J3JP94H00DHX4BQ153YQB9 (detached)�[39m�[0m�]8;;�

�[2K�[38;5;241m0.1%/66k (auto)�[39m�[38;5;241m                                  (ollama) qwen3.8:27b-mlx • high�[39m�[0m�]8;;��[?2026l�[3A�[1G�[?25l�[1G�[?25l�[<u�[1G�[?25l �[4B

�[?25h�[?2004l�]0;π - 01M2J3JP94H00DHX4BQ153YQB9�To resume this session: pi --session-dir ~/.no-mistakes/evidence/01M2J3JP94H00DHX4BQ153YQB9/sessions --session 01a0a447-6456-725b-8182-58bd6100fc06
Evidence: Persisted Pi session used for restore testing

Source: Persisted Pi session used for restore testing

{"type":"session","version":3,"id":"01a0a447-6456-725b-8182-58bd6100fc06","timestamp":"2026-09-15T08:55:37.303Z","cwd":"~/.no-mistakes/worktrees/112ad61efd5a/01M2J3JP94H00DHX4BQ153YQB9"}
{"type":"model_change","id":"109b93e0","parentId":null,"timestamp":"2026-09-15T08:55:37.400Z","provider":"ollama","modelId":"qwen3.8:27b-mlx"}
{"type":"thinking_level_change","id":"aa384209","parentId":"109b93e0","timestamp":"2026-09-15T08:55:37.400Z","thinkingLevel":"high"}
{"type":"custom_message","customType":"fm-branch-merge","content":"⛵ routine-worker: healthy, no action needed","display":true,"id":"311bb1fa","parentId":"aa384209","timestamp":"2026-09-15T08:55:37.411Z"}
{"type":"custom_message","customType":"fm-branch-merge","content":"⛵ Supervision branch paused after repeated provider errors; main will handle wakes while it cools down.","display":true,"id":"c56bb0ef","parentId":"311bb1fa","timestamp":"2026-09-15T08:55:37.411Z"}
{"type":"custom_message","customType":"fm-branch-merge","content":"⚓ legacy-task: captain review required","display":true,"id":"5e596e8a","parentId":"c56bb0ef","timestamp":"2026-09-15T08:55:37.411Z"}
{"type":"custom_message","customType":"fm-branch-health","content":"⛵ Supervision branch recovered after a successful cooldown probe.","display":true,"id":"b0c4da90","parentId":"5e596e8a","timestamp":"2026-09-15T08:55:37.411Z"}
{"type":"custom","customType":"fm-branch-visible-outcome","data":{"version":1,"seq":42,"task":"current-task","verdict":"captain","summary":"PR checks green, ready for captain review","silent":false},"id":"c5b6f36b","parentId":"b0c4da90","timestamp":"2026-09-15T08:55:37.411Z"}
{"type":"message","id":"06504adf","parentId":"c5b6f36b","timestamp":"2026-09-15T08:55:42.934Z","message":{"role":"user","content":[{"type":"text","text":"Reply with OK only."}],"timestamp":1789462542932}}
{"type":"message","id":"0c2e13d6","parentId":"06504adf","timestamp":"2026-09-15T08:55:51.150Z","message":{"role":"assistant","content":[],"api":"openai-completions","provider":"ollama","model":"qwen3.8:27b-mlx","usage":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"totalTokens":0,"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0,"total":0}},"stopReason":"aborted","timestamp":1789462542942,"errorMessage":"Operation aborted"}}

Pipeline

Updates from git push no-mistakes

✅ **intent** - passed

✅ No issues found.

✅ **Rebase** - passed

✅ No issues found.

🔧 **Review** - 1 issue found → auto-fixed ✅
  • 🚨 .pi/extensions/fm-branch-supervision.ts:2239 - The intent requires “keep important updates visible,” but Calm now hides every restored fm-branch-merge message except the two health strings. A session created by older Firstmate versions can contain a displayed captain outcome such as ⚓ task: result or ⎇ branch merged [captain] ...; this line selects CalmAwareRoutineNote, whose render() returns no rows. Preserve non-sailboat legacy messages (or explicitly recognize legacy captain formats) and suppress only recognized routine notes.

🔧 Fix applied.
✅ Re-checked - no issues remain.

✅ **Test** - passed

✅ No issues found.

  • Live validation: ✅ go - 4 of 4 scenarios driven live against the product
Scenario Result Live Evidence
Captain enables Calm and routine sailboat supervision notes disappear from chat ✅ pass live calm-on-tui.typescript: Pi omitted the routine-worker row with Calm on, restored it after /calm off, and removed it again after /calm on.
Calm keeps important current and legacy supervision updates visible ✅ pass live calm-on-tui.typescript: pause, recovery, legacy captain, and current sequence-keyed captain rows remained visible in Calm.
Resuming an existing Calm session suppresses only restored routine notes ✅ pass live calm-restored-session.typescript and the persisted JSONL session show Pi suppressing the restored routine row while retaining restored health and captain rows.
Calm suppression is reversible and presentation-only ✅ pass live Live /calm toggles repainted the existing row without recreating it, while the persisted JSONL retained the routine message. The focused renderer test also passed its stock-export rendering assertio…
  • pi --version
  • Launched installed Pi with an isolated FM_HOME, the target Calm and branch-supervision extensions, and a test-only evidence extension
  • Entered /calm twice in the live Pi TUI to verify immediate restoration and re-suppression
  • Persisted the transcript and resumed it using pi --session ... without the injection extension
  • Ran only test_branch_dispatch_two_stage_filter_and_prefix_contract from tests/fm-pi-branch-extension.test.sh
  • Ran only test_post_construction_provider_error_falls_back_latches_and_recovers_on_cooldown from tests/fm-pi-branch-extension.test.sh
  • Attempted in-memory /export; Pi rejected exporting a --no-session session, so the transcript was persisted and pi --export was rerun successfully
  • Ran the macOS screenshot permission preflight; Screen Recording permission was unavailable
  • Confirmed testing left the git worktree clean; no full suite, linter, or formatter was run
✅ **Document** - passed

✅ No issues found.

✅ **Lint** - passed

✅ No issues found.

✅ **Push** - passed

✅ No issues found.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 15, 2026

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review Completed 2026-09-15T09:05:06.522433Z b54a433 PR opened
ℹ️ 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" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

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