Genericize owner: prompt placeholders, ask_owner, neutral examples #136

Merged
chad merged 4 commits from glen/genericize-owner into main 2026-10-20 22:39:50 -04:00
Collaborator

Follow-up to 0054. Removes author/environment-specific text from everything the model or a user sees.

Bug fixed — owner name frozen into sqlite. GIT_DEFAULT_SECTIONS.base interpolated ownerName() at build time, so seedSection (and Reset) stored the literal name; changing SWEATSHOP_OWNER_NAME or editing in Settings froze it.

  • Git default now uses {{owner}} / {{owner's}} placeholders; renderOwnerPlaceholders (lib/agent/owner.ts) renders them at turn time in buildInstructions (all sections + skill body) and in use_skill's returned body.
  • Existing deployments: repairStaleBase upgrades a base row only if editedBy = "git" AND its body is byte-identical to the old "Chad" default (verified equal to the pre-change GIT_DEFAULT_SECTIONS.base output) — written as a new version, note "owner placeholders". User/agent-edited text is never touched. Runtime idempotent repair rather than a SQL migration (multi-paragraph exact-match + versioning).
  • Settings help text mentions the placeholders.

ask_chad → ask_owner. Tool, prompt text, budget nudge, attention/inbox toolName, mock model, AGENTS.md. AskOwnerCard renders both tool-ask_owner and legacy tool-ask_chad, so old transcripts still display.

Other strings. propose_prompt_change description/denial use ownerName(); gh tool examples, docs/agent/projects.md, and the new-project placeholder use acme/widgets instead of TangoGroup/360-gpl.

Left alone: code comments, numbered design docs, AGENTS.md process notes (who merges), the frozen comparison constant.

Verified: typecheck, lint (2 pre-existing warnings), 937 tests pass.

Follow-up to 0054. Removes author/environment-specific text from everything the model or a user sees. **Bug fixed — owner name frozen into sqlite.** `GIT_DEFAULT_SECTIONS.base` interpolated `ownerName()` at build time, so `seedSection` (and Reset) stored the literal name; changing `SWEATSHOP_OWNER_NAME` or editing in Settings froze it. - Git default now uses `{{owner}}` / `{{owner's}}` placeholders; `renderOwnerPlaceholders` (lib/agent/owner.ts) renders them at turn time in `buildInstructions` (all sections + skill body) and in `use_skill`'s returned body. - Existing deployments: `repairStaleBase` upgrades a `base` row only if `editedBy = "git"` AND its body is byte-identical to the old "Chad" default (verified equal to the pre-change `GIT_DEFAULT_SECTIONS.base` output) — written as a new version, note "owner placeholders". User/agent-edited text is never touched. Runtime idempotent repair rather than a SQL migration (multi-paragraph exact-match + versioning). - Settings help text mentions the placeholders. **`ask_chad` → `ask_owner`.** Tool, prompt text, budget nudge, attention/inbox toolName, mock model, AGENTS.md. `AskOwnerCard` renders both `tool-ask_owner` and legacy `tool-ask_chad`, so old transcripts still display. **Other strings.** `propose_prompt_change` description/denial use `ownerName()`; `gh` tool examples, `docs/agent/projects.md`, and the new-project placeholder use `acme/widgets` instead of TangoGroup/360-gpl. Left alone: code comments, numbered design docs, AGENTS.md process notes (who merges), the frozen comparison constant. Verified: typecheck, lint (2 pre-existing warnings), 937 tests pass.
chad merged commit 07864e3a57 into main 2026-10-20 22:39:50 -04:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
chad/sweatshop-legacy!136
No description provided.