# Cattle design record — 14 September 2026

Mode: built-in imagegen. All generated assets are copied into cattle/img. These are UI concepts and an interactive local-example preview, not transaction integration.

## Sources

- ../IMAGEGEN-DESIGN-GUIDE.md
- ../gyro/designs.html: action priority, optional guide, evidence galleries.
- ../eiko/designs.html: playful mascot, legible light workspace.
- ../meryl/designs.html: continuous statements, quiet hierarchy.
- ../../thetaAaveCattle/README.md: both directions, supplied/borrowable collateral, optional debt, single owner.
- ../../thetaAaveCattle/docs/FRONTEND_NOTES.md sections 2 and 5: both deposit legs, strike units, pending-order health, live client obligations.
- ../../thetaAaveCattle/src/ThetaCattlePair.sol: call target versus covered-short target.
- ../../thetaAaveCattle/src/lens/ThetaCattleLens.sol: post-outflow health, unavailable-state semantics.

## Sequence

1. Reviewed the guide and existing design galleries. Explored a guided builder, one-page ticket and holdings-first dark workspace using a tentative ThetaCow brief.
2. User clarified that Cattle handles capital-efficient long and short exposure. Superseded the initial product framing; retained the three raster studies as historical evidence.
3. Read thetaAaveCattle sources. Adopted distinct long-call and covered-short choices, dual collateral inputs, quote-per-base strike units and separate optional borrowing. Rejected direct bearish-short, premium-only long, guaranteed return and no-liquidation interpretations.
4. Generated D: mint workspace with strategy/collateral/borrowing groups. Adopted grouping and native choice cards. Adapted its large mascot into smaller supporting assets. Rejected pink downward-arrow shorthand on the covered short, fake borrow controls, repeated framed summaries and unverified live numbers. Phone stays fully native; the art is not the UI.
5. Generated two transparent raster companions. Hero identifies the product; receipt companion connects the app summary and empty local examples. SVG mark is a small native companion for favicon/navigation, not a substitute for generated raster art.
6. Implemented index.html, app.html, app.js, model.js, landing.js and app.css with native HTML/CSS/JS. Added a local review/save/remove workflow, two strategy explanations, optional guide and independent borrowing examples. No wallet provider or transaction APIs are called.

7. Browser pass: enlarged help links and the brand to 44px targets, stacked the phone examples action, removed overlapping handwritten mascot copy on phones, shortened the builder heading, and explained the health-factor threshold in the borrowing lesson. Added explicit Tab/Shift+Tab cycling after the browser allowed reverse-tab focus to leave the native dialog.

## Implementation boundaries

- Base WETH/USDC is a teaching example, not an admission or deployment claim.
- Input validation does not establish a valid on-curve deposit mix; no executable quote is fabricated.
- Borrowing examples use an explicitly hypothetical 2,000 USD collateral value, 80% LT on the collateral and outgoing leg, and USDC at 1 USD. Debt-free has no finite health-factor display. With debt 800, HF = 2.00 and post-outflow HF = 1.90 for a 100 USDC outgoing transfer. With debt 1,500 and a 400 USDC outgoing transfer, HF is 1.0667 then 0.8533 and the example indicates a blocked hedge. These are separate from builder inputs.
- A live client still needs canonical factory attestation, release addresses, admission state, pairView/quote error handling, Aave rates/reserve and LTV limits, pending-order delegation limits, slippage/floor/gas checks, full create/appData/funding review and verified receipts. Public creation remains absent.
- No claim of measured newcomer understanding is made. Proposed comprehension tasks: distinguish covered-short from directional short; identify both assets supplied; locate borrowing risk; explain why a healthy account may still be unable to send its next hedge.

## Full image prompts

### concept-a — superseded short-only product brief

Use case: ui-mockup. Design one polished desktop-and-phone website concept board for a new independent brand, "cattle". Reference images are STYLE references only: Eiko's playful mascot and spacious lavender workspace, Meryl's uncluttered continuous statement, Gyro's clear main actions. Do not copy their products or names.
Cattle mascot: original adorable ghostly cow, rounded white floating ghost body, small lilac cow spots, tiny horns, oval ears, two dark eyes, pink muzzle, friendly shy smile. The feel combines a cute friendly DeFi ghost and cow, without using official Aave or CoW logos. Cattle is a price-and-date trading strategy prototype. User names a price, amount, and date. Return depends on completed trades, and final holdings may be either asset or a mix; NO promised yield, APR, performance, or live balances. All sample figures labeled "Example". Header: cattle, Create, My positions, Guide, "Interactive preview". Friendly yet precise, premium typography, large legible controls. Output a single landscape board, desktop left, true stacked phone layout right. No browser/device chrome needed. Hypothesis A — "The gentle guide": a warm off-white and lavender guided three-stage builder. Dominant heading "Your price. Your pace." Progress: Asset, Price & date, Review. First stage shows "I have USDC" and "I'd like ETH", a friendly ghost-cow as a modest helpful guide on the right and one Next action. Explain only the current step, retain an accessible My positions destination. The board should look designed, not a template.

### concept-b — superseded short-only product brief

Use case: ui-mockup. Design one polished desktop-and-phone website concept board for a new independent brand, "cattle". Reference images are STYLE references only: Eiko's playful mascot and spacious lavender workspace, Meryl's uncluttered continuous statement, Gyro's clear main actions. Do not copy their products or names.
Cattle mascot: original adorable ghostly cow, rounded white floating ghost body, small lilac cow spots, tiny horns, oval ears, two dark eyes, pink muzzle, friendly shy smile. The feel combines a cute friendly DeFi ghost and cow, without using official Aave or CoW logos. Cattle is a price-and-date trading strategy prototype. User names a price, amount, and date. Return depends on completed trades, and final holdings may be either asset or a mix; NO promised yield, APR, performance, or live balances. All sample figures labeled "Example". Header: cattle, Create, My positions, Guide, "Interactive preview". Friendly yet precise, premium typography, large legible controls. Output a single landscape board, desktop left, true stacked phone layout right. No browser/device chrome needed. Hypothesis B — "The open ticket": a mint-white split workspace with a forest-green accent. Dominant heading "Make your next move a little calmer." All essential inputs on one readable ticket: Buy ETH / Sell ETH, amount "1,000 USDC", price "$2,400", date "30 Sep 2026", clear "Review example" CTA. Beside it a concise receipt in plain language and a small ghost cow resting on a mint cushion. White continuous surfaces with thin dividers, pill-shaped controls, subtle pale lilac fields. No dense dashboard. Use a real responsive phone composition.

### concept-c — superseded short-only product brief

Use case: ui-mockup. Design one polished desktop-and-phone website concept board for a new independent brand, "cattle". Reference images are STYLE references only: Eiko's playful mascot and spacious lavender workspace, Meryl's uncluttered continuous statement, Gyro's clear main actions. Do not copy their products or names.
Cattle mascot: original adorable ghostly cow, rounded white floating ghost body, small lilac cow spots, tiny horns, oval ears, two dark eyes, pink muzzle, friendly shy smile. The feel combines a cute friendly DeFi ghost and cow, without using official Aave or CoW logos. Cattle is a price-and-date trading strategy prototype. User names a price, amount, and date. Return depends on completed trades, and final holdings may be either asset or a mix; NO promised yield, APR, performance, or live balances. All sample figures labeled "Example". Header: cattle, Create, My positions, Guide, "Interactive preview". Friendly yet precise, premium typography, large legible controls. Output a single landscape board, desktop left, true stacked phone layout right. No browser/device chrome needed. Hypothesis C — "Moonlit pasture": a quiet deep-indigo and lilac holdings-first workspace. Heading "A little space for your next move." Main section My positions with an honest empty state, small floating ghost cow holding a blank receipt and "Create an example" primary action. A separate compact order composer alongside: asset, target price, amount, date. No fabricated balances or history. Gentle violet control contrast, generous but efficient spacing. Phone keeps clear create action before optional mechanics.

### concept-d — corrected Cattle brief

Use case: ui-mockup. Create a refined desktop + phone website concept for "cattle", original friendly ghostly cow brand. Reference 1: prior mint concept, STYLE ONLY; its buy/sell price-and-date product is WRONG and must be replaced. Reference 2: Eiko playful style only. Reference 3: Meryl's aligned statement style only.
Product truth: Cattle replicates a LONG CALL or a COVERED SHORT with Aave-supplied collateral and CoW-settled trades. Long buys base as price rises and sells as it falls. Covered short does the reverse; it is NOT a bearish leveraged short. The same supplied collateral earns variable Aave supply interest and remains borrowable. Borrowing is OPTIONAL, adds debt, interest and liquidation risk; not automatic leverage, not a premium-only option purchase.
Hypothesis: users must understand strategy, supplied collateral and borrowing as three distinct connected concepts. A mint/off-white and forest-green one-page workspace, lilac highlights, original cute floating white cow ghost with lilac spots and pink nose. Premium understated large type, airy whitespace, large controls. Heading "Your strategy. More room for your capital." Compact top nav cattle / Build / My positions / Guide / "Interactive preview".
Left white builder: choice cards "Long call" with "Buys into strength" and "Covered short" with "Sells into strength"; "WETH / USDC"; deposits "0.25 WETH" and "500 USDC", "Strike 2,400 USDC per WETH", "Expiry", "Review example". All values clearly EXAMPLE.
Right: one continuous summary "Long-call strategy" followed by "Supplied collateral", actual two asset amounts, a separate compact "Optional borrowing" area with visible "No borrowing" selected, "Debt 0 USDC", "Health factor Not applicable". One sentence "Borrowing adds liquidation risk." A ghost cow sits near the summary but does not obscure information. A compact native-style flow: Your assets → Aave collateral; from that collateral the options strategy and optional borrowing are separate branches. No yield %, no live claims, no shield implying safety, no guaranteed payoff graph. Phone must keep BOTH strategy explanations, two deposit units and borrowing risk visible. One landscape concept board, no fake menus, no device chrome, no call-to-wallet.

### hero-mascot — project asset

Use case: stylized-concept. Asset type: original mascot cutout for cattle financial app landing page. Reference image is brand style reference only: its white/lilac ghost cow. Create a very cute friendly GHOSTLY COW: full plump rounded creamy-white floating ghost body with a soft scalloped ghost tail instead of legs, tiny lavender horns, big oval cow ears, lavender cow patches, two dark navy oval eyes with subtle highlights, soft pink oval muzzle with two tiny nostrils, blush cheeks, two little rounded arms. Delicate matte clay/soft vinyl render with fine paper-like grain, not shiny. Cow floating at a slight 3/4 angle above a soft sage-green oval cushion, a small lavender four-point star nearby. Calm, curious expression. Entire subject visible, large centered composition with modest breathing room. Cohesive muted sage, cream, lilac and pink. Genuinely transparent background, preserve alpha. No text, no coins, no arrows, no finance promises, no scenery, no logo. Premium charming modern character illustration, soft diffuse studio lighting.

### guide-mascot — project asset

Use case: stylized-concept. Asset type: useful empty-state and review companion for cattle app. Reference image is brand style reference only: ghostly white cow with lilac spots and soft pink muzzle. Create one original adorable white floating GHOST COW with lavender spots, tiny lavender horns, large oval ears, rounded dark eyes and a pink oval muzzle, scalloped ghost tail with NO LEGS. Soft matte clay look with slight paper grain. A helpful curious companion holding one small ivory paper receipt, with three short abstract lavender lines on the paper and a tiny sage circle. Facing left slightly, modest shy smile, two small arms. Whole body visible, central composition, no cropped parts. Genuinely transparent background with alpha. No text, no numbers, no coins, no scenery, no interface, no watermark. Soft studio lighting, restrained cream/sage/lilac palette.

## Final verification

- 12 native Node model tests pass (`npm test`).
- Actual browser interaction: strategy switching, changing amounts and strike, review acknowledgement, save, reload persistence and removal.
- Negative amount and past UTC date block review and focus their error fields.
- Fixed borrowing cases read no debt, 2.00/1.90 and 1.07/0.85 as expected.
- Explicit forward/reverse Tab cycling verified in Guide; Escape returns focus to its opener.
- App layout measured at 320, 390, 768 and 1440 CSS px with no horizontal overflow. Landing measured at 320, 390 and 1440; journal at 390.
- Journal image HEAD requests all returned 200. HTML local resources exist; no duplicate IDs. No observed console errors on the tested pages.
- PNG originals retain RGBA alpha: hero 1312×1199; guide 1209×1301.
- Actual screenshots are in img/designs; browser captures reflect the interactive preview, not generated financial state. Desktop screenshots use 1440×1050 viewport; phone screenshots use 390×844 unless the filename says otherwise.
- App CSS v2, app JS v3, model v1; landing CSS v2 and JS v1; journal CSS v2. The app captures preceded the JS-only focus-cycle correction; all captured appearance is unchanged.
- No live wallet transaction, borrow, repayment, contract creation or newcomer comprehension study was performed.


## Later decisions — 14 September 2026

The user approved the initial preview and authorized external-wallet integration, sample and address previews, then a discovery indexer. The implementation and verification record is in `WALLET-INTEGRATION.md` and `indexer/README.md`; sequential journal entries 07–09 preserve the design reasoning. The index caches discovery only, and direct chain reads fill the cron gap and refresh account state.

User feedback queued for a later copy/theme pass: long is generally bullish; short commonly targets range/yield intent and a delta-hedging spread intended to cover option premium. Long has no equivalent spread target, and neither is an exact replica. The perpetuals-versus-dated-futures analogy needs careful wording. The user also liked the moonlit pasture and suggested a cute night toggle, without urgency.

## Completed wording, night and risk pass

The four requested wording reviews and adjudication are in
`reviews/2026-09-14-wording/`. The shared strategy copy leads with intent, separates
targets from fills, and states borrowing conditions. Later user requests added
notional-led identity, short limit orders, one long market-rebalance state, and
rebalancing-only HF against price with borrowing/repayment scenarios.

Built-in imagegen produced three order-layout concepts and night versions of the
hero, guide and logo. Full prompts, correction prompts and method are preserved in
`img/designs/order-study/generation.json`. Final night assets are
`img/assets/hero-night.png`, `img/assets/guide-night.png`, and
`img/assets/mark-night.png`. They are opaque RGB images. Initial painted
checkerboards were rejected; native CSS blends the corrected night backgrounds.
The day assets remain unchanged. Night theme controls and charts are native code.

Decisions and browser captures are sequential journal entries 10–14. The HF model
and validation are documented in `HF-MODEL.md`; roll integration is studied and
queued in `ROLL-PLAN.md`. No new transaction send capability was enabled.

## 15 — HF continues after buying is constrained

User correction: the ideal hedge target can require more quote than remains, but
existing base collateral still has an HF against existing debt. Replace the
funding cutoff with affordable buying and continued collateral/debt repricing.
Initially unaffordable targets join the hedge curve only when its base target
falls to the amount already acquired. This is a one-way price scenario, with
fixed debt quantities and no implicit borrowing. See `HF-MODEL.md` and journal
step 15 for the equations, independent trade simulations and browser evidence.

## 16–18 — Triggers, one tutorial flow, and wallet continuity

Long: show both Sell market and Buy market estimated size triggers. Keep actual
current contract order and slippage bound separate. Continuous estimates omit
atomic rounding; the sell interval has a lower cutoff from minimum trade value.

Tutorial: optional debt belongs in the same example as collateral and terms. A
separate example market price values assets; the strike does not value collateral.
Save and reload the chosen debt asset/amount with the example.

My Wallet: validated display cache only, scoped by owner/network/release. Repaint
fresh data after chain reads; cache never advances an index or enables live
features. Borrow, Repay and Roll reviews now retain selected-position context.
Signing is deferred to the live transaction integration after tutorial review.
Journal steps 16–18 include current browser captures and independent findings.

## 19–20 — Comparable price bounds and a contract witness

User review on 15 September: fix the cached-state/card gap, remove redundant
trigger copy and the separate current-preview panel, and add CoW history links.
The main long tiles now display oracle-based execution bounds, with the inactive
side indicative. Old inventory activation levels remain a diagnostic model, not
the main displayed execution price. See journal steps 19–20 and the same-block
pricing witness for the follow-up contract arithmetic and retry investigation.

## 21 — Plain buy/sell verbs

User wording refinement: describe long as buying more WETH on a rise and selling
on a fall; describe short with the opposite response. Update shared descriptions,
tutorial/guide defaults and landing direction labels. Keep intent labels and the
existing execution conditions. Live cards still substitute the actual base asset.

## 22 — Before real creation and funding

User approved the current UI direction and asked for remaining gaps. The
assessment compares actual frontend capabilities with current factory/pair
source, rather than treating stale backend “no client” checklist entries as
current. See `LIVE-INTEGRATION-PLAN.md`: live configuration, per-pair appData,
resumable create/fund transactions, close/repay, first-hedge borrowing headroom,
roll activation and integrated acceptance are the remaining work.


## 2026-09-15 · Minimum live wallet execution

User retained the Base wstETH/USDC trial defaults. Fresh sanity critique preceded implementation; Fable and Zai reviewed afterward. Live creation registers pair-specific CoW hook metadata, then separates creation, approval and funding. My Wallet provides borrow, repay, withdraw, roll and separate activation from received assets. No persistent operation ledger. Receipt confirmation waits for the existing head-minus-two discovery view, and active wallet steps keep their dialog open. Preview modes remain read-only.

Decisions and review disposition: [journal 23–24](designs.html#step-23), [synthesis](reviews/2026-09-15-live/SYNTHESIS.md). 120 Node tests and two actual deployed-contract Base fork lifecycles pass. Browser testing uses a fixture without private keys or send support. CoW metadata acceptance was tested, but no agent real-wallet transaction was broadcast.


## 2026-09-18 · Protocol fee recipient correction

The 1% annual fee goes to the deployer/protocol, not automatically to the position owner's wallet. New creation pins `PROTOCOL_FEE_RECIPIENT` to the configured `THETADEPLOYER` (0x4a4c7c5549359b9fff0137bb3ec4d48c4aa79cc7); owner remains the connected wallet. The review renders owner and recipient separately from the actual prepared config. Existing immutable recipients and their fee-aware withdrawal/roll previews remain authoritative. Journal entry 25 supersedes the earlier owner-recipient assumption.


## 2026-09-21 · Latest deployed perpetual generation

The new deployment at e4c87fc adds calendar periods and fee skims. Integrated its actual factory, implementation, lens, 27-word clone and extended Config; retained the earlier generation for reading and managing old positions. Weekly creation is the default, with a dated alternative and 53% trial IV. Dynamic expiry comes from the lens. Fee estimates use block-aligned feeBase/lastSkim and distinguish fee aTokens from withdrawn underlying assets. Protocol recipient correction is preserved.

Separate deployment indices preserve each certified history; combined reads share a block and partial reads cannot enter the wallet cache. The new index backfill hit a public provider rate limit; smaller intervals and PublicNode ordinary reads resolved it without dropping either history witness. Both indices are ready and the browser uses index+tail. Journal entry 26 records the changes; source review, raw chain witness and five fork tests are under reviews/2026-09-21-deployment/.
