Skip to content

docs(ssot): record language-discipline guard build-vs-reuse decision (#123) - #596

Merged
artyhoo merged 1 commit into
stagingfrom
feature/language-discipline-s2-ssot-123
Jun 17, 2026
Merged

docs(ssot): record language-discipline guard build-vs-reuse decision (#123)#596
artyhoo merged 1 commit into
stagingfrom
feature/language-discipline-s2-ssot-123

Conversation

@artyhoo

@artyhoo artyhoo commented Jun 17, 2026

Copy link
Copy Markdown
Owner

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.md recording the build-vs-reuse decision for the language-discipline guard. (Re-numbered 122 → 123 on egress: PR #592 /story skill 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 with AIF_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 the hasSsotMatch linker connects them; no prior SSOT entry superseded (append-only).

…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
artyhoo enabled auto-merge (squash) June 17, 2026 06:15
@artyhoo
artyhoo merged commit a8a62ca into staging Jun 17, 2026
26 checks passed
artyhoo added a commit that referenced this pull request Jun 17, 2026
All 3 independent stages merged to staging via aif-handoff dispatch:
S1 #593 (path-scope), S2 #596 (SSOT #123), S3 #595 (budget-guard research).

Prior-art: skipped — umbrella closure marker (done.md), no capability/dependency.
artyhoo added a commit that referenced this pull request Jun 17, 2026
…md) (#597)

All 3 independent stages merged to staging via aif-handoff dispatch:
S1 #593 (path-scope), S2 #596 (SSOT #123), S3 #595 (budget-guard research).

Prior-art: skipped — umbrella closure marker (done.md), no capability/dependency.
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