Port Tier 1/2/3 learnings from xmoncode/shrimp #90
No reviewers
Labels
No labels
prio_critical
prio_low
type_bug
type_contact
type_issue
type_lead
type_question
type_story
type_task
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
lhumina_code/hero_shrimp!90
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "port-from-xmoncode-shrimp"
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?
Summary
Ports a batch of ideas from xmonader's personal
shrimpagent (~/xmoncode/shrimp) intohero_shrimp— all of Tier 1/2/3 from the comparison write-up. Each item is adapted to hero_shrimp's architecture (not a copy — upstream is a different crate layout), wired into the engine/runtime/CLI, and unit-tested.Full details:
docs/ports-from-xmoncode-shrimp.md.What's included
New tools (registered + routed):
repo_wiki— drift-trackedARCHITECTURE.mdfrom the repo mapfind_clones— near-duplicate function bodies (token-bag cosine)impacted_tests— tests depending on changed files (viablast_radius)ast_edit— tree-sitter symbol replacement (Rust) with a post-parse rollback gateexpand_context— retrieve the full text of an elided tool output on demandfork— best-of-N candidate race in isolated git worktreesmcp_search— BM25 ranking + name-resolve over MCP toolsskill_evolve— deterministic skill minting from recurring success patternsBehavior / hot paths:
sandbox-exec) shell backendllm:delta→MessagePartialat the client edgeMAX_COUNCILORS+ tier clamp)tool_routinggroupsHarnesses:
eval/fromscratch/— held-out-oracle capability harness (ported)Verification
cargo build --workspaceclean, 0 warnings on changed crates./tmpis itself a git repo in CI; they pass under a non-gitTMPDIR).ast_editrewrites a file,repo_wikiwrites the doc, etc.) — this is what caught a real routing bug where the new tools were registered but never offered to the model.deepseek-v4-flashbuilt a complete bencode encoder/decoder from a spec; the held-out acceptance test passed 5/5.deepseek-v4-flash+ a 4-model council (deepseek-v4-pro,z-ai/glm-5.1,minimax/minimax-m3,moonshotai/kimi-k2.6) — all confirmed responding (authoritative: cost ledger +council_positionstable). ~$0.14 total.Notes for the reviewer
fork, declarative crews,watch,expand_context, conversational approvals. Prompt-cache anchoring and MMR recall are hot-path changes validated by structure/unit tests but not against live external behavior.tree-sitter,tree-sitter-rust,streaming-iterator) forast_edit.Test plan
cargo build --workspacecargo test --workspace(engine 1717 pass; 2 env-only)make eval→ 16/16eval/fromscratch/run.sh bencode(live) → 5/5 held-outport-from-xmoncode-shrimpto Port Tier 1/2/3 learnings from xmoncode/shrimprecipeworkflows toolCI hygiene so the forgejo "Verify" action passes end to end: - cargo fmt --all - fix 2 clippy lints under `-D warnings`: - fork_ops: `.filter_map` that always returns Some -> `.map` - auto_evolve: `contains_key` + `insert` -> `HashSet::insert` - update tests for the intentionally-changed behavior: - chaos_testing: cold-start exploration grace now exempts the opening read-only burst, so the loop-detector tests first do a real edit - council: tier clamp raised 3 -> 4 (matches the 4-member council) New idea ported from xmoncode/shrimp (better coding agent + assistant): - `recipe` tool — canned expert workflows: ask, tour, spec (spec-driven dev), adr, harden, audit, learn. The agent adopts a battle-tested instruction prompt for the turn. Wired into tool routing (always-on). Verified locally with the CI toolchain (rust 1.96): cargo fmt --check, cargo clippy --workspace --all-targets -D warnings, make smoke-features, cargo test --workspace (TMPDIR non-git), make eval (16/16), cargo deny check, cargo audit --deny warnings — all green. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.Merge
Merge the changes and update on Forgejo.Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.