docs(ssot): record language-discipline guard build-vs-reuse decision (#123) - #596
Merged
Merged
Conversation
…123) Forward SSOT entry recording the build-vs-reuse decision for the language-discipline guard (.claude/rules/language-discipline.md + packages/core/principles/22-internal-english.test.ts). The two original capability commits carried `Prior-art: skipped` (frozen squash history, unrewritable) — this entry closes the residual register gap. Verdict BUILD for the coupled guard, derived from the full 6-item search (2026-06-17): DeepWiki MCP unavailable in env (per #121 precedent) → WebSearch x3 + repo-level x3 + WebFetch attempt. Search surfaced adjacent single-purpose tools (comment-lang-detector GitHub Action, Cyrillic Check, Pulp Fiction) recorded as REFERENCE-class precedent for the detection sub-pattern; none couples an internal-English machinery gate that preserves category-3 bilingual match-data with an AIF_HOOK_LANG-gated output-language directive (T16 problem-class distinguished in the entry rationale). Re-numbered 122 → 123 on egress: PR #592 (/story skill) merged in parallel and took SSOT ID 122 on staging; this row is the next free ID 123. Prior-art: prior-art-evaluations.md#123 — adds the BUILD-with-REFERENCE decision for the language-discipline guard; backed by the 6-item search run 2026-06-17 (DeepWiki unavailable → WebSearch x3 + repo-level x3), not a training-data escape hatch. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
artyhoo
enabled auto-merge (squash)
June 17, 2026 06:15
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.
Stage 2 of the language-discipline-residue umbrella (#590), dispatched autonomously via aif-handoff.
Appends SSOT entry #123 to
docs/meta-factory/prior-art-evaluations.mdrecording the build-vs-reuse decision for the language-discipline guard. (Re-numbered 122 → 123 on egress: PR #592/storyskill merged in parallel and took ID 122 on staging; this is the next free ID.) Forward register entry — the merged squash trailer (92c776c) is frozen history and cannot be rewritten. The BUILD verdict was finalized only after the 6-item search (WebSearch ×3 + repo-level ×3; DeepWiki MCP unavailable in env, WebFetch substituted per the #121 precedent), which surfaced adjacent single-purpose tools (comment-lang-detector, cyrchk, Pulp Fiction, blocklint) — none couples an internal-English machinery gate withAIF_HOOK_LANG-gated output localization.Supersedes #594 (same change, ID-collision-corrected from 122 → 123).
Prior-art: prior-art-evaluations.md#123 (BUILD — no upstream couples the internal-English machinery gate with env-gated output-language localization; surfaced tools rejected as wrong problem-class per T16).
§1.7 Forward-check applied
Checked against existing disciplines before writing the SSOT entry:
.claude/rules/phase-research-coverage.md:1— invariant 3 (6-item search on a negative-existence claim): ran WebSearch ×3 + repo-level ×3 and cited the surfaced adjacent tools, rather than asserting "nothing exists" from training data (T-LangRes-B / T11 / T12 avoided)..claude/rules/build-first-reuse-default.md:1— BUILD justified via the mechanical cost-gate (dependency-free vitest grep = "cheap") and the REUSE-half already taken (AIF_HOOK_LANG+lang/*.sh)..claude/rules/ai-laziness-traps.md:1— T16 problem-class written explicitly in the row ("Upstream class X / our class Y / Match? No, with evidence").§1.7 Backward-check applied
Swept existing artefacts under this change's scope:
docs/meta-factory/prior-art-evaluations.md:195— appended ID 123 directly after the current highest ID 122 (PR feat: /story session-recap skill + Stop-hook story branch #592 claimed 122 in parallel); verified unique, no collision, matches the 8-column row schema.packages/core/principles/11-build-first-reuse-default.test.ts:1— F2 verdict recognized + F4 ID-uniqueness stays green after the append..claude/rules/language-discipline.md:1+packages/core/principles/22-internal-english.test.ts:1— both named verbatim in the row so thehasSsotMatchlinker connects them; no prior SSOT entry superseded (append-only).