Skip to content

Add post-deployment X publisher - #331

Merged
cdcavell merged 2 commits into
mainfrom
codex/issue-328
Sep 13, 2026
Merged

cdcavell merged 2 commits into
mainfrom
codex/issue-328

Conversation

@cdcavell

Copy link
Copy Markdown
Contributor

Closes #328.

Summary

  • add an optional post-deployment X publisher for newly deployed feed: true Learning documents
  • track a deployed-revision cursor and per-URL receipts on a dedicated state branch, with recent-post reconciliation for effectively-once delivery
  • protect OAuth 1.0a user-context credentials behind a GitHub Environment and provide a credential-free deterministic dry run
  • add offline selection, metadata, composition, HTTP failure, timeout, reconciliation, and state-persistence contracts
  • document setup, rotation, recovery, residual duplicate risk, and disable procedures

Validation

  • dotnet run --file tools/publish-x.cs -- --self-test
  • credential-free CLI integration against a generated sitemap and synthetic state
  • dotnet tool restore
  • dotnet tool run docfx docs/docfx.json --warningsAsErrors (110 pages, zero warnings/errors)
  • sitemap, IndexNow, RSS, and documentation metadata contracts and generation
  • dotnet restore Samples.slnx --locked-mode
  • dotnet build Samples.slnx --no-restore (zero warnings/errors)
  • dotnet test Samples.slnx --no-build (300 passed)
  • dotnet format Samples.slnx --no-restore --verify-no-changes
  • ./scripts/Test-ReleaseEvidence.ps1
  • centralized sample package-version check

No live X request was made and no X credentials were used during validation. Live publication remains inert until maintainers configure and approve the protected jackdaw-patio-x environment.

Comment thread .github/workflows/publish-x.yml Fixed
Comment thread .github/workflows/publish-x.yml Fixed
Comment thread .github/workflows/publish-x.yml Fixed
Comment thread .github/workflows/publish-x.yml Fixed
Comment thread .github/workflows/publish-x.yml Fixed
@cdcavell
cdcavell merged commit d502355 into main Sep 13, 2026
11 checks passed
@cdcavell
cdcavell deleted the codex/issue-328 branch September 13, 2026 13:20
cdcavell added a commit that referenced this pull request Sep 13, 2026
Follow-up to #328 and #331.

## Summary

- treat a completely unconfigured `jackdaw-patio-x` environment as an intentionally disabled optional integration
- skip all live publisher work with a clear notice when all five X settings are absent
- fail clearly and list missing setting names when the environment is only partially configured
- document the disabled and partial-configuration behavior

## Validation

- exercised the configuration gate with absent, partial, and complete setting sets
- `git diff --check`

The documentation deployment in run 34759545587 succeeded; this change prevents the optional, unconfigured X follow-up from making the overall workflow appear failed.
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.

Add post-deployment X publisher for newly published Learning content

2 participants