feat(observability): aggregate bounded skill metrics - #68883
Conversation
07c1d14 to
27b6e39
Compare
069334d to
6c260f1
Compare
|
CI note: the failing Python slices are unrelated Photon failures already present on current |
19dba52 to
385dc59
Compare
Signed-off-by: Alex Fournier <afournier@nvidia.com>
385dc59 to
f1fd678
Compare
|
Thanks for the bounded, privacy-focused implementation. The requested skill-metrics premise remains unmet on current The current stack is not cleanly mergeable: #68881, #68882, and this PR all report Automated hermes-sweeper review. |
Signed-off-by: Alex Fournier <afournier@nvidia.com> # Conflicts: # hermes_cli/observability/schemas/hermes.shared_metrics.v1.schema.json # scripts/smoke_nemo_relay_shared_metrics.py # tests/agent/test_skill_commands.py # tests/hermes_cli/test_relay_shared_metrics.py # tests/hermes_cli/test_relay_shared_metrics_runtime.py # tests/tools/test_skill_manager_tool.py # tests/tools/test_skill_usage.py # tests/tools/test_skills_tool.py
Signed-off-by: Alex Fournier <afournier@nvidia.com>
Signed-off-by: Alex Fournier <afournier@nvidia.com> # Conflicts: # tests/tools/test_skills_hub.py
Signed-off-by: Alex Fournier <afournier@nvidia.com>
|
Addressed the sweeper mergeability note. #68881 has now merged, and #68882 is already caught up to that Local validation:
GitHub now reports the PR mergeable and zero commits behind |
Signed-off-by: Alex Fournier <afournier@nvidia.com>
Signed-off-by: Alex Fournier <afournier@nvidia.com>
…lay-skill-metrics feat(observability): aggregate bounded skill metrics
…lay-skill-metrics feat(observability): aggregate bounded skill metrics
What does this PR do?
Adds bounded skill lifecycle and reuse metrics on top of the tool-metrics stack. Successful Hermes skill operations emit privacy-safe Relay marks that aggregate into lifecycle and load counters without exporting skill names, paths, exact use counts, or patch generations.
This is stacked on #68882. Until the earlier PRs land, GitHub shows the cumulative stack against
main; the skill-only diff is available here.Stack Order
The core Relay integration and export fixes have landed in #67607, #73120, and #73544.
Merge and review in this order.
Related Issue
Depends on #68882.
Type of Change
Changes Made
skills/.usage.jsonstore.hermes.skill.lifecycle.countandhermes.skill.load.count.How to Test
uv run pytest -q tests/tools/test_skill_usage.py tests/tools/test_skill_manager_tool.py tests/hermes_cli/test_relay_shared_metrics.py tests/hermes_cli/test_relay_shared_metrics_runtime.py tests/agent/test_skill_commands.py tests/agent/test_skill_bundles.py tests/cron/test_scheduler.py tests/tools/test_skills_tool.py tests/tools/test_skills_hub.py tests/hermes_cli/test_skills_hub.py tests/test_plugin_skills.py.uv run ruff check tools/skill_usage.py hermes_cli/observability/relay_shared_metrics.py scripts/smoke_nemo_relay_shared_metrics.py tests/tools/test_skill_usage.py tests/hermes_cli/test_relay_shared_metrics_runtime.py.nemo-relay==0.6.0binding installed, run.venv/bin/python scripts/smoke_nemo_relay_shared_metrics.py.Checklist
Code
fix(scope):,feat(scope):, etc.)pytest tests/ -qand all tests passDocumentation & Housekeeping
docs/, docstrings) — or N/Acli-config.yaml.exampleif I added/changed config keys — or N/ACONTRIBUTING.mdorAGENTS.mdif I changed architecture or workflows — or N/AScreenshots / Logs
_send_to_platformresource warnings remain outside this diff.nemo-relay==0.6.0: passed with schema-valid delta packages; model, task, tool, lifecycle, and reuse counters persisted, and both private skill-name canaries were absent.0.7.0binding.