Skip to content

docs(lane1): report outbound sender-trust item — DKIM half already fixed in PR #141, postal address blocked on operator fact - #173

Merged
nish3451 merged 3 commits into
mainfrom
docs/lane1-outbound-sender-trust-20260815
Aug 15, 2026
Merged

docs(lane1): report outbound sender-trust item — DKIM half already fixed in PR #141, postal address blocked on operator fact#173
nish3451 merged 3 commits into
mainfrom
docs/lane1-outbound-sender-trust-20260815

Conversation

@nish3451

Copy link
Copy Markdown
Collaborator

Lane 1 report — tinystudio-in

Item: Outbound email stays blocked on sender trust: empty physical postal address and empty dkimSel

Outcome: No product code change possible or needed. The DKIM half is already fixed on main; the postal-address half is a NEEDS-NISH operator fact.

Verification

DKIM — already fixed (PR #141, fcf5ff3, merged 2026-08-14)

  • agency-config.json carries dkimSelector: "resend"; the earlier Cloudflare selector (cf2024-1, PR fix(sales): diagnose inbound-only mail path behind blocked sender trust #102) was superseded once Resend became the outbound provider.
  • Live DNS (2026-08-15): resend._domainkey.tinystudio.iop= RSA key resolves; _dmarc.tinystudio.iov=DMARC1; tinystudio.iov=spf1 include:_spf.mx.cloudflare.net.
  • npm run send:setup:advisory: SPF found, DMARC found, DKIM found. Only one warning remains.

Postal address — genuinely blocked (NEEDS-NISH)

  • senderPhysicalAddress is empty; npm run send:setup (strict) exits 1 with exactly the missing physical postal address warning.
  • No business address is published anywhere: all public/ pages (home, contact, support, privacy, terms, Promptly/Drishti sub-sites), docs/, growth-brain/, contracts/, scripts/ were searched. CAN-SPAM requires a real published business location; the configure script already rejects placeholders.
  • This cannot be invented by code — it is an operator fact, and the strictness test deliberately keeps send:setup red until real values exist.

Regression status

  • test-operator-check-strictness.mjs and test-active-operator-surfaces.mjs (sender-guide byte-identical gate): pass.
  • Full npm test: only pre-existing unrelated failure is check-retention-automation.mjs (canonical workspace at ~/workspaces/products/tinystudio-in stale behind remote main).

What unblocks the remaining half

  1. Nish saves a real address: npm run send:configure -- --physical-address="<real>" --dkim-selector=resend
  2. Re-run npm run send:setup → should pass.
  3. (Separate, canonical) live deploys still blocked on missing CLOUDFLARE_API_TOKEN secret.

Files

  • .lane/reports/docs-lane1-outbound-sender-trust-20260815.md (report only; no product files changed)

…xed in PR #141, postal address blocked on operator fact (#173)

Lane 1 verification report: dkimSelector=resend is already set on main
(PR #141, fcf5ff3) and the live resend._domainkey.tinystudio.io record
resolves; SPF, DMARC, and DKIM all verify. The only remaining sender
warning is the empty senderPhysicalAddress, which requires a real
published business address (CAN-SPAM) that no code change can supply.
No product files changed.

Co-authored-by: CommandCodeBot <noreply@commandcode.ai>
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Your trial has ended. Reactivate Greptile to resume code reviews.

@coderabbitai

coderabbitai Bot commented Aug 15, 2026

Copy link
Copy Markdown

Warning

Review limit reached

@nish3451, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 42 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Free

Run ID: 582dd64a-6865-42f4-9e30-40e52a64f438

📥 Commits

Reviewing files that changed from the base of the PR and between e66fc6d and eae677b.

📒 Files selected for processing (1)
  • .lane/reports/docs-lane1-outbound-sender-trust-20260815.md

Note

🎁 Summarized by CodeRabbit Free

Your organization is on the Free plan. CodeRabbit will generate a high-level summary and a walkthrough for each pull request. For a comprehensive line-by-line review, please upgrade your subscription to CodeRabbit Pro by visiting https://app.coderabbit.ai/login.

Comment @coderabbitai help to get the list of available commands.

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Your trial has ended. Reactivate Greptile to resume code reviews.

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Your trial has ended. Reactivate Greptile to resume code reviews.

@nish3451
nish3451 merged commit 00bae12 into main Aug 15, 2026
2 checks passed
nish3451 added a commit that referenced this pull request Aug 15, 2026
…iew ladder, not stuck CI (#175)

Lane 1 verification report: the tinystudio-in merge gate is not frozen and
not defective. auto-ship merged 5 tinystudio-in PRs today (all docs/tests-only
safe changes: #172, #170, #174, #168, #173), and the 12 CLEAN PRs are all
code PRs that by design ride the flagship review ladder before any merge.
That ladder is currently queued behind a live flagship repair
(fleet-repair-3b6421dc29), so code PRs are SKIPPED/WAITING each cycle. Of 30
open PRs only 12 are CLEAN; 10 are BLOCKED (CI queued) and 8 DIRTY. No code
change in this repo can unblock it. No product files changed.

Co-authored-by: CommandCodeBot <noreply@commandcode.ai>
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.

1 participant