marketing: the hero console mock must match the real dashboard #27

Closed
opened 2026-10-06 14:27:39 +02:00 by EduarD3V · 4 comments
Owner

Problem. The component under the marketing hero reproduces the Gotoi console but does not look like the
shipped product page, so the first thing a visitor sees misrepresents the UI.

Today: marketing/src/lib/visuals/ConsoleWindow.svelte, fed by marketing/src/lib/content/console-demo.ts
and scenario.ts. Those two content modules have tests (console-demo.test.ts, scenario.test.ts).

Source of truth: dashboard/src/lib/components/** and dashboard/src/routes/**, plus DESIGN.md for the
visual contract. The dashboard is Svelte, so real reuse is possible.

Required change. Prefer extracting/reusing the real components (or the same markup with the same CSS
tokens) over hand-drawing a lookalike. If extraction would require changing dashboard behaviour, say so and
instead rebuild faithfully quoting the file you copied from — do not approximate.

Acceptance. (1) Evidence that the mock and the real UI share structure and tokens: name the source files
and, if you can run both, capture a comparison. (2) cd marketing && bun run build exits 0 and the existing
tests stay green. (3) If a test had to change because the demo's shape changed, state which assertion and why
— never weaken a test to make it pass. (4) State which path you took (extract vs rebuild) and why.

How to work it (the repo's own law)

  • One issue = one branch = one worktree = one session. Cut issue/<N>-<slug> from origin/develop.
  • main/master are forbidden; never modify the primary checkout's working tree; commit locally and stop —
    the orchestrator pushes the branch and opens the PR; it never merges and neither do you.
  • Never write a closing keyword (fixes|closes|resolves #N) anywhere; use Refs #N.
  • Gates that must exit 0: python3 scripts/check-ai-headers.py, python3 docs/use-cases/_check.py, and the
    build of whatever you touched (cd marketing && bun run build, cd docs-site && bun run build).
  • Authored files keep the five-field header (File, Purpose, Explain, See, Last) current — RULES.md §6.
  • PRODUCT.md is the operator's truth. If a doc contradicts it, the doc is wrong; if it is silent, that is a
    decision for the operator, not a licence to invent.

Report back with: what changed, the exact command you ran for each claim and its result, a DECISIONS list
(every judgement call), and a NOT VERIFIED list. Do not claim a build passes unless you ran it.

**Problem.** The component under the marketing hero reproduces the Gotoi console but does not look like the shipped product page, so the first thing a visitor sees misrepresents the UI. **Today:** `marketing/src/lib/visuals/ConsoleWindow.svelte`, fed by `marketing/src/lib/content/console-demo.ts` and `scenario.ts`. Those two content modules have tests (`console-demo.test.ts`, `scenario.test.ts`). **Source of truth:** `dashboard/src/lib/components/**` and `dashboard/src/routes/**`, plus `DESIGN.md` for the visual contract. The dashboard is Svelte, so real reuse is possible. **Required change.** Prefer **extracting/reusing the real components** (or the same markup with the same CSS tokens) over hand-drawing a lookalike. If extraction would require changing dashboard behaviour, say so and instead rebuild faithfully **quoting the file you copied from** — do not approximate. **Acceptance.** (1) Evidence that the mock and the real UI share structure and tokens: name the source files and, if you can run both, capture a comparison. (2) `cd marketing && bun run build` exits 0 and the existing tests stay green. (3) If a test had to change because the demo's shape changed, state which assertion and why — never weaken a test to make it pass. (4) State which path you took (extract vs rebuild) and why. **How to work it** (the repo's own law) - One issue = one branch = one worktree = one session. Cut `issue/<N>-<slug>` from `origin/develop`. - `main`/`master` are forbidden; never modify the primary checkout's working tree; commit locally and stop — the orchestrator pushes the branch and opens the PR; it never merges and neither do you. - Never write a closing keyword (`fixes|closes|resolves #N`) anywhere; use `Refs #N`. - Gates that must exit 0: `python3 scripts/check-ai-headers.py`, `python3 docs/use-cases/_check.py`, and the build of whatever you touched (`cd marketing && bun run build`, `cd docs-site && bun run build`). - Authored files keep the five-field header (File, Purpose, Explain, See, Last) current — `RULES.md` §6. - `PRODUCT.md` is the operator's truth. If a doc contradicts it, the doc is wrong; if it is silent, that is a **decision for the operator**, not a licence to invent. **Report back with**: what changed, the exact command you ran for each claim and its result, a DECISIONS list (every judgement call), and a NOT VERIFIED list. Do not claim a build passes unless you ran it.
gotoi-agent added reference issue/27-hero-console-mock 2026-10-06 16:54:55 +02:00
Collaborator

Claimed — branch issue/27-hero-console-mock. Doing: rebuild the hero console mock from the real dashboard components (shell, page chrome, Executions feed) instead of the hand-drawn lookalike.

Claimed — branch `issue/27-hero-console-mock`. Doing: rebuild the hero console mock from the real dashboard components (shell, page chrome, Executions feed) instead of the hand-drawn lookalike.
Collaborator

Plan: /home/eduardez/workspace/gotoi-wt/meta/issue-27.plan.md

Path: REBUILD (port markup+tokens), not extract — separate SvelteKit apps, different $lib/icon graphs; extraction would change dashboard config/behaviour.
Tasks: (1) plan+claim, (2) port compound CSS (.card/.list-row/.page-title) into marketing/src/app.css, (3) fix StatusPill stale/suppressed mark drift, (4) rewrite shell + page header, (5) rewrite Executions feed (facets/toolbar/table/peek), (6) split/chat/kill bodies, (7) gates: marketing build+test, check-ai-headers, uc _check, type-mirror.
UC: none — marketing has no entry in docs/use-cases (catalog covers MW/FE/AG/OP product surfaces).

Plan: /home/eduardez/workspace/gotoi-wt/meta/issue-27.plan.md Path: REBUILD (port markup+tokens), not extract — separate SvelteKit apps, different $lib/icon graphs; extraction would change dashboard config/behaviour. Tasks: (1) plan+claim, (2) port compound CSS (.card/.list-row/.page-title) into marketing/src/app.css, (3) fix StatusPill stale/suppressed mark drift, (4) rewrite shell + page header, (5) rewrite Executions feed (facets/toolbar/table/peek), (6) split/chat/kill bodies, (7) gates: marketing build+test, check-ai-headers, uc _check, type-mirror. UC: none — marketing has no entry in docs/use-cases (catalog covers MW/FE/AG/OP product surfaces).
Collaborator

DONE

Commits: dc67390 (pill + surface CSS), 0c7c43f (ConsoleWindow rebuild).

  • python3 scripts/check-ai-headers.py → 566 ok, 0 missing
  • python3 docs/use-cases/_check.py → 350 UC files conform (no UC added; marketing has no UC entry)
  • python3 scripts/check-type-mirror.py → info-only notes (no AgentLogLine/ExecutionProfile/PlanVerify mirror), exit 0
  • cd marketing && bun run check → 0 errors / 0 warnings
  • cd marketing && bun run build → exit 0
  • cd marketing && bun run test → 13 / 13 pass
  • rg Showing lines → empty (except AGENTS/RELEASING/docs templates)
  • agent go test ./... → 6 pre-existing failures (sandbox reads /etc/gotoi/agent.json, present on stashed develop too); not from this diff; see report
  • gofmt -l agent → empty

Path: rebuild (port markup + tokens, copy .card/.list-row/.page-title/.surface-sidebar/.count-badge from dashboard/src/app.css into marketing/src/app.css); extraction would change dashboard behaviour and add a new package/config knob, so not taken.
Report: /home/eduardez/workspace/gotoi-wt/meta/issue-27.plan.report.md

DONE Commits: dc67390 (pill + surface CSS), 0c7c43f (ConsoleWindow rebuild). - python3 scripts/check-ai-headers.py → 566 ok, 0 missing - python3 docs/use-cases/_check.py → 350 UC files conform (no UC added; marketing has no UC entry) - python3 scripts/check-type-mirror.py → info-only notes (no AgentLogLine/ExecutionProfile/PlanVerify mirror), exit 0 - cd marketing && bun run check → 0 errors / 0 warnings - cd marketing && bun run build → exit 0 - cd marketing && bun run test → 13 / 13 pass - rg Showing lines → empty (except AGENTS/RELEASING/docs templates) - agent go test ./... → 6 pre-existing failures (sandbox reads /etc/gotoi/agent.json, present on stashed develop too); not from this diff; see report - gofmt -l agent → empty Path: rebuild (port markup + tokens, copy .card/.list-row/.page-title/.surface-sidebar/.count-badge from dashboard/src/app.css into marketing/src/app.css); extraction would change dashboard behaviour and add a new package/config knob, so not taken. Report: /home/eduardez/workspace/gotoi-wt/meta/issue-27.plan.report.md
Collaborator

DONE — pushed. Branch issue/27-hero-console-mock, commits dc67390 + 0c7c43f. Gates: check-ai-headers 0 (566 ok), docs/use-cases/_check 0 (350 files), type-mirror 0, marketing check 0/0, build 0, test 13/13, gofmt clean; agent go test 6 pre-existing sandbox failures (present on clean develop, not from this diff). PR: #35 (-> develop). Refs #27

DONE — pushed. Branch issue/27-hero-console-mock, commits dc67390 + 0c7c43f. Gates: check-ai-headers 0 (566 ok), docs/use-cases/_check 0 (350 files), type-mirror 0, marketing check 0/0, build 0, test 13/13, gofmt clean; agent go test 6 pre-existing sandbox failures (present on clean develop, not from this diff). PR: https://git.eduard3v.com/EduarD3V/gotoi/pulls/35 (-> develop). Refs #27
Sign in to join this conversation.
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
EduarD3V/gotoi#27
No description provided.