Skip to content

feat(e13): plan smart add onboarding + S1 local blobparse redaction library - #60

Merged
imneov merged 3 commits into
mainfrom
feat/e13-s1-blobparse
Jul 8, 2026
Merged

feat(e13): plan smart add onboarding + S1 local blobparse redaction library#60
imneov merged 3 commits into
mainfrom
feat/e13-s1-blobparse

Conversation

@imneov

@imneov imneov commented Jul 8, 2026

Copy link
Copy Markdown
Contributor

What

Lands the E13 — Smart `add` Onboarding plan and its first substrate story.

Planning (docs):

  • docs/decisions/0003-smart-add-scope.md — ADR-0003. Adds env/file/paste input sources to add. The only network path is an opt-in, secret-free --ai parse; it narrowly amends ADR-0001 Decision 8 for that path only. Every other E13 path is zero-network.
  • docs/plan/epics.md — E13 epic entry (5 stories).
  • docs/plan/stories/E13-S1..S5.md — story specs.

Code (E13-S1):

  • internal/blobparse — pure, local, deterministic extractor. Given arbitrary pasted text it returns the extracted core fields plus a desensitized copy in which no secret-shaped token survives ("strip on doubt"). Substrate for E13-S4 (--from-text) and E13-S5 (--ai).

Review trail

Fresh-context adversarial review flagged a Critical gap: bare unlabeled secrets (Google AIza…, 40-hex, base64 blobs) survived desensitization, and the property test reused production patterns as its own oracle (self-certifying). Remediated in 210ad03:

  • Expanded secret-shape coverage + a conservative high-entropy fallback (URLs / base_url preserved).
  • Test oracle rewritten independently of production patterns; corpus expanded.
  • Provider inference now follows the selected api_key/base_url (coherent draft).

Independently verified with an oracle not derived from production regexes: AIza…, 40-hex, base64 blob, bare/(wrapped) sk- all redact to placeholders while base_url=https://… is preserved.

Scope / safety

  • Zero network in this PR. No cmd/ wiring yet (S4 does that).
  • ⚠️ ADR-0003's network amendment (S5 --ai) is not exercised here and remains flagged for final sign-off.

🤖 Generated with Claude Code

imneov and others added 3 commits July 8, 2026 02:05
Add ADR-0003 (env/file/paste add inputs; opt-in secret-free --ai parse
that narrowly amends ADR-0001 D8 for that path only), the E13 epic entry,
and 5 story specs (E13-S1..S5).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@imneov
imneov merged commit 4e72d49 into main Jul 8, 2026
9 checks passed
@imneov
imneov deleted the feat/e13-s1-blobparse branch July 8, 2026 03:54
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.

1 participant