fix: improve DCR consistency and safety#82
Merged
telegrapher merged 33 commits intomainfrom Mar 2, 2026
Merged
Conversation
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
The *.json gitignore rule was preventing these from being tracked. Generated from the JSON() function output to match TestJSON expectations. Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Replace nonexistent login command with authorize, fix IMS_ suffix to prefix, remove ghost completion section, add missing commands (pkce, client, decode, refresh, admin, dcr), fix grammar and heading consistency. Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Add CI, Codecov, pkg.go.dev, and license badges. Replace verbose intro with tagline. Add quick start examples, full commands table, global flags table, and configuration summary. Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
…uting guide Add Development section with build/test/vet commands. Document all CI pipelines (ci, pr-title, release, codeql) with triggers. Document repo settings (squash merge, auto-delete). Fix gorelease typo and --rm-dist flag. Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
CI workflow runs test (with coverage upload to Codecov), lint (go vet + golangci-lint v2), and build jobs on every push and PR to main. PR title workflow enforces conventional commit format on PR titles to support squash-merge changelog generation. Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Remove boilerplate comments and add meaningful ones explaining each step. Switch from hardcoded go-version to go-version-file for automatic sync. Add conventional commit changelog grouping (Features, Bug Fixes, Other) and exclude ci/chore prefixes. Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Explicitly discard error returns from fmt.Fprintln in HTTP handlers (connection already dead if write fails), listener.Close and res.Body.Close in deferred calls (nothing actionable on failure). Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
PKCE is mandatory for public clients but optional (recommended) for private clients in IMS. The previous docs implied PKCE was only for public clients. Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Codecov requires admin access to install the GitHub App. Replace with a go tool cover summary printed to the CI log. Remove the Codecov badge from README. Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
0ced343 to
7013cdf
Compare
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
francescomari
approved these changes
Mar 2, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
json.Marshalfor proper escaping of client names and redirect URIs.httpClient()instead ofhttp.DefaultClientso proxy, TLS, and timeout settings apply to DCR requests.Register()return type fromRegisterResponse{StatusCode, Body}to(string, error), matching all other commands in the package.validateURL()to DCR config validation.%v→%w) across DCR files for proper error chain propagation.ims/register.go,ims/client.go, andcmd/dcr.go.