Skip to content

chore(static-site): sync certified-assets v0.4.0 - #402

Merged
marc0olo merged 1 commit into
mainfrom
chore/sync-upstream-certified-assets-v0.4.0
Sep 23, 2026
Merged

marc0olo merged 1 commit into
mainfrom
chore/sync-upstream-certified-assets-v0.4.0

Conversation

@marc0olo

Copy link
Copy Markdown
Member

Syncs static-site to certified-assets v0.4.0. Closes #396.

Most upstream doc changes are editorial (frontmatter, em-dashes). Substantive ones applied:

  • Recipe v0.3.3 → v0.4.0 in every skill that pins it (static-site, icp-cli, service-discoverability, deploy-to-cloud-engine). Pitfall 11 now states v0.3.x → v0.4.0 is breaking (pre-1.0 minor) and needs a reinstall.
  • raw hosts skip verification (new Pitfall 14): <id>.raw.icp.net forwards responses unverified and the canister cannot refuse it; with access protection, a raw link exposes testers to a spoofable login page. Link <id>.icp.net only.
  • ic_env arrives as two Set-Cookie headers (Lax + None; Partitioned).
  • New "Verifying Deployed Contents" section: build state-hash from the canister's release tag with --locked, compare with state_hash '()' -n ic -o hex; zero hash = unfinished sync; ic_env and access protection are outside the hash.

Verified end-to-end on a local v0.4.0 deploy: version/state_hash calls and the dual ic_env cookie behave as documented, and state-hash built from the v0.4.0 tag reproduces the canister's hash exactly.

Eval results (2 new cases + re-run of case 6, whose pitfall was edited)
# Case With skill Without skill
9 Adversarial: do not share raw.icp.net links (new) 4/4 2/4
10 Third-party verification of a static-site state hash (new) 5/5 2/5
6 Adversarial: recipe version bump does not reinstall itself 4/4 1/4

Baseline failures:

  • 9: recommends the legacy icp0.io domain instead of icp.net; never mentions the unverified login page / token-harvesting risk.
  • 10: hashes files with sha256sum and dfx canister info instead of state-hash + state_hash.
  • 6: blames a stale cache, recommends icp deploy --mode reinstall, no breaking-vs-patch distinction.

Bump @dfinity/static-site to v0.4.0 across skills; document raw hosts
skipping verification, the dual ic_env Set-Cookie, the v0.3.x -> v0.4.0
reinstall, and third-party state-hash verification.
@github-actions

Copy link
Copy Markdown

Skill Validation Report

Project Checks


✓ Project checks passed for 4 skills (0 warnings)

Copilot AI 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.

Copilot review overview

🟡 Changes recommended

The runnable root icp.yaml still pins @dfinity/static-site@v0.3.3, leaving the sync incomplete.

Get a fresh assessment by requesting another Copilot review.

Review effort: Lite
Findings: 1 Medium severity

Open (1)
What changed in this PR

Syncs static-site documentation and evaluations with certified-assets v0.4.0.

Changes:

  • Updates recipe pins and migration guidance.
  • Adds raw-host security, cookie, and state-hash verification guidance.
  • Adds regression evaluations and upstream metadata.
File Summary
skills/​static-site/​SKILL.md Updates v0.4.0 guidance; root icp.yaml still needs its recipe pin updated, and one wording nit remains.
skills/​static-site/​references/​migrating-from-asset-canister.md Updates the migration recipe.
skills/​service-discoverability/​SKILL.md Updates the static-site recipe example.
skills/​icp-cli/​SKILL.md Updates recipe references and examples.
skills/​icp-cli/​references/​dfx-migration.md Updates migration mapping.
skills/​deploy-to-cloud-engine/​SKILL.md Updates the deployment example.
evaluations/​static-site.json Adds raw URL and state-hash evaluation cases.
.claude/​upstream.md Records the v0.4.0 upstream sync.

💡 Configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread skills/static-site/SKILL.md
@marc0olo
marc0olo marked this pull request as ready for review September 23, 2026 08:32
@marc0olo
marc0olo requested review from a team and JoshDFN as code owners September 23, 2026 08:32
@marc0olo
marc0olo enabled auto-merge (squash) September 23, 2026 08:33
@marc0olo
marc0olo merged commit 759ad61 into main Sep 23, 2026
7 checks passed
@marc0olo
marc0olo deleted the chore/sync-upstream-certified-assets-v0.4.0 branch September 23, 2026 08:39
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.

upstream sync available — dfinity/certified-assets v0.3.3 → v0.4.0

3 participants