ktx/docs-site
Andrey Avtomonov ce1516b357
feat(cli): consistent connection setup recovery and build-time gate (#257)
* feat(cli): block context build when a required connection fails its live test

A context build can take several minutes, so a connection that is
unreachable or misconfigured should stop the build up front instead of
failing partway through. Before the build starts, run a live connection
test for every primary- and context-source connection the build depends
on.

Each test's output is captured in a discarded buffer so raw error text
(and database paths) never reach the user; failures are surfaced only by
connection id and connector type, with a pointer to `ktx connection test
<id>` for the underlying error.

- Interactive setup lets the user fix the connection and retry without
  restarting, re-resolving targets so an added/removed/reconfigured
  connection is honored.
- `--no-input` exits non-zero and writes a failed context state with a
  failureReason, so scripts stop early and setup never reads as ready.

Extract the buffered command IO helper out of setup-databases into
src/io/buffered-command-io.ts so both call sites share one implementation.

* feat(cli): use recovery primitive for database setup

* feat(cli): use recovery primitive for source setup

* docs: document setup connection recovery

* fix(cli): close database recovery gaps

* fix(cli): target failing project in gate hint and preserve missing-input

Address two review findings on the connection-recovery work:

- The connection-gate failure hint emitted `ktx connection test <id>` with no
  --project-dir, so a setup run started with `--project-dir ./analytics` pointed
  users at cwd/KTX_PROJECT_DIR instead of the project that just failed. Emit the
  resolved project dir, matching the contextBuildCommands convention.

- The non-interactive database configure path returned `cancelled`, which the
  recovery primitive collapses to `failed`. Sibling paths still report
  `missing-input` for absent flags, so incomplete-flag runs were
  indistinguishable from real connection failures. The database wrapper now
  tracks the configure missing-input signal and restores the `missing-input`
  step status; the shared primitive keeps its four outcomes.
2026-06-03 11:08:46 +00:00
..
app feat: README architecture diagrams + React Flow diagram studio (#245) 2026-06-01 12:06:27 +02:00
components feat: README architecture diagrams + React Flow diagram studio (#245) 2026-06-01 12:06:27 +02:00
content/docs feat(cli): consistent connection setup recovery and build-time gate (#257) 2026-06-03 11:08:46 +00:00
lib chore: revert repo references to Kaelio/ktx and remove rename-resilience (#252) 2026-06-02 00:14:43 +02:00
public feat: README architecture diagrams + React Flow diagram studio (#245) 2026-06-01 12:06:27 +02:00
tests docs: standardize ktx naming (#187) 2026-05-20 17:33:38 +02:00
.gitignore chore: configure docs site deployment 2026-05-11 17:57:55 +02:00
next-env.d.ts docs(quickstart): redesign demo-warehouse callout with sticker icons (#202) 2026-05-21 16:04:58 +02:00
next.config.mjs Route ktx stars dashboard 2026-05-28 13:00:49 +02:00
package.json feat: README architecture diagrams + React Flow diagram studio (#245) 2026-06-01 12:06:27 +02:00
postcss.config.mjs chore: move docs site workspace 2026-05-11 16:53:42 +02:00
proxy.ts docs: rewrite Semantic Querying concept with imperative-vs-declarative diagram (#156) 2026-05-19 23:41:29 +02:00
source.config.ts docs: revamp quickstart and tighten code-block styling (#135) 2026-05-18 19:22:19 +02:00
tsconfig.json feat: merge ingest and scan 2026-05-14 01:43:06 +02:00