feat: German captain-facing Bearings and Calm chat language - #3105
feat: German captain-facing Bearings and Calm chat language#3105thelad-dev wants to merge 3 commits into
Conversation
Leere Abschnitte, Calm-Hinweise und die Befehlsbeschreibung folgen der deutschen Captain-Sprache.
Confidence Score: 5/5The PR appears safe to merge. No blocking failure remains; the English morning-title issue is corrected and the plural warning branch now has focused regression coverage. Reviews (3): Last reviewed commit: "doc: Bearings-Sprache um die Morgenlage-..." | Re-trigger Greptile |
| plural | ||
| ? `Firstmate Calm: die eingebauten Werkzeuge ${names} werden bereits von einer anderen Erweiterung bereitgestellt. Calm wirkt dafür in dieser Sitzung möglicherweise nicht vollständig.` | ||
| : `Firstmate Calm: das eingebaute Werkzeug ${names} wird bereits von einer anderen Erweiterung bereitgestellt. Calm wirkt dafür in dieser Sitzung möglicherweise nicht vollständig.`, |
There was a problem hiding this comment.
The new plural notification branch has no focused regression coverage: the collision fixture contests only bash and checks general message content, so changes to multi-tool names or German plural wording can pass the suite unnoticed.
Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!
|
Speaking as Kun's firstmate: Reviewed HEAD Class: default-behavior. Bearings empty-states, morning-brief title note, Calm contested-tool warnings, and the VISION (per rule, inspected evidence):
First-time fork CI: after that full-diff review I approved workflow runs Not merging. This is with the captain, not waiting on the author, for whether German captain-facing copy may land as the shared default. Also: no Merge-eligible: NO. Captain-flag NOW: NO (parent may flag the default-behavior decision; this is not otherwise merge-ready). |
|
Speaking as Kun's firstmate: Correction on the earlier stamp: this is waiting on the author, not a captain-decision hold. Class stays default-behavior (shared Bearings/Calm copy switching to German with no opt-in). That language-default is a captain call only once the PR is otherwise merge-ready. Right now it is not: no Need from the author: a matching no-mistakes attestation on this HEAD, and green CI. After that, firstmate can flag the default-behavior decision. Not waiting on the captain yet. |
|
Speaking as Kun's firstmate: Re-triage after newer activity. Reviewed HEAD Class: default-behavior (unchanged). Shared Bearings empty-states, morning-brief title note, Calm contested-tool warnings, and VISION (per rule, inspected evidence):
Attestation: First-time fork CI: after full-diff review I approved workflow runs Not merging. This PR is otherwise merge-ready except the language-default decision. That call is with the captain, not waiting on the author. Do not land as shared default without that decision. Parent can flag Firstmate for the default-behavior decision. Merge-eligible: NO (default-behavior hold). |
|
Speaking as Kun's firstmate: Restamp for newer activity. Previous stamp was waiting-author on HEAD Class stays default-behavior. Shared Bearings empty-states, morning-brief title note, Calm contested-tool warnings, and the VISION (per rule, inspected evidence):
Gates now:
This is otherwise merge-ready except the default-behavior decision. That language-default is a captain call. This is with the captain, not waiting on the author. Do not read the earlier waiting-author stamp as still in force. Not merging. First-time fork CI was already approved on the prior pass; I did not re-approve. Merge-eligible: NO. default-behavior-ready-except-decision: YES. |
|
Captain decision (thelad-dev home, 2026-08-27):
@kunchenguid — FYI for merge-eligibility: default-behavior decision is now English default, per-home opt-in (this captain: |
|
Captain decision (2026-08-27): Default EN upstream. Personal home DE via config/language. #3105 must integrate with #2783 (fm-language catalog), not merge standalone. @kunchenguid default-behavior resolved: en default, de per-home opt-in. |
|
Speaking as Kun's firstmate: Restamp. VISION.md read in full from current main Class: default-behavior (unchanged). Shared Bearings empty-states, morning-brief title note, Calm contested-tool warnings, and the VISION (per rule, inspected evidence):
Gates still:
Not merging. Do not rebase. This is otherwise merge-ready except the language-default decision. That call is with the captain, not waiting on the author. The author's EN-default / integrate-with-#2783 comments do not lift this hold. HEAD changed vs 3cca4ce: no. Merge-eligible: NO. default-behavior-ready-except-decision: YES. |
|
Speaking as Kun's firstmate: Re-triage of newer activity (author comments). HEAD is unchanged at Class: default-behavior. Shared Bearings empty-states and Calm command/warning strings are hardcoded German for every clone. That is not a home setting. Independent of #2783 (opt-in VISION (per rule, inspected evidence):
Gates unchanged: Contributor comments restated English-default plus per-home opt-in and asked to stack this on #2783. That is consistent with the hold; it is not Kun's merge decision, and HEAD is still the hardcoded German default. This is otherwise merge-ready except the default-behavior decision. That language-default is with the captain, not waiting on the author. Not merging. Do not rebase. Merge-eligible: NO. default-behavior-ready-except-decision: YES. |
Intent
Ship the already-prepared German Captain-facing Bearings/Calm documentation as its own PR to upstream kunchenguid/firstmate through the captain's fork (thelad-dev/firstmate).
Prepared change (do not reinvent): commit content already on branch — German empty-states / Captain language section in .agents/skills/bearings/SKILL.md, German Calm captain-chat strings in .pi/extensions/fm-calm.ts, and the matching assertion update in tests/fm-calm-pi-extension.test.sh.
Constraints:
What Changed
/calmcommand description to German in the Pi extension./calmcommand description.Risk Assessment
✅ Low: Bounded three-file German captain-facing string and docs update with a matching command-description pin and no reachable correctness or intent contradictions.
Testing
Ran the focused Calm extension suite (pass; tmux/pi interactive E2Es skipped for missing pi/tmux), exercised the Calm extension’s public
/calmdescription and contested-toolnotifypath for singular and plural German warnings, rendered the Bearings German empty-state chat contract as HTML/screenshot evidence, and confirmed the change stays on the three intended files with a German commit and no forbidden trailers.Evidence: Focused Calm extension test log
Evidence: German /calm description + singular contested-tool warning (runtime)
{ "calmCommandDescription": "Schaltet Firstmates Calm-Gesprächsdarstellung um.", "descriptionMatchesGerman": true, "contestedToolNotifications": [ { "message": "Firstmate Calm: das eingebaute Werkzeug "bash" wird bereits von einer anderen Erweiterung bereitgestellt. Calm wirkt dafür in dieser Sitzung möglicherweise nicht vollständig.", "type": "warning" } ], "singularWarningMatchesGerman": true }Evidence: German plural contested-tool warning (runtime)
{ "notifications": [ { "message": "Firstmate Calm: die eingebauten Werkzeuge "read", "bash" werden bereits von einer anderen Erweiterung bereitgestellt. Calm wirkt dafür in dieser Sitzung möglicherweise nicht vollständig.", "type": "warning" } ], "usesGermanPluralWording": true }/tmp/no-mistakes-evidence/01M0YN1V73BXP7NP37JX0NQ3DB/bearings-empty-states-de.png)Evidence: Bearings empty-states rendered HTML
Evidence: Bearings empty-states markdown digest
Evidence: Diff scope and German commit metadata
files_changed: .agents/skills/bearings/SKILL.md .pi/extensions/fm-calm.ts tests/fm-calm-pi-extension.test.sh commit_subject: doc: Bearings und Calm auf Deutsch für den Captain-Chat ausrichten. forbidden_trailers: (none)Pipeline
Updates from git push no-mistakes
✅ **intent** - passed
✅ No issues found.
✅ **Rebase** - passed
✅ No issues found.
✅ **Review** - passed
✅ No issues found.
✅ **Test** - passed
✅ No issues found.
bash tests/fm-calm-pi-extension.test.sh(focused Calm extension suite; asserts German/calmcommand description)Executable Calm probe: load.pi/extensions/fm-calm.ts, readregisterCommand('calm').description, activate with foreignbashownership, captureui.notifysingular German warning →/tmp/no-mistakes-evidence/01M0YN1V73BXP7NP37JX0NQ3DB/calm-german-runtime.jsonExecutable Calm probe: same path with foreignbash+read, capture plural German warning →/tmp/no-mistakes-evidence/01M0YN1V73BXP7NP37JX0NQ3DB/calm-german-plural-warning.jsonManual Bearings empty-fleet digest render from skill empty-states (DE) → markdown/HTML + Playwright screenshotgit diff --name-only/ commit subject / trailer check for three-file scope and German commit without Co-authored-by/Generated-with✅ **Document** - passed
✅ No issues found.
✅ **Lint** - passed
✅ No issues found.
✅ **Push** - passed
✅ No issues found.