Diagnostics

Every problem Ascribe reports, with its code and fix.

For AI agents: the documentation index is at llms.txt, and this page is available as Markdown.

Every problem Ascribe reports, with its code, its name, and how to fix it. ascribe check, ascribe build, and the editor report the same diagnostics, with the same codes.

A problem is what Ascribe found in your project, at one place. A diagnostic is the kind of problem, with a code, that this page and ascribe explain describe. In the messages below, {name} stands for a value filled in from your source.

The diagnostics are on nine pages, by what they’re about:

Each entry ends with the section of the directive reference, directive syntax, frontmatter, phrases, links, and images, or the ascribe.toml reference about what it checks, which has examples, and links to its part of the specification.

In the editor, many diagnostics offer a quick fix. See Quick fixes.

Each entry opens with a line such as “Advice · page level · next step: write · configurable in [checks]”: the diagnostic’s severity, its level, its next step, whether a project can set its level, and, for a check whose problems can be acknowledged, where. It ends with the diagnostic’s section of the specification.

Severity

An error, a warning, and advice are how severe a problem is.

  • An error makes ascribe check fail, and stops ascribe build from writing anything. A diagnostic about ascribe.toml (a name that starts with model-) stops everything else when it’s an error: every other check depends on the content model.
  • A warning doesn’t, unless you pass --deny-warnings.
  • Advice never does, even with --deny-warnings: ascribe check lists it after the errors and warnings and counts it apart, and the editor shows it as information.

A check that’s off by default reports nothing until a project names it in [checks]: see Setting a check’s level.

File level and page level

A file-level diagnostic is about one file on its own. A page-level diagnostic is about a page after its includes are expanded and a build’s modes are applied, so it can depend on the build; the message names the builds it appears in.

What to do next

Each diagnostic says what kind of next step it has. ascribe check --format json gives it as next, and the editor in each diagnostic’s data, so a tool or an agent can offer the right thing.

Next step What it means
fix Ascribe can make the edit: every instance has a quick fix in the editor.
choose You pick among things Ascribe can list: a link’s target, a key’s allowed values, a declared phrase.
write It needs writing or judgment. The entry’s fix says what to do; an agent can do it from the diagnostic’s prompt.
outside Nothing in the source can fix it; it’s set somewhere else, such as the site’s hosting.
review It may be fine as it is.

Setting a check’s level

A check about the content’s quality, rather than whether the project is valid, can be set to another level, or turned off, in [checks] in ascribe.toml. Those checks are listed under Content checks, Content checks across the project, and Content checks of outputs and the site, and their entries say they’re configurable. Every other diagnostic is about whether the project is valid, which a project can’t lower or turn off.

A few content checks matter only to some projects, and are off unless [checks] names them; their entries say they’re off by default. Name one with a level to turn it on at that level, or with a table of its settings to turn it on at the level its entry gives. summary-missing and summary-long, for a project that shows its docs in a product, are turned on like this:

[checks]
summary-missing = "advice"
summary-long = "advice"

Index

Code Name Severity Level Next step
ASC001 attribute-unknown-key Error File choose
ASC002 attribute-type-mismatch Error File choose
ASC003 attribute-bare-key Error File write
ASC004 attribute-unquoted-reserved Error File fix
ASC005 directive-unknown Warning File choose
ASC006 directive-primary Error File write
ASC007 container-unclosed Error File write
ASC008 container-colon-unexpected Error File fix
ASC009 container-colon-missing Error File fix
ASC010 container-open-at-arm Error File write
ASC011 end-unmatched Error File write
ASC012 end-indent-mismatch Error File write
ASC013 container-nesting-deep Warning File write
ASC014 binding-no-block Error File write
ASC015 binding-heading Error File write
ASC016 binding-blank-line Warning File fix
ASC017 binding-not-section-top Error File write
ASC018 title-not-accepted Warning File write
ASC019 title-dot-space Warning File write
ASC020 id-duplicate Error Page write
ASC021 include-target-missing Error File choose
ASC022 include-id-missing Error Page choose
ASC023 include-cycle Error Page write
ASC024 variant-no-arm-survives Warning Page write
ASC025 variant-unknown Error File choose
ASC026 variant-mixed-arms Error File write
ASC027 variant-arm-kind Error File write
ASC028 variant-no-shared-dimension Error File write
ASC029 available-unknown Error File choose
ASC030 available-history-order Error File write
ASC031 available-versionless Error File write
ASC032 available-exceeds-scope Error Page write
ASC033 steps-not-ordered-list Error File write
ASC034 details-title-missing Error File write
ASC035 widget-schema Error File write
ASC036 link-target-missing Error File choose
ASC037 link-id-missing Error Page choose
ASC038 link-to-fragment Error File choose
ASC040 link-id-removed Error Page write
ASC041 link-route Warning File choose
ASC042 image-source-missing Error File choose
ASC043 image-alt-missing Warning File write
ASC044 phrase-undeclared Warning File choose
ASC045 heading-phrase-without-id Warning File fix
ASC046 heading-duplicate-without-id Warning Page fix
ASC047 frontmatter-unknown-key Error File choose
ASC048 frontmatter-missing-field Error File write
ASC049 frontmatter-type-mismatch Error File choose
ASC050 frontmatter-reserved-in-fragment Error File write
ASC052 list-ended-by-directive Warning File write
ASC053 directive-indented-code Warning File write
ASC054 steps-numbering-continued Warning File write
ASC055 attribute-syntax Error File write
ASC056 attribute-duplicate-key Error File write
ASC057 available-syntax Error File write
ASC058 id-invalid Error File write
ASC059 image-attribute-missing Error File write
ASC060 model-toml-syntax Error File write
ASC061 model-unknown-key Error File choose
ASC062 model-missing-key Error File write
ASC063 model-wrong-type Error File write
ASC064 model-invalid-value Error File choose
ASC065 model-spec-unsupported Error File choose
ASC066 model-invalid-name Error File write
ASC067 model-empty-text Error File write
ASC068 model-path-absolute Error File write
ASC069 model-content-root-missing Error File write
ASC070 model-output-overlaps-content Error File write
ASC074 model-field-reserved Error File write
ASC075 model-type-syntax Error File write
ASC076 model-type-fields Error File write
ASC077 model-enum-values Error File write
ASC078 model-set-token Error File write
ASC079 model-default-type Error File write
ASC080 model-phrases-field-type Error File write
ASC081 model-pattern-syntax Error File write
ASC082 model-name-multiple-roles Error File write
ASC083 model-name-case Warning File write
ASC084 model-dimension-empty Error File write
ASC085 model-dimension-value-duplicate Error File write
ASC086 model-dimension-value-shared Error File write
ASC087 model-label-undeclared Error File choose
ASC088 model-versionless-undeclared Error File choose
ASC089 model-lifecycle-available-required Error File choose
ASC090 model-lifecycle-ga-unavailable Error File write
ASC091 model-note-label-required Error File write
ASC092 model-availability-syntax Error File write
ASC093 model-availability-unknown-name Error File choose
ASC094 model-availability-versionless Error File write
ASC095 model-availability-history-order Error File write
ASC096 model-feature-nested Error File write
ASC097 model-phrase-value-type Error File write
ASC100 model-widget-reserved-name Error File write
ASC101 model-widget-forms Error File choose
ASC102 model-widget-binding Error File choose
ASC103 model-widget-container-primary Error File write
ASC104 model-widget-groupable-form Error File write
ASC105 model-widget-plain-content Error File write
ASC106 model-consumer-unsupported Error File choose
ASC107 model-consumer-site Error File write
ASC108 model-consumer-base-path Error File write
ASC109 model-build-name-case Error File write
ASC110 model-build-variants Error File write
ASC111 model-build-unknown-dimension Error File choose
ASC112 model-build-unknown-value Error File choose
ASC113 model-build-availability Error File write
ASC114 model-build-filter-target Error File choose
ASC115 model-build-filter-version Error File write
ASC116 model-build-filter-excluded Warning File write
ASC117 model-editor-build-unknown Error File choose
ASC118 model-editor-build-required Error File choose
ASC119 model-attribute-reserved Error File write
ASC120 directive-extra-text Error File fix
ASC121 link-page-dropped Error Page write
ASC122 frontmatter-syntax Error File write
ASC123 source-unreadable Error File write
ASC124 heading-empty-slug Warning File write
ASC125 include-heading-without-id Warning File write
ASC126 phrase-double-braces Warning File fix
ASC127 snippet-address Error File write
ASC128 snippet-source-unknown Error File choose
ASC129 snippet-file-missing Error File choose
ASC130 snippet-file-not-text Error File write
ASC131 snippet-region-missing Error File choose
ASC132 snippet-tags Error File write
ASC133 model-source-path-missing Error File write
ASC134 model-source-outside-repository Error File write
ASC135 model-source-remote Error File write
ASC136 lock-invalid Error File write
ASC137 lock-source-unknown Error File write
ASC138 source-copy-changed Error File write
ASC139 source-copy-unlocked Error File write
ASC140 source-copy-unused Warning File write
ASC141 model-inline-field Error File write
ASC142 model-check-not-configurable Error File write
ASC143 intended-check Error File choose
ASC144 intended-entry Error File write
ASC145 intended-unused Advice Page fix
ASC146 model-intended-check Error File choose
ASC147 model-intended-entry Error File choose
ASC148 model-field-role Error File write
ASC149 page-size Advice Page write
ASC150 page-description-missing Advice File write
ASC151 heading-level-skipped Advice Page fix
ASC152 code-language-missing Advice File choose
ASC153 recheck-overdue Advice File review
ASC154 page-orphan Advice Page review
ASC155 fragment-unused Advice File review
ASC156 phrase-unused Advice File review
ASC157 feature-unused Advice File review
ASC158 glossary-term-unused Advice File review
ASC159 image-unused Advice File review
ASC160 image-large Advice File review
ASC161 title-duplicate Advice Page write
ASC162 model-consumer-agents-site Error File write
ASC163 description-too-long Advice File write
ASC164 llms-section-large Advice Page write
ASC165 prose Advice File write
ASC166 prose-not-checked Advice File outside
ASC167 model-checks-vale Error File write
ASC168 link-external-broken Advice File review
ASC169 link-external-moved Advice File choose
ASC170 delivery-hosting Advice File outside
ASC171 delivery-output Advice File outside
ASC172 availability-left-behind Advice File review
ASC173 permalink-duplicate Error Page write
ASC174 model-consumer-permalink-path Error File write
ASC175 permalinks-list-invalid Error File write
ASC176 permalinks-list-behind Warning File fix
ASC177 permalink-lost Warning File write
ASC182 include-limit Error Page write
ASC183 model-crawlers-line Error File write
ASC184 listing-disallowed Advice File fix
ASC185 model-listing-folder Error File write
ASC186 model-listing-type Error File choose
ASC187 model-listing-looser Error File write
ASC188 listing-loosened Error File fix
ASC189 model-crawlers-named-twice Error File write
ASC190 crawlers-disallowed Advice File choose
ASC191 description-duplicate Advice Page write
ASC192 title-heading-differs Advice Page review
ASC193 model-type-file Error File write
ASC194 model-type-template Error File write
ASC195 template-placeholder-left Advice File write
ASC196 content-type-missing Error File choose
ASC197 content-type-unknown Error File choose
ASC198 description-link Advice File write
ASC199 example-stale Warning File outside
ASC200 example-unobserved Advice File outside
ASC201 examples-config-invalid Warning File outside
ASC202 observation-file-missing Advice File outside
ASC204 model-releases-target Error File choose
ASC205 model-releases-line Error File write
ASC206 model-build-versions Error File write
ASC207 model-releases-order Error File write
ASC208 model-releases-ends Error File choose
ASC209 model-versions-current Error File write
ASC210 available-version-ahead Error File choose
ASC211 available-line-undeclared Advice File choose
ASC212 available-same-in-every-line Advice File write
ASC213 available-in-no-line Warning File write
ASC214 release-line-ended Advice File write
ASC215 model-phrase-line Error File choose
ASC216 replaces-not-a-page Error File choose
ASC217 replaces-cycle Error Page write
ASC218 replaces-overlap Error Page write
ASC219 replaces-same-page Error Page write
ASC220 link-into-older-line Advice Page write
ASC221 link-fragment-dropped Advice Page write
ASC222 listing-loosened-in-line Error Page write
ASC223 html-comment Advice File review
ASC224 memo-empty Advice File fix
ASC225 memo-invalid Error File write
ASC226 memo-detached Warning File choose
ASC227 memo-outdated Advice File write
ASC228 memo-long Advice File write
ASC229 template-section-empty Advice File write
ASC230 nav-invalid Error File write
ASC231 nav-page-unknown Error File choose
ASC232 nav-folder-unknown Error File choose
ASC233 nav-duplicate Error File fix
ASC234 section-page-both Error File choose
ASC235 nav-page-unplaced Advice File fix
ASC236 nav-section-unplaced Advice File fix
ASC237 nav-label-long Advice File write
ASC238 model-glossary-page Error File choose
ASC239 glossary-term-duplicate Error File write
ASC240 glossary-definition-missing Error File write
ASC241 glossary-definition-long Advice Page write
ASC242 term-off-glossary-page Error File choose
ASC243 baseline-entry-unmatched Advice File outside
ASC244 frontmatter-field-repeated Advice File fix
ASC245 available-planned-line Error File write
ASC246 model-from-file Error File write
ASC247 model-from-take Error File write
ASC248 model-from-written Error File write
ASC249 summary-not-paragraph Error File write
ASC250 summary-repeated Error Page write
ASC251 summary-in-variant Error Page write
ASC252 summary-missing Advice, off by default Page write
ASC253 summary-long Advice, off by default Page write
ASC254 addresses-file-invalid Error File write
ASC255 address-lost Warning File write
ASC256 anchor-lost Advice File write
ASC257 addresses-base-unreadable Warning File outside
ASC258 addresses-build-gone Advice File outside
ASC259 model-api-outside-repository Error File write
ASC260 model-api-reference Error File write
ASC261 api-spec-unreadable Error File write
ASC262 api-spec-empty Advice File outside
ASC263 link-operation-missing Error File choose
ASC264 link-spec-outside-project Error File write
ASC265 addresses-entry-not-a-page Error File choose
ASC266 addresses-entry-live Advice File fix
ASC267 addresses-entry-taken Error File write
ASC268 addresses-entry-unpublished Advice File fix
ASC269 addresses-key-twice Error File choose
ASC270 addresses-chain Advice File fix
ASC271 addresses-anchor-collision Error File write
ASC272 addresses-file-deleted Error File write
ASC273 addresses-soft-404 Advice File write
ASC274 link-operation-form-unsupported Error File write
ASC275 link-operation-by-path Advice File fix
ASC276 link-operation-deprecated Advice File write
ASC277 api-example-schema-mismatch Error File write
ASC278 api-example-not-json Error File write
ASC279 api-example-body-missing Error File write
ASC280 api-example-schema-unsupported Advice File outside
ASC281 operation-link-not-operation Error File write
ASC282 api-operation-unreferenced Advice File write
ASC283 build-filter-line-undeclared Advice File write
ASC284 info-pair-malformed Warning File write
ASC285 examples-config-unread Warning File write
ASC286 template-placeholder-published Error File write
ASC287 github-alert Warning File fix
ASC288 phrase-text-written Advice File review