CTAN
ctan.org · Storage · 2 records · JSON
- CTAN (Comprehensive TeX Archive Network) Storagefails: quotainstitutionno cardRwrite-gateddisagrees
- ctan Storagefails: quotaemail?card?Rdisagrees
CTAN (Comprehensive TeX Archive Network) Storage
fails: quotainstitutionno cardRwrite-gateddisagrees
Sibling records disagree:
- identity_kind:
storage/ctansays institution, storage/ctan-2 says email
| Free tier | No numeric quota published, but upload is a *manual web form* reviewed by the CTAN team, with extensive packaging rules (TDS layout, no .git, no editor backups, symlinks preferred over copies). There is no API and no programmatic publish path. A real package (beamer.zip) is 3,298,392 bytes. unit mixed; metered on unstated |
|---|---|
| Price | none stated |
| Per-object cap | not stated |
| Retention | per-object-cap: none published; upload is a browser form. retention: indefinite ('CTAN keeps all versions') |
| Egress | Free, heavily mirrored (mirror.ctan.org redirects to a national mirror, e.g. mirrors.ustc.edu.cn). No metering. |
| Identity | institution derived from the record's prose, not from an identity field, and no signup was executed: itor backups, symlinks preferred over copies). There is no API and no programmatic publish path. A real package (beamer.zip) is 3,298,392 bytes. Web-form-only write path with edit |
| Limits |
per-object-cap: none published; upload is a browser form. retention: indefinite ('CTAN keeps all versions'). request-rate: N/A, human review. |
| Binding | write-gated the write is a queue with a person or a rule in it, so the upload rate is set by somebody else |
| Interface | rclone wrapper-only |
| Tooling | Manual upload form + email-based review. tlmgr for consumption. No upload API, no rclone. |
| Composes with | unlimited packages x unlimited versions, but every one is human-reviewed and must be TeX-archive-shaped. Not multiplicable in any meaningful automated way. |
| Reliability | Web-form-only write path with editorial review - fails the programmatic-access filter regardless of size. Read path is excellent (global mirrors, 200 on beamer.zip). |
| Notes | No numeric quota published, but upload is a *manual web form* reviewed by the CTAN team, with extensive packaging rules (TDS layout, no .git, no editor backups, symlinks preferred over copies). There is no API and no programmatic publish path. A real package (beamer.zip) is 3,298,392 bytes. |
| Evidence rung | reported One page read moves it to documented. |
| Checked | 2026-10-21 (inherited); stale on 2026-11-04 |
Evidence (3)
| date | source | what it proved |
|---|---|---|
| 2026-10-21 | mirror.ctan.org/macros/latex/contrib/beamer.zip | probe: GET with -L -> 200, 3,298,392 bytes, final URL mirrors.ustc.edu.cn/CTAN/... |
| 2026-10-21 | www.ctan.org/upload | upload form, no API |
| 2026-10-21 | www.ctan.org/file/help/ctan/CTAN-upload-addendum | 'Never try to upload (or re-upload) by email, always use the upload form' |
More fields (1)
{
"dead_end": {
"failure_class": "write-gated",
"why": "No numeric quota published, but upload is a *manual web form* reviewed by the CTAN team, with extensive packaging rules (TDS layout, no .git, no editor backups, symlinks preferred over copies). There is no API and no programmatic publish path. A real package (beamer.zip) is 3,298,392 bytes.",
"retry_when": null,
"first_recorded": "2026-10-21"
}
}Unknown or withheld values (5)
$.extras.dead_end.retry_whenprocess$.free_tier.notesprocess$.per_object_cap.notesnot-extracted$.per_object_cap.statednot-extracted$.retention.notesnot-extracted
ctan Storage
fails: quotaemail?card?Rdisagrees
Sibling records disagree:
- identity_kind:
storage/ctansays institution, storage/ctan-2 says email
| Free tier | Web-form upload with manual editorial review; no API, no programmatic path regardless of size. unit none; metered on none |
|---|---|
| Price | none stated |
| Per-object cap | not recorded |
| Retention | not recorded |
| Egress | not recorded |
| Identity | email (placeholder) not published |
| Binding | none no constraint of a named kind was recorded; the verdict rests on the quota sentence rather than on a named limit |
| Interface | unknown |
| Tooling | not recorded |
| Composes with | not recorded |
| Reliability | Web-form upload with manual editorial review; no API, no programmatic path regardless of size. |
| Notes | Web-form upload with manual editorial review; no API, no programmatic path regardless of size. |
| Evidence rung | reported |
| Checked | 2026-10-21 (inherited); stale on 2026-11-04 |
Evidence (1)
| date | source | what it proved |
|---|---|---|
| 2026-10-21 | www.ctan.org/upload | Web-form upload with manual editorial review no API, no programmatic path regardless of size. |
More fields (1)
{
"dead_end": {
"failure_class": "write-gated",
"why": "Web-form upload with manual editorial review; no API, no programmatic path regardless of size.",
"retry_when": null,
"first_recorded": "2026-10-21"
}
}Unknown or withheld values (15)
$.chainingnot-recorded$.confidence_notewithheld$.egress.termsnot-recorded$.extras.dead_end.retry_whenprocess$.free_tier.notesprocess$.identity_cost.detaildefaulted$.identity_cost.kindidentity-defaulted$.interfaceinterface-unknown$.interface_detailwithheld$.limits_noteprocess$.per_object_cap.notesnot-recorded$.per_object_cap.statednot-recorded$.retention.notesprocess$.retention.statednot-recorded$.toolingnot-recorded