Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion docs/DEPLOYMENT.md
Original file line number Diff line number Diff line change
Expand Up @@ -260,7 +260,10 @@ Brazilian Portuguese lives at `/pt-br/` and carries `hreflang="pt-BR"` (registry
the script tag rather than `zh-CN` because it names what the text is (Simplified) and not a
country, and it makes the browser pick Simplified glyphs. Both have one plural form (`other`).
`tightenCjk` (`scripts/locales.mjs`) drops the English space around links between CJK characters;
`"latinSpacing": false` (Japanese) also drops it beside Latin names. `styles.css` ends with the
`"latinSpacing": false` (Japanese) also drops it beside Latin names. It also drops the English
space at an emphasis join (`<em>`, `<strong>`, `<b>`) between CJK characters, so a heading whose
second half is emphasised reads 从一台空白的电脑<em>到你的第一个智能体</em> (SITE-048); Korean,
written with spaces, keeps it. `styles.css` ends with the
CJK block: system CJK font stacks, no negative tracking, taller headings. `"phraseBreaks": true`
(Japanese, 2026-10-11) cuts the text of h1–h3 into phrases with BudouX (`budoux`, a pinned dev
dependency) and marks each boundary with `<wbr>`; the CJK block sets `word-break: keep-all` on those
Expand Down
21 changes: 21 additions & 0 deletions docs/HANDOFF.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,24 @@
# Current handoff — SITE-048: no space at an emphasis join in Chinese and Japanese — 2026-10-15

Objective (backlog SITE-048): a heading whose second half is emphasised kept the English source's space at the
join in languages written without spaces: zh-hans /start/ read "从一台空白的电脑 到你的第一个智能体". Record:
[evidence/2026-10-15-site-048/README.md](evidence/2026-10-15-site-048/README.md).

Done: the cause is the generator, not a catalog — `localizePage` keeps the English fragment's trailing space
before `<em>`, and `tightenCjk` (`scripts/locales.mjs`) dropped it only around links and code. It now also drops it
at an `<em>`/`<strong>`/`<b>` join between CJK characters (or after full-width punctuation closing the emphasis).
Korean keeps it (written with spaces; Hangul is not in the CJK class), as do the spaced languages. One catalog value
carried the same stray space (zh-hans /start/ meta description, `i18n/zh-hans/start.json`). Pages regenerated with
`npm run locales`, copy projections refreshed; DEPLOYMENT "Languages" names the rule.

Checks run: two new tests in `scripts/locales.test.mjs` (failed before the fix with 19 hits on 14 zh-hans/ja pages,
pass after); `npm run check` exit 0; `npm run build` 224 entries; WebKit check (see the record).

Open: kicker/caption spans (`<span>工具包成员</span> 状态…`, form `<small>`) keep their space on purpose: they are
separate visual elements, not an emphasis join. SITE-040, SITE-041, SITE-026 as before.

Next task: SITE-040.

# Current handoff — SITE-047: /start/ says per system what setup installs — live, 2026-10-15

Objective (backlog SITE-047): /start/ said "Fabric needs macOS on Apple silicon or Intel". Fabric 0.3.5 ships Windows and Linux builds, and the launcher installs apps only on macOS. Record: [evidence/2026-10-15-site-047/README.md](evidence/2026-10-15-site-047/README.md).
Expand Down
1 change: 1 addition & 0 deletions docs/backlog.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,3 +52,4 @@ rows into the workspace’s agent-workplace goal. IDs persist; completion does n
| SITE-045 | One door to setup and Fabric as the home (operator D1–D4, 2026-10-14): the home H1 with one subline; `setup` (not `update`) wherever a visitor starts; header "Set up ↓" → /start/#setup on every page; /start/ command and copy-prompt side by side, manual downloads folded, task-pipeline on /vision/; home #products Fabric first, no launcher card; /fabric/ #works-with and SoftwareApplication data; /fabric/agents/ at Fabric 0.3.5; /business/ one hero action, admin line, size line; /#about notes for investors, contributors and press; the home video's transcript and VideoObject written from its files; ten languages | closed 2026-10-15 — #137 merged as `6729661`; #138 (`9719852`, `releases:sync`: Switchboard 0.6.32, launcher 0.2.4) so the source snapshot matched the live one; deployed from `main` as Worker version `8f40f4bd-db81-4546-967f-9a0f560c60d1`; `verify-live.py` PASS, 257 of 257 | [evidence](evidence/2026-10-14-site-045/README.md), [live check](evidence/2026-10-14-site-045/live.json) |
| SITE-046 | Fabric 0.3.5 ships Windows (x64, arm64, Authenticode-signed) and Linux (AppImage, .deb) builds; /fabric/ and /fabric/download/ still offer only the Mac build ("the download page on passioncode.ai offers the Mac build until its own change", v0.3.5 notes); add the Windows and Linux downloads, requirements (Docker Desktop with WSL2 / Docker Engine, Supabase CLI) and limits (signed-in state not read, CO-244; Observatory secret connect on Windows, CO-245), and the facts rows | closed 2026-10-15 — #140 merged as `991691b`; deployed from `main` as Worker version `2c9d1f94-d81b-412c-804e-ba3f95e9e7de`; `verify-live.py` PASS, 263 of 263 checks, 13 download routes (the seven Fabric routes 302 to the v0.3.5 assets) | [evidence](evidence/2026-10-15-site-046/README.md), [live check](evidence/2026-10-15-site-046/live.json); follow-up SITE-047 |
| SITE-047 | Found in SITE-046: /start/ still says "Fabric needs macOS on Apple silicon or Intel" (hero caption) and SCN-020's preconditions say the same, now that Fabric 0.3.5 ships Windows and Linux builds. What is true depends on the launcher: whether `setup` installs Fabric on Windows and Linux (launcher README names no platform for it). Read the launcher's code at its released tag, then say on /start/ (ten languages) and in `llms.txt` which systems the one command sets Fabric up on, and that the Windows and Linux builds are on /fabric/#download | closed 2026-10-15 — #142 merged as `52d8c1a`; deployed from `main` as Worker version `1d762e44-8e28-4af1-9e1c-2464417a2337`; `verify-live.py` PASS, 263 of 263 checks, 13 download routes | [evidence](evidence/2026-10-15-site-047/README.md), [live check](evidence/2026-10-15-site-047/live.json) |
| SITE-048 | Headings whose second half is emphasised kept the English space at the join in Chinese and Japanese: zh-hans /start/ read "从一台空白的电脑 <em>到你的第一个智能体</em>" (also /404, /business/thanks/, ja /start/, /404; inline `<em>`/`<strong>` in /fabric/, /switchboard/, /vision/, /business/, /inbox/). Drop the space at an emphasis join between CJK characters in the generator (`tightenCjk`, `scripts/locales.mjs`), keep it in Korean and the spaced languages; a test pins it for every generated zh-hans and ja page | in progress 2026-10-15 | [evidence](evidence/2026-10-15-site-048/README.md) |
2 changes: 1 addition & 1 deletion docs/brand/copy/ja-404.md
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ Português (Brasil)

エラー 404

# ページが 見つかりません
# ページが見つかりません

リンクが古いか、入力に誤りがある可能性があります。passioncode.ai のすべての情報は、次のページから辿れます

Expand Down
2 changes: 1 addition & 1 deletion docs/brand/copy/ja-business-index.md
Original file line number Diff line number Diff line change
Expand Up @@ -172,7 +172,7 @@ Fabric Dashboards

10–25%

例: 時間あたり$50で、ほぼ手作業の業務が週40時間あれば、月173時間になります。エージェントがその25~50%を引き受けると、月43~87時間、つまり月額$2,150~4,350です。
例:時間あたり$50で、ほぼ手作業の業務が週40時間あれば、月173時間になります。エージェントがその25~50%を引き受けると、月43~87時間、つまり月額$2,150~4,350です。

これは見積もりであり、約束ではありません。展開の前に、パイロットで実際の数値をお客様自身のベースラインと比較して計測します。

Expand Down
2 changes: 1 addition & 1 deletion docs/brand/copy/ja-inbox-index.md
Original file line number Diff line number Diff line change
Expand Up @@ -211,7 +211,7 @@ macOS DMG · SHA-256

### エージェントに一文を渡す

アプリで 設定 → Agent accessを開きます。まず、コーディングエージェントに渡す一文が表示されます。エージェントがお客様のCloudflareアカウントにサーバーを作成し、Allowを選ぶと自分で接続します。アドレスもシークレットもコピーしません。エージェントの手順は次のガイドにあります:エージェント向けセットアップガイド。
アプリで設定 → Agent accessを開きます。まず、コーディングエージェントに渡す一文が表示されます。エージェントがお客様のCloudflareアカウントにサーバーを作成し、Allowを選ぶと自分で接続します。アドレスもシークレットもコピーしません。エージェントの手順は次のガイドにあります:エージェント向けセットアップガイド。

02

Expand Down
2 changes: 1 addition & 1 deletion docs/brand/copy/ja-start-index.md
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ Português (Brasil)

はじめる · 無料のオープンソース

# 何もないコンピューターから 最初のエージェントまで
# 何もないコンピューターから最初のエージェントまで

働き続け、ほかのエージェントがしたことを知っているエージェントを作りましょう。コマンド1つでツールをセットアップし、あとで同じコマンドが点検します

Expand Down
4 changes: 2 additions & 2 deletions docs/brand/copy/ja-switchboard-agents-index.md
Original file line number Diff line number Diff line change
Expand Up @@ -68,9 +68,9 @@ Switchboard をダウンロード

以下のどのエージェントも Switchboard のツールを使えます。リクエストを処理しているアカウントと残りの利用枠を確認でき、アカウントを切り替えることもできます。カスタムエンドポイントを受け付けるエージェントは、リクエストを Switchboard 経由で送信でき、Switchboard がアカウントを切り替えます。一部のエージェントは Switchboard から直接起動できます。

ツールのみ。 エージェントは Switchboard のツールに接続し、リクエストはエージェント自身のサービスに送られます。
ツールのみ。エージェントは Switchboard のツールに接続し、リクエストはエージェント自身のサービスに送られます。

Switchboard 経由。 エージェントで一度設定するだけです。必要な行は Switchboard が表示します。
Switchboard 経由。エージェントで一度設定するだけです。必要な行は Switchboard が表示します。

Switchboard から起動。 Switchboard が、プロジェクトフォルダー内で、そのフォルダーのアカウントを使ってエージェントを起動します。

Expand Down
2 changes: 1 addition & 1 deletion docs/brand/copy/ja-switchboard-index.md
Original file line number Diff line number Diff line change
Expand Up @@ -154,7 +154,7 @@ Windows ZIP · SHA-256

長いセッションでは、作業の途中でアカウントの使用量の上限に達することがあります。すると、サインアウトして別のアカウントを探し、サインインし直す間、作業が止まってしまいます。

Switchboard は 作業 を止めません。ローテーションをオンにすると、次のリクエストは同じプールの別のアカウントに移り、セッションは開いたままです。
Switchboard は作業を止めません。ローテーションをオンにすると、次のリクエストは同じプールの別のアカウントに移り、セッションは開いたままです。

SWITCHBOARD の中身

Expand Down
2 changes: 1 addition & 1 deletion docs/brand/copy/zh-hans-404.md
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ Português (Brasil)

错误 404

# 这里没有页面 位于此地址
# 这里没有页面位于此地址

链接可能已过期或输入有误。passioncode.ai 上的内容都可以从下面的页面进入

Expand Down
2 changes: 1 addition & 1 deletion docs/brand/copy/zh-hans-business-index.md
Original file line number Diff line number Diff line change
Expand Up @@ -172,7 +172,7 @@ Fabric Dashboards

10–25%

示例: 每周 40 小时、大部分靠手工的工作,按每小时 US$50 计,每月是 173 小时;智能体接手其中 25–50%,即 43–87 小时,或每月 US$2,150–4,350。
示例:每周 40 小时、大部分靠手工的工作,按每小时 US$50 计,每月是 173 小时;智能体接手其中 25–50%,即 43–87 小时,或每月 US$2,150–4,350。

这是估算,不是承诺。在任何推广之前,试点会对照你自己的基线,测出真实的数字。

Expand Down
2 changes: 1 addition & 1 deletion docs/brand/copy/zh-hans-business-thanks-index.md
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ Português (Brasil)

已收到申请

# 谢谢,申请 已送达
# 谢谢,申请已送达

我们会阅读每一份申请,并在两个工作日内回复,通常会就你提到的流程问几个问题。确认邮件通常几分钟内送达

Expand Down
2 changes: 1 addition & 1 deletion docs/brand/copy/zh-hans-fabric-index.md
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@ Fabric 把每个项目的目标、看板、决策和版本保存在你的电脑

智能体可以完成一项任务,团队却仍然丢掉任务背后的原因。上下文散落在各个聊天里,决策需要重复说明,还得有人把工作重新拼起来。

我们围绕 项目来构建 Fabric:目标、团队、决策和历史,都应当在下一次会话之后依然保留。
我们围绕项目来构建 Fabric:目标、团队、决策和历史,都应当在下一次会话之后依然保留。

运行循环 · 发展方向

Expand Down
2 changes: 1 addition & 1 deletion docs/brand/copy/zh-hans-start-index.md
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ Português (Brasil)

开始使用 · 免费且开源

# 从一台空白的电脑 到你的第一个智能体
# 从一台空白的电脑到你的第一个智能体

构建持续工作、并且知道其他智能体做过什么的智能体。一条命令安装工具,同一条命令之后也能检查它们

Expand Down
4 changes: 2 additions & 2 deletions docs/brand/copy/zh-hans-switchboard-agents-index.md
Original file line number Diff line number Diff line change
Expand Up @@ -68,9 +68,9 @@ Switchboard 可配合 Claude Code、Codex 以及其他热门编码智能体使

下面的每个智能体都可以使用 Switchboard 的工具:它能看到由哪个账号处理自己的请求、还剩多少额度,也可以切换账号。接受自定义端点的智能体还可以把请求经由 Switchboard 发送,由 Switchboard 为它们切换账号。部分智能体可以直接从 Switchboard 启动。

仅工具。 智能体连接 Switchboard 的工具;它的请求仍发往自己的服务。
仅工具。智能体连接 Switchboard 的工具;它的请求仍发往自己的服务。

经由 Switchboard。 在智能体中设置一次即可;Switchboard 会给出需要填写的具体内容。
经由 Switchboard。在智能体中设置一次即可;Switchboard 会给出需要填写的具体内容。

从 Switchboard 启动。 Switchboard 在项目文件夹中启动智能体,并使用该文件夹的账号。

Expand Down
2 changes: 1 addition & 1 deletion docs/brand/copy/zh-hans-switchboard-index.md
Original file line number Diff line number Diff line change
Expand Up @@ -154,7 +154,7 @@ Windows ZIP · SHA-256

一次长会话可能在任务进行到一半时达到账号的用量限制。接着工作只能等待:你要退出登录、找到另一个账号,再重新登录。

Switchboard 让 工作 继续进行。开启轮换后,下一次请求会转到同一账号池中的另一个账号,会话保持打开。
Switchboard 让工作继续进行。开启轮换后,下一次请求会转到同一账号池中的另一个账号,会话保持打开。

SWITCHBOARD 内部

Expand Down
2 changes: 1 addition & 1 deletion docs/brand/copy/zh-hans-vision-index.md
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ Português (Brasil)

## 而在托住模型的东西

大多数组织已经在试用智能体,但在任何一个职能里,能规模化的不超过 10% 在任何一个职能里,孤立的智能体在会话之间会遗忘,也跟不上自己的账号。它不留下自己做过什么的记录,下一个智能体对它一无所知。我们把托住它的东西称为 支撑框架(harness):模型周围的一切,让智能体随时间持续工作。实验室也用这个词:Anthropic, OpenAI。
大多数组织已经在试用智能体,但在任何一个职能里,能规模化的不超过 10% 在任何一个职能里,孤立的智能体在会话之间会遗忘,也跟不上自己的账号。它不留下自己做过什么的记录,下一个智能体对它一无所知。我们把托住它的东西称为支撑框架(harness):模型周围的一切,让智能体随时间持续工作。实验室也用这个词:Anthropic, OpenAI。

01

Expand Down
30 changes: 30 additions & 0 deletions evidence/2026-10-15-site-048/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# SITE-048 — no space at an emphasis join in Chinese and Japanese (2026-10-15)

Problem: a heading whose second half is emphasised kept the English source's space at the join in languages
written without spaces. zh-hans /start/ read "从一台空白的电脑 <em>到你的第一个智能体</em>".

Cause: `localizePage` (`scripts/locales.mjs`) keeps the English fragment's surrounding spaces
("From an empty computer to␠" before `<em>`), and `tightenCjk` removed that space only around links and code.

Fix: `tightenCjk` drops the space at an `<em>`, `<strong>` or `<b>` join between CJK characters, or after full-width
punctuation that closes the emphasis (`<strong>示例:</strong> 每…`). Korean keeps it (it is written with spaces;
Hangul is not in the CJK class), and so do the spaced languages. One catalog value carried the same stray space:
the zh-hans /start/ meta description (`i18n/zh-hans/start.json`).

Scan before the fix (the new whole-site test): 19 hits on 14 pages.
- Headings: zh-hans /start/, /404, /business/thanks/; ja /start/, /404.
- Inline emphasis: zh-hans /fabric/, /switchboard/, /switchboard/agents/, /vision/, /business/; ja /switchboard/,
/switchboard/agents/, /business/, /inbox/.

Kept on purpose: kicker and caption spans (`<span>工具包成员</span> 状态…`) and form `<small>` labels are separate
visual elements, not emphasis joins.

Checks run:
- `node --test scripts/locales.test.mjs`: the two new tests failed before the fix and pass after.
- "a heading split by emphasis joins without a space in Chinese and Japanese, and keeps it in spaced languages"
- "no generated Chinese or Japanese page puts a space between CJK text and an emphasis or a heading join"
- `npm run check`: exit 0.
- `npm run build`: 224 entries.
- WebKit 26.5 (Playwright 1.62.1), 1440 and 390 px, on built `dist/`. Pages: zh-hans /start/, /404, /fabric/,
/business/thanks/; ja /start/, /switchboard/, /404; ko /start/. The h1 join is "的电脑|到你的", "ーから|最初の",
"ージが|見つか"; ko keeps "에서 |첫 에". No overflow: 16 of 16 PASS.
2 changes: 1 addition & 1 deletion i18n/zh-hans/start.json
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@
"branch. You get a contract, a dashboard, tests and a conformance report.": "分支上进行。你会得到一份契约、一个仪表盘、测试和一份符合性报告。",
"adapt": "适配",
"Set up PassionCode.ai with one command, or one prompt for Claude Code or Codex: the tools, their MCP servers and the skills. The same command checks and repairs a setup you already have. Free and open source.": "一条命令安装 PassionCode.ai,或者把一条提示词交给 Claude Code 或 Codex:工具、对应的 MCP 服务器和技能。同一条命令也能检查并修复已有的配置。免费且开源。",
"From an empty computer to your first agents at work: one command, or five steps by hand. Free and open source.": "从一台空电脑 到第一批智能体开始工作:一条命令,或者手动五步完成。免费且开源。",
"From an empty computer to your first agents at work: one command, or five steps by hand. Free and open source.": "从一台空电脑到第一批智能体开始工作:一条命令,或者手动五步完成。免费且开源。",
"Build agents that keep working and know what the others did. One command sets up the tools, and the same command checks them later": "构建持续工作、并且知道其他智能体做过什么的智能体。一条命令安装工具,同一条命令之后也能检查它们",
"One command": "一条命令",
"ONE COMMAND": "一条命令",
Expand Down
2 changes: 1 addition & 1 deletion ja/404.html
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
<section class="hero page-hero notice-page" aria-labelledby="hero-title">
<div class="hero-copy">
<p class="eyebrow"><span></span> エラー 404</p>
<h1 id="hero-title">ページが <em>見つかりません</em></h1>
<h1 id="hero-title">ページが<em>見つかりません</em></h1>
<p class="hero-body">リンクが古いか、入力に誤りがある可能性があります。passioncode.ai のすべての情報は、次のページから辿れます</p>
<div class="hero-actions"><a class="button button-primary" href="/ja/">ホームへ移動 <span aria-hidden="true">→</span></a><a class="button button-secondary" href="/ja/start/">ツールをセットアップ</a><a class="button button-secondary" href="/ja/business/">組織向け</a></div>
</div>
Expand Down
Loading
Loading