Problem
scripts/check-no-vlang.sh (the estate V-lang ban, run by estate-rules.yml as "No zig references") has been corrupted by a find-replace of v/vlang → zig:
'zig' was injected into the pattern list twice, so it matches every legitimate build.zig / zig build / FFI-in-Zig reference;
- it prints "zig (vlang.io) is banned" —
vlang.io is V's domain, not Zig's (Zig is ziglang.org). That's the tell.
Result: the gate fails on exactly what the canon permits — standards lists Zig as allowed (the estate default for APIs/FFIs), and PLAYBOOK.a2ml states the correct rule: "V (vlang.io) is banned … replaced by zig-unified-api-adapter." The V→Zig migration is complete.
Scope
This is template-inherited: every repo scaffolded from rsr-template-repo carries the same corrupted script and will falsely red-flag Zig in estate-rules. (rsr-template-repo isn't in the current session's repo scope, hence filed here on standards for coordination.)
Reference fix (already landed on hermeneia, PR #5)
Restore the script to ban V:
- patterns →
gen-v-connector / V-TRIPLE / v-triple / vlang / v\.mod / connectors/v-; remove the two 'zig' entries; add a comment never to re-add zig;
- messages/comments → "V-lang is banned … replaced by zig-unified-api-adapter";
estate-rules.yml → step renamed "No V-lang references", header comment corrected (Zig is allowed).
Verified: all three estate-rules steps pass; V-lang detection preserved.
Action
Apply the same fix in rsr-template-repo, then re-sync scaffolded repos (or have rhodibot propagate).
Acceptance
estate-rules "No V-lang references" passes on repos that legitimately use Zig; still catches real V-lang.
Filed from a Claude Code session working on hermeneia (where the fix is already merged). Add to the master scheduler.
Problem
scripts/check-no-vlang.sh(the estate V-lang ban, run byestate-rules.ymlas "No zig references") has been corrupted by a find-replace ofv/vlang→zig:'zig'was injected into the pattern list twice, so it matches every legitimatebuild.zig/zig build/ FFI-in-Zig reference;vlang.iois V's domain, not Zig's (Zig is ziglang.org). That's the tell.Result: the gate fails on exactly what the canon permits —
standardslists Zig as allowed (the estate default for APIs/FFIs), andPLAYBOOK.a2mlstates the correct rule: "V (vlang.io) is banned … replaced byzig-unified-api-adapter." The V→Zig migration is complete.Scope
This is template-inherited: every repo scaffolded from
rsr-template-repocarries the same corrupted script and will falsely red-flag Zig inestate-rules. (rsr-template-repoisn't in the current session's repo scope, hence filed here onstandardsfor coordination.)Reference fix (already landed on hermeneia, PR #5)
Restore the script to ban V:
gen-v-connector/V-TRIPLE/v-triple/vlang/v\.mod/connectors/v-; remove the two'zig'entries; add a comment never to re-addzig;estate-rules.yml→ step renamed "No V-lang references", header comment corrected (Zig is allowed).Verified: all three
estate-rulessteps pass; V-lang detection preserved.Action
Apply the same fix in
rsr-template-repo, then re-sync scaffolded repos (or have rhodibot propagate).Acceptance
estate-rules"No V-lang references" passes on repos that legitimately use Zig; still catches real V-lang.Filed from a Claude Code session working on
hermeneia(where the fix is already merged). Add to the master scheduler.