Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
409 commits
Select commit Hold shift + click to select a range
c06a1da
fix(conversations): label context cost and stabilize thread list memo
senamakel Oct 10, 2026
f12e5e5
fix(threadList): guard against missing threads during async list updates
senamakel Oct 10, 2026
3441f39
style(conversations): reformat thread list and update tests
senamakel Oct 10, 2026
7a815cf
fix(threadList): re-sync route when reselecting active thread
senamakel Oct 10, 2026
d691e48
feat(thread-list): add label prop to ThreadListNew
senamakel Oct 10, 2026
d66f868
feat(thread-list): replace running spinner with title shimmer
senamakel Oct 10, 2026
e177cd7
fix(ai): preserve transactional CA provider updates
senamakel Oct 10, 2026
0c8734b
style(assistant-ui): add gap to context breakdown header
senamakel Oct 10, 2026
011cb14
fix(modules): harden boundary auditing and pre-core reporting
senamakel Oct 10, 2026
55ce260
fix(ai): make provider connection writes failure-safe
senamakel Oct 10, 2026
7c65b1a
test: align upstream guards with shared policy
senamakel Oct 10, 2026
64b8743
fix(ai): serialize same-provider connection updates
senamakel Oct 10, 2026
3bb6316
chore: files changed app/src/components/layout/shell/AppSidebar.test.…
senamakel Oct 10, 2026
1f9612b
refactor(assistant-ui): migrate elements to semantic color tokens
senamakel Oct 10, 2026
62be54e
test(conversations): drop unused search and storage mocks
senamakel Oct 10, 2026
e8a7790
refactor(assistant-ui): replace opacity-based text colors with muted-…
senamakel Oct 10, 2026
e2e0733
chore(vendor): bump tiny* submodule pins
senamakel Oct 10, 2026
6c6e737
fix(ai): serialize provider connection updates
senamakel Oct 10, 2026
6fe7ab8
style(assistant-ui): apply prettier formatting to chat elements
senamakel Oct 10, 2026
2ec78d5
test(ai): assert provider rollback restores settings
senamakel Oct 10, 2026
e0a17db
fix: bound optional memory work in agent runs
senamakel Oct 10, 2026
fb752cc
fix(assistant-ui): remove content-visibility from message roots
senamakel Oct 10, 2026
090df9e
fix(modules): report unknown IDs and reject bare implementation packages
senamakel Oct 10, 2026
59bd631
chore(vendor): bump tinyagents, tinybox, tinybus, tinychannels and ti…
senamakel Oct 10, 2026
b85b477
fix(config): document provider CA schema field
senamakel Oct 10, 2026
92f1990
chore: pin TinyMemory v1.27.2 and verify harness integration
senamakel Oct 10, 2026
cdaddc0
test(conversations): cover plan cards rendering in composer overlay
senamakel Oct 10, 2026
76cb2ec
fix(ai): retain published provider settings in queue
senamakel Oct 10, 2026
438cba8
fix(conversations): overlay composer surfaces above the input
senamakel Oct 10, 2026
66d3b59
style: reformat edit composer and todo overlay test
senamakel Oct 10, 2026
24917a8
fix(ai): normalize provider slugs when reconnecting
senamakel Oct 10, 2026
c6d3c40
fix: retain active memory budgets and refund cancelled calls
senamakel Oct 10, 2026
f68bc92
docs: track independently verified module migration PRs
senamakel Oct 10, 2026
ac1b745
Merge remote-tracking branch 'upstream/main' into saas-default-agent-…
senamakel Oct 10, 2026
a2fc4a1
Merge remote-tracking branch 'upstream/main' into saas-profile-lifecycle
senamakel Oct 10, 2026
4dd13ba
refactor(profiles): pass host directly to release_all
senamakel Oct 10, 2026
c627b58
test(profiles): import paths in hashed-id test
senamakel Oct 10, 2026
fdf9bce
Merge pull request #7281 from senamakel/saas-profile-lifecycle
senamakel Oct 10, 2026
d3dc117
Merge remote-tracking branch 'upstream/main' into issue/5579
senamakel Oct 10, 2026
748c1e5
Merge remote-tracking branch 'upstream/main' into saas-default-agent-…
senamakel Oct 10, 2026
09c72e1
feat(conversations): add task card history tracking
senamakel Oct 10, 2026
17b80aa
test(conversations): assert live task cards render in assistant messages
senamakel Oct 10, 2026
e2673c5
feat(conversations): render turn task cards inside assistant messages
senamakel Oct 10, 2026
3bc9695
style(conversations): reformat turn task card modules
senamakel Oct 10, 2026
fac2749
test(conversations): mock user scoped storage and seed task turn mess…
senamakel Oct 10, 2026
d90279d
fix(assistant-ui): keep active task card pinned below message content
senamakel Oct 10, 2026
e2054d7
fix(conversations): render task tool calls as standalone
senamakel Oct 10, 2026
4233006
style(assistant-ui): reformat task card and conversation test files
senamakel Oct 10, 2026
a358e48
fix(assistant-ui): offset sticky task cards above the composer
senamakel Oct 10, 2026
5ebe659
fix(tauri): relay private core websockets
senamakel Oct 10, 2026
84b5564
test(conversations): register goal and todos reducers in chat test st…
senamakel Oct 10, 2026
96ebd4d
docs: track native accessibility module migration
senamakel Oct 10, 2026
1550ddb
feat(assistant-ui): dock active task cards above the composer
senamakel Oct 10, 2026
1050ecf
fix(conversations): show task card state and persist cards per thread
senamakel Oct 10, 2026
15fb28c
fix(conversations): import ActiveTurnTaskCards in AssistantUiChat
senamakel Oct 10, 2026
8594fa9
style(conversations): reformat turn task card derivation
senamakel Oct 10, 2026
2bbfd34
feat(assistant-ui): show running loader and refine task card layout
senamakel Oct 10, 2026
2608757
style(thread-list): drop shimmer from running thread title
senamakel Oct 10, 2026
2c7d696
style(assistant-ui): fix task card formatting
senamakel Oct 10, 2026
5128efd
chore(assistant-ui): drop redundant margin on task state icon
senamakel Oct 10, 2026
43616e4
fix(conversations): derive task card state from todos and goals
senamakel Oct 10, 2026
bbbe350
test(conversations): cover completed task cards staying with their turn
senamakel Oct 10, 2026
8e841a0
test(conversations): reformat composer surface test assertions
senamakel Oct 10, 2026
68267b2
chore: files changed app/src/components/assistant-ui/elements/task-ca…
senamakel Oct 10, 2026
33999e8
style(conversations): reformat task card code and tests
senamakel Oct 10, 2026
95c7af8
feat: queue memory writes and prefetch context off live turns
senamakel Oct 10, 2026
e0e9106
Merge remote-tracking branch 'upstream/main' into swiggy-memory-stall
senamakel Oct 10, 2026
414b99a
fix(assistant-ui): remove stray observer cleanup from thread root
senamakel Oct 10, 2026
7005e16
docs: track connector module migration
senamakel Oct 10, 2026
251c453
chore: files changed app/src/pages/__tests__/Conversations.auiCompose…
senamakel Oct 10, 2026
2fef82d
chore: files changed app/src/pages/__tests__/Conversations.auiCompose…
senamakel Oct 10, 2026
b161efb
fix(conversations): stop spinner on active todo while task is waiting
senamakel Oct 10, 2026
f2283c8
chore: files changed app/src/components/assistant-ui/elements/agent-p…
senamakel Oct 10, 2026
8700a8d
feat(assistant-ui): constrain thread content width
senamakel Oct 10, 2026
a107572
Merge pull request #7277 from senamakel/saas-default-agent-tenant
senamakel Oct 10, 2026
16d83ae
fix: stabilize CI and browser e2e
senamakel Oct 10, 2026
93caf1a
test(assistant-ui): add render isolation test for thread
senamakel Oct 10, 2026
2c3071f
chore: files changed app/src/components/assistant-ui/thread.renderIso…
senamakel Oct 10, 2026
17eb02f
perf(assistant-ui): isolate message renderers from composer updates
senamakel Oct 10, 2026
22776df
Merge upstream/main into cve-keyring-encryption
senamakel Oct 10, 2026
180c6dc
fix(keyring): make encrypted migration durable and available
senamakel Oct 10, 2026
c475c5a
fix(tauri): allow private socket relay IPC
senamakel Oct 10, 2026
583dbb2
docs: track wallet contract and validation migration
senamakel Oct 10, 2026
18ff2ff
Merge remote-tracking branch 'upstream/main' into cve-keyring-encryption
senamakel Oct 10, 2026
f1205c0
Merge remote-tracking branch 'upstream/main' into issue/5579
senamakel Oct 10, 2026
295f971
Merge remote-tracking branch 'upstream/main' into cve-shell-paths
senamakel Oct 10, 2026
3a4098b
Merge remote-tracking branch 'upstream/main' into storage-sqlite-default
senamakel Oct 10, 2026
9d35caa
Merge pull request #7267 from senamakel/cve-keyring-encryption
senamakel Oct 10, 2026
a51d991
test: cover history stability across turns
senamakel Oct 10, 2026
9c79a20
perf(thread): avoid redundant message merges and state updates
senamakel Oct 10, 2026
24682e8
test: cover transcript history refresh stability
senamakel Oct 10, 2026
0d50116
chore: files changed app/test/e2e/specs/ui-polish.browser.mjs
senamakel Oct 10, 2026
3232d8f
test(providers): cover repeated next-turn history stability
senamakel Oct 10, 2026
98e3ffb
test(thread): cover next-turn history stability
senamakel Oct 10, 2026
b2db2c4
test(e2e): fix ui polish width assertion
senamakel Oct 10, 2026
e71e3f3
test(e2e): add missing globals and url imports to ui-polish spec
senamakel Oct 10, 2026
69c79c2
test(e2e): reorder imports and wrap long expression
senamakel Oct 10, 2026
ac098ea
fix: address e2e review findings
senamakel Oct 10, 2026
ac0b5a6
feat(embed): await per-turn cancellation and reap tool commands
senamakel Oct 10, 2026
1d07372
docs: track native recording module migration
senamakel Oct 10, 2026
647a2ed
Merge remote-tracking branch 'upstream/main' into medulla-12-turn-cancel
senamakel Oct 10, 2026
c20f0d3
test(providers): cover message converter stability across turns
senamakel Oct 10, 2026
c7fd386
docs: track MCP supervisor notification migration
senamakel Oct 10, 2026
c5b4e63
test: stabilize next turn runtime test state reads
senamakel Oct 10, 2026
5bebc58
feat(assistant-ui): keep a stable message id for the live streaming tail
senamakel Oct 10, 2026
8178750
fix(conversations): anchor turn task cards to the thread's own messages
senamakel Oct 10, 2026
da68fe6
test(e2e): start a new conversation and send with enter
senamakel Oct 10, 2026
648baa4
chore(vendor): remove unused motosan OAuth crate
senamakel Oct 10, 2026
d185f2d
fix(conversations): refresh thread todos and goal when a turn settles
senamakel Oct 10, 2026
73a2488
Merge pull request #7329 from senamakel/audit-motosan-oauth
senamakel Oct 10, 2026
9c1a7c4
chore(conversations): tidy imports and formatting in thread hooks
senamakel Oct 10, 2026
012d8f1
fix: preserve selected thread rows during stale loads
senamakel Oct 10, 2026
4cf198a
feat(embed): validate structured answers with bounded repair
senamakel Oct 10, 2026
c2377b6
feat(embed): add host-backed read-only repository tools
senamakel Oct 10, 2026
c0b1509
chore: files changed app/test/e2e/specs/ui-polish.browser.mjs
senamakel Oct 10, 2026
b61c208
feat(embed): add explicit routing ladders and required exploration
senamakel Oct 10, 2026
8f7d4e1
chore: pin released wallet and channels with compatible HTTP adapter
senamakel Oct 10, 2026
706c844
fix: restore CI gates and native runtime tests
senamakel Oct 10, 2026
eb59de2
fix: fence queued memory work and preserve harness budgets
senamakel Oct 10, 2026
e265feb
docs(assistant-ui): correct reasoning panel scroll comment
senamakel Oct 10, 2026
d6f55df
test(e2e): format ui polish spec assertions
senamakel Oct 10, 2026
1e7aa0e
fix: handle superseded thread clears and init dialog states
senamakel Oct 10, 2026
8176f14
fix(embed): retain refused-call usage and acknowledge completion canc…
senamakel Oct 10, 2026
b31fdc2
feat(observability): enable sampled Sentry profiling
senamakel Oct 10, 2026
2753bc2
Merge pull request #7293 from senamakel/swiggy-memory-stall
senamakel Oct 10, 2026
b0ea725
Merge remote-tracking branch 'upstream/main' into ui-polish
senamakel Oct 10, 2026
21d5ea9
chore(vendor): bump tinychannels, tinymemory and tinywallet
senamakel Oct 10, 2026
4c6f7a4
feat(embed): bootstrap pinned standalone source consumers
senamakel Oct 10, 2026
cf16716
Merge pull request #7330 from senamakel/sentry-profiling
senamakel Oct 10, 2026
f417fe7
chore(deps): downgrade vendored crates and pin windows-sys versions
senamakel Oct 10, 2026
72ffe89
chore(vendor): bump tinychannels, tinymemory and tinywallet
senamakel Oct 10, 2026
4f45db4
docs(embed): reserve standalone consumer coverage row
senamakel Oct 10, 2026
b221179
feat(embed): enforce shared budgets and ordered bounded fanout
senamakel Oct 10, 2026
d465d4c
Integrate awaited turn cancellation for reviewer deadlines
senamakel Oct 10, 2026
ef5c6ef
feat(ui): centralize toast messages and history
senamakel Oct 10, 2026
48fff55
chore(i18n): remove unused translation keys
senamakel Oct 10, 2026
13e503a
chore(embed): pin schema-aware provider budget admission
senamakel Oct 10, 2026
c61cb2f
style(i18n): format locale maps
senamakel Oct 10, 2026
19b64aa
chore(deps): refresh lockfile with dependency upgrades
senamakel Oct 10, 2026
a1bf86f
Merge pull request #7334 from senamakel/global-toast-log
senamakel Oct 10, 2026
7e9107b
test(conversations): merge duplicate threadSlice imports
senamakel Oct 10, 2026
e688c38
docs: track verified voice lifecycle and shutdown contracts
senamakel Oct 10, 2026
0c1a7fb
style(conversations): reorder test imports and reformat store setup
senamakel Oct 10, 2026
97eb3e6
feat(tools): add Twilio integration tools
senamakel Oct 10, 2026
5105d65
feat(config): add integrations tool config schema
senamakel Oct 10, 2026
21f9640
chore(tools): add integration toggle tests
senamakel Oct 10, 2026
251f5cf
chore: files changed crates/openhuman-core/src/tools/ops_tests_domain…
senamakel Oct 10, 2026
9a497a7
test(tools): split ops tests into execution and serde modules
senamakel Oct 10, 2026
2aa5f08
chore(integrations): add test support backend
senamakel Oct 10, 2026
81870bd
feat(tools): add apify and linkedin tool schemas
senamakel Oct 10, 2026
6e9eaef
test(tools): add schema validation tests
senamakel Oct 10, 2026
85c5f7b
test(integrations): add coverage for composio client and integration …
senamakel Oct 10, 2026
bced5e8
fix(security): enforce egress policy on channel startup and pricing c…
senamakel Oct 10, 2026
65f5a3a
docs(integrations): drop twilio and apify from domain docs
senamakel Oct 10, 2026
296a8fb
test: drop apify linkedin scrape tool from e2e expectations
senamakel Oct 10, 2026
7acd109
fix(security): pass sync_parent_dir directly to avoid closure type mi…
senamakel Oct 10, 2026
d7ca748
feat(conversations): add localized phrases for tool call status
senamakel Oct 10, 2026
57aa9bd
Merge pull request #7337 from senamakel/i18n-sync
senamakel Oct 10, 2026
38e22b0
chore(scripts): drop stale allowlist entries and mock stubs
senamakel Oct 10, 2026
48751ea
docs(notification): trim redundant comment on clearNotificationActions
senamakel Oct 10, 2026
5394dbc
docs: track verified MCP callback and cancellation contracts
senamakel Oct 10, 2026
0675cb5
refactor(integrations): remove unused imports from test support
senamakel Oct 10, 2026
7135a11
Merge remote-tracking branch 'upstream/main' into storage-sqlite-default
senamakel Oct 10, 2026
9c5bc53
ci: lower legacy line limit for tools/ops.rs
senamakel Oct 10, 2026
0910765
feat(embed): bound whole turns with cleanup-aware deadlines
senamakel Oct 10, 2026
22cec6c
feat(embed): expose private-by-default turn observers
senamakel Oct 10, 2026
6f0eafb
test(embed): scope observer recorder locks before awaiting
senamakel Oct 10, 2026
18e9072
feat(embed): observe whole-turn deadlines and cancellation
senamakel Oct 10, 2026
258ca86
feat(embed): allow per-rung routing options and output caps
senamakel Oct 10, 2026
b4e6bd7
fix(core): pass the directory sync function directly
senamakel Oct 10, 2026
df6b827
chore(embed): pin terminal budget and recovery enforcement
senamakel Oct 10, 2026
43024e0
style(embed): follow workspace import and module ordering
senamakel Oct 10, 2026
b409efc
fix(embed): honor strict structured repair limits
senamakel Oct 10, 2026
618386a
Merge pull request #7338 from senamakel/ui-polish
senamakel Oct 10, 2026
1123a3d
docs: clarify contract vocabulary and pre-core module access
senamakel Oct 10, 2026
e59933d
docs: track reviewed generic tool sanitization
senamakel Oct 10, 2026
b6bbbc2
fix(embed): prefer buyer charges and retry truncation aliases
senamakel Oct 10, 2026
b713104
fix(embed): bound observed turn future stack usage
senamakel Oct 10, 2026
d926f4e
docs: track reviewed channel contract separation
senamakel Oct 10, 2026
26b8435
refactor(embed): box owned fanout leaf state
senamakel Oct 10, 2026
3ebdbf3
fix(ci): align app lock and x402 test with current pins
senamakel Oct 10, 2026
d5847bd
test(embed): allow deadline refusal before HTTP dispatch
senamakel Oct 10, 2026
f0371fb
test(embed): assert read-only denial in model tool results
senamakel Oct 10, 2026
a80c56a
style(embed): format isolation denial assertion
senamakel Oct 10, 2026
f944302
docs: track reviewed MCP vocabulary and bounded operations
senamakel Oct 10, 2026
917d2b2
feat(embed): scope hooks, permissions, tools and usage to agents and …
senamakel Oct 10, 2026
9a99734
Merge remote-tracking branch 'upstream/main' into medulla-12-scoped-h…
senamakel Oct 10, 2026
e2224a2
feat(embed): own host hook subprocesses with stdin and awaited cleanup
senamakel Oct 10, 2026
c9bb878
docs: record reviewed TinyBox module lifecycle slice
senamakel Oct 10, 2026
1cbc886
docs: record reviewed wallet transaction construction
senamakel Oct 10, 2026
a794c36
fix(storage): preserve non-UTF-8 notification workspace keys
senamakel Oct 10, 2026
f5ecd06
fix(ci): include default storage import e2e lane
senamakel Oct 10, 2026
e6b56b3
docs(embed): publish reproducible Linux fleet and cgroup measurements
senamakel Oct 10, 2026
b940456
fix(embed): preserve charged turn accounting before metering
senamakel Oct 10, 2026
2c5eed9
merge: integrate current main with Embed reviewer contracts
senamakel Oct 10, 2026
1ed434e
docs(keyring): keep backend documentation within layout limit
senamakel Oct 10, 2026
d72f72f
fix(runtime): inherit scope in subprocess reaping task
senamakel Oct 10, 2026
40f47ec
chore(runtime): track existing scope sites after turn split
senamakel Oct 10, 2026
0a34c99
fix(runtime): use core runtime scope for reaping
senamakel Oct 10, 2026
32c3295
fix(ci): satisfy clippy after main merge
senamakel Oct 10, 2026
eef8ee3
fix(core): inventory narrow ledger and telemetry SDK contracts
senamakel Oct 10, 2026
9be723c
docs(keyring): fit backend module size limit
senamakel Oct 10, 2026
bf0d1f8
docs: resolve benchmark link within the PR tree
senamakel Oct 10, 2026
bb16935
docs: record reviewed runtime worker module slice
senamakel Oct 10, 2026
ac7c7ed
fix(embed): retain session estimates when receipts are absent
senamakel Oct 10, 2026
5331f5d
fix(ci): account for sqlite-only storage e2e target
senamakel Oct 10, 2026
7d918af
docs: record reviewed hosting preparation and compatibility
senamakel Oct 10, 2026
f45bb82
feat(embed): expose awaited cleanup for host lifecycle commands
senamakel Oct 10, 2026
e324a4b
Merge pull request #7244 from senamakel/storage-sqlite-default
senamakel Oct 10, 2026
606d255
feat(embed): add dynamic runtime APIs and verified documentation
senamakel Oct 10, 2026
bbd3d83
fix(embed): bound cancellation drain and isolate fleet measurements
senamakel Oct 10, 2026
8383b4f
docs: record module-disabled MCP regression verification
senamakel Oct 10, 2026
0815572
docs: publish Linux fleet reruns without mock request retention
senamakel Oct 10, 2026
ee5cce6
Merge remote-tracking branch 'upstream/main' into embed-dynamic-7306
senamakel Oct 10, 2026
477cc30
Merge branch 'fix-custom-ai-certs-6905' of github.com:senamakel/openh…
senamakel Oct 10, 2026
2946e58
Merge pull request #7214 from senamakel/fix-custom-ai-certs-6905
senamakel Oct 10, 2026
e48371e
docs: record reliable Globe module review and remaining image parser cut
senamakel Oct 10, 2026
811f593
docs: record reviewed runtime cache contracts and remaining integration
senamakel Oct 10, 2026
c70f6cc
docs: distinguish runtime public API feature suites
senamakel Oct 10, 2026
aa35626
Merge pull request #7340 from senamakel/embed-dynamic-7306
senamakel Oct 10, 2026
35ffc9d
fix(embed): keep managed runtime paths within the turn environment
senamakel Oct 10, 2026
b7dce83
Merge pull request #7226 from senamakel/issue/5579
senamakel Oct 10, 2026
8350e90
Merge pull request #7266 from senamakel/cve-shell-paths
senamakel Oct 10, 2026
30a1add
merge: resolve Embed conflicts with current main
senamakel Oct 10, 2026
b390512
Merge upstream/main into ci-e2e-green-followup
senamakel Oct 10, 2026
1da9b39
fix: resolve PR 7268 review findings
senamakel Oct 10, 2026
0337817
Merge remote-tracking branch 'upstream/main' into medulla-12-scoped-h…
senamakel Oct 10, 2026
4bf9704
fix(deps): pin upstream Tinybox Windows command support
senamakel Oct 10, 2026
b783b39
docs(embed): register fleet example with generated cookbook
senamakel Oct 10, 2026
74289b3
Merge pull request #7339 from senamakel/sweeper-embed-contract
senamakel Oct 10, 2026
fb558fe
Merge pull request #7268 from senamakel/ci-e2e-green-followup
senamakel Oct 10, 2026
45dbda5
docs: record reviewed module hotkey lifecycle
senamakel Oct 10, 2026
ee0e6d2
Merge remote-tracking branch 'origin/main' into remove-twilio-apify-m…
senamakel Oct 10, 2026
4c6787d
Merge remote-tracking branch 'upstream/main' into medulla-12-scoped-h…
senamakel Oct 10, 2026
3d32eec
Merge pull request #7305 from senamakel/medulla-12-turn-cancel
senamakel Oct 10, 2026
a7c47a5
chore(deps): add jsonschema and refresh transitive dependencies
senamakel Oct 10, 2026
66d11fe
docs: record runtime bridge acceptance and voice verification gaps
senamakel Oct 10, 2026
bd5632c
Merge pull request #7344 from senamakel/remove-twilio-apify-meetingbots
senamakel Oct 10, 2026
4369a90
docs: record verified formatted voice lifecycle
senamakel Oct 10, 2026
67e6d37
Extend memory pre-turn timeout to five seconds
senamakel Oct 10, 2026
bc59324
Merge pull request #7346 from senamakel/memory-recall-timeout-5s-clean
senamakel Oct 10, 2026
e8c3d95
chore(vendor): update OpenHuman vendor dependencies
senamakel Oct 10, 2026
78249f4
Merge remote-tracking branch 'upstream/main' into vendor-main-update
senamakel Oct 10, 2026
457c559
docs: exclude runtime from active module migration
senamakel Oct 10, 2026
772b1be
Merge pull request #7350 from senamakel/vendor-main-update
senamakel Oct 10, 2026
5d7d49b
refactor: keep Embed independent of reviewer policy
senamakel Oct 10, 2026
5621696
docs: repair embedding guide links
senamakel Oct 10, 2026
eb749c1
Merge pull request #7351 from senamakel/neutral-embed
senamakel Oct 10, 2026
cceb281
docs: record module review and release gates
senamakel Oct 10, 2026
a590be3
Merge module foundation into current upstream base
senamakel Oct 10, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
9 changes: 5 additions & 4 deletions .env.example
Original file line number Diff line number Diff line change
Expand Up @@ -91,10 +91,11 @@ OPENHUMAN_MODEL=
# [optional] Workspace directory (default: ~/.openhuman or ~/.openhuman-staging when OPENHUMAN_APP_ENV=staging)
# Leave commented out to use the default. Setting to empty string is treated as unset.
# OPENHUMAN_WORKSPACE=
# [optional] Master key for the `encrypted_file` keyring used in staging/production,
# as 64 hex characters (`openssl rand -hex 32`). Headless/container deploys have no
# OS keychain to hold it; set exactly one of these two, injected from your secret
# manager. Losing the key orphans every secret encrypted under it.
# [required without an OS keychain] Master key for the `encrypted_file` keyring,
# which is the default unless OPENHUMAN_APP_ENV=dev/development or an explicit
# backend override is set. Use 64 hex characters (`openssl rand -hex 32`).
# Headless/container deploys should set exactly one of these two through a
# secret manager. Losing the key orphans every secret encrypted under it.
# OPENHUMAN_KEYRING_MASTER_KEY=
# OPENHUMAN_KEYRING_MASTER_KEY_FILE=/run/secrets/openhuman_master_key
# [optional] Default: 0.7
Expand Down
16 changes: 16 additions & 0 deletions .github/ci-paths-filter.yml
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,20 @@ docs:
- 'scripts/generate-architecture-docs.mjs'
- 'scripts/__tests__/generate-architecture-docs.test.mjs'
- 'gitbooks/developing/architecture/frontend.md'
- 'gitbooks/developing/embed/**'
- 'gitbooks/developing/embedding.md'
- 'gitbooks/SUMMARY.md'
- 'docs/gitbooks/en/developing/embed/**'
- 'docs/gitbooks/en/developing/embedding.md'
- 'docs/gitbooks/en/SUMMARY.md'
- 'crates/openhuman-embed/**'
- 'scripts/generate-embed-docs.mjs'
- 'scripts/run-embed-examples.mjs'
- 'scripts/__tests__/generate-embed-docs.test.mjs'
- 'scripts/__tests__/run-embed-examples.test.mjs'
- 'llms.txt'
- 'llms-full.txt'
- 'EMBED.md'
- 'package.json'
rust-core:
- '.github/workflows/ci-*.yml'
Expand Down Expand Up @@ -129,6 +143,8 @@ scripts:
- '.github/workflows/ci-*.yml'
- '.github/ci-paths-filter.yml'
- 'scripts/ci/self-hosted/**'
- 'scripts/ci/check-module-boundaries.mjs'
- 'scripts/ci/module-boundaries.json'
- 'scripts/mock-api/**'
- 'scripts/*.mjs'
- 'scripts/__tests__/**'
Expand Down
3 changes: 3 additions & 0 deletions .github/workflows/test-reusable.yml
Original file line number Diff line number Diff line change
Expand Up @@ -244,6 +244,9 @@ jobs:
# The core binary and developer bins live in the CLI crate.
bash scripts/ci-cancel-aware.sh cargo test -p openhuman-cli --bins --features "${CLI_FEATURES}"
bash scripts/ci-cancel-aware.sh cargo test -p openhuman --doc --features "${FEATURES}"
bash scripts/ci-cancel-aware.sh cargo test -p openhuman-embed --doc --features "${FEATURES}"
RUSTDOCFLAGS="-D warnings" bash scripts/ci-cancel-aware.sh cargo doc -p openhuman-embed --no-deps --features "${FEATURES}"
node scripts/run-embed-examples.mjs
while IFS= read -r target; do
[ -n "${target}" ] || continue
Expand Down
3 changes: 0 additions & 3 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -156,6 +156,3 @@ diff-coverage.md
ci-out/
ci-out-ex63/

# Cargo build output inside the in-tree motosan-ai-oauth crate
vendor/motosan-ai-oauth/target/

16 changes: 13 additions & 3 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -405,6 +405,12 @@ Additional rules:

## Tool, harness, and runtime boundaries

Embed public API documentation: [Embedding](gitbooks/developing/embed/README.md),
[concepts](gitbooks/developing/embed/concepts/README.md), and the source-generated
[builder setters](gitbooks/developing/embed/builder-setters.md). Snippets come from
compiled examples; run `pnpm docs:generate` and `pnpm docs:check` after changing them.


`tinyagents` owns tool-call dialects, parsing, catalog rendering, transcript
replay, session identity, and the agent loop. `tinytools` owns the shared
`Tool` trait and tool types. OpenHuman owns execution policy, approvals,
Expand Down Expand Up @@ -487,7 +493,9 @@ seed history by hand, or pick a transcript by recency.
count. The host never shrinks a thread's tools because a cache went cold:
`session_host/recorded_tools.rs` rebuilds recorded Composio actions as
deferred executors, and the prelude fetches integrations on the first turn
of every session instance, not only on a brand-new thread.
of every session instance, not only on a brand-new thread. Explicit embed
`Turn::tools` overrides and host-only belts are authoritative instead: they
do not restore revoked tools from an earlier transcript.
- **Pre-identity conversations are adopted once**, on first resume, from the
timestamped stems they were written to (`adopt_legacy_session_transcripts`).
No legacy file is modified.
Expand All @@ -513,6 +521,8 @@ builds after changing a gate. Use `scripts/assert-shed.sh` or

## Loadable modules and bus contracts

Hosts must interface with loadable components through their minimal `*-bus` contracts. Never import, re-export, link, or call their implementation libraries directly, including through wrapper crates or indirect dependencies. Execute component behavior through the compiled TinyBus module. If the required types or operations are missing, extend the contract and implementation in the owning repository and raise a PR against its canonical upstream first; then consume the released module and update OpenHuman’s gitlink and adapter. Do not introduce a host-side implementation workaround.

### Submodule ownership

OpenHuman is the host and orchestrator for these components. It composes them,
Expand Down Expand Up @@ -553,7 +563,6 @@ Direct rendered submodules under `vendor/`:
| `tinyskills` | Host-independent skill/workflow bundle parsing, discovery, scope resolution, resource inventory, and safe reads. OpenHuman owns trust and execution policy. |
| `tinyvoice` | Host-agnostic voice primitives such as audio framing, VAD, wake-word gating, routing, and STT hallucination detection. |
| `tinywallet` | Multi-chain wallet: `tinywallet-crypto` (address, asset, chain, `rpc::Transport`, tx codec), `tinywallet-x402` (x402 wire, payment, spending ledger, `x402_request` tool), `tinywallet-web3` (wallet engine, per-chain build/sign/broadcast flows, swap/bridge/dapp quotes, agent tools) behind host seams (`WalletSigner`, `PaymentSigner`, `WalletAccounts`, `RpcEndpoints`, `QuoteScope`, `Web3Backend`, `ProxyPolicy`), and the loadable `tinywallet-module` that derives keys and signs. OpenHuman keeps keyring, consent, credentials, config, controllers and the seam impls under `web3/`. |
| `motosan-ai-oauth` | Provider-agnostic PKCE OAuth login and token-refresh primitives. |

Some rendered submodules are shared dependencies nested inside those projects,
not separate OpenHuman feature implementations. Make changes to them in their
Expand Down Expand Up @@ -594,7 +603,8 @@ Rules:
- Never redeclare a contract type in OpenHuman.
- Call members through contract constants, not string literals.
- Contract crates stay synchronous and free of I/O and runtime dependencies.
- Shared wire behavior belongs in the contract. Runtime, config, and security
- Shared wire vocabulary belongs in the contract. Component algorithms execute
in the compiled module. Runtime, config, and security
policy stay in the host.
- Test the handwritten registry metadata against each contract's bus name and
object path.
Expand Down
Loading
Loading