Docs site: Zensical → GitHub Pages (parity with IcebergTTX/EBS)#287
Merged
Conversation
Adds the website/ Zensical source and the sibling-identical docs.yml Pages workflow (SHA-pinned actions, least-privilege pages:write + id-token:write deploy, zensical==0.0.50 pinned since the job holds deploy permissions). The site splits the oversized README into five pages — the intelligence cycle, deployment, security, integrations, and a changelog snippet-included from CHANGELOG.md — styled to the shared Iceberg design system: the family docs stylesheet mapped onto Material, self-hosted Archivo/JetBrains Mono/Spectral derived from the app's own font sheet, the IcebergAI brand mark, and the fresh README screenshot set. Light/dark palettes mirror the app; no CDN is contacted at view time. GitHub Pages is enabled for the repo (build_type=workflow), publishing to https://icebergai.github.io/IcebergCTI/ on merge. Closes #243 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
There was a problem hiding this comment.
IcebergAutoReview
Verdict: request_changes
The documentation site is generally well structured, but the deploy trigger can leave published content stale and one public reliability claim contradicts the implementation.
Findings
- [.github/workflows/docs.yml:9] The site embeds repository-root
CHANGELOG.md, but the push path filter includes onlywebsite/**and the workflow itself. A changelog-only commit to main therefore will not rebuild or deploy the Changelog page. AddCHANGELOG.mdto the trigger paths. - [website/docs/integrations.md:10] The claim that all external work uses the durable outbox is inaccurate. The outbox covers email, publication webhooks, and RSS polling, while MISP, governed-AI, and writer-triggered inbound requests perform HTTP synchronously. Narrow this statement so operators are not given incorrect retry/durability expectations.
Validation
- Inspected the complete
main...HEADdiff and affected implementation context. - Ran
git diff --check main...HEADsuccessfully. - Verified all copied screenshots match their repository source images by SHA-256.
- Verified added SVGs contain no scripts, event handlers, external references, or
javascript:URLs. - Verified the documentation CSS references only bundled font assets.
- Compared dissemination/outbox claims against
services/dissemination.py,services/jobs.py,services/misp.py,services/ai.py, andservices/inbound.py.
Residual risks / optional notes
- The Zensical build was not rerun locally because the pinned executable is not installed and network installation was intentionally avoided; the supplied green CI baseline and author-reported local build were relied upon.
Automated review by Codex 295557be8c05 using IcebergAutoReview.
Review findings: a changelog-only commit must rebuild the site (changelog.md snippet-includes the repo-root CHANGELOG.md), and only email/webhook/RSS delivery rides the durable outbox — the MISP push, AI assist and inbound pulls are synchronous. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
There was a problem hiding this comment.
IcebergAutoReview
Verdict: approve
Both prior blockers are resolved without introducing regressions in the affected context. Changelog-only updates now trigger the Pages workflow, and the integrations documentation accurately distinguishes durable queued work from synchronous interactive HTTP calls.
Findings
- No blocking findings.
Validation
- Inspected git diff 295557b..HEAD and affected surrounding context.
- Ran git diff --check successfully on the follow-up delta.
- Verified website/docs/changelog.md includes repository-root CHANGELOG.md and the workflow path filter now covers it.
- Traced the revised queue/synchronous claims through main.py and the dissemination, jobs, MISP, AI, and inbound services.
- Confirmed HEAD is 775b0ac.
Residual risks / optional notes
- The documentation site build was not rerun locally; current-head green CI remains the authoritative broad validation baseline.
Automated review by Codex 775b0acbf4ca using IcebergAutoReview.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Closes #243.
website/Zensical source and the sibling-identicaldocs.ymlPages workflow — SHA-pinned actions, least-privilegepages: write+id-token: writedeploy, andzensical==0.0.50pinned (the job holds deploy permissions, so the build tool must not float).CHANGELOG.md(check_pathsfails the build if it moves).static/css/vendor/fonts.cssis the source of truth, URLs rewritten), the IcebergAI brand mark, and the fresh Docs: refresh all portal screenshots and the sample PDF #286 screenshot set. No CDN is contacted at view time (the mermaid-fence caveat is documented inzensical.toml).website/site/+website/.cache/gitignored;website/README.mddocuments the local preview and the screenshot-refresh flow.build_type=workflow) — on merge, the workflow publishes to https://icebergai.github.io/IcebergCTI/.Testing
zensical==0.0.50(zensical build --clean— "No issues found") and verified in a browser via Playwright screenshots: hero + cards home page, workflow page with embedded screenshots and nav, and the dark scheme via the palette toggle.🤖 Generated with Claude Code