Skip to content

Handle Codex applypatch symlink when archiving Artificer state #224

Description

@BjRo

Observed

Local Artificer delivery 66f12291-414d-43cf-86b0-53708ab2a028 for issue #217 reached a verified engineering result and recorded PR #223, but then changed to needs-attention while saving its encrypted native continuation archive:

Native result/archive needs reconciliation: Native state contains symbolic link: /Users/bjro/.darrow/artificer/deliveries/66f12291-414d-43cf-86b0-53708ab2a028/native/tmp/arg0/codex-arg0fVOtt6/applypatch

No archive save time was recorded. In plugins/automation/darrow-artificer/backend/src/darrow_artificer/archive.py, archive traversal excludes several regenerable cache directories but not tmp, and included() rejects every symbolic link. worker.py reconciles the native result before saving the archive, then converts an archive exception into needs-attention.

Expected

Artificer should safely handle transient Codex runtime artifacts when archiving a stopped dedicated native home, without weakening its symlink and credential protections. A successfully reconciled delivery result should not become needs-attention solely because Codex left its internal tmp/arg0/.../applypatch symlink.

Reproduction

  1. Initialize Local Artificer 0.1.0 with Codex CLI 0.154.0 and admit a ticket-to-PR delivery that uses the applypatch helper.
  2. Let the owner complete implementation and verification and return a PR result.
  3. During final native-state preservation, observe archive.save() traverse native/tmp/arg0/.../applypatch and reject the symbolic link.
  4. Run Artificer status and observe the delivery recorded as needs-attention with the error above, despite its recorded PR result.

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

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions