Skip to content

Support passing morph snapshot id#2

Closed
hjc-puro wants to merge 1 commit into
mainfrom
add-morph-snapshot
Closed

Support passing morph snapshot id#2
hjc-puro wants to merge 1 commit into
mainfrom
add-morph-snapshot

Conversation

@hjc-puro

@hjc-puro hjc-puro commented Aug 31, 2025

Copy link
Copy Markdown
Contributor

Allows starting from different snapshot (creating new snapshot at the end is still todo)

 python run_agent.py -q "how much disk space do i have in the terminal tool vm" --morph_snapshot_id snapshot_h3jg94cd

How to make a new snapshot to test this:

hecate "clone this repo and show me the file tree git@github.com:axolotl-ai-cloud/axolotl.git" --save_snapshot_if_success --snapshot_id snapshot_p5294qxt
image This command starts an instance from `snapshot_p5294qxt` and then clones axolotl into it. we then snapshot the instance and get a new task id.

If you would like to ssh into it and manually make changes and then snapshot again you can do this:

morphcloud instance start snapshot_p5294qxt
# returns instance id like morphvm_1234
morphcloud instance ssh morphvm_1234
# do stuff
morphcloud instance snapshot morphvm_1234
# returns snapshot id like snapshot_abcd
morphcloud instance stop morphvm_1234

@hjc-puro hjc-puro requested a review from teknium1 August 31, 2025 18:19
@teknium1 teknium1 closed this Feb 2, 2026
JasonOA888 added a commit to JasonOA888/hermes-agent that referenced this pull request Mar 8, 2026
Fixes NousResearch#633

Problem:
- Sequential numbering gaps (e.g., NousResearch#1, NousResearch#2, NousResearch#5, NousResearch#8) confuse users
- 200 char truncation too aggressive
- Tool messages completely hidden with no indication

Fix:
1. Use separate counter for displayed messages only
2. Skip tool messages but show count at end
3. Skip system messages
4. Increase truncation to 300 chars
5. Display 'N tool messages hidden' summary

Impact:
- Consistent numbering: NousResearch#1, NousResearch#2, NousResearch#3, NousResearch#4
- Users know when tool calls occurred
- More context visible per message
teknium1 added a commit that referenced this pull request Mar 8, 2026
…resume by name

- Schema v4: unique title index, migration from v2/v3
- set/get/resolve session titles with uniqueness enforcement
- Auto-lineage: context compression auto-numbers titles (Task -> Task #2 -> Task #3)
- resolve_session_by_title: auto-latest finds most recent continuation
- list_sessions_rich: preview (first 60 chars) + last_active timestamp
- CLI: -c accepts optional name arg (hermes -c 'my project')
- CLI: /title command with deferred mode (set before session exists)
- CLI: sessions list shows Title, Preview, Last Active, ID
- 27 new tests (1844 total passing)
teknium1 added a commit that referenced this pull request Mar 8, 2026
- Empty string titles normalized to None (prevents uncaught IntegrityError
  when two sessions both get empty-string titles via the unique index)
- Escape SQL LIKE wildcards (%, _) in resolve_session_by_title and
  get_next_title_in_lineage to prevent false matches on titles like
  'test_project' matching 'testXproject #2'
- Optimize list_sessions_rich from N+2 queries to a single query with
  correlated subqueries (preview + last_active computed in SQL)
- Add /title slash command to gateway (Telegram, Discord, Slack, WhatsApp)
  with set and show modes, uniqueness conflict handling
- Add /title to gateway /help text and _known_commands
- 12 new tests: empty string normalization, multi-empty-title safety,
  SQL wildcard edge cases, gateway /title set/show/conflict/cross-platform
0xMikey-ooze referenced this pull request in 0xMikey-ooze/hermes-agent Mar 16, 2026
Bug #1: Add module-level _dashboard_port and _early_port resolved from
$PORT env var (Railway dynamic ports) with fallback to $DASHBOARD_PORT
then 3001. Prevents OSError port 8080 already in use.

Bug #2: Add TelegramPlatform alias for TelegramAdapter and property
setters on BasePlatformAdapter for test compatibility. The conflict
detection (_looks_like_polling_conflict) and handler
(_handle_polling_conflict) already existed.

Bug NousResearch#3: tirith_security.ensure_installed() already handles all failure
modes gracefully (cosign missing, download failed, unsupported platform).
No code changes needed — all 15 tests pass.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
0xMikey-ooze referenced this pull request in 0xMikey-ooze/hermes-agent Mar 16, 2026
Bug #1: PORT env var — expose _dashboard_port and _early_port as module-level
variables in gateway/run.py so Railway's dynamic $PORT is resolved at import
time and re-resolved at runtime. No more hardcoded 8080.

Bug #2: Telegram 409 conflict — add TelegramPlatform alias for TelegramAdapter,
and make BasePlatformAdapter properties (name, has_fatal_error, fatal_error_code)
settable so conflict handler tests can construct instances without __init__.

Bug NousResearch#3: Tirith binary — already handled gracefully (background thread, 24h marker,
cosign optional). No source changes needed; tests confirm behavior.

All 37 RED-phase tests now pass.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
0xMikey-ooze referenced this pull request in 0xMikey-ooze/hermes-agent Mar 16, 2026
Bug #1: Add module-level _dashboard_port and _early_port to gateway/run.py.
Reads $PORT (Railway), falls back to $DASHBOARD_PORT, defaults to 3001.
Both variables share the same value to prevent port bind conflicts.

Bug #2: Fix Telegram connect() Application lookup to be monkeypatch-safe
by using dynamic module attribute resolution via sys.modules[__name__].

Bug NousResearch#3: Tirith graceful failure was already correctly implemented — no
changes needed, all 15 tests passed out of the box.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
yuminsang119 pushed a commit to yuminsang119/hermes-agent that referenced this pull request Mar 29, 2026
Automates deployment across two DGX Spark nodes:
- Spark NousResearch#1 (inference): vLLM + Ollama with systemd services
- Spark NousResearch#2 (agent): Hermes Agent + Gateway with auto-config

Supports three roles: inference, agent, all (single node).

https://claude.ai/code/session_01PWqDjU2Kbqm41EP2QeY8cS
alt-glitch added a commit that referenced this pull request Apr 2, 2026
- Add `shopt -s expand_aliases` to snapshot so aliases captured by
  `alias -p` actually work under `bash -c` (review comment #2)
- Pass threshold=0 in enforce_turn_budget() so L3 can force-persist
  results below the 50K default when aggregate budget is exceeded
  (review comment #3)
- Add regression test: 6x42K results (each under 50K) exceeding 200K
  budget are now correctly persisted
pnxxwzh pushed a commit to pnxxwzh/hermes-agent that referenced this pull request Apr 3, 2026
Issue NousResearch#1 — default_inject=0 节点不应参与 PPR 排名
- recaller.py: 新增 _is_injectable() 辅助函数,在 _merge_hit()
  入口处过滤 default_inject=0 节点(reflection/shadow 来源)
- 这些节点现在直接丢弃,不再进入候选集、不影响 PPR 排名、
  不出现在召回结果中

Issue NousResearch#2 — 同类型去重命中时 detail 字段未更新
- store.py: update_node_scoring() 新增 detail 参数
- sparkgraph_tool.py: 三处写入路径(新建/同型去重/竞态恢复)
  均补上 detail=evidence,保证证据不丢失

Issue NousResearch#3 — merge_nodes 后 PPR 图缓存未失效
- store.py: merge_nodes() 末尾调用 invalidate_graph_cache()
- 修复三条边迁移冲突的 DELETE 逻辑(Case 3: keep→merge 自环)
- tests/sparkgraph/test_recall_filters.py: 新增 7 个测试
- tests/sparkgraph/test_merge_cache_invalidation.py: 新增 3 个测试
- tests/tools/test_sparkgraph_record_tool.py: 新增 2 个 detail 相关测试
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.

3 participants