Docs Pipeline
Date: 2026-07-11
Status: Active
Product: DAY · Site: https://dayprotocol.com · Docs: https://docs.dayprotocol.com
Repos: protocol /root/projects/day · docs site /root/projects/autoyield-docs → GitHub dayprotocol/docs
1. What “public docs pack” means
Section titled “1. What “public docs pack” means”| ID | Topic | Source of truth (day repo) | Public MDX slug |
|---|---|---|---|
| **** | Product constitution | the private monorepo | /constitution/ |
| **** | Architecture | the private monorepo (canonical) · the private monorepo (rails inventory) | /architecture/ |
| **** | Versioning strategy | the private monorepo | /versioning/ |
| **** | Copyright & licensing | the private monorepo | /copyright/ |
| **** | Agent API | the private monorepo | /agent-api/ |
| **** | Deployed package IDs (Sui · Solana · Base · Arb) | the private monorepo | /package-ids/ |
| **** | This pipeline | the private monorepo | /pipeline/ |
Supporting public pages (same pipeline, not numbered):
| Topic | Source | Slug |
|---|---|---|
| Fee model | the private monorepo | /fee-model/ |
| Vaults | the private monorepo | /vaults/ |
| Auto Yield feature | the private monorepo | /auto-yield/ |
| Phase 1 homes | the private monorepo | /phase-1/ |
| Open core | the private monorepo | /open-core/ |
| Launch surface | the private monorepo + rebrand | /launch/ |
| Enablement | the private monorepo | /enablement/ |
Internal / research docs (Superform deep-dives, ticket maps, smoke logs) stay in the day repo only — not auto-imported unless explicitly promoted.
2. Naming rules (enforced)
Section titled “2. Naming rules (enforced)”| Use | Do not use (public) |
|---|---|
| DAY (product) | Open Yield as product name |
| dayprotocol.com | openyield.pro as primary |
| docs.dayprotocol.com | docs.openyield.pro as primary |
| Auto Yield / Auto Pay / Vaults = features of DAY | Separate product brands |
| Fee 500 bps on yield | Invented APY / fee on deposit |
Legacy hosts may still reverse-proxy old Open Yield URLs; copy must say DAY.
3. Edit → publish flow
Section titled “3. Edit → publish flow”1. Edit markdown in day/docs/ (authority for protocol truth)2. IF API surface/auth/paths/examples changed → update OpenAPI SAME CHANGE: - api/routes-manifest.mjs (paths + auth) - runtime/config/openapi.mjs (ENDPOINT_DOCS enrichment) - docs/02-agent-api.md (integrator human reference) - Starlight: autoyield-docs src/content/docs/api-reference.mdx + index.mdx3. Gate: cd /root/projects/day && npm run check:docs-openapi (fails if docs/OpenAPI/manifest drift)4. Import / sync into dayprotocol/docs MDX (autoyield-docs checkout)5. npm run build # Astro Starlight + llms.txt6. rsync dist/ → box (deploy-docs-to-box.sh runs the gate first)7. Deploy API if OpenAPI generator changed so GET /openapi.json is live8. Commit day by path; commit+push dayprotocol/docsHARD RULE — docs and OpenAPI never diverge
Section titled “HARD RULE — docs and OpenAPI never diverge”| When you change… | You MUST also… |
|---|---|
| Route path or auth | routes-manifest.mjs + OpenAPI + 02-agent-api.md |
| Request/response example | ENDPOINT_DOCS in openapi.mjs + human docs |
| Auth model / strategyId / fees | OpenAPI info/x-day + getting-started + api-reference |
| Starlight public pages | Re-run gate; keep examples matching X-API-Key |
# Always before docs deploy / mergecd /root/projects/daynpm run check:docs-openapinpm run test:docs-openapiCommands
Section titled “Commands”# From day repo — required gatecd /root/projects/daynpm run check:docs-openapi
# From docs site repocd /root/projects/autoyield-docsnpm cinpm run import:day # sync from /root/projects/day/docsnpm run build./scripts/deploy-docs-to-box.sh # runs day check:docs-openapi firstDeploy script targets
Section titled “Deploy script targets”- Primary:
root@178.156.146.226:/srv/dayprotocol/docs/ - Legacy mirror:
root@178.156.146.226:/srv/autoyield/docs/
4. Content quality bar (…07)
Section titled “4. Content quality bar (…07)”Each public pack page must:
- Brand — product name DAY, not Open Yield
- Authority — link constitution when stating invariants
- Honest numbers — fee 500 bps; missing APY → N/A
- No secrets — no Infisical paths, private keys, or prod signer details
- Versioned schemas — cite
*.v1names where API/plans appear - Package ids — live multi-chain ids from /
GET /api/day/packages(never invent)
5. Machine-readable
Section titled “5. Machine-readable”Build emits:
/llms.txt— page index/llms-full.txt— full text dump for agents
Regenerated by scripts/generate-llms.mjs after astro build.
6. Done when
Section titled “6. Done when”- …07 sources exist under
day/docs/ - Starlight pages live at docs.dayprotocol.com for each pack id
- No “Open Yield” product branding on public pages
- Package IDs page lists live Sui · Solana · Base · Arbitrum ids (no secrets)
- Deploy path documented + scripted
Bottom line
Section titled “Bottom line”day/docs is source of truth. The docs site is a curated, branded publish of the public pack — not a second constitution. Promote deliberately; keep research and ticket logs private to the monorepo.