You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[task] Version or migrate runtime OPENBOT.md seed #70
OPENBOT.md is product-locked runtime guidance, but it is not a tracked repo file. The repo source is the OPENBOT_MD string in daemon/src/harness-home.ts; deployment/startup seeds the runtime file at $OPENBOT_HOME/harness/shared/OPENBOT.md through ensureHarnessHome(...).
Today that seed uses writeIfMissing(...). Existing installs keep whatever OPENBOT.md was first created with. Restarting or deploying newer code does not update it.
Runtime file exists at /Users/lukaszmaj/.openbot/harness/shared/OPENBOT.md.
Current source constant is in daemon/src/harness-home.ts.
Runtime file had extra Isolated command guidance about running process exec through docker exec into Screen, while the current source constant did not.
That means the product-locked instruction file can drift from the code that is supposedly shipping it.
Solution
Add an explicit update/migration path for $OPENBOT_HOME/harness/shared/OPENBOT.md.
Keep user-editable files protected:
Users edit Workspace/AGENTS.md for All Bots.
Users edit Workspace/bots/<id>/AGENTS.md for This Bot.
Users do not edit harness/shared/OPENBOT.md.
Reasonable implementation shape:
Treat runtime OPENBOT.md as product-owned, not user-owned.
Store a version/hash/sentinel for the product seed, or compare against known prior product seeds.
On startup, update the file when it is an old product seed.
If the file has unknown local edits, do not silently overwrite; either preserve with a backup or surface a clear warning.
Keep vendor symlinks pointing at ../shared/OPENBOT.md.
Done When
A fresh Home still creates $OPENBOT_HOME/harness/shared/OPENBOT.md from the current product seed.
An existing Home with a known old product seed is migrated to the current product seed on startup.
An existing Home with unknown/manual edits is not silently destroyed.
Codex/Grok/Kimi vendor homes still link AGENTS.md to ../shared/OPENBOT.md; Claude still links CLAUDE.md to it.
A targeted test covers fresh seed, known-seed migration, and unknown-edit preservation/warning.
The issue body or implementation notes make clear that deploy/restart is not enough unless this migration runs.
The migrated product seed contains the finalized common and Isolated-config environment brief from the required [spec] V1 Isolated config and Screen-first Bot environment #81 implementation ticket, without the superseded Workspace-jail or active Host-grant authorization claims.
Notes
This ticket is about product runtime file lifecycle, not changing All Bots or This Bot editor behavior.
Related context: Isolated Harness Home (#58), PinchTab Talk MCP (#59), Isolated exec (MCP) (#69).
State: blocked by #85.
Parent: [spec] OpenBot v1.
Required by: [spec] V1 Isolated config and Screen-first Bot environment.
Problem
OPENBOT.mdis product-locked runtime guidance, but it is not a tracked repo file. The repo source is theOPENBOT_MDstring indaemon/src/harness-home.ts; deployment/startup seeds the runtime file at$OPENBOT_HOME/harness/shared/OPENBOT.mdthroughensureHarnessHome(...).Today that seed uses
writeIfMissing(...). Existing installs keep whateverOPENBOT.mdwas first created with. Restarting or deploying newer code does not update it.Observed on this machine:
/Users/lukaszmaj/Documents/ChatGPT/openbotOPENBOT.mdexists./Users/lukaszmaj/.openbot/harness/shared/OPENBOT.md.daemon/src/harness-home.ts.docker execinto Screen, while the current source constant did not.That means the product-locked instruction file can drift from the code that is supposedly shipping it.
Solution
Add an explicit update/migration path for
$OPENBOT_HOME/harness/shared/OPENBOT.md.Keep user-editable files protected:
Workspace/AGENTS.mdfor All Bots.Workspace/bots/<id>/AGENTS.mdfor This Bot.harness/shared/OPENBOT.md.Reasonable implementation shape:
OPENBOT.mdas product-owned, not user-owned.../shared/OPENBOT.md.Done When
$OPENBOT_HOME/harness/shared/OPENBOT.mdfrom the current product seed.AGENTS.mdto../shared/OPENBOT.md; Claude still linksCLAUDE.mdto it.Notes
This ticket is about product runtime file lifecycle, not changing All Bots or This Bot editor behavior.
Related context: Isolated Harness Home (#58), PinchTab Talk MCP (#59), Isolated exec (MCP) (#69).
Blocked by