Skip to content

feat(brand): capture gate for supplied site/brand URLs#16

Merged
Laith0003 merged 1 commit into
mainfrom
feat/brand-url-capture-gate
Jun 6, 2026
Merged

feat(brand): capture gate for supplied site/brand URLs#16
Laith0003 merged 1 commit into
mainfrom
feat/brand-url-capture-gate

Conversation

@Laith0003
Copy link
Copy Markdown
Owner

Code-enforced capture gate for a supplied brand/site URL.

When a brand/site URL is provided but no brand was captured, recommend() now returns a loud warnings[] entry instead of silently shipping the house palette as brand: None. The engine stays offline (it never fetches URLs); rendered-DOM capture is the caller's job and is now a documented hard gate.

  • Brief.brand_url + Recommendation.warnings + guard in recommend()
  • recommend --brand-url
  • discovery-protocol + brand-extraction docs: capture-before-recommend gate
  • PROMPT_HEADER (16 agents): brand-capture step + warnings check
  • 3 regression tests; full suite 326 green; gate verified end-to-end via the CLI

Note: overlaps discovery-protocol.md with the repo-prune PR. Merge that one first; this rebases cleanly (different sections).

Generated with Claude Code

When a brand/site URL is provided but no brand was captured, recommend()
now emits a loud warnings[] entry instead of silently shipping the house
palette as brand:None. The engine stays offline (never fetches URLs);
rendered-DOM capture is the caller's job and is now a documented hard gate.
Rationale for not adding an engine URL-fetcher: raw HTML of a JS-rendered
site is an empty shell, so it would fail silently exactly where it matters.

- Brief.brand_url + Recommendation.warnings; guard at end of recommend()
- recommend CLI gains --brand-url
- discovery-protocol + brand-extraction docs: capture-before-recommend gate;
  fix the "read URLs via WebFetch" trap (empty shell on SPAs)
- PROMPT_HEADER (16 agents): brand-capture step + warnings check
- 3 regression tests; full suite 326 green; CLI verified live

Note: brand-anchor override + forbidden exclusion were already shipped and
tested (test_brand_wiring, test_recommender "dogfood fix" cases); the real
gap was upstream capture, addressed here.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@Laith0003 Laith0003 force-pushed the feat/brand-url-capture-gate branch from d4bf03b to 11924e8 Compare June 6, 2026 10:41
@Laith0003 Laith0003 merged commit bc935f6 into main Jun 6, 2026
10 checks passed
@Laith0003 Laith0003 deleted the feat/brand-url-capture-gate branch June 6, 2026 10:43
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