Files
platform/deploy/2026.08.23.04.md
T
pastilhasandClaude Opus 5 ff647fba0a release 2026.08.23.04
The web UI can be read in Portuguese. The shell and shared components are fully
keyed, 581 keys across two complete catalogues, with the build failing on a
missing one. Plus an endpoint for spawning an agent, and spawned agents becoming
visible in both directions.

No schema change and no dependency change. db:push should report nothing, and the
plan says to stop and report it if it does not.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-23 13:51:50 +00:00

3.3 KiB

2026.08.23.04

The web UI can be read in Portuguese. The shell and the shared components are fully keyed — 581 keys across two locales, with the build failing on a missing one — plus an endpoint for spawning an agent, and spawned agents becoming visible in both directions.

No schema change. Nothing under src/databases/**/schema.ts moved across deploy/2026.08.23.03..HEAD. bun db:push is still a step because it is cheap and it verifies the database agrees with the code, but it should report no changes.

No dependency change. bun.lock is untouched. Do not run bun install.

What is in it

  • Localization, phases 0 through 2. src/apps/officer-web and src/workspaces/components have no hardcoded user-facing strings left: 555 and 47 occurrences respectively, both now zero. en-GB and pt-PT are complete and in step at 581 keys.
  • Every locale ships a complete catalogue. There is no fallback between regional variants, so a Portuguese reader is never served Brazilian wording. What enforces that is a key-parity test that fails the build on a gap — verified by removing one key and watching it go red.
  • The language picker offers only locales that exist. It listed about twenty codes, eighteen of which silently rendered English. Stored bare codes widen on read (en → en-GB), with no database migration.
  • Dates, numbers and plurals follow the account's locale, not the browser's, through useFormat() and Intl.PluralRules. Roughly 23 call sites moved.
  • POST /api/sub-agents/spawn — an endpoint for starting an agent from a prompt, for callers that are not a chat and so cannot reach the harness's own tool. Budget-checked before spawning, and it refuses with a 429 naming the window rather than burning the last of one.
  • Spawned agents are visible in both directions. A commander's pane lists its children as links; opening one shows which commander started it, linking back.
  • A dropped sidecar command says so. sendFire did nothing when no sidecar was registered — no log, no error — so answering a question during a restart window vanished and the card spun forever.

Every host

  1. git fetch origin --tags then git merge --ff-only deploy/2026.08.23.04
  2. bun db:push — expect no changes. If it wants to alter something, stop and report it: that means this tree and that host's database disagree about something this release did not touch.
  3. bun run plugins:update
  4. pm2 restart officer

officer only. Step 3 restarts each plugin's own sidecar; that is the script's behaviour and belongs in the report.

macbookpro: append /opt/homebrew/bin to PATH for the bun commands, run pm2 separately.

What to check, this release

The visible change is the language picker in profile settings. It should offer exactly English (UK) and Português (Portugal) and nothing else. A host still offering twenty languages did not pick up the frontend bundle.

No direct SQL is needed and none is authorised.

Hosts

  • edge-pertento-bridge — skipped, per docs/servers.md. Name it and spend nothing on it.
  • production-pertento-bridge — deployed cleanly last release after being two behind. Nothing expected.

officer-dev — skip it

The rollout runs from here. It is already at this commit and officer has been restarted on it.