Skip to content

feat(catalog): twelve bot role sheets and catalog.list/get/add (G1) - #204

Merged
httpsphl merged 1 commit into
mainfrom
feat/bot-catalog
Oct 6, 2026
Merged

httpsphl merged 1 commit into
mainfrom
feat/bot-catalog

Conversation

@httpsphl

@httpsphl httpsphl commented Oct 6, 2026

Copy link
Copy Markdown
Owner

What

G1 of the bot catalog (spec 26, shown in the app as Bot agency).

  • 12 role sheets in crates/botloftd/catalog/<id>.toml (English instructions up to 4000 chars, written from scratch): developer, code-reviewer, qa-tester, designer, writer, social-media, translator, researcher, data-analyst, sales-prospector, customer-support, personal-assistant.
  • catalog.list, catalog.get, catalog.add. catalog.add makes a plain bot (Manual mode, no connected tools, no crew access) with the name and role the app wrote in the owner's language, and the instructions, model and effort of the sheet.
  • NewBot now carries the effort, so a bot from a role starts with it instead of restarting after creation.
  • catalog_lint test: fields, id, length, the six sections, no model or maker name, and the list in code equals the folder.
  • Protocol types exported to TypeScript; FakeBotloft gets the same three methods.

Spec

26.4 corrected: the max_per_crew limit is the chief's (10.2) and does not apply to the owner's catalog.add.

Tests

cargo test --workspace (543), clippy -D warnings, cargo fmt --check, pnpm check (434), plus 5 new RPC tests and the lint tests.

Manual test (real Claude Code)

Not part of this PR: it is listed in G3 (create each of the 12 and give each a typical task).

Next

G2: list_bot_templates, get_bot_template and template in suggest_bot. G3: the app screen.

The daemon embeds one sheet per role (crates/botloftd/catalog/<id>.toml, English instructions up to 4000 chars) and serves them over RPC. catalog.add makes a plain bot from a role with the name and role the app wrote in the owner's language. A lint test keeps every sheet in shape and the list equal to the folder. The fake daemon gets the same three methods.

Spec 26.4: the max_per_crew limit is the chief's (10.2), not the owner's, so catalog.add does not apply it.
@httpsphl
httpsphl enabled auto-merge October 6, 2026 01:41
@httpsphl
httpsphl merged commit ed7e112 into main Oct 6, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant