Skip to content

Update snapshot id for ipython - #8

Merged
teknium1 merged 1 commit into
mainfrom
update-snapshot-id
Jan 8, 2026
Merged

Update snapshot id for ipython#8
teknium1 merged 1 commit into
mainfrom
update-snapshot-id

Conversation

@hjc-puro

@hjc-puro hjc-puro commented Nov 5, 2025

Copy link
Copy Markdown
Contributor

No description provided.

@teknium1
teknium1 merged commit 53fc705 into main Jan 8, 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
h4x3rotab referenced this pull request in Clawdi-AI/hermes-agent Apr 10, 2026
- InlineApprovalCard component with approve/deny buttons
- Cards appear inline in agent output stream (not just bell notification)
- Context preview with code block formatting
- Visual states: pending (amber pulse), approved (green), denied (red)
- Both compact and full-size panels wired with filtered approvals
malaiwah pushed a commit to malaiwah/hermes-agent that referenced this pull request Apr 11, 2026
…ests for upstream readiness' (NousResearch#8) from feat/docker-env-files-cleanup into main
malaiwah pushed a commit to malaiwah/hermes-agent that referenced this pull request Apr 11, 2026
Discovered while verifying PR NousResearch#8 on the live oikos sidecar: BW_SESSION
values were appearing UNMASKED in /opt/data/logs/agent.log because the
existing masking heuristic only matches env names whose UPPERCASE form
contains TOKEN / KEY / SECRET / PASSWORD / CREDENTIAL / PASSWD — and
"BW_SESSION" matches none of those. The full rotating session token
was sitting plaintext in a long-lived log file, defeating the entire
point of rotating it.

Two-pronged fix to make this hard to mis-name in the future:

1. **Origin-based masking (the load-bearing rule).** Anything that
   came from `_extra_env_for_exec()` is masked unconditionally,
   regardless of variable name. By construction the hook produces
   dynamic credential values (otherwise why inject them per exec
   rather than at container spawn?). This catches the gitea PR NousResearch#7 /
   NousResearch#8 `docker_env_files` path AND any future credentials++ registry
   subscribers, without relying on operators to pick "secret-sounding"
   variable names.

2. **Expanded name heuristic** for static env vars whose values
   come from `self._env` / forward_env / passthrough. Adds:
   SESSION, AUTH, COOKIE, JWT, BEARER, SIGNATURE, PIN, PASSPHRASE,
   PRIVATE. False-positive cost (over-masking a log line) is much
   lower than false-negative cost (a real credential in plaintext),
   so the policy is "add aggressively than reluctantly."

4 new tests in tests/tools/test_docker_environment.py:
  - SESSION-named env masked (regression for the BW_SESSION case)
  - AUTH/COOKIE/JWT/BEARER/PASSPHRASE values masked
  - dynamic-origin values masked even with innocuous names like
    INNOCENT_VAR (origin rule overrides name heuristic absence)
  - readability check: PORT/DEBUG/HOME etc are NOT over-masked

Verified live on the running hermes-angelos build: agent.log now
shows `-e BW_SESSION=***` instead of the full session token.
malaiwah pushed a commit to malaiwah/hermes-agent that referenced this pull request Apr 13, 2026
- connection.py: cap header read at 8KB to prevent DoS from malicious handler
- handler.py: use .find() instead of `in` + .index() to eliminate race in patch
- handler.py: add truncated field to execute response when output exceeds 50KB
- server.py: include error data field in formatted error messages
- test: add timeout to test client recv, handle TimeoutExpired in close

Fixes issues NousResearch#1, NousResearch#4, NousResearch#5, NousResearch#6, NousResearch#8, NousResearch#10 from Qwen 3.5 peer review on PR NousResearch#19.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
H1an1 pushed a commit to H1an1/hermes-agent that referenced this pull request Apr 19, 2026
Security:
- NousResearch#1: secret is now required (ValueError if empty), server won't start without it
- NousResearch#2: error responses return generic 'Delivery failed', no internal state leak
- NousResearch#3: rate limiting: 1 msg per chat_id per 30s, returns 429 + retry_after
- NousResearch#8: logging uses %-style formatting, not f-strings

Functionality:
- NousResearch#4: uses gateway.adapters dict directly (verified interface exists)
- NousResearch#5: thread_id support via metadata dict (matches DeliveryRouter pattern)
- NousResearch#6: uses adapter.send(chat_id, content, metadata=) — the real BasePlatformAdapter interface

Code quality:
- NousResearch#7: added tests/test_notify.py with 14 test cases covering all 8 issues
- Platform string → Platform enum conversion with validation
briandevans added a commit to briandevans/hermes-agent that referenced this pull request Apr 20, 2026
… (follow-up to NousResearch#12908)

Previous commit seeded only ``provider``.  The next CI run (Tests
[24655838688](https://github.com/NousResearch/hermes-agent/actions/runs/24655838688))
shows the same test now trips on ``self.model``:

    FAILED test_interrupt_during_child_api_call_detected
    - AttributeError: 'AIAgent' object has no attribute 'model'

Hit pattern NousResearch#8 from my own pre-push self-review checklist:
"fixed one call site, missed sibling with same pattern."  The
``_create_openai_client`` path reads ``self.provider``, ``self.model``,
and ``self.base_url`` directly — if the mocked-client short-circuit
doesn't engage (as apparently happens under xdist here), each missing
attr surfaces as its own ``AttributeError``.

Seed all three core identity attrs that ``AIAgent.__init__`` sets
(run_agent.py:708, 734, 736) to make the bare-agent stub robust
against any code path that touches them.

Zero production-code change.  7 focused tests still pass.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
XelHaku referenced this pull request in TrebuchetDynamics/gormes-agent Apr 24, 2026
Covers: progress.json -Xtheirs cherry-pick; retry-prompt context;
background companions with short timeout; candidate-pool refill
trigger; proper BACKEND adapter; softer verify_worker_commit;
audit CSV output; granular failure taxonomy. Each one is a separate
commit; order matters for #3 prereq-of #4 and #8 prereq-of #2.

Acceptance: audit productivity >50% sustained, no cherry_pick_failed
on progress.json-only changes, candidate_refilled event fires on
low-water, companion seam non-blocking, granular failure statuses
in runs.jsonl.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
XelHaku referenced this pull request in TrebuchetDynamics/gormes-agent Apr 24, 2026
Sequences: #1 (Xtheirs) → #8 (taxonomy) → #2 (retry context) → #6
(softer verify) → #5 (backend adapter) → #3 (bg companions) → #4
(candidate refill) → #7 (CSV audit). Each is one commit.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Eric0831 pushed a commit to Eric0831/hermes-agent-zeus that referenced this pull request Apr 26, 2026
Captures Tier 3 tooling work that was considered during the 2026-04-26
overhaul but deferred. Each section explains the design, why it wasn't
shipped, and the trigger condition that should reopen it.

Tier 3 items deferred:
  NousResearch#7  Lazy MCP discovery — high refactor surface, low immediate value
      (gateway RAM/startup not currently constrained).
  NousResearch#8  Health-aware tool router — overlaps with already-shipped manual
      fallback (Tavily→DDG/httpx); marginal gain doesn't justify
      scaffolding.
  NousResearch#10 Batch tool API — concurrent path + within-turn dedup cache already
      mitigate the common case; would be disruptive.

Each section includes a reference design so future work can pick up
without re-deriving rationale, plus a "reopen when..." condition tied
to observable signals (memory > 4GB, fallback rate > 30%, etc.) so the
weekly health check (or operator) can flag when revisit is justified.

Tier 3 NousResearch#9 (LLM-summarize large results) was shipped in 9b3cef1.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
angelburgosrosado pushed a commit to angelburgosrosado/hermes-agent that referenced this pull request Apr 27, 2026
alt-glitch added a commit that referenced this pull request Apr 28, 2026
Address adversarial review findings:

1. Race condition (#1): Job-level concurrency with cancel-in-progress
   collapses back-to-back pushes; ref: main checkout always gets latest
   branch state; explicit push target (origin HEAD:main).

2. Loop prevention (#2): File-whitelist check before commit aborts if
   any file outside nix/{tui,web}.nix was modified, preventing
   accidental self-triggering.

3. Silent infra failures (#8): nix-lockfile-check now fails explicitly
   when fix-lockfiles exits without reporting stale status (catches nix
   setup failures, network errors, script bugs that bypass continue-on-error).

4. Commit traceability (#11): Auto-fix commits include source SHA and
   workflow run URL in the commit body.

5. Explicit push target (#12): git push origin HEAD:main instead of
   bare git push.
alt-glitch added a commit that referenced this pull request Apr 28, 2026
* ci(nix): auto-fix stale npm hashes on push to main

When a PR merges to main with updated package-lock.json or package.json
in ui-tui/ or web/, the new auto-fix-main job detects stale npmDepsHash
values and pushes a fix commit directly to main.

This eliminates the recurring manual hash-bump PRs (#15420, #15314,
#15272, #15244) by reusing the existing fix-lockfiles --apply pipeline.

The fix commit only touches nix/*.nix files, which are outside the push
path filter (package-lock.json / package.json), so it cannot re-trigger
itself.

Closes #15314

* fix(ci): use GitHub App token for auto-fix-main push

GITHUB_TOKEN commits are invisible to workflow triggers (GitHub's
infinite-loop prevention). The auto-fix-main job pushes directly to
main, so the fix commit never triggered downstream nix.yml verification.

Mint a short-lived token via the repo's GitHub App (daimon-nous, APP_ID
+ APP_PRIVATE_KEY secrets) so the push is treated as a real event and
nix.yml fires to verify the corrected hashes.

Tested via workflow_dispatch dry-run: app token minted successfully,
checkout with app token succeeded, fix job correctly gated.

Resolves review feedback from Bugbot (r3144569551).

* ci(nix): rename lockfile check job for required status check

Rename 'check' → 'nix-lockfile-check' so the status check name is
unambiguous when added as a required check on main.

* fix(ci): harden auto-fix-main against races, loops, and silent failures

Address adversarial review findings:

1. Race condition (#1): Job-level concurrency with cancel-in-progress
   collapses back-to-back pushes; ref: main checkout always gets latest
   branch state; explicit push target (origin HEAD:main).

2. Loop prevention (#2): File-whitelist check before commit aborts if
   any file outside nix/{tui,web}.nix was modified, preventing
   accidental self-triggering.

3. Silent infra failures (#8): nix-lockfile-check now fails explicitly
   when fix-lockfiles exits without reporting stale status (catches nix
   setup failures, network errors, script bugs that bypass continue-on-error).

4. Commit traceability (#11): Auto-fix commits include source SHA and
   workflow run URL in the commit body.

5. Explicit push target (#12): git push origin HEAD:main instead of
   bare git push.

---------

Co-authored-by: alt-glitch <alt-glitch@users.noreply.github.com>
donald131 pushed a commit to donald131/hermes-agent that referenced this pull request May 2, 2026
* ci(nix): auto-fix stale npm hashes on push to main

When a PR merges to main with updated package-lock.json or package.json
in ui-tui/ or web/, the new auto-fix-main job detects stale npmDepsHash
values and pushes a fix commit directly to main.

This eliminates the recurring manual hash-bump PRs (NousResearch#15420, NousResearch#15314,
NousResearch#15272, NousResearch#15244) by reusing the existing fix-lockfiles --apply pipeline.

The fix commit only touches nix/*.nix files, which are outside the push
path filter (package-lock.json / package.json), so it cannot re-trigger
itself.

Closes NousResearch#15314

* fix(ci): use GitHub App token for auto-fix-main push

GITHUB_TOKEN commits are invisible to workflow triggers (GitHub's
infinite-loop prevention). The auto-fix-main job pushes directly to
main, so the fix commit never triggered downstream nix.yml verification.

Mint a short-lived token via the repo's GitHub App (daimon-nous, APP_ID
+ APP_PRIVATE_KEY secrets) so the push is treated as a real event and
nix.yml fires to verify the corrected hashes.

Tested via workflow_dispatch dry-run: app token minted successfully,
checkout with app token succeeded, fix job correctly gated.

Resolves review feedback from Bugbot (r3144569551).

* ci(nix): rename lockfile check job for required status check

Rename 'check' → 'nix-lockfile-check' so the status check name is
unambiguous when added as a required check on main.

* fix(ci): harden auto-fix-main against races, loops, and silent failures

Address adversarial review findings:

1. Race condition (NousResearch#1): Job-level concurrency with cancel-in-progress
   collapses back-to-back pushes; ref: main checkout always gets latest
   branch state; explicit push target (origin HEAD:main).

2. Loop prevention (NousResearch#2): File-whitelist check before commit aborts if
   any file outside nix/{tui,web}.nix was modified, preventing
   accidental self-triggering.

3. Silent infra failures (NousResearch#8): nix-lockfile-check now fails explicitly
   when fix-lockfiles exits without reporting stale status (catches nix
   setup failures, network errors, script bugs that bypass continue-on-error).

4. Commit traceability (NousResearch#11): Auto-fix commits include source SHA and
   workflow run URL in the commit body.

5. Explicit push target (NousResearch#12): git push origin HEAD:main instead of
   bare git push.

---------

Co-authored-by: alt-glitch <alt-glitch@users.noreply.github.com>
adurham added a commit to adurham/hermes-agent that referenced this pull request May 4, 2026
…ses picker

Two follow-ups based on user feedback after first ruflo /delegation usage:

1. Bug: typing `NousResearch#8` (or other Shift-digit / mouse / paste sequence) inside
   the curses radiolist exited the picker.

   Root cause: `key in (27, ord("q"))` matched ESC byte (27) which the
   terminal also emits as the leading byte of CSI sequences for unrelated
   keys. So a single ESC byte from a `NousResearch#8` keypress was treated as cancel.

   Fix in hermes_cli/curses_ui.py::curses_radiolist: when ESC arrives,
   briefly poll for a follow-up byte using nodelay() — if -1, it's a real
   lone ESC (cancel); otherwise drain the rest of the sequence and continue
   the loop. Removed the `27, ord("q")` tuple match; ESC is now its own
   guarded branch and `q` keeps its dedicated cancel path. Added explicit
   "any other key — silently ignore" comment so future drift doesn't
   reintroduce the bug.

2. Feature: curated default model assignments for all ~90 ruflo personas.

   New module-level dict ``SUGGESTED_ROLE_MODELS`` in
   hermes_cli/ruflo_agents.py mapping each known agent to one of three
   models based on what the persona actually does:
     - Haiku 4.5: retrieval / triage / scanners / monitors / lookup
       (researcher, scout-explorer, code-analyzer, issue-tracker,
       pii-detector, performance-monitor, etc.)
     - Sonnet 4.6: balanced default for code work, swarm coordination,
       github automation, day-to-day analysis (coder, tester, reviewer,
       all -coordinator/-manager swarm pieces, pr-manager, repo-architect,
       SPARC stages spec/pseudo/refinement, etc.)
     - Opus 4.7: deep reasoning, architecture, security, novel design,
       complex consensus (system-architect, security-architect,
       security-auditor, byzantine-coordinator, raft-manager,
       crdt-synchronizer, ddd-domain-expert, sparc-orchestrator, queen-
       coordinator, injection-analyst, safla-neural, etc.)

   New ``apply_suggested_defaults(overwrite=False)`` writes the map to
   ``delegation.model_by_role`` in one shot. Default mode preserves any
   existing user-customised pins; ``overwrite=True`` clobbers them.

   New slash command forms:
     /delegation defaults            Apply curated defaults (preserve pins)
     /delegation defaults --force    Apply, overwriting existing pins

   Tests: 5 new tests in test_ruflo_agents.py covering empty-fill, pin-
   preservation, force-overwrite, idempotence, and a sanity check that
   every suggested model is one of the three curated choices.

   145/145 tests pass (was 140 before — added 5 new + no regressions).
@teknium1 teknium1 mentioned this pull request May 11, 2026
5 tasks
devswha added a commit to devswha/hermes-agent that referenced this pull request May 11, 2026
…target

Operator request 2026-05-11: apply the mission strongly across the
evolution loop so SOUL.md mutations and critic verdicts both optimize
for one metric — `patina_judge.ai_score → 0` and `human_likeness → high`.

- skill-modifier.md: new `## Top-level mission` section at the top of
  the prompt (above SOUL.md persona invariants), with concrete failure
  modes the modifier must move away from in every mutation. Explicit
  "do not default to shrink SOUL.md" guidance ties this to the W2
  incident-aware path.
- skill-critic.md: new reject criterion NousResearch#8 "AI-tone regression
  (DGM-H mission guard)" — rejects mutations that introduce or weaken
  defenses against bold-label headers, bullet-list answers,
  enumeration scaffolding, chatbot mannerisms, formulaic closings,
  excessive apology, unsolicited self-bio. Mission-block deletion or
  significant weakening is also a hard reject.

Companion edits (not in this commit):
- ~/.hermes/SOUL.md: new `# Mission` block at file top declaring the
  single goal and listing failure modes; Primary HARD rule (200-char
  cap) is kept as the implementation arm of the mission.
- auto-memory `project_dgmh_mission.md`: pins the goal for future
  sessions so the frame survives session boundaries.

745 tests pass (dgmh/tests + tests/honcho_plugin).
McClean-Sherlock pushed a commit to McClean-codes/hermes-agent that referenced this pull request Jun 7, 2026
…e removal, LOOP target warnings

NousResearch#8: Card ID parsing uses regex 'Created\s+card\s+(\S+)' with fallback
NousResearch#9: validate checks gate→revision pairs (referenced gates must have dependents)
NousResearch#10: _find_revision_node documented single-revision assumption
NousResearch#11: LOOP target mismatch warns before fallback
NousResearch#12: Removed unused _find_dependents
NousResearch#7: 32 unit tests — DAG, cycles, LOOP regex, failure propagation, state persistence, validation, card parsing
@gilles007 gilles007 mentioned this pull request Jul 3, 2026
16 tasks
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.

2 participants