Skip to content

Implement RFC-001: Lisa Loop v0.6.0 breaking release - #21

Merged
freol35241 merged 10 commits into
mainfrom
claude/engineering-judgment-skills-9vQFV
Apr 2, 2026
Merged

freol35241 merged 10 commits into
mainfrom
claude/engineering-judgment-skills-9vQFV

Conversation

@freol35241

Copy link
Copy Markdown
Owner

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

freol35241 and others added 10 commits March 28, 2026 12:29
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>
Remove the DDV (Domain-Driven Verification) agent phase entirely and replace
it with a skills-based engineering judgment methodology. Instead of a one-time
agent extracting expected values from papers (unreliable for LLMs), verification
becomes a continuous discipline using first-principles bounding checks at three
levels: phenomenon, composition, and system.

Key changes:
- Add 4 skill files (engineering judgment, dimensional analysis, numerical
  stability, literature grounding) compiled into the binary
- Replace PROMPT_validate.md with PROMPT_audit.md focused on discipline auditing
- Remove DDV agent phase, DDV review gate, DDV state variants, DDV config
- Rename Validate phase to Audit throughout (state, config, orchestrator, prompts)
- Rename tests_ddv to tests_bounds with phenomenon/composition/system subdirs
- Update all prompts to reference engineering judgment skill instead of DDV
- Simplify orchestrator: scope -> passes (no DDV step between)

Breaking changes: DDV states removed, models.ddv removed, tests_ddv renamed,
Validate renamed to Audit. Projects in DDV states cannot resume.

https://claude.ai/code/session_01HyW7Em59wmTMmEypi9cN9D
Add optional, non-blocking reference data search as a fourth level in the
audit phase hierarchy. The audit agent searches published papers and web
sources for experimental/computational data at similar conditions, produces
structured RC-NNN comparisons with explicit condition match assessments,
and generates overlay plots as visual evidence.

Key design decisions:
- Reference comparisons never override bounding check results
- Every comparison is qualified by condition similarity assessment
- Confidence levels: CONSISTENT, INCONCLUSIVE, CONCERN
- Concerns are highlighted in review package; consistent results are compact
- Absence of reference data is explicitly stated, not a failure

Also updates the literature grounding skill with the RC-NNN format,
condition match assessment methodology, and digitisation guidance.

https://claude.ai/code/session_01HyW7Em59wmTMmEypi9cN9D
@freol35241
freol35241 merged commit e2c8b4a into main Apr 2, 2026
2 checks passed
@freol35241
freol35241 deleted the claude/engineering-judgment-skills-9vQFV branch April 2, 2026 13:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants