Commit graph

102 commits

Author SHA1 Message Date
Andrey Avtomonov
bb4a2d0c43 fix: show setup destination paths 2026-05-13 14:26:52 +02:00
Andrey Avtomonov
b75576279c
fix: store Metabase mappings in ktx.yaml (#61)
* fix: store Metabase mappings in ktx.yaml

* docs: note KTX has no public users

* refactor: drop setup progress compatibility
2026-05-13 13:55:21 +02:00
Andrey Avtomonov
c22248dabf
feat(context): add warehouse verification tools (#46)
* feat(context): add warehouse dialect dispatch

* feat(context): read warehouse scan catalog

* feat(context): add entity details verification tool

* feat(context): add ingest SQL verification tool

* feat(context): add raw warehouse discovery tool

* feat(context): expose warehouse verification tools to ingest

* docs(context): add ingest identifier verification protocol

* test(context): guard ingest identifier verification prompts

* chore(context): verify warehouse verification tools

* docs: add warehouse verification tools plan and spec

* fix(context): expose target warehouses to Notion ingest

* fix(context): update ingest prompts for warehouse verification tools

* fix(context): scope raw schema discovery to allowed connections

* fix(context): verify warehouse column display targets

* docs: add notion warehouse verification gap closure plan

* fix(context): include raw discovery connection names

* fix(context): expose warehouse targets for LookML and MetricFlow

* fix(context): pass connection config to ingest query executors

* fix(cli): enable read-only SQL probes for local ingest

* docs: add warehouse verification final v1 closure plan

* fix(context): align warehouse sql probe prompt shape

* docs: add warehouse verification prompt shape closure plan

* test(context): catch connectionless sql execution prompt examples

* fix(context): include connection name in sl capture sql example

* docs: add warehouse verification sql example closure plan

* fix(context): report structured entity detail misses

* docs: add warehouse verification structured target miss closure plan

* fix: report untracked squash merge conflicts

* feat: require ingest verification ledger

* fix: stabilize ingest wiki references
2026-05-13 13:43:23 +02:00
Andrey Avtomonov
bcb0d2f8f7
chore: add TypeScript dead-code checks (#60)
* chore: add TypeScript dead-code checks

* chore: trim stale Knip ignores

* Fix CI smoke and artifact checks
2026-05-13 13:33:28 +02:00
Andrey Avtomonov
721f1a998f
feat(cli)!: remove ktx agent command (#58)
* feat(cli)!: remove ktx agent command

* test(context): update PGlite boundary guardrail
2026-05-13 13:01:56 +02:00
Andrey Avtomonov
eaaabb361e
fix(cli): clean up dev runtime commands (#59) 2026-05-13 12:28:24 +02:00
Andrey Avtomonov
b9e0a746af
feat(cli): clean up dev command surface (#57)
* feat(cli): clean up dev command surface

* test: align CI expectations with CLI cleanup

* test(cli): update slow test command expectations
2026-05-13 12:00:08 +02:00
Luca Martial
59b0b12c5c Format embedding health progress helper 2026-05-12 21:53:23 -07:00
Luca Martial
c7061d8630 Use shared spinner for embedding health checks 2026-05-12 21:50:41 -07:00
Luca Martial
9175451b01 Merge remote-tracking branch 'origin/main' into select-tables-on-connect
# Conflicts:
#	packages/cli/src/setup-agents.test.ts
2026-05-12 21:33:12 -07:00
Luca Martial
9a8cb08192 Refine setup table selection flow 2026-05-12 21:31:11 -07:00
Luca Martial
2ede86263d Align agent setup completion test with state file 2026-05-12 18:23:04 -07:00
Luca Martial
8ceb3bc7b9 Confirm skipped optional setup selections 2026-05-12 18:23:03 -07:00
Luca Martial
6a5383a398 Prompt for enabled tables during setup 2026-05-12 18:22:08 -07:00
Luca Martial
262276dcd7 feat(cli): add intro step and project dir to demo tour
Show the target project directory in the demo banner and add an
introductory screen before the first setup card so users understand
where demo artifacts will land. Also simplify stdin key detection
by comparing raw byte values instead of string conversions.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-12 17:54:18 -07:00
Luca Martial
556563d654
Merge pull request #50 from Kaelio/setup-path-hint-cleanup
fix(cli): remove redundant path resolution hints from project setup
2026-05-12 20:18:46 -04:00
Luca Martial
52d1c903ae fix(cli): remove redundant path resolution hints from project setup
The placeholder text and confirmation step already communicate path
formats clearly; the standalone hints added visual noise.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-12 17:17:18 -07:00
Luca Martial
aacddb6720
Merge pull request #49 from Kaelio/hide-primary-source-counts
feat(cli): improve database setup UX
2026-05-12 20:16:30 -04:00
Luca Martial
a2096dd847 feat(cli): hide table counts from primary source connection test output
Table counts during connection testing are noisy and not actionable for
users — the scan step already reports detailed schema information.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-12 17:14:56 -07:00
Luca Martial
d567ffec48 feat(cli): offer connection URL paste first in database setup
Users most commonly paste a connection URL rather than entering fields
individually, so surface that option first in the connection method prompt.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-12 17:14:35 -07:00
Luca Martial
ea10dd9f39 merge: resolve conflict with main's box-drawing formatting
Keep the confirmProjectDir helper extraction from this branch while
adopting the │ box-drawing prefixes added on main.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-12 17:03:03 -07:00
Luca Martial
bdca6d0f04 fix(cli): replace duplicate directory prompt with direct path options
Extract confirmProjectDir helper and split the "Create a new project
folder" option into "New subfolder (./ktx-project)" and "Custom path"
so users reach their target directory with fewer prompts.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-12 16:59:30 -07:00
Luca Martial
fcdf5234c6
Merge pull request #45 from Kaelio/luca/klo-654-improve-indents
feat(cli): add box-drawing prefixes to setup messages
2026-05-12 19:58:55 -04:00
Luca Martial
07ac71ea7c feat(cli): add box-drawing prefixes to remaining setup stdout messages
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-12 16:58:09 -07:00
Luca Martial
509f9f5301 feat(cli): prefix text-input continuation lines with box-drawing characters
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-12 16:58:00 -07:00
Luca Martial
e13350c970
Merge pull request #47 from Kaelio/luca-martial/save-setup-in-dot-ktx
Save setup completion state in .ktx/setup/state.json
2026-05-12 19:27:26 -04:00
Luca Martial
dbfee6b453 feat(cli): migrate all setup steps to use local state for completion tracking
Update every setup step to write completed_steps to .ktx/setup/state.json
instead of ktx.yaml, stripping legacy entries from config on write.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-12 16:26:23 -07:00
Andrey Avtomonov
85fc408054
chore(deps): refresh workspace dependencies (#43)
* chore(deps): refresh workspace dependencies

* Fix pnpm artifact smoke build approvals
2026-05-13 01:15:35 +02:00
Luca Martial
f091f948ee feat(cli): add box-drawing prefixes to setup informational messages
Align stdout informational messages in setup flows with the existing
Clack prompt visual style by prefixing them with │.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-12 15:46:56 -07:00
Andrey Avtomonov
17a2fee69a
fix(cli): remove ktx setup subcommands (#42)
* fix(cli): remove ktx setup subcommands

* test(scripts): update setup-dev status expectation
2026-05-13 00:38:26 +02:00
Andrey Avtomonov
5e057f97e3 fix(cli): preserve tree continuation guides 2026-05-13 00:35:07 +02:00
Andrey Avtomonov
39f0320c2b feat(cli): render command docs as tree 2026-05-13 00:33:24 +02:00
Andrey Avtomonov
e8a7018c55 fix(cli): match command tree description separator 2026-05-13 00:27:39 +02:00
Andrey Avtomonov
d4ce275a3c chore(cli): add docs:commands pnpm script 2026-05-13 00:26:06 +02:00
Andrey Avtomonov
fda3d4b7ec feat(cli): add print-command-tree build-time script 2026-05-13 00:25:35 +02:00
Andrey Avtomonov
f205bec1f6 feat(cli): add walkCommandTree and formatCommandTree helpers 2026-05-13 00:24:51 +02:00
Andrey Avtomonov
cdcfd21e95 refactor(cli): extract buildKtxProgram for reuse outside runCommanderKtxCli 2026-05-13 00:23:58 +02:00
Andrey Avtomonov
e15a4ebaec feat(cli): clean up command surface 2026-05-12 23:51:46 +02:00
Luca Martial
60457e9407
Improve schema setup and Notion ingest UX (#14)
* Improve schema setup and Notion ingest UX

* Handle Postgres network scan failures

* WIP: save local changes before main merge

* Refine setup prompt choices

* Tighten ingest reconciliation guidance

* Commit setup config updates

* Canonicalize unmapped fallback details

* Count reconciliation actions in reports

* Harden semantic layer source validation

* Return wiki content after edits

* Validate SL sources against manifests

* Validate wiki refs before writes

* Simplify CLI next steps

* Clarify agent setup summary

* Surface dbt target SL sources

* Recover SL write fallbacks

* Preserve failed context build metadata

* Track raw paths for ingest actions

* test(cli): update seeded demo expectations

* fix(ingest): scope fallback recovery checks

* fix(sl): tighten source validation guards

* fix(wiki): ignore empty embedding vectors

* Improve Notion ingest UX

* Enforce flat wiki keys

* test(context): update wiki key assertion

---------

Co-authored-by: Andrey Avtomonov <andreybavt@gmail.com>
2026-05-12 22:56:58 +02:00
Andrey Avtomonov
6a1fded5ce fix(ci): align smoke stderr expectations 2026-05-12 15:31:41 +02:00
Andrey Avtomonov
009558be7e
Merge branch 'main' into cli-print-project-dir 2026-05-12 15:22:38 +02:00
Andrey Avtomonov
dc0e33ddda fix(cli): route plain ingest progress to stderr 2026-05-12 15:15:28 +02:00
Andrey Avtomonov
3ec8482dab
Merge branch 'main' into cli-print-project-dir 2026-05-12 15:07:22 +02:00
Andrey Avtomonov
0ff14e1953 feat(cli): print resolved project dir 2026-05-12 15:04:01 +02:00
Andrey Avtomonov
80c2930ad8 fix(cli): replace KLO logo with KTX 2026-05-12 14:56:09 +02:00
Andrey Avtomonov
7a315d580f Merge remote-tracking branch 'origin/main' into andreybavt/execute-context7-plan
# Conflicts:
#	packages/cli/src/ingest.test.ts
#	packages/cli/src/ingest.ts
2026-05-12 14:37:51 +02:00
Andrey Avtomonov
f422facf10
fix(cli): clarify historic SQL ingest progress (#36) 2026-05-12 14:21:57 +02:00
Andrey Avtomonov
e1129dd6a9
fix(cli): scale nested scan progress phases (#35) 2026-05-12 14:07:02 +02:00
Andrey Avtomonov
15f433930e
Merge branch 'main' into andreybavt/execute-context7-plan 2026-05-12 13:04:16 +02:00
Andrey Avtomonov
da108e556c
Merge pull request #22 from Kaelio/andreybavt/fix-metabase-readiness
fix(cli): report metabase ingest readiness
2026-05-12 13:01:19 +02:00