basecamp / basecamp/basecamp-sdk
Event feed: Layer-1 seam-adapter conformance is assigned but not yet built (302 redirect-refusal test)
- Dominant language
- Go
- Stars
- 49
- Forks
- 12
- Avg merge
- 20h 47m
- Merged PRs (30d)
- 89
Description
The tier-2 event-feed conformance family assigns below-the-poll-seam obligations to Layer-1 adapter conformance (the README's row-15 note, schema.json's fixture-30 respond variant, and SPEC §23's zero-egress paragraph all name it), but that layer does not exist yet. Until it lands, prose in those places pointed at "G1b" — a connector-program milestone label defined nowhere in this repository, so the obligation was undiscoverable and unguarded.
The concrete first obligation: the adapter's own 302 test — a real generated `PollEvents` call meeting a real redirect against an adapter with automatic redirect-following disabled — proving **zero requests to the refused URL** with a sentinel that can actually observe one. Tier 2 structurally cannot see this (its poll lane is a seam; the redirect's refusal is exercised there via the shipped per-hop predicate, but "the adapter never follows" is a wire fact): until this test exists, the `follow-cross-origin-redirect` mutation is not killed at any tier.
The five prose sites that reference this obligation cite this issue and are enforced by the tracking-issue registry (`spec/tracking-issues.yml`), so closing this issue without landing the test will fail CI until the sentences are rewritten — which is the designed behavior.
Contributor guide
Research direction
Read the README row-15 note, schema.json fixture-30 respond variant, SPEC §23, and the registry in spec/tracking-issues.yml to understand the obligation and CI tracking. Then locate the Layer-1 adapter entry point for a generated PollEvents call and its redirect handling. Done means a real 302 refusal test observes zero requests to the refused URL and the tracking references pass CI.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- api, testing
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100