Skip to content

feat: ignore .meshloop store in consuming repos; planner schema, retry and rejected-plan preservation - #49

Merged
smota merged 5 commits into
mainfrom
work/store-ignore-plan-retry
Oct 7, 2026
Merged

smota merged 5 commits into
mainfrom
work/store-ignore-plan-retry

Conversation

@smota

@smota smota commented Oct 7, 2026

Copy link
Copy Markdown
Owner

Summary

Implements #44
Implements #45
Closes #44
Closes #45

#44: consuming repos ignore the .meshloop/ store

  • meshloop bundle --dest <repo> checks git check-ignore and reports gitignore: missing|... with the line to add; --gitignore (opt-in) appends a marked, idempotent # >>> meshloop >>> block. Without the flag .gitignore stays byte-identical.
  • First store creation inside a Git work tree writes .meshloop/.gitignore (*) when the store isn't ignored; one stderr notice. Root .gitignore is never touched.
  • doctor --json reports store_ignored (--db supported); a store outside the work tree is not flagged.
  • docs/install.md and docs/start.md list the step.

#45: planner schema, retry, preserve

  • The planning output contract describes every TaskNode field and the exact Tier names (from Tier::ALL), plus a one-node example serialized from the domain types.
  • Malformed/invalid plans are retried within [limits] max_retries (total attempts, same semantics as tasks); the retry prompt carries the previous error.
  • The last rejected plan is saved under .meshloop/rejected-plans/ and its path is printed in the error.

Execution provenance

  • Meshloop (built from this checkout) graph issues-44-45, two independent Tier2 nodes; workers: Claude Code with Sonnet (node 1 attempt 1, node 2 attempt 2). Plan accepted by @smota; technical acceptance by the Claude Opus 5.5 orchestrator.
  • Orchestrator fixes (dbfe0b1): planner attempt budget off-by-one (max_retries + 1 → max_retries), non-Sync test harness that kept engine tests from compiling, rustfmt.

Validation

  • cargo clippy --locked --all-targets -- -D warnings: pass
  • cargo test --locked: pass
  • cargo run --locked -p xtask -- check: exit 0
  • Not run: live (non-fixture) plan against a real planner after the change.

Review

Needs review by a different executor than the developer (for-review:).

🤖 Generated with Claude Code

meshloop and others added 5 commits October 7, 2026 10:46
…ner Sync

Align planner retry budget with task semantics (first dispatch counts),
fix the non-Sync test harness so engine tests compile, and apply rustfmt
to worker output.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request implemented-by:claude Implementation completed by Claude Code

Projects

None yet

1 participant