238 Commits 3fc158ab91 ... c1be128c3b

Author SHA1 Message Date
  Paul Klumpp c1be128c3b Codify the commit-message rule: why over what 1 week ago
  Paul Klumpp c6d893dd7d Correct stale docs: no resume cursor, no home-channel fallback 1 week ago
  Paul Klumpp 9f11357774 Deliver the room roster on every channel turn, cap it at 20 members 1 week ago
  Paul Klumpp bdd6acb0a9 Render the room roster from a cached projection, presence patched live 1 week ago
  Paul Klumpp 30bc4f75ec Drop getattr masking of the base-class _reaction_handler 1 week ago
  Paul Klumpp 41c70a1015 Refresh room roster on presence change instead of freezing at thread start 1 week ago
  Paul Klumpp 41b66f2931 Ignore local trial.py scratch file 1 week ago
  Paul Klumpp 9d2668b5c5 Add debug logging around roster dispatch and thread anchoring 1 week ago
  Paul Klumpp f5c2c32a4a Announce the channel member roster when a thread opens 1 week ago
  Paul Klumpp 35a32db984 Apply code-review findings across adapter, tests and docs 1 week ago
  Paul Klumpp f63727802e Ignore thread/room bookkeeping events in the realtime stream 1 week ago
  Paul Klumpp 5e73785894 Name DM partners and quote room names in the joined-rooms summary 1 week ago
  Paul Klumpp d7d036b887 Acknowledge user_joined_room/user_left_room in the known-event path 1 week ago
  Paul Klumpp 1f69c4cf48 Tag joined-rooms summary with policy and DM kind 1 week ago
  Paul Klumpp a00a8ce2b1 Vendor websockets: build chattolib with the [realtime] extra 1 week ago
  Paul Klumpp 60a2875486 Review leftovers: room-kind helper, rename, except merge 1 week ago
  Paul Klumpp 37ad9f8fe2 Split long messages in the standalone sender, unify the 9900 threshold 1 week ago
  Paul Klumpp 560c95fbb9 Seed extra only from env vars that are actually set 1 week ago
  Paul Klumpp e03fafbc6c Thread attachment sends like text sends 1 week ago
  Paul Klumpp ed6c708d1b Replace require_mention with opt-in mention room lists 1 week ago
  Paul Klumpp 3cf3343521 Align mention detection with the Chatto web frontend (FDR-006) 1 week ago
  Paul Klumpp d7579865f0 Apply the locals rule: inline single-use aliases and no-op guards 1 week ago
  Paul Klumpp 763cc4eae7 Inline the single-purpose asset_id local; codify when locals earn their line 1 week ago
  Paul Klumpp 4f4f46f092 Review cleanup: typed access, dead state, markers, honest docs 1 week ago
  Paul Klumpp 14f3f18050 Extend the sweep: module-level orphans and job-level duplication 1 week ago
  Paul Klumpp cbd30f8e3a Unify send_image on _materialise_image; rename the shared sender 1 week ago
  Paul Klumpp 4181120c94 send_document: drop the redundant failure log 1 week ago
  Paul Klumpp cee69428d9 Drop the redundant JoinRoom in _refresh_rooms 1 week ago
  Paul Klumpp aa10022926 Drop the login assert; validate credentials in _open_client 1 week ago
  Paul Klumpp 82979e1a2f Codify the if-for-states/try-for-faults split under Readability 1 week ago
  Paul Klumpp 43092b0a1e Rename _require_client to _require_chatto_client 1 week ago
  Paul Klumpp 0c3ee0fbd6 Replace client-fetch try/except ceremony with guard clauses 1 week ago
  Paul Klumpp 2271ac416a Process inbound message edits as corrections 1 week ago
  Paul Klumpp 7294c01874 Give the dead-field sweep a real trigger and command 1 week ago
  Paul Klumpp c038a80476 Rewrite the Shell Scripts rules in house style 1 week ago
  Paul Klumpp 29bea1684d Guard the vendoring script against an unset VENDOR_DIR 1 week ago
  Paul Klumpp b082c0cc22 Right-size the adapter's log levels 1 week ago
  Paul Klumpp 15e6508394 Rename the watch list to joined rooms 1 week ago
  Paul Klumpp 20a6047c59 Add basedpyright gate and sweep dead instance state 1 week ago
  Paul Klumpp 0728de3764 Add CHATTO_RESPOND_ROOMS as a positive list of answer rooms 1 week ago
  Paul Klumpp bd82e00b6c State env var defaults in plugin.yaml install prompts 1 week ago
  Paul Klumpp 95be5ab3c7 Rework after-install.md around the installer's prompts 1 week ago
  Paul Klumpp c86e4d8c83 Adopt Ruff across the plugin 1 week ago
  Paul Klumpp 4506d800a9 Import chattolib absolutely in hermes_check_fn 1 week ago
  Paul Klumpp 59474cb344 Keep chattolib Messages out of SendResult.raw_response 1 week ago
  Paul Klumpp a9164e404c React with 🚫 when processing is cancelled 1 week ago
  Paul Klumpp aa6ce9a301 Point Troubleshooting at hermes logs first 1 week ago
  Paul Klumpp c6f73b3978 Let admins manage room membership over DM (/join, /leave) 1 week ago
  Paul Klumpp 20b54714ee Use a grinning cat as the platform badge 1 week ago
  Paul Klumpp 241715198d Document installing the plugin from its Git URL 1 week ago
  Paul Klumpp 018a734ab1 Remove the inert CHATTO_CHANNELS option 1 week ago
  Paul Klumpp a8ee17ff0c Make the docs match the adapter's actual behavior 1 week ago
  Paul Klumpp fcafb02dc0 Spell out the working rules in AGENTS.md 1 week ago
  Paul Klumpp 9b4c0545b4 Consolidate user docs into README.md 1 week ago
  Paul Klumpp ced2296be1 Ignore a local .hermes-agent checkout 1 week ago
  Paul Klumpp a13614f503 Align the emoji shortcode map with names Chatto accepts 1 week ago
  Paul Klumpp 4478e9ccd4 Bring adapter.py back to PEP 8 1 week ago
  Paul Klumpp 7397f5164a Carry inbound replies as MessageEvent.in_reply_to 1 week ago
  Paul Klumpp 7b70d129e2 Refresh vendored wheels: protobuf, httpx and idna rebuilds 1 week ago
  Paul Klumpp 1ceee6b0d6 Cover messages that name several people 1 week ago
  Paul Klumpp b032a0e8f7 Confirm an @-token is a real handle before falling silent 1 week ago
  Paul Klumpp 0d55d14646 Stay out of conversations aimed at someone else 1 week ago
  Paul Klumpp 69dc2913ad Stop warning about turns that have nothing to react to 1 week ago
  Paul Klumpp 2cc3516237 Test the hint's substance, not its exact wording 1 week ago
  Paul Klumpp 15830489da Stop inviting markdown image syntax for local files 1 week ago
  Paul Klumpp a8e0cfbbbb Stop inviting markdown image syntax for local files 1 week ago
  Paul Klumpp 4e94ee6043 Ask for typed access over dynamic lookups 1 week ago
  Paul Klumpp 7f7cb37ba4 Read the upload ID from the field chattolib actually returns 1 week ago
  Paul Klumpp b914f1a13e Drop the _list_functions debug dump 1 week ago
  Paul Klumpp 643a6effae Put AGENTS.md back into one language 1 week ago
  Paul Klumpp fb97cca1bb Require the capability banner to be kept current 1 week ago
  Paul Klumpp 881d774986 Announce what the plugin can do at registration 1 week ago
  Paul Klumpp 4af53597ba Tell the model that Chatto can carry files 1 week ago
  Paul Klumpp a75ef73eb3 Drop the unused _relogin helper 1 week ago
  Paul Klumpp dc148f9cda Keep refreshing presence so the bot stays online 1 week ago
  Paul Klumpp 9b176e2201 Say out loud that require_mention gates channels only 1 week ago
  Paul Klumpp 648c032bd8 Note that the tests need the Hermes Agent checked out 1 week ago
  Paul Klumpp b41b4f871a Merge branch 'review-baseadapter-overrides' into main 1 week ago
  Paul Klumpp a9c081477d Merge branch 'review-baseadapter-overrides' of paul/hermes-chatto-plugin into main 1 week ago
  Paul Klumpp c7917abf48 Document what group vs channel actually changes in the gateway 1 week ago
  Paul Klumpp f30723a13f Bundle image batches into a single Chatto message 1 week ago
  Paul Klumpp e8f848aa62 Map RoomKind onto the gateway's chat_type vocabulary 1 week ago
  Paul Klumpp f6b83bddd9 Send files, video and audio natively — and fix send_image_file's signature 1 week ago
  Paul Klumpp a75881f84b Implement edit_message, delete_message, create_handoff_thread, format_message 1 week ago
  Paul Klumpp 9873d854ea Forward Chatto reactions to the gateway's reaction hook surface 1 week ago
  Paul Klumpp 873bff0060 Make dispatch robust: room-kind cache, unified dedup, explicit config defaults 2 weeks ago
  Paul Klumpp 0e3a7a5acb Deliver inbound attachments to the agent instead of dropping them 1 week ago
  Paul Klumpp e48d2ea0e3 Add a plan for the missing BasePlatformAdapter overrides 1 week ago
  Paul Klumpp 03b2dbeb55 Fix the drifted tests, and the bug one of them was pointing at 1 week ago
  Paul Klumpp 823c47e264 Make the test suite collectable 1 week ago
  Paul Klumpp b169111593 Stop shadowing the host's pinned dependencies 1 week ago
  Paul Klumpp 306d85f744 Rebuild vendor/ for linux-x86_64, linux-aarch64 and macos-arm64 1 week ago
  Paul Klumpp f655543157 Vendor dependencies per platform instead of Linux-x86_64 only 1 week ago
  Paul Klumpp 854ea71f19 Add uv.lock and ignore local venv/test artifacts 1 week ago
  Paul Klumpp cbec28ee5f Remove the YAML -> env config bridge 1 week ago
  Paul Klumpp 5437d6f751 Seed PlatformConfig.extra under the keys the config actually reads 1 week ago
  Paul Klumpp 3d854efa66 Resolve config fields declaratively, per instance 1 week ago
  Paul Klumpp b609bfea78 Fix credential check in the standalone sender 1 week ago
  Paul Klumpp c81fd71c59 Detect DMs in get_chat_info() via RoomKind 1 week ago
  Paul Klumpp 1cf93a9c41 Report send() failures instead of a phantom success 1 week ago
  Paul Klumpp ced336fdb0 Drop duplicate sleep from the realtime reconnect loop 1 week ago
  Paul Klumpp c34cffb90a Broadcast OFFLINE presence on disconnect 1 week ago
  Paul Klumpp 9dc6c31042 Initialize self.me so early events cannot crash the adapter 1 week ago
  Paul Klumpp 061e2ea54b Fix auth bypass: every user was authorized 1 week ago
  Paul Klumpp 42a4c45c5f Import vendored chattolib absolutely and fail loudly 1 week ago
  Paul Klumpp 125500bac4 Adapt the adapter to chattolib 0.4.20 and slim its connect path 1 week ago
  Paul Klumpp 2d1acf4b94 Refresh vendored chattolib to 0.4.20 1 week ago
  Paul Klumpp eee84d76d5 Run off the vendored tree and complete the hermes_* hook surface 1 week ago
  Paul Klumpp 7a43f12ea9 Vendor the full chattolib dependency tree under vendor/ 1 week ago
  Paul Klumpp 5762b3fa68 Add agent guidelines and align docs and dev dependencies 1 week ago
  Paul Klumpp a3790427c8 Slim the adapter down to platform work 1 week ago
  Paul Klumpp 4282b4278d Restructure config and registration around ChattoConfiguration 1 week ago
  Paul Klumpp f22dac9c28 Import vendored chattolib directly, drop lazy_import and SingletonSlot 1 week ago
  Paul Klumpp 0b461ad89c Vendor chattolib 0.4.19.post1 with generated protobuf bindings 1 week ago
  Paul Klumpp 3fc158ab91 Correct stale docs: no resume cursor, no home-channel fallback 1 week ago
  Paul Klumpp 025aa1d63f Deliver the room roster on every channel turn, cap it at 20 members 1 week ago
  Paul Klumpp 99990384aa Render the room roster from a cached projection, presence patched live 1 week ago
  Paul Klumpp 8081f459df Drop getattr masking of the base-class _reaction_handler 1 week ago
  Paul Klumpp fa18c2b2c1 Refresh room roster on presence change instead of freezing at thread start 1 week ago
  Paul Klumpp 78c71d4402 Ignore local trial.py scratch file 1 week ago
  Paul Klumpp e3e05dcea7 Add debug logging around roster dispatch and thread anchoring 1 week ago
  Paul Klumpp 6ab4a788f4 Announce the channel member roster when a thread opens 1 week ago
  Paul Klumpp 0496ca5ca8 Apply code-review findings across adapter, tests and docs 1 week ago
  Paul Klumpp ae63821b3c Ignore thread/room bookkeeping events in the realtime stream 1 week ago
  Paul Klumpp d226d20a59 Name DM partners and quote room names in the joined-rooms summary 1 week ago
  Paul Klumpp 47883b07e3 Acknowledge user_joined_room/user_left_room in the known-event path 1 week ago
  Paul Klumpp d5c230421a Tag joined-rooms summary with policy and DM kind 1 week ago
  Paul Klumpp 2ed4a932bc Vendor websockets: build chattolib with the [realtime] extra 1 week ago
  Paul Klumpp ab1ea41cb4 Review leftovers: room-kind helper, rename, except merge 1 week ago
  Paul Klumpp b036f0eead Split long messages in the standalone sender, unify the 9900 threshold 1 week ago
  Paul Klumpp e2fc112b06 Seed extra only from env vars that are actually set 1 week ago
  Paul Klumpp 9d58390443 Thread attachment sends like text sends 1 week ago
  Paul Klumpp c67865873b Replace require_mention with opt-in mention room lists 1 week ago
  Paul Klumpp cadf251a06 Align mention detection with the Chatto web frontend (FDR-006) 1 week ago
  Paul Klumpp 84ca474223 Apply the locals rule: inline single-use aliases and no-op guards 1 week ago
  Paul Klumpp f98c88212e Inline the single-purpose asset_id local; codify when locals earn their line 1 week ago
  Paul Klumpp 792594ce54 Review cleanup: typed access, dead state, markers, honest docs 1 week ago
  Paul Klumpp 686e2a0222 Extend the sweep: module-level orphans and job-level duplication 1 week ago
  Paul Klumpp f870333565 Unify send_image on _materialise_image; rename the shared sender 1 week ago
  Paul Klumpp cbf802792d send_document: drop the redundant failure log 1 week ago
  Paul Klumpp a410c5b57f Drop the redundant JoinRoom in _refresh_rooms 1 week ago
  Paul Klumpp fd058d43b6 Drop the login assert; validate credentials in _open_client 1 week ago
  Paul Klumpp 6fea6c3354 Codify the if-for-states/try-for-faults split under Readability 1 week ago
  Paul Klumpp 12cdc62e2c Rename _require_client to _require_chatto_client 1 week ago
  Paul Klumpp 8dd2c77fc9 Replace client-fetch try/except ceremony with guard clauses 1 week ago
  Paul Klumpp 54a010ebdc Process inbound message edits as corrections 1 week ago
  Paul Klumpp fb48031dd5 Give the dead-field sweep a real trigger and command 1 week ago
  Paul Klumpp 48751c9c93 Rewrite the Shell Scripts rules in house style 1 week ago
  Paul Klumpp 8714457d62 Guard the vendoring script against an unset VENDOR_DIR 1 week ago
  Paul Klumpp 42164fe606 Right-size the adapter's log levels 1 week ago
  Paul Klumpp b21be0da60 Rename the watch list to joined rooms 1 week ago
  Paul Klumpp 67f7c7a73c Add basedpyright gate and sweep dead instance state 1 week ago
  Paul Klumpp c194f93225 Add CHATTO_RESPOND_ROOMS as a positive list of answer rooms 1 week ago
  Paul Klumpp f14442af83 State env var defaults in plugin.yaml install prompts 1 week ago
  Paul Klumpp ad0baf8519 Rework after-install.md around the installer's prompts 1 week ago
  Paul Klumpp d6012958f2 Adopt Ruff across the plugin 1 week ago
  Paul Klumpp b8f7a402c8 Import chattolib absolutely in hermes_check_fn 1 week ago
  Paul Klumpp 97ed56f8bf Keep chattolib Messages out of SendResult.raw_response 1 week ago
  Paul Klumpp 9a2f52d91f React with 🚫 when processing is cancelled 1 week ago
  Paul Klumpp 8cac2870d1 Point Troubleshooting at hermes logs first 1 week ago
  Paul Klumpp 7c343ab882 Let admins manage room membership over DM (/join, /leave) 1 week ago
  Paul Klumpp 86c102fc1d Use a grinning cat as the platform badge 1 week ago
  Paul Klumpp a91664c0e6 Document installing the plugin from its Git URL 1 week ago
  Paul Klumpp 056bb5a6b6 Remove the inert CHATTO_CHANNELS option 1 week ago
  Paul Klumpp 9b7fb32b87 Make the docs match the adapter's actual behavior 1 week ago
  Paul Klumpp 3aebaa4a86 Spell out the working rules in AGENTS.md 1 week ago
  Paul Klumpp 10fe3ef402 Consolidate user docs into README.md 1 week ago
  Paul Klumpp 9acec673f1 Ignore a local .hermes-agent checkout 1 week ago
  Paul Klumpp 6c53675ae7 Extend the emoji shortcode map 1 week ago
  Paul Klumpp 521ef2b9c5 pep8 1 week ago
  Paul Klumpp 6ac51d2a8e ok, find in_reply_to 1 week ago
  Paul Klumpp 35c806b687 update vendor libs 1 week ago
  Paul-Dieter Klumpp 7fd6731238 Cover messages that name several people 1 week ago
  Paul-Dieter Klumpp a36c88aca0 Confirm an @-token is a real handle before falling silent 1 week ago
  Paul-Dieter Klumpp 78fbe4e7e5 Stay out of conversations aimed at someone else 1 week ago
  Paul-Dieter Klumpp a7b5662a3e Stop warning about turns that have nothing to react to 1 week ago
  Paul-Dieter Klumpp 2c5517550a Test the hint's substance, not its exact wording 1 week ago
  Paul-Dieter Klumpp 241c1364fb Stop inviting markdown image syntax for local files 1 week ago
  Paul-Dieter Klumpp c56f138197 Stop inviting markdown image syntax for local files 1 week ago
  Paul-Dieter Klumpp 0257dbf854 Ask for typed access over dynamic lookups 1 week ago
  Paul-Dieter Klumpp babaf93fdb Read the upload ID from the field chattolib actually returns 1 week ago
  Paul-Dieter Klumpp 63ffcf3c86 Drop the _list_functions debug dump 1 week ago
  Paul-Dieter Klumpp f40e08e47e Put AGENTS.md back into one language 1 week ago
  Paul-Dieter Klumpp 1b4462d2d7 Require the capability banner to be kept current 1 week ago
  Paul-Dieter Klumpp bf23a202f4 Announce what the plugin can do at registration 1 week ago
  Paul-Dieter Klumpp 793ff6bed0 Tell the model that Chatto can carry files 1 week ago
  Paul-Dieter Klumpp 7e7bc17669 Drop the unused _relogin helper 1 week ago
  Paul-Dieter Klumpp 33cdee9e27 Keep refreshing presence so the bot stays online 1 week ago
  Paul-Dieter Klumpp 428796ef3a Say out loud that require_mention gates channels only 1 week ago
  Paul-Dieter Klumpp 02a08c7fc9 Note that the tests need the Hermes Agent checked out 1 week ago
  Paul-Dieter Klumpp 0c2f174846 Merge branch 'review-baseadapter-overrides' into main 1 week ago
  Paul-Dieter Klumpp 5de729090d Document what group vs channel actually changes in the gateway 1 week ago
  Paul-Dieter Klumpp 212f84060c Map RoomKind onto the gateway's chat_type vocabulary 1 week ago
  Paul Klumpp 602d22bc60 Merge branch 'review-baseadapter-overrides' of paul/hermes-chatto-plugin into main 1 week ago
  Paul-Dieter Klumpp dfa8405863 Bundle image batches into a single Chatto message 1 week ago
  Paul-Dieter Klumpp 5729c20850 Send files, video and audio natively — and fix send_image_file's signature 1 week ago
  Paul-Dieter Klumpp 6b33c7bfdb Implement edit_message, delete_message, create_handoff_thread, format_message 1 week ago
  Paul-Dieter Klumpp aca30b1304 Forward Chatto reactions to the gateway's reaction hook surface 1 week ago
  Paul-Dieter Klumpp 7ada6510de Deliver inbound attachments to the agent instead of dropping them 1 week ago
  Paul-Dieter Klumpp 9e03b89614 Add a plan for the missing BasePlatformAdapter overrides 1 week ago
  Paul-Dieter Klumpp de1ce25283 Fix the drifted tests, and the bug one of them was pointing at 1 week ago
  Paul-Dieter Klumpp ceeca0a376 Make the test suite collectable 1 week ago
  Paul-Dieter Klumpp ae4e9408d3 Stop shadowing the host's pinned dependencies 1 week ago
  Paul-Dieter Klumpp 4dcd309e42 Rebuild vendor/ for linux-x86_64, linux-aarch64 and macos-arm64 1 week ago
  Paul-Dieter Klumpp edef4c2160 Vendor dependencies per platform instead of Linux-x86_64 only 1 week ago
  Paul-Dieter Klumpp a0b1bf95ec Add uv.lock and ignore local venv/test artifacts 1 week ago
  Paul-Dieter Klumpp 51e407d60b Remove the YAML -> env config bridge 1 week ago
  Paul-Dieter Klumpp 794e68063d Seed PlatformConfig.extra under the keys the config actually reads 1 week ago
  Paul-Dieter Klumpp 5e4ab85ad4 Resolve config fields declaratively, per instance 1 week ago
  Paul-Dieter Klumpp f4a840d80a Fix credential check in the standalone sender 1 week ago
  Paul-Dieter Klumpp caff2affa6 Detect DMs in get_chat_info() via RoomKind 1 week ago
  Paul-Dieter Klumpp 49e16d3419 Report send() failures instead of a phantom success 1 week ago
  Paul-Dieter Klumpp c67aded50c Drop duplicate sleep from the realtime reconnect loop 1 week ago
  Paul-Dieter Klumpp 693d8c9741 Broadcast OFFLINE presence on disconnect 1 week ago
  Paul-Dieter Klumpp 79f1fd1622 Initialize self.me so early events cannot crash the adapter 1 week ago
  Paul-Dieter Klumpp 81295de81d Fix auth bypass: every user was authorized 1 week ago
  Paul-Dieter Klumpp 726c78fd29 Import vendored chattolib absolutely and fail loudly 1 week ago
  Paul Klumpp 82120f4eb8 ok, works somehow 2 weeks ago
  Paul Klumpp 40109a34b6 amendonitas 2 weeks ago
  Paul Klumpp 084c8b52b4 jo, init 2 weeks ago
  Paul Klumpp 9e17ea62f8 courtesy commit 3 weeks ago
  Paul Klumpp c9b5cb7432 courtesy commit 3 weeks ago
  Paul Klumpp 6cf88eaafe Use SingletonSlot for thread-safe chattolib client 4 weeks ago
  Liv Klumpp b7840b7074 Use SingletonSlot for thread-safe chattolib client 4 weeks ago
  Paul Klumpp 10f16fdf0e Use lazy_deps for chattolib imports (Hermes plugin requirement) 4 weeks ago
  Liv Klumpp 3ed96ebcec Use lazy_deps for chattolib imports (Hermes plugin requirement) 4 weeks ago
  Paul Klumpp ffb542765e Call the outbound API ConnectRPC, not REST 1 month ago
  Liv Klumpp f296288912 Fix: Correct API type from REST to ConnectRPC 1 month ago
  Paul Klumpp 8ab3ab920e Update documentation to reflect chattolib usage 1 month ago
  Liv Klumpp 020125c041 Update documentation to reflect chattolib usage 1 month ago
  Paul Klumpp 6fba7e01a1 Remove unused websockets dependency 1 month ago
  Liv Klumpp b6f8dfd514 Remove unused websockets dependency 1 month ago
  Paul Klumpp c18587920a Route every call through ChattoClient; drop _rpc() and _PATH_* 1 month ago
  Liv Klumpp cafba9ca86 Refactor: Replace manual RPC and protobuf with chattolib 1 month ago
  Paul Klumpp ce0993fbdc Replace hand-rolled protobuf, WebSocket and REST with chattolib 1 month ago
  Liv Klumpp 43cda8570b Refactor: Replace manual protobuf with chattolib 1 month ago
  Paul Klumpp 83163cbdda Isolate thread context through the Hermes SDK 1 month ago
  Liv Klumpp f37ca82ec4 feat: Use Hermes SDK SetThread for thread context isolation 1 month ago
1 changed files with 7 additions and 0 deletions
  1. 7 0
      AGENTS.md

+ 7 - 0
AGENTS.md

@@ -214,6 +214,13 @@ guidelines. Optimising for that reader is not optional polish. Concretely:
   go wrong. (The client helpers in `adapter.py` document the split locally.)
 - **Docstrings on every public method**, following PEP 257 — plus the override
   marker required by *Overriding* below.
+- **Commits explain why, not what — same rule as comments.** The diff already
+  shows what changes; the message earns its body by recording the bug that
+  motivated it, the constraint it honours, or the alternative it rejected.
+  Subject line in the imperative ("Fix auth bypass", not "Fixed" or "auth"),
+  one logical change per commit — a commit that needs "and" in its subject,
+  or a `WIP`/placeholder subject, wants to be split or finished first. The
+  history after August 2026 is the house style to imitate.
 
 ### Linting & Type Checking