basecamp / basecamp/surfguard

RubyGems still serves 0.1.3: release the staged 0.2.0 so consumers get the policy surface and the corpus

Open
#24 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Ruby
Stars
30
Forks
1
Avg merge
13h 41m
Merged PRs (30d)
18

Description

The repo sits at 0.2.0 staged but untagged; RubyGems still serves 0.1.3, which predates the `policy:` argument, the IPv6-allocated allowlist, and the shared conformance corpus (157 cases across 7 files, schema v1). Everything a consumer needs to enforce the two-policy contract is on the default branch and released nowhere.

The concrete consumer waiting on this: basecamp-sdk's Ruby OAuth enforcement (SPEC §16 requirements 5–6, tracked in its per-SDK issue) needs `Surfguard.resolve_public_ips` + the README's tested `Net::HTTP` `ipaddr=` pinning recipe against the 0.2.0 policy surface. That work is blocked at step 0 until the gem ships.

Asks:
- Tag and release the staged 0.2.0 gem to RubyGems.
- Confirm the README pinning recipe (`test/readme_recipe_test.rb`) is part of the released surface — the SDK will cite it as the enforcement pattern.

The Go module (`go/v0.1.0`) is already released and in use by basecamp-sdk; no action needed there.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reviewing the staged 0.2.0 release on the default branch and the RubyGems release process. Run test/readme_recipe_test.rb to confirm the README pinning recipe is covered, then verify that the published 0.2.0 gem includes the tested policy surface and shared corpus.

Written by the indexing model from the issue text.

Assessment

Tech stack
ruby
Domain
release
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Clearly specified
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.