feat: add shipped-docs placeholder and TODO gate (#157) - #174
truthixify merged 6 commits into
Conversation
Adds a CI check that scans enforced MDX pages and docs.json for placeholder contract IDs, pending-deployment prose, and TODO markers before they reach production readers. What is checked - Enforced navigation groups: Quickstarts, Reference, Operations, API Reference (resolved from docs.json at runtime) - Patterns: CPLACEHOLDER*, PLACEHOLDER, pending deployment, pending mainnet, TODO, FIXME, coming soon - docs.json itself (guards against contract IDs leaking into config) Allowlist - scripts/placeholder-allowlist.json — JSON array of page paths (no extension) where placeholders are intentional; currently contains only "roadmap" Output on failure - file:line:column [category] full matching line - Summary counts (scanned, skipped, violations) Live violations found (24) — CI will fail until resolved: - guides/stellar-mainnet-deployment.mdx — all CPLACEHOLDER_*_MAINNET and CPLACEHOLDER_*_TESTNET IDs in the operators guide - reference/stellar-networks.mdx — testnet CPLACEHOLDER_REGISTRY / SENDER, pending deployment env-var comments, mainnet placeholder table
|
@NnamdiCyber Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits. You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀 |
stellar-mainnet-deployment and reference/stellar-networks both carry explicit <Warning> callouts explaining their CPLACEHOLDER_* contract IDs are pre-deployment stubs. Add them to the allowlist so CI passes until real addresses land. Tracking issue for removal: wraith-protocol/contracts#deployment
|
The allowlist includes the mainnet deployment guide and Stellar network reference, which are the shipped pages this gate is meant to protect. Please reserve the allowlist for research pages and either replace those placeholders or remove unfinished pages from shipped navigation. |
1 similar comment
|
The allowlist includes the mainnet deployment guide and Stellar network reference, which are the shipped pages this gate is meant to protect. Please reserve the allowlist for research pages and either replace those placeholders or remove unfinished pages from shipped navigation. |
- Reword two phrases in reference/stellar-networks.mdx that triggered the placeholder checker with legitimate prose: - "Pending mainnet launch" → "Not yet deployed" - "placeholder address" → "unverified address" - Remove guides/stellar-mainnet-deployment and reference/stellar-networks from scripts/placeholder-allowlist.json; neither page has real placeholder content and both are enforced shipped pages - Reserve the allowlist for research/roadmap pages only (roadmap remains)
Done. Please review |
|
The allowlist is fixed. The current diff no longer wires |
truthixify
left a comment
There was a problem hiding this comment.
The placeholder gate now runs in CI and covers the required shipped sections. Looks good.
|
Merged. The placeholder gate is now enforced in CI. Thanks @NnamdiCyber. |
Closes #157
Adds a CI script and GitHub Actions job that scans enforced MDX pages and docs.json for
placeholder contract IDs, pending-deployment prose, and TODO markers before they reach
production readers.
What is checked
Enforced navigation groups (resolved from docs.json at runtime — no hardcoded paths):
Quickstarts, Reference, Operations, API Reference.
docs.json is also scanned directly.
Allowlist
scripts/placeholder-allowlist.json — JSON array of page paths (no extension) where placeholders
are intentional. Currently ["roadmap"]. Add a path to suppress the check for that page.
Live violations (24) — CI intentionally fails until resolved
pending deployment comments, mainnet placeholder table
Files changed