Skip to content

Phase 2: Tier-1 Gaps 4+5 — upstream-cut invariants + .pot parity #273

Description

@lucas-albers-lz4

Phase 2: Tier-1 Gaps 4+5 — upstream-cut invariants + .pot parity

Part of the wave tracked in #271. Source of truth: #240 §3 Tier 1 (Gaps 4, 5) and the round-2 synthesis.

Objective

Give the re-cut pipeline and the translation template the same seconds-grade pinning the shell boundary already has, with measured wall time.

Scope

  • Gap 4: run upstream-cut.sh to a temp dir and assert the luci-shaped invariants: Makefile include rewritten to ../../luci.mk, no SOURCE_DATE_EPOCH block, no docker-sdk references, README link rewritten to the blob URL, po/templates present, locale dirs dropped, .pot reference paths applications/-prefixed.
  • Gap 5: run i18n-scan.pl on a cut tree and assert msgids match the checked-in .pot exactly (paths normalized).
  • Measure wall time on ubuntu-latest before merge. The OpenWrt-tree scanner availability is unbudgeted — confirm it runs in CI or scope the test to what CI provides.

Non-goals

  • No Gap 2/3 work (Phase 1). No cut-script redesign — pin current output shape only.

Acceptance criteria

  • Temp-dir cut asserts all seven luci-shaped invariants. Failure names the invariant.
  • .pot msgid parity passes with paths normalized. A changed UI string without .pot update fails the test.
  • Measured wall time recorded in the PR. Per-PR gate stays seconds-grade.
  • fwlive-test.sh green. Shellcheck green.
  • Rebased on docs(security): multi-model VVAH audit playbook + honest-gap scripts #268 after it merges (keep both test entries on conflict).

Depends-on

None. Parallel-safe with Phases 1 and 3.

Effort

M. Gated on openwrt/luci#8992 landing (parked until upstream lands, per plan).

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions