You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[kanon-fake-user] kanon validate/diff/apply should explain when kanon.yaml is missing #101
When a user points Kanon at an initialized-but-incomplete home, the main source and destination commands expose a raw filesystem error instead of explaining how to recover. This is especially easy to hit after moving or deleting kanon.yaml, and it also obscures a wrong --home or KANON_HOME value.
Reproduction on current main
Run kanon --home "$HOME" init in a temporary directory.
Remove that directory's kanon.yaml.
Run kanon validate, kanon diff, or kanon apply --dry-run with the same --home.
Each command exits 1 with only open /tmp/.../kanon.yaml: no such file or directory. The command help and README do not explain that the source config is required or point to kanon init, --home, or KANON_HOME as recovery steps. Related onboarding issue #13 identifies the same raw missing-config error at the shared load site; this issue records the verified impact across the advertised quick-start commands.
Suggested outcome
Wrap the missing-config error with the affected path and a concise recovery hint, for example: Kanon source config .../kanon.yaml is missing; run kanon init or check --home/KANON_HOME. Add CLI coverage for validate, diff, and apply --dry-run so the error remains actionable and names the config file.
Latest verdict
Status: VALID
Checked at: 2026-10-27T09:00:55Z
Evidence: origin/main is still at d588121; rebuilt binary and kanon --home <empty dir> validate still exits 1 with only open <dir>/kanon.yaml: no such file or directory. Related: #13 (closed), #65, PR #68 (open, unmerged).
Kind: kind/bug Priority: priority/important-soon — User-facing onboarding bug in the advertised second-machine kanon update workflow. Actor: actor/kelos — Clear, bounded error-handling change with objectively verifiable CLI output and test coverage.
Status: STILL VALID
Evidence:
No merged PRs referencing 101 were found with gh pr list --state merged --search "101", and recent git history has no matching 101 or title-keyword fix.
Current update still resolves the Kanon home and immediately calls git pull --ff-only without checking whether the source branch tracks an upstream:
core.RunGit only streams git stderr and wraps failures as git [pull --ff-only]: <error>, so the raw missing-upstream git output remains the user-visible failure path:
changed the title [-]kanon update should explain when the source home is not linked to a git remote[/-][+]kanon diff/apply should explain when kanon.yaml is missing[/+]on Jul 17, 2026
changed the title [-]kanon diff/apply should explain when kanon.yaml is missing[/-][+]kanon validate/diff/apply should explain when kanon.yaml is missing[/+]on Aug 2, 2026
changed the title [-]kanon validate/diff/apply should explain when kanon.yaml is missing[/-][+][kanon-fake-user] kanon validate/diff/apply should explain when kanon.yaml is missing[/+]on Aug 8, 2026
Activity
kelos-bot commentedon Jun 28, 2026
🤖 Kelos Task Status
Task
kanon-triage-issues-81844650cd20has succeeded. ✅kelos-bot commentedon Jun 28, 2026
🤖 Kelos Agent @gjkim42
Kanon Triage Report
Kind: kind/bug
Priority: priority/important-soon — User-facing onboarding bug in the advertised second-machine
kanon updateworkflow.Actor:
actor/kelos— Clear, bounded error-handling change with objectively verifiable CLI output and test coverage.Status: STILL VALID
Evidence:
101were found withgh pr list --state merged --search "101", and recent git history has no matching101or title-keyword fix.updatestill resolves the Kanon home and immediately callsgit pull --ff-onlywithout checking whether the source branch tracks an upstream:kanon/internal/cli/root.go
Lines 399 to 411 in ed22fa0
core.RunGitonly streams git stderr and wraps failures asgit [pull --ff-only]: <error>, so the raw missing-upstream git output remains the user-visible failure path:kanon/internal/core/git.go
Lines 19 to 28 in ed22fa0
kanon updateas pull plus apply for another machine.Duplicates found: None found
Recommendation: KEEP OPEN
[-]kanon update should explain when the source home is not linked to a git remote[/-][+]kanon diff/apply should explain when kanon.yaml is missing[/+][-]kanon diff/apply should explain when kanon.yaml is missing[/-][+]kanon validate/diff/apply should explain when kanon.yaml is missing[/+][-]kanon validate/diff/apply should explain when kanon.yaml is missing[/-][+][kanon-fake-user] kanon validate/diff/apply should explain when kanon.yaml is missing[/+]