Skip to content

Bump github.com/spf13/viper from 1.18.2 to 1.21.0 in /cli - #1

Closed
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/go_modules/cli/github.com/spf13/viper-1.21.0
Closed

Bump github.com/spf13/viper from 1.18.2 to 1.21.0 in /cli#1
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/go_modules/cli/github.com/spf13/viper-1.21.0

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Mar 17, 2026

Copy link
Copy Markdown
Contributor

Bumps github.com/spf13/viper from 1.18.2 to 1.21.0.

Release notes

Sourced from github.com/spf13/viper's releases.

v1.21.0

What's Changed

Enhancements 🚀

Bug Fixes 🐛

Dependency Updates ⬆️

Other Changes

New Contributors

Full Changelog: spf13/viper@v1.20.0...v1.21.0

v1.20.1

What's Changed

Bug Fixes 🐛

Full Changelog: spf13/viper@v1.20.0...v1.20.1

v1.20.0

... (truncated)

Commits
  • 394040c ci: build on go 1.25
  • 812f548 chore: update dependencies
  • d5271ef ci: update stale workflow
  • dff303b feat: add a stale issue scheduled action
  • 1287976 build(deps): bump github.com/spf13/pflag from 1.0.7 to 1.0.10
  • 38932cd build(deps): bump github.com/go-viper/mapstructure/v2 in /remote
  • 6d014be build(deps): bump github.com/stretchr/testify from 1.10.0 to 1.11.1
  • b74c7ee build(deps): bump github.com/fsnotify/fsnotify from 1.8.0 to 1.9.0
  • acd05e1 fix: linting issues
  • ae5a8e2 ci: upgrade golangci-lint
  • Additional commits viewable in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

@dependabot @github

dependabot Bot commented on behalf of github Mar 17, 2026

Copy link
Copy Markdown
Contributor Author

Labels

The following labels could not be found: dependencies, go. Please create them before Dependabot can add them to a pull request.

Please fix the above issues or remove invalid values from dependabot.yml.

@dependabot
dependabot Bot force-pushed the dependabot/go_modules/cli/github.com/spf13/viper-1.21.0 branch from e0d9dba to f3c013e Compare March 19, 2026 15:11
Bumps [github.com/spf13/viper](https://github.com/spf13/viper) from 1.18.2 to 1.21.0.
- [Release notes](https://github.com/spf13/viper/releases)
- [Commits](spf13/viper@v1.18.2...v1.21.0)

---
updated-dependencies:
- dependency-name: github.com/spf13/viper
  dependency-version: 1.21.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot
dependabot Bot force-pushed the dependabot/go_modules/cli/github.com/spf13/viper-1.21.0 branch from f3c013e to 4db58f0 Compare March 22, 2026 14:44
@dependabot @github

dependabot Bot commented on behalf of github Mar 25, 2026

Copy link
Copy Markdown
Contributor Author

Looks like github.com/spf13/viper is no longer a dependency, so this is no longer needed.

@dependabot dependabot Bot closed this Mar 25, 2026
@dependabot
dependabot Bot deleted the dependabot/go_modules/cli/github.com/spf13/viper-1.21.0 branch March 25, 2026 17:28
dvcdsys added a commit that referenced this pull request May 11, 2026
Ship cix as an installable Claude Code plugin alongside the existing
manual skill, so users get one-command setup with bundled CLI, slash
commands, and behavioral hooks.

Plugin layout (plugins/cix/):
- skills/cix/SKILL.md — copy of the legacy skill with tightened
  description + when_to_use trigger phrases for reliable auto-trigger
- commands/{search,def,refs,init,status,summary}.md — 6 slash commands
  exposed as /cix:* with frontmatter + bash execution
- hooks/hooks.json — SessionStart + PreToolUse(Grep|Glob) registration
- scripts/cix-wrapper.sh — "use system cix or auto-install via the
  official install.sh" wrapper, exposed on PATH via bin/cix symlink
- scripts/session-start.sh — one-time reminder injected via
  hookSpecificOutput.additionalContext when project has .cixignore
- scripts/grep-nudge.sh — exponential-backoff nudge on Grep/Glob calls
  (fires on call #1, 2, 4, 8, 16, …; ~7 nudges per 100-Grep session)
- .claude-plugin/plugin.json — manifest, version 0.1.0

Marketplace (.claude-plugin/marketplace.json):
- Repo doubles as marketplace; one plugin entry pointing to plugins/cix/
- Compatible with `--sparse .claude-plugin plugins` so users skip the
  ~80 MB server/CLI/dashboard checkout

Docs:
- CLAUDE-CODE-PLUGIN.md (new) — full user-facing guide: prerequisites
  (server runs separately, CLI must be configured independently),
  install paths, verification, scope choice, uninstall, troubleshooting
- README.md — Claude Code section now exposes two integration paths:
  Option A "Plugin (recommended)" linking to CLAUDE-CODE-PLUGIN.md, and
  Option B "Skill (manual, legacy)" preserved verbatim for users who
  can't use the plugin system

Adoption design (4 layers, total context overhead ~8 KB per cix-heavy
session, ~400 B if cix isn't used):
1. Skill description (native, always-in-context)
2. SessionStart hook reminder (once per session)
3. PreToolUse(Grep|Glob) nudges (exponential backoff)
4. SKILL.md body lazy-loaded once via native skill mechanism

Validated with `claude plugin validate` for both plugin and marketplace
manifests; unit-tested hook scripts (backoff schedule, .cixignore
detection); installed locally via `claude plugin install` and verified
the wrapper resolves to system cix or bootstraps install.sh on demand.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
dvcdsys added a commit that referenced this pull request May 12, 2026
Ship cix as an installable Claude Code plugin alongside the existing
manual skill, so users get one-command setup with bundled CLI, slash
commands, and behavioral hooks.

Plugin layout (plugins/cix/):
- skills/cix/SKILL.md — copy of the legacy skill with tightened
  description + when_to_use trigger phrases for reliable auto-trigger
- commands/{search,def,refs,init,status,summary}.md — 6 slash commands
  exposed as /cix:* with frontmatter + bash execution
- hooks/hooks.json — SessionStart + PreToolUse(Grep|Glob) registration
- scripts/cix-wrapper.sh — "use system cix or auto-install via the
  official install.sh" wrapper, exposed on PATH via bin/cix symlink
- scripts/session-start.sh — one-time reminder injected via
  hookSpecificOutput.additionalContext when project has .cixignore
- scripts/grep-nudge.sh — exponential-backoff nudge on Grep/Glob calls
  (fires on call #1, 2, 4, 8, 16, …; ~7 nudges per 100-Grep session)
- .claude-plugin/plugin.json — manifest, version 0.1.0

Marketplace (.claude-plugin/marketplace.json):
- Repo doubles as marketplace; one plugin entry pointing to plugins/cix/
- Compatible with `--sparse .claude-plugin plugins` so users skip the
  ~80 MB server/CLI/dashboard checkout

Docs:
- CLAUDE-CODE-PLUGIN.md (new) — full user-facing guide: prerequisites
  (server runs separately, CLI must be configured independently),
  install paths, verification, scope choice, uninstall, troubleshooting
- README.md — Claude Code section now exposes two integration paths:
  Option A "Plugin (recommended)" linking to CLAUDE-CODE-PLUGIN.md, and
  Option B "Skill (manual, legacy)" preserved verbatim for users who
  can't use the plugin system

Adoption design (4 layers, total context overhead ~8 KB per cix-heavy
session, ~400 B if cix isn't used):
1. Skill description (native, always-in-context)
2. SessionStart hook reminder (once per session)
3. PreToolUse(Grep|Glob) nudges (exponential backoff)
4. SKILL.md body lazy-loaded once via native skill mechanism

Validated with `claude plugin validate` for both plugin and marketplace
manifests; unit-tested hook scripts (backoff schedule, .cixignore
detection); installed locally via `claude plugin install` and verified
the wrapper resolves to system cix or bootstraps install.sh on demand.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
dvcdsys added a commit that referenced this pull request May 12, 2026
…dule

Previous backoff streak retried indefinitely with delay capped at 30m,
which meant a permanent GitHub outage produced ~48 polls per day per
server. Now a streak gives up after MaxBackoffAttempts (default 5) and
the next attempt is anchored to streakStart + Interval — i.e. the
regular 6h grid resumes from the FIRST attempt of the failed streak,
not from "now".

Worst case progression with defaults (Interval=6h, Initial=1m, Max=30m):
  attempt #1 fails              T = 0
  attempt #2 fails  (wait ~1m)  T = +1m
  attempt #3 fails  (wait ~2m)  T = +3m
  attempt #4 fails  (wait ~4m)  T = +7m
  attempt #5 fails  (wait ~8m)  T = +15m  → exhaust
  attempt #6 fires             T = T0 + 6h  (anchor)

Successful poll mid-streak resets attempt counter and wait reverts to
Interval. The "anchor from first attempt" choice keeps the long-term
schedule on its grid even when a streak ate up to ~30m of it; an
absurdly long streak (rare; needs Interval < BackoffMax × N) collapses
the wait to 0 and fires immediately, which is the only sensible
behaviour when we already overshot.

  - MaxBackoffAttempts surfaced on Config (default 5).
  - TestRunStreakExhaustedAnchorsToInterval covers the exhaust path:
    3 fails → anchored sleep → #4 fires near streakStart+Interval.
  - Existing TestRunBacksOffOnFailureThenResets unchanged (recovers
    after 2 fails, well below the cap).

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
dvcdsys added a commit that referenced this pull request May 14, 2026
After the workspace_repos → git_repos + workspace_projects split
(763154a), the CLI client still targeted /api/v1/workspaces/{id}/repos
— deleted. Three commands (`cix ws list -v`, `cix ws <name> list`,
`cix ws <name>` describe) returned 404 or silently lost data.

- Replace WorkspaceRepo + ListWorkspaceRepos with WorkspaceProject +
  ListWorkspaceProjects against the new endpoint.
- Update three call sites in cli/cmd/workspace.go to use the new
  payload shape (project_path / status / path_hash instead of
  github_url / branch / id).
- New cli/cmd/workspace_test.go covers status badge formatting,
  empty-list rendering, and case-insensitive name resolution.

Resolves Fix #1 + #17 in docs/code-review-workspaces-link-local-projects.md.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
dvcdsys added a commit that referenced this pull request May 14, 2026
After the workspace_repos → git_repos + workspace_projects split
(763154a), the CLI client still targeted /api/v1/workspaces/{id}/repos
— deleted. Three commands (`cix ws list -v`, `cix ws <name> list`,
`cix ws <name>` describe) returned 404 or silently lost data.

- Replace WorkspaceRepo + ListWorkspaceRepos with WorkspaceProject +
  ListWorkspaceProjects against the new endpoint.
- Update three call sites in cli/cmd/workspace.go to use the new
  payload shape (project_path / status / path_hash instead of
  github_url / branch / id).
- New cli/cmd/workspace_test.go covers status badge formatting,
  empty-list rendering, and case-insensitive name resolution.

Resolves Fix #1 + #17 in docs/code-review-workspaces-link-local-projects.md.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
dvcdsys added a commit that referenced this pull request May 18, 2026
…jects

The workspace skill assumed every project_path was a local working tree.
With remote-only GitHub-attached projects (`github.com/<org>/<repo>@<branch>`)
the files are NOT on disk — only the cix server's index has them. Without
explicit guidance, sub-agents waste calls on `find /`, `Grep`, and `Read`
that silently return nothing.

Changes:
- `SKILL.md`: distinguishes "local working tree" vs "remote-only" identifier
  shapes; instructs the main agent to label the shape in the sub-agent prompt.
- `cix-workspace-investigator.md`: adds an upfront "Where your assigned
  project lives — read this FIRST" section, with `cix list | grep -F …` as
  the disambiguator. Every cix invocation must carry `-n <project_name>`;
  the scoping rule is now hard rule #1.
- Adds `model: inherit` to the investigator frontmatter so spawns run on
  the main session's model by default.

Both source files under `skills/` and their sync targets under `plugins/cix/`
update together (sync verified with `scripts/sync-skills.sh --check` style
byte-for-byte diff).

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
dvcdsys added a commit that referenced this pull request Jun 5, 2026
Address two footguns in the ${ENV} expansion of custom request headers,
both found in review of #59:

1. An unset (typo'd / unexported) variable used to expand to "" via
   os.ExpandEnv and be sent as an empty header — bouncing at the proxy
   with an opaque 403 and no hint. Now ExpandEnvHeaderValue treats a
   referenced-but-unset variable as a hard error that NAMES the variable
   (never the value). A set-but-empty var is still honored as intentional.
2. os.ExpandEnv mangled a literal `$` in a value (e.g. `pa$$word` →
   `pa`). The new expander supports `$$` as an escape for a literal `$`,
   so values containing `$` survive intact.

Also documents header-name canonicalization (CF- → Cf-, harmless since
HTTP header names are case-insensitive) in CLI_CONFIG.md.

Tests: ExpandEnvHeaderValue table (escapes, set/empty/unset) and a
getClient test proving an unset header env var fails loudly.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants