Skip to content

overengineering:audit: make the neutral-name-then-rename write the default for unattended runs and apply it to every per-layer write #4595

Description

@kyle-sexton

The audit skill requires the findings artifact to be written after each layer, so an interrupted run keeps its completed layers (skills/audit/SKILL.md:155; skills/audit/context/surface-walk.md:101). It also allows a delegated executor to write to a neutral filename and then rename, for harnesses that refuse a report-shaped filename (SKILL.md:76-81). But it presents that route as a conditional fallback. It does not make it the default for unattended runs, even though line 77 names the unattended caller as exactly that case. It also does not say the route applies to every per-layer write, including the re-read-and-merge in SKILL.md:158-163. And nothing in "Before the walk" step 1 (SKILL.md:121-130) tests the write path, so a refusal first shows up at the first write.

Observed on 2026-09-27: an unattended run, dispatched as a general-purpose subagent against melodic-software/.github, was blocked by the harness from writing findings.md directly ("Subagents should return findings as text"). The subagent used the rename route but wrote the artifact once, at the end of the walk. The checkpoint guarantee was lost without anyone noticing.

Proposed fix:

  1. When unattended is set, use the neutral-name-then-rename route from the first write.
  2. State that every per-layer write, including the re-read-and-merge, goes through that route.
  3. Add a write-path probe to "Before the walk" step 1, so a refusal shows up before any layer is walked.

Acceptance: a delegated unattended run leaves a partial artifact on disk after each completed layer, with scope naming only the layers walked so far.

Found in: overengineering 0.4.13.

🤖 Generated with Claude Code

https://claude.ai/code/session_01S5b57FoPJkJMe1BDwhExiG

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    agent-readyFully specified and briefed; eligible for autonomous pickup from the frontier.priority: mediumReal value, no hard deadline; normal backlog flow.status: readyTriaged, unblocked, and fully specified; eligible to pick up.work-class: scopedA briefed fix or small feature; blast radius bounded by the brief, tests exist.

    Type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions