fix(cron): inject cloud-context warning when prompt refs localhost #468
Closed
Rockachopa
wants to merge 246 commits from
fix/456-cloud-context-warning into main
pull from: fix/456-cloud-context-warning
merge into: Timmy_Foundation:main
Timmy_Foundation:main
Timmy_Foundation:burn-681-1776207280
Timmy_Foundation:burn-677-1776207278
Timmy_Foundation:burn-679-1776207283
Timmy_Foundation:feat/670-approval-tiers
Timmy_Foundation:feat/679-crisis-wiring
Timmy_Foundation:feat/674-atlas-inference-engine
Timmy_Foundation:burn-677-1776207287
Timmy_Foundation:feat/atlas-provider
Timmy_Foundation:feat/671-hybrid-search
Timmy_Foundation:fix/677-crisis-hook
Timmy_Foundation:feat/673-988-crisis-escalation
Timmy_Foundation:feat/672-soul-crisis-protocol
Timmy_Foundation:burn-679-1776207276
Timmy_Foundation:fix/673-crisis-hook-integration
Timmy_Foundation:burn-681-1776207273
Timmy_Foundation:fix/677-crisis-hook-integration
Timmy_Foundation:fix/672-crisis-protocol
Timmy_Foundation:feat/681-path-aware-risk
Timmy_Foundation:feat/671-hybrid-search-router
Timmy_Foundation:feat/667-context-faithful-prompting
Timmy_Foundation:fix/670-approval-tiers
Timmy_Foundation:feat/672-crisis-protocol
Timmy_Foundation:feat/673-988-lifeline
Timmy_Foundation:burn/validate-action-pokayoke
Timmy_Foundation:perf/lazy-session-creation
Timmy_Foundation:fix/624-error-context
Timmy_Foundation:fix/626-validate-feedback
Timmy_Foundation:fix/614-multilingual-shield
Timmy_Foundation:claude/issue-628
Timmy_Foundation:claude/issue-613
Timmy_Foundation:dispatch/350-1776180746
Timmy_Foundation:dispatch/295-1776180746
Timmy_Foundation:dispatch/329-1776180746
Timmy_Foundation:dispatch/372-1776180746
Timmy_Foundation:dispatch/327-1776180746
Timmy_Foundation:dispatch/326-1776180746
Timmy_Foundation:dispatch/296-1776180746
Timmy_Foundation:dispatch/375-1776180746
Timmy_Foundation:dispatch/321-1776180746
Timmy_Foundation:dispatch/324-1776180746
Timmy_Foundation:claude/issue-592
Timmy_Foundation:fix/582-shield-tool-args
Timmy_Foundation:claude/issue-579
Timmy_Foundation:am/350-1776166469
Timmy_Foundation:am/326-1776166469
Timmy_Foundation:am/329-1776166469
Timmy_Foundation:am/295-1776166469
Timmy_Foundation:am/322-1776166469
Timmy_Foundation:am/327-1776166469
Timmy_Foundation:am/378-1776166469
Timmy_Foundation:am/372-1776166469
Timmy_Foundation:am/288-1776166469
Timmy_Foundation:am/296-1776166469
Timmy_Foundation:am/321-1776166469
Timmy_Foundation:am/324-1776166469
Timmy_Foundation:am/375-1776166469
Timmy_Foundation:claude/issue-565
Timmy_Foundation:dawn/295-1776130053
Timmy_Foundation:triage/295-1776129677
Timmy_Foundation:claude/issue-556
Timmy_Foundation:q/295-1776129480
Timmy_Foundation:dawn/326-1776130053
Timmy_Foundation:fix/538-context-pressure-threshold
Timmy_Foundation:fix/561-ssh-dispatch
Timmy_Foundation:dawn/322-1776130053
Timmy_Foundation:dawn/372-1776130053
Timmy_Foundation:triage/326-1776129677
Timmy_Foundation:dawn/350-1776130053
Timmy_Foundation:dawn/378-1776130053
Timmy_Foundation:dawn/329-1776130053
Timmy_Foundation:triage/322-1776129677
Timmy_Foundation:triage/372-1776129677
Timmy_Foundation:dawn/327-1776130053
Timmy_Foundation:feat/505-session-templates
Timmy_Foundation:triage/378-1776129677
Timmy_Foundation:triage/350-1776129677
Timmy_Foundation:q/372-1776129480
Timmy_Foundation:triage/329-1776129677
Timmy_Foundation:triage/327-1776129677
Timmy_Foundation:q/322-1776129480
Timmy_Foundation:q/378-1776129480
Timmy_Foundation:dawn/296-1776130053
Timmy_Foundation:fix/500-cloud-context-warning
Timmy_Foundation:queue/372-1776129201
Timmy_Foundation:dawn/324-1776130053
Timmy_Foundation:q/327-1776129480
Timmy_Foundation:q/329-1776129480
Timmy_Foundation:queue/378-1776129201
Timmy_Foundation:dawn/288-1776130053
Timmy_Foundation:q/350-1776129480
Timmy_Foundation:triage/296-1776129677
Timmy_Foundation:triage/324-1776129677
Timmy_Foundation:fix/499-hardcoded-paths
Timmy_Foundation:q/324-1776129480
Timmy_Foundation:q/296-1776129480
Timmy_Foundation:queue/322-1776129201
Timmy_Foundation:queue/327-1776129201
Timmy_Foundation:queue/324-1776129201
Timmy_Foundation:q/326-1776129480
Timmy_Foundation:queue/296-1776129201
Timmy_Foundation:queue/350-1776129201
Timmy_Foundation:fix/478-tilde-expand
Timmy_Foundation:fix/478-tilde-expansion
Timmy_Foundation:queue/329-1776129201
Timmy_Foundation:fix/478-hermes-home-tilde-expand
Timmy_Foundation:fix/468-cron-cloud-context
Timmy_Foundation:fix/479-optional-skills-hardcoded-paths
Timmy_Foundation:fix/479-hardcoded-paths
Timmy_Foundation:q/316-1776129677
Timmy_Foundation:q/288-1776129480
Timmy_Foundation:feat/334-profile-scoped-cron
Timmy_Foundation:whip/326-1776128804
Timmy_Foundation:dawn/375-1776130053
Timmy_Foundation:fix/375-deploy-crons-model-provider-comparison
Timmy_Foundation:whip/324-1776128804
Timmy_Foundation:burn/456-1776129600
Timmy_Foundation:triage/375-1776129677
Timmy_Foundation:fix/468-1776128804
Timmy_Foundation:q/375-1776129480
Timmy_Foundation:whip/372-1776128804
Timmy_Foundation:queue/375-1776129201
Timmy_Foundation:queue/288-1776129201
Timmy_Foundation:fix/457-ssh-dispatch-validation
Timmy_Foundation:whip/350-1776128804
Timmy_Foundation:whip/251-1776128804
Timmy_Foundation:queue/321-1776129201
Timmy_Foundation:whip/378-1776128804
Timmy_Foundation:whip/322-1776128804
Timmy_Foundation:whip/327-1776128804
Timmy_Foundation:whip/329-1776128804
Timmy_Foundation:whip/288-1776128804
Timmy_Foundation:whip/327-1776127281
Timmy_Foundation:whip/375-1776128804
Timmy_Foundation:whip/321-1776128804
Timmy_Foundation:dispatch/288-1776180746
Timmy_Foundation:triage/288-1776129677
Timmy_Foundation:whip/296-1776128804
Timmy_Foundation:whip/293-1776127532
Timmy_Foundation:whip/350-1776127532
Timmy_Foundation:whip/372-1776127532
Timmy_Foundation:whip/378-1776127532
Timmy_Foundation:whip/329-1776127532
Timmy_Foundation:whip/322-1776127532
Timmy_Foundation:whip/316-1776127532
Timmy_Foundation:whip/321-1776127532
Timmy_Foundation:whip/326-1776127532
Timmy_Foundation:whip/327-1776127532
Timmy_Foundation:whip/314-1776127532
Timmy_Foundation:whip/288-1776127532
Timmy_Foundation:whip/375-1776127532
Timmy_Foundation:burn/274-1776126523
Timmy_Foundation:burn/275-1776126523
Timmy_Foundation:burn/293-1776126523
Timmy_Foundation:burn/273-1776126523
Timmy_Foundation:burn/299-1776126523
Timmy_Foundation:burn/272-1776126523
Timmy_Foundation:burn/350-1776125702
Timmy_Foundation:burn/372-1776125702
Timmy_Foundation:burn/329-1776125702
Timmy_Foundation:burn/328-1776125702
Timmy_Foundation:burn/379-1776125702
Timmy_Foundation:burn/327-1776125702
Timmy_Foundation:burn/317-1776125702
Timmy_Foundation:burn/373-1776125702
Timmy_Foundation:burn/349-1776125702
Timmy_Foundation:burn/326-1776125702
Timmy_Foundation:burn/322-1776125702
Timmy_Foundation:queue/326-1776129201
Timmy_Foundation:burn/350-1776120221
Timmy_Foundation:burn/372-1776120221
Timmy_Foundation:burn/324-1776120221
Timmy_Foundation:burn/328-1776120221
Timmy_Foundation:burn/373-1776120221
Timmy_Foundation:burn/329-1776120221
Timmy_Foundation:burn/349-1776120221
Timmy_Foundation:burn/323-1776120221
Timmy_Foundation:burn/322-1776120221
Timmy_Foundation:burn/326-1776120221
Timmy_Foundation:burn/327-1776120221
Timmy_Foundation:burn/317-1776120221
Timmy_Foundation:burn/320-1776120221
Timmy_Foundation:burn/251-1776117799
Timmy_Foundation:burn/378-1776117791
Timmy_Foundation:burn/375-1776117778
Timmy_Foundation:burn/379-1776117790
Timmy_Foundation:burn/376-1776117777
Timmy_Foundation:burn/349-1776117786
Timmy_Foundation:burn/254-1776117794
Timmy_Foundation:burn/350-1776117787
Timmy_Foundation:burn/252-1776117800
Timmy_Foundation:burn/262-1776117798
Timmy_Foundation:burn/372-1776117789
Timmy_Foundation:burn/282-1776117784
Timmy_Foundation:burn/284-1776117781
Timmy_Foundation:burn/373-1776117779
Timmy_Foundation:burn/285-1776117782
Timmy_Foundation:burn/377-1776117775
Timmy_Foundation:burn/280-1776117796
Timmy_Foundation:burn/acp-272-1776117838
Timmy_Foundation:burn/255-1776117795
Timmy_Foundation:burn/286-1776117783
Timmy_Foundation:burn/web-console-325
Timmy_Foundation:burn/253-1776117793
Timmy_Foundation:burn/321-1776120221
Timmy_Foundation:burn/321-1776125702
Timmy_Foundation:burn/profile-cron-334
Timmy_Foundation:burn/prompt-injection-324
Timmy_Foundation:burn/skill-revert-295
Timmy_Foundation:burn/context-overflow-296
Timmy_Foundation:burn/honcho-eval-322
Timmy_Foundation:burn/privacy-filter-283
Timmy_Foundation:burn/model-benchmark-287
Timmy_Foundation:burn/20260413-1705-fix-token-tracking
Timmy_Foundation:feat/marathon-session-limits-326
Timmy_Foundation:fix/poka-yoke-hardcoded-paths
Timmy_Foundation:feat/315-session-gc
Timmy_Foundation:feature/time-aware-model-routing-317
Timmy_Foundation:fix/gateway-config-debt-328
Timmy_Foundation:feat/lazy-session-creation
Timmy_Foundation:burn/378-1776120221
Timmy_Foundation:fix/weak-credential-guard
Timmy_Foundation:fix/tool-return-type-validation
Timmy_Foundation:fix/memory-no-match-not-error
Timmy_Foundation:feat/temporal-decay-holographic-memory
Timmy_Foundation:fix/syntax-preflight-execute-code
Timmy_Foundation:fix/cron-script-failure-detection
Timmy_Foundation:fix/empty-model-preflight
Timmy_Foundation:fix/cron-sync-guard-v2
Timmy_Foundation:fix/cron-interpreter-shutdown-352
Timmy_Foundation:feat/error-circuit-breaker
Timmy_Foundation:fix/circuit-breaker-error-cascade
Timmy_Foundation:feat/cron-run-now
Timmy_Foundation:ci/fix-mempalace-syntax
Timmy_Foundation:claude/issue-351
Timmy_Foundation:fix/cron-tick-backlog
Timmy_Foundation:feat/deploy-sync-guard
Timmy_Foundation:feat/20260413-cron-agent-kwargs
Timmy_Foundation:feat/profile-scoped-cron
Timmy_Foundation:fix/cron-ticker-startup
Timmy_Foundation:fix/empirical-audit-hardening
Timmy_Foundation:feat/skills-index-workflow
Timmy_Foundation:fix/credential-guard
Timmy_Foundation:feat/research-paper-scaffolder
Timmy_Foundation:feat/cron-tool-choice-propagation
Timmy_Foundation:perplexity/provider-allowlist
Timmy_Foundation:fix/json-repair-for-tool-calls
Timmy_Foundation:feat/context-rag-decision-framework
Timmy_Foundation:census/feature-inventory
Timmy_Foundation:fix/ci-stability
Timmy_Foundation:burn/20260410-1649-277-memory-remove-bridge
Timmy_Foundation:keymaxx/mimoomni/243
Timmy_Foundation:burn/20260410-0744-matrix-wire
Timmy_Foundation:burn/20260410-0707-browser-integration
Timmy_Foundation:feature/improve-sovereignty-justification
Timmy_Foundation:burn/20260409-2111-memory-budget
Timmy_Foundation:burn/20260409-2105-memory-sovereignty
Timmy_Foundation:burn/20260409-2051-263-memory-architecture-guide
Timmy_Foundation:burn/20260409-1242-memory-docs
Timmy_Foundation:claude/issue-1135
Timmy_Foundation:feat/mempalace-portal-1775695506634
Timmy_Foundation:feat/ci-no-duplicate-models
Timmy_Foundation:feat/mempalace-tool-1775642243437
Timmy_Foundation:bezalel/ci-provider-duplicate-check
Timmy_Foundation:bezalel/self-awareness-epic-203
Timmy_Foundation:fix/kimi-fallback-model
Timmy_Foundation:bezalel/pr-215-rescue
Timmy_Foundation:perplexity/mempalace-tests
Timmy_Foundation:upstream-sync
Timmy_Foundation:bezalel/fix-gitea-ci-runner-host-mode
Timmy_Foundation:claude/issue-192
Timmy_Foundation:claude/issue-190
Timmy_Foundation:bezalel/fix-indentation-error
Timmy_Foundation:bezalel/gitea-workflow-skill
Timmy_Foundation:rescue/ollama-provider
Timmy_Foundation:rescue/v011-obfuscation-fix
Timmy_Foundation:claw-code/issue-151
Timmy_Foundation:claw-code/issue-126
Timmy_Foundation:groq/issue-168
Timmy_Foundation:timmy/issue-169-ollama-provider
Timmy_Foundation:gemini/issue-24
Timmy_Foundation:bezalel/syntax-guard-ci
Timmy_Foundation:claude/issue-128
Timmy_Foundation:claude/issue-142
Timmy_Foundation:claude/issue-133
Timmy_Foundation:claude/issue-143
Timmy_Foundation:claude/issue-146
Timmy_Foundation:claude/issue-155
Timmy_Foundation:claude/issue-147
Timmy_Foundation:claude/issue-148
Timmy_Foundation:bezalel/notebook-workflow-demo
Timmy_Foundation:claude/issue-149
Timmy_Foundation:bezalel/forge-health-check
Timmy_Foundation:epic-999-phase-ii-forge
Timmy_Foundation:allegro/m1-stop-protocol
Timmy_Foundation:timmy/issue-123-process-resilience
Timmy_Foundation:timmy/issue-116-config-validation
Timmy_Foundation:epic-999-phase-i
Timmy_Foundation:security/v-011-skills-guard-bypass
Timmy_Foundation:gemini/security-hardening
Timmy_Foundation:gemini/sovereign-gitea-client
Timmy_Foundation:timmy-custom
Timmy_Foundation:security/fix-oauth-session-fixation
Timmy_Foundation:security/fix-skills-path-traversal
Timmy_Foundation:security/fix-file-toctou
Timmy_Foundation:security/fix-error-disclosure
Timmy_Foundation:security/add-rate-limiting
Timmy_Foundation:security/fix-browser-cdp
Timmy_Foundation:security/fix-docker-privilege
Timmy_Foundation:security/fix-auth-bypass
Timmy_Foundation:fix/sqlite-contention
Timmy_Foundation:tests/security-coverage
Timmy_Foundation:security/fix-race-condition
Timmy_Foundation:security/fix-ssrf
Timmy_Foundation:security/fix-secret-leakage
Timmy_Foundation:feat/gen-ai-evolution-phases-19-21
Timmy_Foundation:feat/gen-ai-evolution-phases-16-18
Timmy_Foundation:feat/gen-ai-evolution-phases-13-15
Timmy_Foundation:security/fix-path-traversal
Timmy_Foundation:security/fix-command-injection
Timmy_Foundation:feat/gen-ai-evolution-phases-10-12
Timmy_Foundation:feat/gen-ai-evolution-phases-7-9
Timmy_Foundation:feat/gen-ai-evolution-phases-4-6
Timmy_Foundation:feat/gen-ai-evolution-phases-1-3
Timmy_Foundation:feat/sovereign-evolution-redistribution
Timmy_Foundation:feat/apparatus-verification
Timmy_Foundation:feat/sovereign-intersymbolic-ai
Timmy_Foundation:feat/sovereign-learning-system
Timmy_Foundation:feat/sovereign-reasoning-engine
No Reviewers
Labels
Clear labels
CI
QA
assigned-claw-code
assigned-kimi
audit-finding
batch-pipeline
blocked
bug
claw-code-done
claw-code-in-progress
critical
duplicate
epic
epic:memory
gaming
infra
kimi-done
kimi-in-progress
mcp
morrowind
needs-review
ops
p0-critical
p1-important
phase:1-activate
phase:2-operational
phase:3-episodic
phase:4-hygiene
phase:5-integration
poka-yoke
research
security
shared-infra
stale
throughput-10x
token-masterplan
tool-evaluation
velocity-engine
wont-fix
Continuous integration, runners, workflow issues
Quality assurance, testing, production audit
Queued for Code Claw (qwen/openrouter)
Task assigned to KimiClaw for processing
batch-pipeline label
Blocked by external dependency or merge conflict
Code Claw completed this task
Code Claw is actively working
Duplicate of another issue
Epic - large feature with multiple sub-tasks
Unified Memory Architecture epic
Gaming agent capabilities
Infrastructure, VPS, DNS, deployment
KimiClaw has completed this task
KimiClaw is actively working on this
MCP (Model Context Protocol) tools & servers
Morrowind Agent gameplay & MCP integration
PR or issue requires reviewer sign-off before merge/close
Phase 1: Activate existing systems
Phase 2: Operational memory bridge
Phase 3: Proactive episodic recall
Phase 4: Memory hygiene and quality
Phase 5: Integration and testing
Security hardening, vulnerability fixes
Shared infrastructure across projects (Playground + LPM)
No activity, pending triage or closure
throughput-10x label
token-masterplan label
Auto-generated by velocity engine
Closed as intentionally not fixing — explicit descope
No Label
Milestone
No items
No Milestone
Projects
Clear projects
No project
Assignees
Rockachopa
Timmy
allegro
antigravity
bezalel
claude
claw-code
codex-agent
ezra
gemini
google
grok
hermes
kimi
manus
perplexity
sonnet
Clear assignees
No Assignees
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: Timmy_Foundation/hermes-agent#468
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Delete Branch "fix/456-cloud-context-warning"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Fix
Fixes #378, Closes #456
When a cron job runs on a cloud endpoint but its prompt references local services (Ollama, localhost, etc.), inject a
[SYSTEM NOTE]telling the agent it cannot reach localhost.How it works
_detect_local_service_refs()scans the prompt against 12 regex patterns (localhost:PORT, 127.x, "Check Ollama", curl localhost, etc.)is_local_endpoint()to determine if the runtime is cloud_inject_cloud_context()prepends a warning so the agent reports the limitation instead of wasting iterations on doomed connectionsChanges
cron/scheduler.py: Addedimport re,_LOCAL_SERVICE_PATTERNS,_detect_local_service_refs(),_inject_cloud_context(). Injection call after cloud detection inrun_job().tests/test_cron_cloud_context.py: 15 tests covering pattern detection, warning injection, false-positive avoidance.PR #481 created to address this issue: #481
This PR implements cloud context warning injection for cron jobs that reference local services. When a cron job runs on a cloud endpoint but its prompt references local services (Ollama, localhost, etc.), the system now injects a warning telling the agent it cannot reach localhost.
Key changes:
_LOCAL_SERVICE_PATTERNSwith 12 regex patterns for detecting local service references_detect_local_service_refs()to scan prompts for local service references_inject_cloud_context()to prepend warning to promptsrun_job()after prompt build, before agent creationtests/test_cron_cloud_context.pyThe fix ensures that agents running on cloud endpoints report limitations to users instead of wasting iterations trying to connect to non-existent local services.
Pull request closed