Skip to content

abcd intent writes free text with no redaction, so a home path is committed #486

Description

@jogrun

What

abcd capture redacts committed prose (iss-2608231025198888). abcd intent "<text>" does not.

CreateFromText stores the caller's text as title and body verbatim:

  • internal/core/intent/create.go:41-55SeedBody: trimmed, Title: titleLine(trimmed)
  • internal/core/intent/create.go:250-254 — seedDraft writes # + title and ## Why This Matters + SeedBody with no scanner pass

There is no redact symbol under internal/core/intent/. Capture's redactLedgerText (internal/core/capture/redact.go:29) is the sibling that already does this for the issue ledger.

abcd intent "fix /Users/alice/.ssh/id_rsa leftover in the install receipt"

commits that path under .abcd/development/intents/drafts/itd-N-….md.

deriveIntentSlug (create.go:152) kebab-cases the same way capture's CLI does, so the filename can pick up users-alice-… as well (same shape as the capture-slug leak).

Suggested fix

Run the capture redactor (or a shared helper) on title and SeedBody before CreateDraft. Add a test that CreateFromText with $HOME in the text writes no home root into the draft file. Watch it fail on main.

Related: iss-2608231025198888 (capture only). Not a duplicate.

Happy to send a PR once this is accepted.

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