Skip to content

feat(room): tell a session seated without the topic's earlier posts that they exist #133

Description

@smileygames

purpose

読み出し(read_room_history)は在って動くが、引き金が無い。文脈を持たないまま席に着いたセッションに、そのことを伝える。伝えたうえで引くかどうかはセッションが決める——push にはしない。

観測(2026-08-29、実機)

#131 の実機確認で見えた。再開先を外した起動は人には言う——状態行「Claude Lay を起動しました。戻る先の会話が見つからなかったため、このトピックの再開先は外しました。」。しかしセッション自身には何も言わない。文脈ゼロで席に着き、そうと知らないまま話し始める。

#131 が入る前はこの経路が起動ごと壊れていたため、欠けが後ろに隠れていた。壊れなくなって初めて前に出た。

premise

いずれも main945c31d)で確認した。

  • 道具は在り、動く。 sidecar/src/index.ts:312read_room_historyhistory / history_result フレーム、before の巻き戻しまで実装済みである(docs/0-requirements.md:366 の実装済み一覧)。
  • 作法は呼ぶかどうかをセッションに委ねている。 sidecar/src/index.ts:208INSTRUCTIONS:「必要になったら read_room_history を呼んでください」「押し付けられないので、要らないときは呼ばないでください」。呼ぶべき場面を名指す文が無い。 欠けているのは道具ではなく引き金である。
  • サイドカーは launch ごとの事実を env で受け取っている。 PULLCEPT_ROOM_URL / PULLCEPT_AGENT_NAME / PULLCEPT_ROOM_TOKEN / PULLCEPT_ROOM_ID / PULLCEPT_AGENT_HUE。書き出しは crates/mcp-config/src/lib.rs:532 付近であり、起動のたびに書き直される。伝える口は既に在る。
  • 順序は足りている。 resolve_launchsrc-tauri/src/session.rs:632)は register_sidecar(同 :793)より前に走る。登録の時点で resumed_from / dropped_resume は確定している。
  • トピックに過去の発言が在るかは答えられる。 room_log::topic_postssrc-tauri/src/room_log.rs:356)。

決定

AI 判断1: 境界は「再開しなかった席」であって、「再開先を外した席」ではない。 伝える条件は、そのトピックに既に発言が在り、かつこの起動が再開の線に入らなかったこと。dropped_resume はその一例に過ぎない。

採る理由: 盲目の度合いが同じだからである。外した席も、発言のあるトピックへ初めて入った席も、等しく「来る前の発言を持たない」。前者だけを拾う形は、#131 の経路に貼った絆創膏になり、同じ状態の残り半分を落とす。

AI 判断2: 伝えるのは「在る」ことだけで、件数は載せない。 引くかどうかの判断に件数は要らない。件数を出すには topic_posts の全読みを起動のたびに払うことになり、対価が釣り合わない。

AI 判断3: アプリが read_room_history を代理で呼ばない。 引く判断はセッションのものである。アプリが結果を先回りして注入すれば、下の制約が見送った力業と同じ場所に着く。

constraints

target files

  • crates/mcp-config/src/lib.rs(env の書き出し)
  • src-tauri/src/session.rsLaunchLine が持つ事実を登録へ渡す)
  • sidecar/src/index.tsINSTRUCTIONS の分岐)
  • sidecar/test/round-trip.test.mjs(作法の文言を持つテスト)
  • docs/0-requirements.md

関連

Activity

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

Metadata

Metadata

Assignees

Labels

enhancement新機能・改善要望ready本文が実装開始できる形まで収束している状態。ただし更新は継続可能

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions