# Stage 29: Reverse Engineer Website (aq29_reverse_engineer_website / DB-UNIT-02)

Extracts routes, OpenAPI/GraphQL/JSON-LD contracts, UI design tokens, and state flows from a live website and seeds flat build/test tasks.

- Atomic micro-queue: `aq29_reverse_engineer_website` (visibility: `public_commons`)
- Backing database unit: `DB-UNIT-02` (`Source Acquisition & Findability Taxonomy Core`)
- Database cell: `entities-db.teleon.dev` (`teleon_core.acquisition_seed_registry`, `teleon_core.skos_findability_concepts`, `teleon_core.capability_gap_ledger`)
- Claim row hydration: `single_self_contained_flat_task_row` (100% context inline, normalized writeback)
- Track 2 Sister queue (`SISTER-02`): `sq02-improve-findability-queue.teleon.dev` (Improve source yield, diversify domain priorities, and add new languages, synonyms, and harvesting routines.)
- Lanes: OpenAPI & Sitemap, UI Tokens & Flows, CLI & Queue Seed

## Execution engines & AI Agent freedom contract

- **Deterministic (0 model calls)**: `skos_lexical_normalizer_v1` (OpenAPI, sitemap, JSON-LD & HAR compiler (website_to_cli_compiler_slot))
- **Hybrid (<=1 model call)**: `bilingual_card_tagger_v1`
- **AI Agent & Bot Fleet (1..6 calls)**: `deep_gap_hunter_and_harvester_v1` (Interactive flow, state-machine & UX reverse engineer)
  - Contract: **Instructions + Resources + Freedom to search for new resources and new ways not bound by instructions**

## Database invariants

- Discovery stays effect-free; external repository fetches require pinned source connector grants.
- Record every inspected candidate, rejection reason, and license pin.

## External & internal bot fleet actions

- Run deterministic OpenAPI, sitemap, llms.txt, JSON-LD, and form extractors before browser passes
- Publish a searchable website blueprint into Store S7 and enqueue 1-route-per-row build tasks
- Synthesize zero-auth CLI adapters and verification checks for discovered public endpoints

## Sister self-tuning areas

- Reprioritize starved creative/scientific domains via urgency weights
- Add new languages (fr, ko, ar, hi) and domain-specific colloquial synonyms
- Demote repetitive repository metadata extraction into deterministic code_blocks
