Skip to content

SPEC-007 PR 4.3: follow redirects per hop - #722

Merged
cursor[bot] merged 13 commits into
masterfrom
cursor/spec-007-pr4-4.3-redirects-69b9
Oct 8, 2026
Merged

cursor[bot] merged 13 commits into
masterfrom
cursor/spec-007-pr4-4.3-redirects-69b9

Conversation

@IanFrelinger

@IanFrelinger IanFrelinger commented Oct 6, 2026 •

Copy link
Copy Markdown
Owner

[coordinated-integration] The API host and the commercial fleet host set AllowAutoRedirect false on the existing ashlar-sns-signing primary. Head b65b1d38 contains origin/master 054b08a8.

[skip-prod-style] Those host edits only turn AllowAutoRedirect off on the existing SNS primary. Redirect behaviour is pinned by the certification twins in cert-gate. A virtual-host ProdStyle run does not follow redirect hops, so it would not see this change.

Summary

Known primaries no longer follow redirects themselves. An internal follower applies the primary's previous settings, one hop at a time. EgressHttp follows only a same-host redirect (P2). Factory clients follow a cross-host redirect and re-evaluate each hop (P1). Still report-only.

Testing

Red-first on 1b29e311: Failed 11, Passed 12. Twins 60/60 on net8.0 and net10.0. Cert-gate 2786/2786 on the pre-#720 tree. Seven redirect mutations KILLED.

Testing strategy (blast radius)

See Testing strategy pivot v1.

Change type Minimum proof
Infrastructure adapter certification twins plus cert-gate
Hosting / API SNS configure-existing compiles on both hosts
ProdStyle skipped; see [skip-prod-style] above
Open in Web Open in Cursor 

cursoragent and others added 10 commits October 6, 2026 21:34
SPEC-007 PR 4.3 twins: same-host re-evaluation, P2 cross-host refusal to
follow, P1 factory follow, rewritten URI, Clear(), unknown primary, and
a loopback differential against SocketsHttpHandler.
SocketsHttpHandler and HttpClientHandler take different validation
delegate shapes. The twin now supplies each one.
…rect off

Known primaries Ashlar builds or binds no longer follow on their own. An internal
follower sits above the primary: EgressHttp clients stay on the same host, factory
clients follow across hosts and re-evaluate each hop. Report-only; Refused stays false.
The builder counts the new certification file: 773 fact files and 4892 declared facts.
SYSLIB0057 is an error on net10.0. net8.0 still uses the X509Certificate2 constructor.
The decision count alone also matches a post-send check, so the twin records
evaluation order. That is what the skip-re-evaluation mutation has to fail.
…-4.3-redirects-69b9

# Conflicts:
#	CHANGELOG.md
#	ci/cert-gate-assertions.md
#	docs/EgressInventory.md
#	docs/knowledge-graph.json
#	docs/knowledge-graph.md
#	src/Ashlar.Tests.Infrastructure/Tests/Certification/EgressGuardConventionTests.cs
Co-authored-by: IanFrelinger <IanFrelinger@users.noreply.github.com>
@cursor
cursor Bot marked this pull request as ready for review October 7, 2026 22:57
cursoragent and others added 3 commits October 7, 2026 22:57
Co-authored-by: IanFrelinger <IanFrelinger@users.noreply.github.com>
Co-authored-by: IanFrelinger <IanFrelinger@users.noreply.github.com>
Co-authored-by: IanFrelinger <IanFrelinger@users.noreply.github.com>
@cursor
cursor Bot merged commit 904cf90 into master Oct 8, 2026
63 checks passed
@cursor
cursor Bot deleted the cursor/spec-007-pr4-4.3-redirects-69b9 branch October 8, 2026 01:28
cursor Bot pushed a commit that referenced this pull request Oct 8, 2026
Co-authored-by: IanFrelinger <IanFrelinger@users.noreply.github.com>
cursor Bot pushed a commit that referenced this pull request Oct 8, 2026
Resolve cert-gate and egress convention conflicts by keeping PR 4.5
producer wiring and incorporating PR 4.3 redirect inventory/floors.
Regenerate knowledge-graph.

Co-authored-by: IanFrelinger <IanFrelinger@users.noreply.github.com>
IanFrelinger pushed a commit that referenced this pull request Oct 8, 2026
095ba46 (six lenses + synthesis), filed with the paused phase C handoff
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.

2 participants