Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
114 commits
Select commit Hold shift + click to select a range
5a75d11
chore: declare license = GPL-3.0-only explicitly
senamakel Aug 1, 2026
ec16ce9
feat(scripts): kernel dependency-floor metric, removal simulator, and…
senamakel Aug 1, 2026
251f9d5
chore(deps): update reqwest dependency in Cargo.lock
senamakel Aug 1, 2026
399043e
refactor(tinyflows): extract JSON schema walkers into a neutral openh…
senamakel Aug 1, 2026
b0fb1b0
chore: remove obsolete capability seam module
senamakel Aug 1, 2026
ad64acf
refactor(composio): move live catalog and probe logic to composio domain
senamakel Aug 1, 2026
de35652
refactor(composio): move contract gate catalog out of flows feature
senamakel Aug 1, 2026
4663c7b
refactor(contract_gate): run tests without flows feature
senamakel Aug 1, 2026
e2417fd
refactor(caps): re-export composio catalog imports as pub(crate)
senamakel Aug 1, 2026
729230b
refactor: move composio catalog tests to dedicated module
senamakel Aug 1, 2026
03e50fe
refactor(composio): expose envelope meta keys as pub(crate)
senamakel Aug 1, 2026
778cd9f
refactor(caps): split tool dispatch into prefix-owned ToolBackend seam
senamakel Aug 1, 2026
5d580e6
refactor(caps): split monolithic caps module into focused submodules
senamakel Aug 1, 2026
61563b8
feat(caps): add agent and prompt capability modules
senamakel Aug 1, 2026
3a55ee3
fix(scripts): model gate semantics in dep-sim; tighten floor ratchet …
senamakel Aug 1, 2026
3009af6
feat(voice): gate arboard/enigo/rdev behind the voice feature (-17 cr…
senamakel Aug 1, 2026
34cc8b1
chore: ignore Python bytecode cache
senamakel Aug 1, 2026
e4c692b
feat: gate dev binaries behind optional bin-tools feature
senamakel Aug 1, 2026
ae65061
fix(ci): enable bin-tools feature for test and audit workflows
senamakel Aug 1, 2026
6b5a399
feat(scripts): lower kernel floor to 387 with bin-tools gating
senamakel Aug 1, 2026
bf820eb
feat(scheduler-gate): make battery probing optional
senamakel Aug 1, 2026
2cbdb8c
feat: enable scheduler-gate feature for battery power management
senamakel Aug 1, 2026
c34f652
fix(logging): gate file-logging dependencies behind feature
senamakel Aug 1, 2026
7a46723
feat(logging): support builds without file-logging feature
senamakel Aug 1, 2026
94f475e
test: gate file-logging test behind feature
senamakel Aug 1, 2026
3ee461d
feat: add file-logging feature for optional on-disk logs
senamakel Aug 1, 2026
5fff62a
chore(scripts): update kernel floor limits to M2 step 4
senamakel Aug 1, 2026
e709e2a
feat: add prediction-markets feature gate for polymarket tools
senamakel Aug 1, 2026
77a9895
feat(scripts): update kernel floor limits for web3 cohort gating
senamakel Aug 1, 2026
b58d10b
feat(tools): gate polymarket tool behind prediction-markets feature
senamakel Aug 1, 2026
8d69592
docs(agents): document web3 gate now drops ethers and prediction-mark…
senamakel Aug 1, 2026
b6afd99
feat(channels): shed 28 crates by gating tinychannels email+lark prov…
senamakel Aug 1, 2026
0d07d37
chore: bump tinychannels gitlink for provider feature gating
senamakel Aug 1, 2026
83f2365
test: gate polymarket controller tests on feature flag
senamakel Aug 1, 2026
4fb7447
style: rustfmt after the gate refactors
senamakel Aug 1, 2026
e05ee2c
chore: bump tinychannels gitlink to the pushed branch tip
senamakel Aug 1, 2026
e4af587
Merge origin/main into kernelize-openhuman
senamakel Aug 1, 2026
7df1332
chore: bump tinychannels gitlink to merged main (email/lark provider …
senamakel Aug 1, 2026
121a24a
fix(core): correct dispatch logic in builtin definitions
senamakel Aug 1, 2026
a18843a
fix(tools): make whatsapp tools conditional in baseline surface test
senamakel Aug 1, 2026
200a51f
test(ops): gate knowledge tool lists by feature flags
senamakel Aug 1, 2026
f7f7fdf
style(ops_tests): reformat long lines in tool registration tests
senamakel Aug 1, 2026
8e70549
fix(tools): make knowledge tools test feature-aware
senamakel Aug 1, 2026
70bcc94
fix(tools): make knowledge_tools_are_registered feature-aware
senamakel Aug 1, 2026
d090d99
docs(scripts): justify the floor rise with gate-regression evidence
senamakel Aug 1, 2026
fab1533
chore(composio): remove unused imports from catalog
senamakel Aug 2, 2026
413f968
chore(harness): gate tool instruction builder behind channels feature
senamakel Aug 2, 2026
37277bb
chore(provider): gate raw passthrough model check behind flows feature
senamakel Aug 2, 2026
ec24f76
chore(tinyagents): re-export chat_message_to_message unconditionally
senamakel Aug 2, 2026
30a4a97
fix(logging): move logs_dir behind file-logging feature
senamakel Aug 2, 2026
e036b63
fix(logging): gate logs_dir behind file-logging feature
senamakel Aug 2, 2026
2b811dd
chore(observability): gate fs error cooldown behind crash-reporting f…
senamakel Aug 2, 2026
80092cb
chore(logging): allow unused variables in embedded init
senamakel Aug 2, 2026
629d70b
chore(logging): allow unused variables in init_for_tui
senamakel Aug 2, 2026
09a6f8b
chore: remove unused imports in caps module
senamakel Aug 2, 2026
ef7ebf2
refactor(caps): remove unused imports in caps module
senamakel Aug 2, 2026
595d1db
refactor(caps): gate test-only catalog exports behind cfg(test)
senamakel Aug 2, 2026
727d013
chore(caps): limit json_schema re-exports to non-test code
senamakel Aug 2, 2026
6b8c254
fix(test): account for feature-gated builtins in definition count test
senamakel Aug 2, 2026
888e304
fix: gate presentation_agent expectation behind documents feature
senamakel Aug 2, 2026
a8beec6
fix(tool_prep): gate make_presentation test expectation on documents …
senamakel Aug 2, 2026
fb966d4
refactor(logging): narrow unused-variable suppression
senamakel Aug 2, 2026
cd406e2
chore: tidy imports in caps module
senamakel Aug 2, 2026
243c872
test(artifacts): gate regeneration tests behind documents feature
senamakel Aug 2, 2026
81879d9
fix(test): gate wallet_usdc_balance test behind web3 feature
senamakel Aug 2, 2026
ee428c9
fix(workspace): report init results from actual state
senamakel Aug 2, 2026
bc4eb75
fix(workspace): classify entries by actual creation state
senamakel Aug 2, 2026
216d7cc
ci(ci-lite): update expected dependency count in simulator calibration
senamakel Aug 2, 2026
c42d058
chore(deps): remove unused clap and env_logger dependencies
senamakel Aug 2, 2026
02445f8
chore(caps): re-export seed_live_catalog_cache_expired for tests
senamakel Aug 2, 2026
e8c0970
fix(tools): drop unused label from wrong-account warning
senamakel Aug 2, 2026
25d20cb
chore(composio): drop account label from tool call log
senamakel Aug 2, 2026
30028f6
feat(agent_registry): gate markets_agent behind prediction-markets fe…
senamakel Aug 2, 2026
0646490
fix(tests): conditionally include markets_agent in resolve_time test
senamakel Aug 2, 2026
4ab0ea2
fix(agent_registry): use runtime feature check in loader test
senamakel Aug 2, 2026
81b01a5
fix(test): gate prediction-markets test behind feature flag
senamakel Aug 2, 2026
07267d3
test(agent-registry): add test for absent markets agent with feature off
senamakel Aug 2, 2026
7c2154b
ci(ci-lite): extend test filter to include tools modules
senamakel Aug 2, 2026
caf84ef
fix(ci): update gated-test allowlist for prediction-markets feature
senamakel Aug 2, 2026
c8d55b8
chore(ops_tests): consolidate feature-gated tool expectations
senamakel Aug 2, 2026
837ac58
fix(tools): update ops test feature flag for workflow tools
senamakel Aug 2, 2026
43b3a04
test(ops): gate workflow tools under skills feature
senamakel Aug 2, 2026
47ba300
chore: files changed src/openhuman/json_schema/ops.rs
senamakel Aug 2, 2026
c793860
refactor(json_schema): move schema helpers into ops module
senamakel Aug 2, 2026
92f06ef
docs(AGENTS.md): correct the web3 gate dependency description
senamakel Aug 2, 2026
25eefb0
test(harness): gate markets_agent expectation behind feature flag
senamakel Aug 2, 2026
e3daf0a
fix(tool_prep): gate prediction markets tool in test expectation
senamakel Aug 2, 2026
e5bd25d
refactor(caps): split capability seam into focused modules
senamakel Aug 2, 2026
1abc4e0
fix(caps): unify structured JSON extraction and avoid blocking async …
senamakel Aug 2, 2026
c25a574
fix(bin-tools): gate binary tools behind feature flag
senamakel Aug 2, 2026
b1fd07b
chore: format code and reorder imports
senamakel Aug 2, 2026
4503477
chore(ci): update kernel floor baseline and test scope
senamakel Aug 2, 2026
42ba463
fix(caps): harden kernel-floor checks and simplify tool preflight
senamakel Aug 2, 2026
fcc63ef
refactor(tier): extract workflow approval forcing helper
senamakel Aug 2, 2026
42fc2fa
perf(agent): avoid cloning config when no model override is set
senamakel Aug 2, 2026
acb6faa
test: add unit tests for json schema ops and tinyflows caps
senamakel Aug 2, 2026
56a195d
feat(composio): deduplicate concurrent live catalog fetches
senamakel Aug 2, 2026
b8472b6
style: format long lines in catalog, tests, and agent
senamakel Aug 2, 2026
5c88fbc
refactor(composio): extract live catalog fetch lock helper
senamakel Aug 2, 2026
6df08dc
fix(caps): wire adapters to real OpenHuman services
senamakel Aug 2, 2026
6c9920c
refactor(ops): widen visibility of internal helpers
senamakel Aug 2, 2026
9e80a24
refactor(ops): remove unused imports from caps ops
senamakel Aug 2, 2026
6f304f4
chore(caps): use wildcard import for capabilities
senamakel Aug 2, 2026
ada00a9
chore: format imports in tinyflows caps modules
senamakel Aug 2, 2026
2f717f5
fix(signals): ignore non-finite battery charge readings
senamakel Aug 2, 2026
86d77ad
refactor(signals): extract battery charge sampling helper
senamakel Aug 2, 2026
47eae70
chore: remove unused test imports
senamakel Aug 2, 2026
a14f6d1
refactor: consolidate imports and formatting in scheduler and caps mo…
senamakel Aug 2, 2026
3fe00c2
ci(ci-lite): split mcp_server resource tests into separate run
senamakel Aug 2, 2026
13436b9
chore(resources): gate flow and skill agent prompts behind features
senamakel Aug 2, 2026
8d807b6
test: gate Arc import behind feature flags in jsonrpc tests
senamakel Aug 2, 2026
3a1c5c4
chore(ops): gate test-only imports behind cfg(test)
senamakel Aug 2, 2026
6fde15e
chore: reorder imports in ops.rs
senamakel Aug 2, 2026
9cb4608
feat(scripts): add package count to kernel floor ratchet
senamakel Aug 2, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
38 changes: 35 additions & 3 deletions .github/workflows/ci-lite.yml
Original file line number Diff line number Diff line change
Expand Up @@ -440,7 +440,36 @@ jobs:
run: |
bash scripts/ci-cancel-aware.sh cargo test --manifest-path Cargo.toml \
--no-default-features --features tokenjuice-treesitter --lib -- \
core::all:: core::cli:: core::jsonrpc:: core::legacy_aliases:: core::runtime:: agent_registry::agents::loader::
core::all:: core::cli:: core::jsonrpc:: core::legacy_aliases:: core::runtime:: agent_registry::agents::loader:: tools::schemas:: tools::ops::tests::
bash scripts/ci-cancel-aware.sh cargo test --manifest-path Cargo.toml \
--no-default-features --features tokenjuice-treesitter,mcp --lib -- \
mcp_server::resources::

- name: Guard — the kernel dependency floor may not grow
# The `--no-default-features --features flows` profile is the surface a
# second host would embed, and left unmeasured it grows: seven heavy
# dependencies (git2/vendored-libgit2, rusqlite/bundled, enigo, arboard,
# ethers-*, tokio-tungstenite) are unconditional today, and none of them
# would likely have landed that way had a number moved in CI when they
# did. This lane is that number.
#
# The ratchet is bidirectional on purpose: it fails on growth AND on a
# shed that was not written back into scripts/kernel-floor.limits, since
# an unratcheted improvement silently grows back. Lower the limit in the
# same PR that sheds the crates.
run: bash scripts/check-kernel-floor.sh --verbose

- name: Guard — the removal simulator still agrees with cargo
# scripts/dep-sim.py projects the effect of cutting a dependency cohort,
# and every gating decision in the kernelization program is sized with
# it. It parses `cargo tree` precisely so it cannot drift from cargo's
# own feature resolution — an earlier version walked `cargo metadata`'s
# resolve graph instead and over-reported by 36 crates, counting
# dev-dependencies and unenabled target-specific edges.
#
# This asserts the calibration still holds. If it fails, every
# projection built on the simulator is suspect until it is fixed.
run: python3 scripts/dep-sim.py --cut-nothing --expect-names 285

Comment thread
coderabbitai[bot] marked this conversation as resolved.
- name: Guard — new feature-gated test modules must be acknowledged
# Self-maintaining coverage: the set of source files that #[cfg]-gate a test on
Expand All @@ -454,6 +483,7 @@ jobs:
EXPECTED=$(cat <<'EOF'
core/all_tests.rs
core/cli_tests.rs
core/dispatch.rs
core/jsonrpc_tests.rs
core/legacy_aliases.rs
core/runtime/services.rs
Expand All @@ -462,19 +492,21 @@ jobs:
openhuman/agent/harness/session/tests.rs
openhuman/agent/harness/subagent_runner/tool_prep.rs
openhuman/agent_registry/agents/loader.rs
openhuman/composio/action_tool.rs
openhuman/inference/local/mod.rs
openhuman/mcp_server/resources.rs
openhuman/socket/ops.rs
openhuman/tinyplace/manifest.rs
openhuman/tool_registry/ops_tests.rs
openhuman/tool_registry/schemas.rs
openhuman/tools/ops_tests.rs
openhuman/tools/schemas.rs
openhuman/voice/compile_status.rs
openhuman/wallet/stub.rs
openhuman/web3/stub.rs
openhuman/x402/stub.rs
EOF
)
ACTUAL=$(grep -rlE '#\[cfg\((not\()?feature = "(voice|media|web3|meet|mcp|skills|flows|channels)"' src --include='*.rs' \
ACTUAL=$(grep -rlE '#\[cfg\((not\()?feature = "(voice|media|web3|meet|mcp|skills|flows|channels|prediction-markets)"' src --include='*.rs' \
| xargs grep -lE '#\[test\]|#\[tokio::test\]|fn .*_test' 2>/dev/null | sed 's|^src/||' | sort -u)
if ! diff <(echo "$EXPECTED" | sed 's/^ *//' | sort -u) <(echo "$ACTUAL"); then
echo "::error::Gated-test file set changed. Update the EXPECTED allowlist in the rust-feature-gate-smoke lane, and extend the scoped 'cargo test' filter if the new module can carry an ungated-assert regression (see #5022)."
Expand Down
7 changes: 6 additions & 1 deletion .github/workflows/test-reusable.yml
Original file line number Diff line number Diff line change
Expand Up @@ -175,7 +175,12 @@ jobs:
sort
}
bash scripts/ci-cancel-aware.sh cargo test -p openhuman --lib --bins
# `--features bin-tools` is load-bearing, not cosmetic: the six binaries
# under src/bin/ now declare `required-features = ["bin-tools"]`, so
# without it `--bins` silently matches NOTHING and this lane goes green
# having compiled none of them. fleet.rs and slack_backfill.rs each carry
# a `#[cfg(test)] mod`, so those tests would vanish too, with no error.
bash scripts/ci-cancel-aware.sh cargo test -p openhuman --lib --bins --features bin-tools
bash scripts/ci-cancel-aware.sh cargo test -p openhuman --doc
while IFS= read -r target; do
Expand Down
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -135,3 +135,6 @@ CHANGELOG.preview.md
*.diff

.claude/worktrees/

# Python bytecode from scripts/dep-sim.py
__pycache__/
Loading
Loading