Progress: the reply's line is the 3.4.0 progress object, {{text}} · {{elapsed}}
ci / check (push) Failing after 3s
ci / start (push) Failing after 2s

ui/js/progress.js draws harness spec 3.4.0's `progress` (progress.md) with the
spec's texts as the page's sentences: the thirteen phases, their variants and
field words, the line with its clock in whole seconds (5s, 1m 05s, 1h 02m),
none for stopped and failed, retrying counted down. A live reply takes
`progress` from any stream frame that carries it and ticks once a second; with
no progress (an older server, or null) it draws the status text as before.

The sentences are the server's to translate: gen-i18n.py takes them from its
catalogues once they are there (SERVER_PENDING), English until then, without
failing.

tests/ui: every case of the spec's conformance/progress.json (copied, 3.4.0),
and a live stream's progress, clock, fallback and stopped line.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
HomerandClaude Opus 5.5 committed 2026-11-10 09:10:20 +00:00
1 parent 3ef0bbaad3
commit 3baae016e1
7 files changed
+607 -2

No files matched your search

+8
View File
@@ -253,6 +253,7 @@ const LEMBAS_I18N = {
"Stop %(name)s": "Zastavit %(name)s",
"Stop %(name)s and the members under it? They leave the team.": "Zastavit %(name)s a členy pod ním? Opustí tým.",
"Stop the agent": "Zastavit agenta",
"Stopped": "Zastaveno",
"Stopped.": "Zastaveno.",
"Subagent": "Podagent",
"Subagents": "Podagenti",
@@ -606,6 +607,7 @@ const LEMBAS_I18N = {
"Stop %(name)s": "%(name)s stoppen",
"Stop %(name)s and the members under it? They leave the team.": "%(name)s und die Mitglieder darunter stoppen? Sie verlassen das Team.",
"Stop the agent": "Agent anhalten",
"Stopped": "Angehalten",
"Stopped.": "Angehalten.",
"Subagent": "Subagent",
"Subagents": "Subagenten",
@@ -959,6 +961,7 @@ const LEMBAS_I18N = {
"Stop %(name)s": "Detener %(name)s",
"Stop %(name)s and the members under it? They leave the team.": "¿Detener %(name)s y a los miembros que dependen de él? Dejan el equipo.",
"Stop the agent": "Detener el agente",
"Stopped": "Detenido",
"Stopped.": "Detenido.",
"Subagent": "Subagente",
"Subagents": "Subagentes",
@@ -1312,6 +1315,7 @@ const LEMBAS_I18N = {
"Stop %(name)s": "Arrêter %(name)s",
"Stop %(name)s and the members under it? They leave the team.": "Arrêter %(name)s et les membres qui en dépendent ? Ils quittent l’équipe.",
"Stop the agent": "Arrêter l'agent",
"Stopped": "Arrêté",
"Stopped.": "Arrêté.",
"Subagent": "Sous-agent",
"Subagents": "Sous-agents",
@@ -1665,6 +1669,7 @@ const LEMBAS_I18N = {
"Stop %(name)s": "%(name)s leállítása",
"Stop %(name)s and the members under it? They leave the team.": "Leállítja %(name)s tagot és az alatta lévőket? Kilépnek a csapatból.",
"Stop the agent": "Ügynök leállítása",
"Stopped": "Leállítva",
"Stopped.": "Leállítva.",
"Subagent": "Alügynök",
"Subagents": "Alügynökök",
@@ -2018,6 +2023,7 @@ const LEMBAS_I18N = {
"Stop %(name)s": "Ferma %(name)s",
"Stop %(name)s and the members under it? They leave the team.": "Fermare %(name)s e i membri sotto di lui? Lasciano la squadra.",
"Stop the agent": "Ferma l'agente",
"Stopped": "Fermato",
"Stopped.": "Interrotto.",
"Subagent": "Sottoagente",
"Subagents": "Sottoagenti",
@@ -2371,6 +2377,7 @@ const LEMBAS_I18N = {
"Stop %(name)s": "Zatrzymaj %(name)s",
"Stop %(name)s and the members under it? They leave the team.": "Zatrzymać %(name)s i członków pod nim? Opuszczą zespół.",
"Stop the agent": "Zatrzymaj agenta",
"Stopped": "Zatrzymano",
"Stopped.": "Zatrzymano.",
"Subagent": "Podagent",
"Subagents": "Podagenci",
@@ -2724,6 +2731,7 @@ const LEMBAS_I18N = {
"Stop %(name)s": "Zastaviť %(name)s",
"Stop %(name)s and the members under it? They leave the team.": "Zastaviť %(name)s a členov pod ním? Opustia tím.",
"Stop the agent": "Zastaviť agenta",
"Stopped": "Zastavené",
"Stopped.": "Zastavené.",
"Subagent": "Podagent",
"Subagents": "Podagenti",