Skip to content

adopt.sh: lw_die for --agent=cursor references closed issue #6 (broken anchor) #65

Description

@psaboia

Defect

scripts/adopt.sh:289 refuses --agent=cursor with:

case "$AGENT" in
    claude-code|none) ;;
    cursor)
        lw_die "agent 'cursor' is not yet supported (see issue #6, deferred)"
        ;;
    ...

Issue #6 was the original design issue for adopt.sh (adopt.sh: let an existing repository adopt llm-wiki-memory). It is now CLOSED — the design was implemented and merged. The lw_die message points readers at a closed issue that describes adopt's overall shape, not the deferred cursor work specifically. Anyone who runs adopt --agent=cursor hits the error, follows the link, and lands on a closed design issue that does not explain what is still pending or how to contribute the missing piece.

Why it surfaced now

During PR #60 review-resolution, while drafting the ADOPTING.md spec for issue #64 (recipe with explicit --agent=claude-code), the asymmetry between instantiate (accepts cursor, all) and adopt (refuses cursor) surfaced. Verified that #6 is closed; the lw_die's anchor went stale when #6 closed.

Fix sketches

Option A — repoint at a live issue (this one). Update line 289 to reference this issue (the new number, once filed):

lw_die "agent 'cursor' is not yet supported (see issue #65)"

This issue then becomes the canonical landing for the work: anyone arriving here sees the state, the fix sketches, and the path to picking up cursor support in adopt.

Option B — drop the issue reference entirely. Keep just the not yet supported message. Loses the "where to contribute" hint but never goes stale again.

Option C — repoint at the cursor overlay README (wiki/agents/cursor/README.md). Less useful because that README documents the overlay's use, not adopt's pending cursor support.

Option A is preferred. The lw_die message is the only on-ramp for anyone interested in cursor adopt support; pointing it at a live anchor with sketch + acceptance lets a contributor pick up the work without re-discovering the context.

Sub-question: what would "cursor support in adopt" actually entail

If someone picks up this issue, the surface includes:

  • Remove the parser refusal at adopt.sh:289
  • Verify lw_manifest_assemble_active_files "" "cursor" produces the expected union (TEMPLATE_SHARED_INFRA + TEMPLATE_OVERLAY_CURSOR). The manifest accessor already supports --agent=cursor in agent mode (see PR template-manifest: single source of truth for template-owned files #60); only adopt's parser blocks it.
  • Audit Phase 2B's overlay setup: adopt invokes wiki/agents/$AGENT/setup.sh — confirm wiki/agents/cursor/setup.sh exists and exposes the same interface (--hook subcommand for .claude/settings.json merge analog, etc.). The Cursor overlay's hook story may differ from Claude Code's; this is the place where the asymmetry needs to be reconciled.
  • Validate end-to-end on a real adopt scenario. Per README.md "Status" section: Only the Claude Code path has been validated end-to-end. Cursor overlay is shipped but unvalidated in a live session. Cursor adopt adds a new layer to that unvalidated surface; the validation gap should be acknowledged in the same way.

Acceptance

  • adopt.sh:289's lw_die references a live issue (this one) or whichever live anchor the team prefers.
  • If Option A: this issue stays open as the "cursor support in adopt" anchor. If Option B: lw_die is updated and this issue can close.
  • No regression in existing adopt tests (no test currently exercises --agent=cursor since it is refused; a future cursor-support PR adds the fixture).

Context

Trivially fixable defect (one-line change to lw_die) surfaced during the documentation pass for issue #64. Filed as a separate issue because it is independent of the manifest consolidation, the docs runbook, and the other PR #60 follow-ups (#61#64) — its only relationship to PR #60 is "the manifest already supports cursor in its accessor; only adopt's parser blocks it."

Refs: PR #60 (manifest's lw_manifest_assemble_active_files already handles agent=cursor), issue #6 (closed design issue currently referenced by lw_die), issue #64 (where this defect surfaced).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions