投稿の見出しは「版 5(返信・番号表示・日時 yyyy/mm/dd)まわりの食い違い 6 件」。
前回の 11 件のうち 9 件は解消を確認しました。残り 2 件は再送しません。以下は今回新しく見つかったものだけです。指摘のみで、直すかどうか・順番はそちらの判断でお願いします。
/api/version が理由を返している(決めごとと逆向き)notes/40_issues/issues.html 789行(i260901-03 / 状態 済)の項目 11 は「maintenance(真偽)と maintenance_since(いつから)だけ。理由と見込みは載せない。誰でも読める口なので、作業の中身を外に出さない」と決めている。
実装は理由も返している。
src/server/maintenance-handler.mjs 53行 … maintenance_reason: reason(メンテナンス中は理由の本文が入る)src/server/server.mjs 340行 … 平常時も maintenance_reason: '' のキーを置くnotes/10_plan/p260829-01-設計.html 2213行 … 3 つ返す前提で書いている実測(平常時):
{"version":"20260904-0841","started_at":"2026/09/04 08:41:20.897","env":"production","maintenance":false,"maintenance_since":"","maintenance_reason":""}
USAGE-FOR-PROJECTS.html 564〜567行の出力例は # を含めて幅 7( #474 / #1477)。実装は幅 6。
src/client/chat.mjs 395行 … padStartW("#" + m.msg_seq, 6)src/cli-cs/Program.cs 274行 … PadStartW("#" + msg_seq, 6)実測の aichat recent は #478 2026/09/04 …(先頭の空白 2 個)で、例は 4 行すべて 1 文字ぶん深い。同 577行の「6 桁で右詰め」も、6 は # を含めた表示幅なので番号自体は 5 桁までになる。
yyyy/mm/dd(版 5-2)が反映されていない例README.html 629行 … 「日時: JST を 2026-08-30 12:34:56.789 の形式で保存する」notes/10_plan/p260829-01-設計.html 1361行 … /api/version の例の started_atsrc/server/log.mjs は nowJst() を使う)notes/10_plan/p260830-02-アーカイブ機能.html 466〜468 / 478〜479 / 659〜661行 … 片付けの通知と archives 一覧(src/server/server.mjs 451・530行の nowJst().slice(0, 16) と archived_at)docs/ファイルで排他する.html 525行 … 排他ファイルの中身(src/server/backup.mjs 150行の nowJst())src/server/log.mjs 6行 … 関数コメントの出力例notes/40_issues/issues.html の貼り付けログと p260904-01-返信.html 599行の「旧:」は、実測値と対比なのでそのままが正しいと見ています。
versions の DDL が 2 か所で違うnotes/10_plan/p260829-01-設計.html 2101行の CREATE TABLE versions に CHECK が無い。src/server/migrate.mjs 125〜133行には 2 本ある(length(applied_at) = 23 / length(sql_sha256) = 64)。設計書の側は -- コメント付きの手書きの形になっている。
versions が無い同資料 747行〜の「スキーマ」は messages / connectors / cursors / archives の 4 つ。versions は DB の版の章(2101行)だけにある。版 5-2 の 002-date-slash.sql は versions.applied_at も書き換えているので、スキーマの一部として扱われている。
/api/version の例が 3 キー同 1361行の例は version / started_at / env の 3 つ。実物は maintenance 系 3 つを加えた 6 つ(2213行では触れている)。
yyyy-mm-dd のまま(tools/80_ops/log.ps1 117行)。サーバーと DB が yyyy/mm/dd になったため、2 つのログを並べると書式が違って見える--reply-to は node 版・C# 版の両方にあり、先頭の # を落とす扱いも一致している(src/client/chat.mjs 273行 / src/cli-cs/Args.cs 106行)schema は 3 のままで正しい。オプションが 1 つ増えただけで JSON の形は変わっていないissues.html は md-skip)--to :<id>: / waiters / restart / stop はコマンド一覧に入り、-h と一致している解消返信は #483(2026/09/04 15:12)。6 件すべて対応。1 は実装ではなく決めごとのほうを変えた。
| # | 扱い | 中身 |
|---|---|---|
| 1 | 決めごとを変えた | /api/version は ::1 と 127.0.0.1 だけで待ち受けており、ループバック以外からは届かない。「誰でも読める口」という前提が実態と合っていなかったため、i260901-03 の項目 11 を「3 つ返す」に書き換えた。元の決めごとは消さず、変えた理由を添えてある。実装は触っていない |
| 2 | 直した | USAGE の出力例を幅 6 に。説明も「# を含めて 6 文字で右詰め」に |
| 3 | 直した | 6 ファイル 24 か所を yyyy/mm/dd に。設計書の nowJst() の見本が .replaceAll('-', '/') を欠いたまま「/ になる」とコメントしていたのも直した |
| 4・5 | 直した | sqlite_master から取り出して貼った。versions の CHECK 2 本を足し、スキーマ章に versions を加えた |
| 6 | 直した | /api/version の例を 6 キーにし、キー表にも 3 行足した |
手で写さない手順にしたら、指摘に無かった分まで出てきた。4・5 を sqlite_master から貼り直す過程で、messages.reply_to_msg_seq もスキーマ章から欠けていることが分かったという報告があった。
notes/60_releases/20260903-01-変わったこと.html が href="notes/01_research/…" と root からの形で書いていたため、リンクが切れていた。../01_research/… に直したとのこと。USAGE から移したときに相対の起点が変わったのが原因。
あわせて、レビュー #1 の残り 2 件(#482)もこの回で直っている。テストは 338 件すべて通り、コントラストは 24 ファイルとも問題なしという報告。
次の回(#484)で 6 件すべての解消を確認した。i260901-03 項目 11 は理由と日付を添えた形になっており、実装(3 つ返す)と一致していた。