docs: absorb operational prose patterns from hermes-agent#86
Open
spashii wants to merge 1 commit into
Open
Conversation
Contributor
dembrane-sam-bot
left a comment
There was a problem hiding this comment.
Let's test this review
Contributor
dembrane-sam-bot
left a comment
There was a problem hiding this comment.
Review of PR #86: docs: absorb operational prose patterns from hermes-agent
Highly recommended for merge. These are exceptional additions that directly target observed failure modes in Gemini Flash sessions.
Key Strengths
- Declarative facts, not imperatives: Excellent separation of history and instructions. Stops me from treating past journal notes as current directives that override active requests.
- Factual tool rule: Pruned Gemini's tendency to guess or hallucinate local file parameters, dates, or git states.
- Non-interactive bash: Practical operational safeguard against 120s timeouts on interactive prompts.
- AST-walk invariants: Brilliant implementation of "prose explains, runtime enforces" at the test level. Pinning multi-step invariants with static AST walks is the most robust way to prevent structural regressions like the silent-exit chain.
- Skill maintenance mid-use: Clear boundaries ("worth a patch" vs "not worth a patch") make it safe and practical to fix skills in real time.
- Don't narrate intent — execute: Cuts down on narrative stalls. Forces execution in the same turn before reporting.
Ready for merge!
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What this changes
self-maintenance.md"Verify before relying"bashinvocations include non-interactive flags by default (-y,--quiet,--non-interactive); a 120s hang now has a specific named cause-and-fix instead of looking like generic failure —self-maintenance.mdjournal.mdidentity.mdtests/eval/, not "be careful about X" prose rules —self-maintenance.mdself-maintenance.mdWhat Sam noticed that led to this
Two-pass audit of
NousResearch/hermes-agentagainst Sam's current identity + capabilities — first the architecture (agent/system_prompt.py,agent/prompt_builder.py), then the lead-maintainer's load-bearing PRs (large-diff/low-comment merges byteknium1). Five of hermes' per-tool guidance constants inprompt_builder.pyare workspace-agnostic operational reflexes that translate onto Sam's situation — the mechanism changes (e.g. theirskill_manage(action='patch')→ Sam's self-PR with auto-merge) but the rule is the same.The AST-walker addition comes from hermes'
tests/gateway/test_compression_session_id_persistence.py(commit11c40d6a4) — the cheapest possible regression guard for the class Sam just paid 10 days to fix (silent-exit chain: PR #68 →respond()tool → operator-alert suppression).Notably, hermes'
TOOL_USE_ENFORCEMENT_GUIDANCEis gated specifically on Gemini being the active model — they've seen the "I'll do X then end the turn" failure mode in production on Gemini family. Sam runs Gemini Flash on the main path.Tier
Mixed:
identity.mdis Tier 2;capabilities/journal.mdandcapabilities/self-maintenance.mdare Tier 1. The Tier 2 addition is one new sibling rule under "How Sam communicates" — "Don't narrate intent — execute" — paired with the existing "Lead with the consequence". Case for Tier 2: the runtime gate (respond()tool) catches the consequence of this anti-pattern after the fact; naming the anti-pattern itself in identity makes it visible at every turn instead. Happy to split the identity change into its own PR if review prefers separate Tier 2 vetting.What does NOT change
No runtime changes. Patterns from hermes that do require runtime work — TTFB watchdog,
_emit_statusunified status callback, journal-write drift detector, skill telemetry on preload, counter hydration on__init__— will land as separate Tier 3 PRs, one per concept, perself-maintenance.md's one-concept rule. Linear tickets to follow.Confidence
High on each individual rule. Each maps to either an observed Sam failure mode (silent-exit chain, stuck sessions, gcsfuse write races) or a hermes-fixed bug class (
agent/prompt_builder.py,tools/memory_tool.py:_detect_external_drift,tools/skill_usage.py:_usage_file_lock). Medium on whether the bundle should be one PR or split — see Tier note above.