Implement RFC-001: Lisa Loop v0.6.0 breaking release - #20
Merged
Merged
Conversation
Five proposals implemented:
- Reworked init: two-phase init with agent-assisted codebase discovery,
empty path defaults, CODEBASE.md for existing codebases
- Diagonal scoping: max_tasks_per_pass (default 5), lower ralph iterations
(default 15), prompt guidance for one-phenomenon-one-fidelity passes
- Per-pass artifact folders: plots move to spiral/pass-N/plots/, {{pass}}
placeholder, code-diff.patch at pass boundaries
- CLI simplification: 12 commands → 7, history merged into status,
continue absorbed into run --follow-up
- Lightweight exploration: [E] EXPLORE at pass review gate, git branch
isolation, merge/discard workflow, new Exploring/ExploreReview states
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Break stale DDV test dead end: Refine now resets manifest status to
PENDING when updating scenarios; Validate now updates existing tests
for PENDING scenarios instead of categorically refusing modification
- Guard against scope/DDV quit continuing the spiral: ensure_scope_complete
and ensure_ddv_complete now re-check completion markers after run
- Fix task count warning counting all passes: add per-pass filtering via
count_tasks_by_status_for_pass() in tasks.rs
- Restore DDV L0/L1 levels: add Level field to DDV Agent scenario format,
manifest table, and category definitions
- Standardize pass-N to pass-{{pass}} in all prompt file paths (16 occurrences
across 4 prompt files)
- Delete dead template: templates/plots_review.md (never scaffolded)
- Persist exploration question to question.md for seamless resume
- Exploration resume now continues into pass_review_loop instead of returning
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Scaffold a CLAUDE.md inside .lisa/ that maps every artifact location, so agents (and humans) can easily find and discuss results, methods, assumptions, and validation evidence after a loop run. Also add an ARTIFACTS section to CLI --help pointing to .lisa/CLAUDE.md. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
.lisa/ is now local workspace state, never committed. This prevents process artifacts from polluting project history and enables multiple engineers to run independent loops without merge conflicts. - lisa init adds .lisa/ to .gitignore (removes .gitkeep creation) - git.rs stages only configured source/test paths instead of git add -A - Finalize generates LISA-REPORT.md audit artifact in project root - Rollback resets .lisa/ state on filesystem instead of via git history - Remove unused show_file_from_ref function Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Agents that produce no output for idle_timeout_secs (default 300s) are now killed automatically. The NDJSON reader runs in a background thread with channel-based recv_timeout, so the main thread can detect idle agents and terminate them cleanly. - agent.rs: channel-based NDJSON reading with idle timeout detection - config.rs: add idle_timeout_secs to [limits] (default 300) - prompt.rs: heartbeat guidance in context preamble tells agents to emit periodic echo commands during long-running operations - Error context written to last-error.md on timeout for lisa resume Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Agents that hit the idle timeout are now retried up to max_agent_retries (default 2) with a 30s backoff between attempts. Non-timeout errors (exit code failures) are surfaced immediately without retry. - agent.rs: add AgentError enum to distinguish IdleTimeout from Other - config.rs: add max_agent_retries to [limits] (default 2) - orchestrator.rs: retry loop in run_agent_with_tracking, only for IdleTimeout errors; logs attempt count and surfaces after exhaustion Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The dynamically linked glibc binary fails on systems with older glibc. Building with x86_64-unknown-linux-musl produces a fully statically linked binary that runs on any Linux without glibc dependency. - release.yml: switch Linux target to musl, install musl-tools - CLAUDE.md: add portable release build instructions Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The scoping prompt (PROMPT_scope.md) was 668 lines with ~450 lines of inline artifact format specifications. This created fatigue risk for the agent — late-prompt artifacts got less attention. Extracted 7 artifact specs to prompts/scope/ (methodology, literature survey, spiral plan, stack selection, validation, implementation plan, DDV scenarios). These are compiled into the binary and written to .lisa/prompts/scope/ before the scope agent runs, rendered with concrete paths and config values. The agent reads each spec on demand when writing that artifact. The main prompt is now 279 lines (58% reduction) — a focused action plan with workflow phases, rules, and small inline artifacts. The literature survey template was also deduplicated (was in two places, now in one file). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
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.
Five proposals implemented: