test(language): pin how far the reply guards reach #302
No reviewers
Labels
No labels
move-to-repo
coilyco-bridge-deploy
move-to-repo
coilyco-flight-deck-agent-compose
move-to-repo
coilyco-gaming-eco-app
move-to-repo
coilysiren-inbox
move-to-repo
unknown
🔒⚠️📦⚠️🔒 SANDBOXED 🔒⚠️📦⚠️🔒
autonomy
async-consult
autonomy
epic
autonomy
headless
autonomy
live-collab
c#
priority
P0
priority
P1
priority
P2
priority
P3
priority
P4
role/ai
role/creator
role/design
role/director
role/engineer
role/exec
role/human
role/ops
role/qa
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
coilyco-gaming/sirens-echo!302
Loading…
Reference in a new issue
No description provided.
Delete branch "test/language-scope-characterization"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Groundwork for #298, which binds a channel to a language. That makes the reach of the reply guards a shipping question, and the measured answer is English only.
Matched pairs, the same violation written twice
ValidateNeutralStyleandValidateGroundingmatch English words. Only two rules survive translation and both are character rules: the exclamation ban and the decorative-symbol scan.So configuring a channel as French would not merely change the output language. It would turn the semantic guards off for that channel, quietly.
The confound is pinned on purpose
Natural French ends an exclamation with
" !". My first probe used realistic phrasing, everything came back rejected, and it looked like the guards working — the exclamation rule had fired. The third test asserts that masking behaviour explicitly, because it is the reason this gap is easy to spot-check wrong.Characterization, not a demand
The rows assert today's behaviour, so CI stays green and honest about what ships. Each carries
otherShouldBeCaught: trueand names 298 with the condition to flip it, in the same shape asgroundingcorpus_test.go.The English half is asserted separately. Without that, a row could go quiet and the French miss would read as parity rather than as two dead checks.
Verified both directions
This does not implement anything or take a position on how 298 should be built. It makes "this language is guarded" a measurable claim instead of an assumption, and it fails loudly the moment that changes in either direction.
Tests only. No production code changes.
CI red here is inherited, not from this branch.
pre-commitfails onorigin/mainitself, so every open PR fails the same way.I checked before assuming: rebased onto main, ran the full suite and every hook. The only failures are in
docs/sirens-echo-battery.md,internal/community/evaluation.go,internal/community/evaluation_checks.go, andinternal/community/evaluation_checks_test.go— none of which this branch touches. Its own tests pass.Fixed in #303, which is green. This goes green on a rebase once that merges.
No action needed here.
77bbf25c5565bbc1717aRebased onto green main and pushed. Both hook failures on the last push were mine, not inherited: a 3-line comment where the cap is 2, and one I did not anticipate.
The typo linter read the French
maintenantas a misspelling ofmaintenance.That is this PR's own finding arriving one layer up — the spell checker is English-only too. I reworded rather than adding an exemption, because one word is not worth a rule. It is worth recording on #298 though: the moment French strings become routine,
_typos.tomlneeds an answer for them, and that is a third surface beyond the harness messages and the reply guards.Full suite and every hook pass locally.