Public GTM + Hermes install gap map¶
Date: 2026-08-07
Programme: Keprix IDs 416-428
Programme README: <workspace-root>/keprix/1st-plan/1st-prompt/prompts-archive/416-428-README.md
Build order: <workspace-root>/keprix/1st-plan/1st-prompt/prompts-archive/ref-416-keprix-public-gtm-hermes-install-build-order.md
Hermes reference (external): https://github.com/NousResearch/hermes-agent
Product root inventoried: <workspace-root>/keprix/ Sign-off: docs/architecture/public-gtm-signoff.md (Verdict NOT READY; prompts archived 2026-08-07)
This map is the operational source of truth for public GTM. Quarantine (417) and git hygiene (418) are DONE; installer/docs rewrites continue from 419. Do not treat every WORKSPACE path as delete; prefer export-ignore / archive / ignore.
Domain and copy facts (2026-08-07)¶
| Fact | Value |
|---|---|
| Owner public domain | keprixai.com |
| DNS (public A via dig) | Cloudflare anycast 104.21.16.70, 172.67.166.227 (proxied) |
| Intended origin | Contabo 80.190.81.208 behind Cloudflare orange-cloud (owner/ref) |
https://keprixai.com/ | HTTP 200 (Contabo marketing FE; go-live 2026-08-07) |
| Marketing FE vs API | Frontend marketing is separable from backend for marketing-only origin |
| Marketing metadata | metadataBase is https://keprixai.com (424 DONE) |
| Anonymous GitHub | HTTP 200 (publicize 2026-08-07) |
Live install surface checks (2026-08-07)¶
| Check | Result |
|---|---|
https://github.com/malike2356/keprix (anonymous) | 404 |
https://pypi.org/pypi/keprix/json | 404 |
https://raw.githubusercontent.com/malike2356/keprix/main/scripts/install.sh | 404 |
Local scripts/install-curl.sh | Pipes that raw GitHub URL (dead for strangers) |
Local scripts/install.sh | Hermes-parity: piped vs checkout, ~/.keprix home, CLI-first (Docker optional); public raw URL still 404 |
| README lead | Install-first (curl Quick Install, Docker secondary); product layout only (422) |
A. Product vs workspace inventory¶
Classes: PRODUCT | DOCS | TOOLING | WORKSPACE | UNCLEAR.
| Path | Class | Notes | Closes in |
|---|---|---|---|
<workspace-root>/keprix/src/ | PRODUCT | Agent runtime, API, TUI, tools | keep |
<workspace-root>/keprix/frontend/ | PRODUCT | Next.js workspace + (marketing) | 424 (domain copy) |
<workspace-root>/keprix/docker/ | PRODUCT | Primary Compose stack | 420 |
<workspace-root>/keprix/docs/ | DOCS | Public MkDocs source | 423, 425 |
<workspace-root>/keprix/tests/ | PRODUCT | CI / contributor tests | 426 |
<workspace-root>/keprix/scripts/ | TOOLING | Installers, gates, deploy helpers | 419, 426 |
<workspace-root>/keprix/config/ | PRODUCT | Billing YAML and runtime config samples | keep |
<workspace-root>/keprix/migrations/ | PRODUCT | Alembic | keep |
<workspace-root>/keprix/domain-packs/ | PRODUCT | First-party packs (Clinicom, research-intel, ...) | keep |
<workspace-root>/keprix/evals/ | PRODUCT | Eval harnesses | keep |
<workspace-root>/keprix/examples/ | DOCS | Sample usage | keep |
<workspace-root>/keprix/ui/ | PRODUCT | UI contracts / web stubs | keep |
<workspace-root>/keprix/mobile/ | PRODUCT | Optional mobile client | keep |
<workspace-root>/keprix/sdk/ | PRODUCT | SDK surface | keep |
<workspace-root>/keprix/keprix_sdk/ | PRODUCT | Packaged SDK trees | keep |
<workspace-root>/keprix/packages/ | PRODUCT | Workspace packages | keep |
<workspace-root>/keprix/apps/ | PRODUCT | App workspace | keep |
<workspace-root>/keprix/apps-on-keprix/ | PRODUCT | Marketplace / on-Keprix apps | keep |
<workspace-root>/keprix/keprix-proxy/ | PRODUCT | Credential proxy product | keep |
<workspace-root>/keprix/deploy/ | TOOLING | Deploy helpers | 427 (ops notes) |
<workspace-root>/keprix/database/ | PRODUCT | Schema / DB helpers | keep |
<workspace-root>/keprix/templates/ | PRODUCT | Templates | keep |
<workspace-root>/keprix/docker-compose*.yml (root) | TOOLING | Extra Compose overlays (ml, searxng, localization) | 420 (honest secondary docs) |
<workspace-root>/keprix/fly.toml (+ variants) | TOOLING | Fly deploy configs | keep / document |
<workspace-root>/keprix/AGENTS.md | WORKSPACE | WORKSPACE internal; DEFERRED ok for agents; not in README lead (417) | 417 |
<workspace-root>/keprix/CLAUDE.md | WORKSPACE | WORKSPACE internal; DEFERRED ok for agents; not in README lead (417) | 417 |
<workspace-root>/keprix/1st-plan/ | WORKSPACE | WORKSPACE; quarantine DONE; .gitattributes export-ignore DONE (418); still tracked in normal clones until owner mirror/untrack | 417, 418 |
<workspace-root>/keprix/keprix-data/ | WORKSPACE | WORKSPACE; gitignored; DONE | 417 |
<workspace-root>/keprix/marketing/ | WORKSPACE | was UNCLEAR; now WORKSPACE stub / gitignored; DONE (417) | 417 |
<workspace-root>/keprix/site/ | WORKSPACE | was UNCLEAR; MkDocs build gitignored; DONE (417) | 417 |
<workspace-root>/keprix/.venv/ | WORKSPACE | WORKSPACE; already gitignored; DONE | 417 |
Root README.md, CONTRIBUTING.md, LICENSE, SECURITY.md, CHANGELOG.md, pyproject.toml, uv.lock, mkdocs.yml, package.json, pnpm-lock.yaml | PRODUCT / DOCS / TOOLING | Ship face | 421, 422, 425 |
.github/ (workflows) | TOOLING | CI including mesh gate | 426 |
B. Hermes install UX gap map¶
| Hermes UX | Keprix today | Status | Closes in |
|---|---|---|---|
| Public GitHub (anonymous clone) | github.com/malike2356/keprix anonymous 404; hygiene prep DONE (418) | OPEN (owner publicize remains) | 418 DONE hygiene; 428 (sign-off) |
curl .../install.sh | bash | scripts/install.sh rewritten for pipe+checkout; install-curl.sh thin alias; raw URL still 404 until owner publicize | DONE (script; publicize owner) | 419 |
Clone under ~/.hermes/hermes-agent style home | Default ~/.keprix + code at ~/.keprix/keprix; README documents home paths (422) | DONE | 419, 422 |
Binary on PATH (hermes) | Docs honest: curl + pipx from git/checkout; PyPI still 404 (publish owner later) | DONE (honesty); publish OPEN | 421 |
hermes setup / chat next | Post-install prints keprix setup / wizard next steps; getting-started first-run docs DONE | DONE (419, 423) | 419, 423 |
| Docker full stack | Quickstart Option B + marketing/docs secondary path; strangers still cannot clone until public | DONE (docs; publicize owner) | 420 |
| Install-first README | Curl Quick Install first; Docker secondary; no abs paths / 1st-plan in README | DONE (422); getting-started refresh DONE (423) | 422, 423 |
| Public product domain | DNS proxied; origin 200; product/marketing copy uses keprixai.com | DONE | 424, 427 |
C. OPEN / PARTIAL / DONE summary (programme)¶
| Gap | Status | Prompt |
|---|---|---|
Workspace noise on ship face (1st-plan/, data, loose scripts, marketing stub) | DONE (417) | 417 |
| Public git hygiene (ignore, export-ignore, layout) | DONE (418); GitHub anonymous still OPEN until owner flips (418/428) | 418 |
| Hermes-parity curl installer + first run | DONE (script+tests+docs note; publicize still owner) | 419 |
| Docker secondary fullstack honesty | DONE | 420 |
| PyPI / pipx honesty + release path | DONE (honesty); publish still owner later | 421 |
| README + CONTRIBUTING install-first | DONE | 422 |
| Getting-started docs refresh | DONE (423) | 423 |
Marketing + metadata keprixai.com | DONE | 424 |
| MkDocs / env docs consistency | DONE | 425 |
| Public GTM ship gate + CI | DONE (fail-closed until public GitHub) | 426 |
| Contabo + Cloudflare marketing origin | DONE (runbook + nginx conf + marketing compose; live deploy OPEN) | 427 |
| Public GTM sign-off | DONE (Verdict NOT READY; prompts archived 416-428) | 428 |
| Gap map itself (this file) | DONE | 416 |
| Private soft-ship / TUI parity gates | DONE | 365-370, 341-349 (do not redo) |
D. Owner-only actions (not agent-complete)¶
- Make GitHub repo publicly readable (or publish a public mirror) before claiming curl/clone UX.
- Approve any first PyPI upload of
keprix(421 prepares honesty; owner uploads). - Contabo nginx / marketing container for
keprixai.comorigin (427 notes; owner ops).
E. How to use this map¶
- 416-428 agent prompts ARCHIVED (
prompts-archive/416-428-*.md). Sign-off Verdict remains NOT READY (docs/architecture/public-gtm-signoff.md) until owner clears GitHub + origin (or documents deferral) and the public GTM gate is green. - Do not claim stranger curl/clone UX until the owner flips GitHub public (or mirror).
- Keep absolute Verlox paths out of stranger-facing README/getting-started (417/422).
- Re-check live HTTP codes when flipping sign-off to READY.
- Email DNS for keprixai.com can stay OPEN until a mail provider is chosen.
- Public GTM gate:
bash scripts/check-public-gtm-gate.sh(expect non-zero until publicize). - Origin runbook:
docs/operations/keprixai-com-origin.md; nginx sourcecarina/02-backends/core.carinaai.uk/docker/nginx/keprixai.com.conf.
F. Quarantine log (417)¶
Date: 2026-08-07
Moves: - gmail-inbox-reader.py from 1st-plan/1st-prompt/pending-prompts/ to archive/keprix-wip-bakups/pending-prompts-noise/.
Decisions: - marketing/: empty stub dirs, gitignored; live UI is frontend/src/app/(marketing)/. - site/: MkDocs build output, already gitignored. - keprix-data/: gitignored local runtime data; not in README. - 1st-plan/: workspace-local for Verlox agents; export-ignore deferred to 418; active pending prompts kept. - README: removed absolute Verlox path lead; full install-first rewrite DONE in 422. - .gitignore: ensured *.local.md local scratch rule.
G. Public git hygiene log (418)¶
Date: 2026-08-07
- Hardened
.gitignoresecrets (.env.*, credentials patterns,docker/.graphiti.env). - Added
.gitattributeswithexport-ignorefor1st-plan/,AGENTS.md,CLAUDE.md(affectsgit archive/ some release tarballs; does not remove paths from a normal clone). - Added
deploy/README.mdpointers anddocs/operations/public-github-checklist.md. - Did not untrack
1st-plan/from the index (owner may choose a public mirror later).
H. Curl installer log (419)¶
Date: 2026-08-07
- Rewrote
scripts/install.shfor piped vs checkout detection,KEPRIX_HOMEdefault~/.keprix, clone under$KEPRIX_HOME/keprix, uv/venv[tui]install,~/.local/bin/keprixsymlink, optional Docker only, DRY_RUN / NONINTERACTIVE. scripts/install-curl.shremains a thin raw-URL pipe (404 until public).src/keprix/installer/paths.py:get_keprix_home();get_install_root()defaults to~/.keprix.- Tests:
tests/installer/test_install_sh_hermes_layout.py. - README +
docs/getting-started/install.mdcurl section with public-repo caveat.
I. Docker secondary path log (420)¶
Date: 2026-08-07
- Rewrote
docs/getting-started/quickstart.md: Option A curl CLI/TUI, Option B Compose full stack. - Documented
depends_onhealth order; linked VPS deploy and Compose reference. - Marketing HowItWorks + docs
INSTALL_CMD: curl primary, Compose full-stack secondary. - README Option A/B pointer;
.env.exampleLLM minimum comment; Compose Startup order note. - No absolute Verlox paths in quickstart; clone URL uses
https://.
J. PyPI / pipx honesty log (421)¶
Date: 2026-08-07
- Rewrote
docs/getting-started/install.md: curl primary; pipx from GitHub git URL; local checkout; no bare PyPI pipx. - Fixed
docs/features/tui.mdvoice and optional-deps install lines to git/checkout. - Added
docs/operations/pypi-publish-checklist.md(owner upload only). - Extended
pyproject.tomlkeywords, classifiers, and[project.urls]. - Added
scripts/check-pypi-docs-honesty.sh(skips whenKEPRIX_PYPI_PUBLISHED=1). - Did not upload to PyPI; publish remains owner-only.
K. README install-first log (422)¶
Date: 2026-08-07
- Rewrote root
README.mdHermes-style: Quick Install curl one-liner first, Docker full stack secondary, product-only layout, docs/CONTRIBUTING/Licence. - Trimmed
CONTRIBUTING.mdfor strangers (fork/clone, install.sh, pnpm, tests, Conventional Commits); depth indocs/community/contributing.md. - Related products: link to
docs/community/related-projects.mdonly. - Marketing HowItWorks already had matching curl/Compose (420); no change.
- No
/opt/lampp/htdocsor1st-planin README.
K. Getting-started docs refresh log (423)¶
Date: 2026-08-07
- Funnel: install.md -> first-run.md -> quickstart.md -> manual-install.md -> cloud-deploy.md.
install.md: Uninstall / reset; Next links; contributor section labeled secondary.- Rewrote
first-run.mdfor CLI/TUI and Docker UI (LLM key,keprix setup, open product, optional messaging). quickstart.md: top links to install/first-run; Contabo marketing-origin note without programme-prompt wording.manual-install.md: titled for developers; pipx honesty; pnpm; optional install-baremetal.sh.cloud-deploy.md: Contabo vs Caddy note; curl installer vs VPS deploy scripts clarification.mkdocs.ymlGetting started nav reordered to match the funnel.