Skip to content

docs(policy): English-only is permanent — bilingualism moves to the web layer (#232) - #325

Merged
gtrabanco merged 1 commit into
mainfrom
docs/english-only-permanent
Oct 27, 2026
Merged

gtrabanco merged 1 commit into
mainfrom
docs/english-only-permanent

Conversation

@gtrabanco

Copy link
Copy Markdown
Owner

Closes the bilingual question by decision, not by implementation.

What

Why

Owner decision 2026-10-27: bilingualism is a rendering concern of the upcoming web surface, never a committed artifact — the package stays 100% English, removing the whole per-release translation cost class (issue #232 closed not_planned with the decision comment).

Verification

  • grep -rn "interim" AGENTS.md docs/features/ROADMAP.md → no live interim framing remains.
  • Roadmap rows keep their numbers (never reused), per convention.

Automated written using a AI

…eb layer (#232)

Owner decision 2026-10-27: the package ships 100% English permanently;
bilingualism becomes a rendering/i18n concern of the upcoming web surface
(#295 direction). No .es.md siblings return, no per-release batch
translation, no switcher links.

- AGENTS.md: docs-language rule drops the 'interim' framing and the
  feature-57 restoration clause; translation of any package surface banned.
- ROADMAP row 57: superseded by the web layer, closed without
  implementation; Phase 1's EN/ES drift check obsolete (residue: the
  sibling-sweep rule owned by #315).
- ROADMAP row 34: stale '57 restores them' tail corrected.

Issue #232 closed not_planned with the decision recorded.
Automated written using a AI
@gtrabanco
gtrabanco merged commit 1b9ecdc into main Oct 27, 2026
2 of 3 checks passed
@gtrabanco
gtrabanco deleted the docs/english-only-permanent branch October 27, 2026 11:07
gtrabanco added a commit that referenced this pull request Oct 27, 2026
…not only npmjs (#327)

Closes the registry-vs-local bind in the version-parity gate's `--pins`
half.

## The defect

The gate compared pins only against npmjs, so the pin lifecycle was
unsolvable: after every crate publish, **all open PRs go red** until a
`fix(deps)` chase lands (live today: #325), and a pin bumped ahead of
the registry passed **without being verified against anything** — it
could point at a version that will never exist.

## The rule

For every exact pin whose target has a local sibling package under
`packages/`, the pin must equal the **local package version** — the one
this merge publishes. Offline-deterministic: holds even when the
registry is unreachable (a network blip still degrades, never fails, a
matching pin — AC3). The registry rule keeps precedence (a pin behind
the published latest fails even when it matches local — rebase instead).
Same gate-rejection vocabulary (`dependency-pin-drift`), no new kind.

## Test-first

7 new tests; 4 red before the implementation (same-PR release pass,
same-PR coupling fail, never-exists fail, offline fail). Root suite
929/929, package suite 471/471.

## Note

This PR's own `--pins` check is red until #325 merges (its checkout
still pins 0.4.0) — the fixed gate correctly rejecting a stale pin is
the fix working. Rebase after #325 and it goes green.

AGENTS.md §Packages updated to the new rule.

Automated written using a AI
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