Repository navigation
grund 0.12.0
Added
-
§FS-config.3.9.2: the citing kind of every site outside every configured home is now nameable.
codeis its default name, not a fixed one — a Terraform, SQL, or prose tree may declare it and call it what it is ([[kinds]] kind = "src", citable = false, nofolderorfile, optionally atitlethat becomes its citation-directions scope). Exactly one entry may be it, andcodeis reserved to that entry; a config that names its complementsrchas nocode, so[citations.code]in it is an unknown kind rather than a rule that quietly matches nothing. It still gets no Project map row and still renders last in the citation directions, so no existing repository's managed block moves. (PR #136) -
§FS-config.3.4.1:
[[kinds]] citable = false— a kind that is a place rather than an ID namespace. Its home is scanned and its citations are classified and directed like any other, and it declares nothing: no ID grammar, noKIND ∈ {…}entry, no--kindorgrund idselector, no index, and a declaration inside its home is a misplaced declaration (§FS-check.3.7). Obligations attach per scanned file in the home,.mdincluded, andrequire_groundingcovers those files too — otherwisemuston a home that is usually all Markdown would silently never fire (§FS-check.3.11, §FS-check.3.6). Findings and the generated block name such a kind by its place —skills/ must cite FS— never by a name nobody can write. Prefix-freedom is scoped to citable kinds, soskillbeside a citableSKInow loads; names stay unique across the whole table. Decided in §DF-non-citable-kinds, proposed in §DISC-id-less-kinds. Additive, sogrund_config_versionstays at 1. (PR #136) -
§FS-check.4.6, §FS-check.3.17: a folder kind's index must list every declaration in its folder, as a full Markdown link. A missing entry is a warning naming the release it becomes an error in (§REQ-backwards-compatibility.2); an entry that is present and unlinked is an error, because
grund fmt --writefixes it (§REQ-backwards-compatibility.3). Decided in §DF-index-entry-form and §DF-index-compatibility-ramp. (PR #134) -
§FS-check.4.6: a canonical bare-ID link in a configured kind index enrolls an external inline source declaration directly, without the otherwise-empty Markdown stub;
showandlistkeep the source as the only declaration home, and only the exact enrollment site is discounted as navigation (issue #133, PR #135). -
§FS-config.3.4:
[[kinds]] indexnames the index file, relative tofolder. It defaults toREADME.md,index = falseopts a kind out, and setting it on a kind with nofolderis a config error. A named value must be a relative path insidefoldernaming a.mdfile — an absolute or..path would read outside the tree the config describes, and the cross-reference pass that repairs an entry runs on Markdown only. Purely additive, sogrund_config_versionstays at 1 (§FS-config.5).
Changed
- §FS-config.3.4:
[[kinds]] prefixis renamedkind— the word the{kind}placeholder, the--kindselector and the[citations.<kind>]key already use, and the only one that stays true now that a row can name something that never prefixes an ID.prefixstill loads and earns one warning per config naming the release it stops in (§REQ-backwards-compatibility.2); setting both keys on one entry is an error.grund config showprints the canonical spelling whichever the file used (§FS-config.4.2), so the migration is onegrund config show > grund.tomlaway. The removal is §RM-kind-prefix-removal. (PR #136) - §FS-config.3.5: every configured
[[kinds]]home is walked whether or not[scan] includelists it, for every kind;includenow names the extra roots. Upgrade note: a repository whose home sat outsideincludehad that home's citations invisible rather than dangling — no resolution, no finding — and now sees them. They were always true of the tree; the run was not reading it. (PR #136) - §FS-config.3.4.4: the default
[[kinds]]table replacesE2Ewith two non-citable kinds —e2e(tests/e2e, must citeFS, should-not citeAR) andintegration(tests/integration, should citeAR). A test cites the document whose claim it proves and is never cited back.E2Eremains fully supported and is what this repository declares; only the default changed, so a configgrund initwrote is unaffected. Upgrade note: a repository with no[[kinds]]block at all and ane2e/cases/corpus loses the case machinery that pruned its fixture trees (AR-scanner.6) and starts scanning them; the fix is one[[kinds]]block declaring theE2Ekind it was relying on by default. Argued in §DF-non-citable-kinds.3 under the pre-1.0 licence of §REQ-backwards-compatibility.4. (PR #136) - §FS-id.1:
grund idhanded a kind it cannot mint from exits2with theerror:/known kinds:pair in every case. A configured non-citable kind used to fall through the generic rejection path and exit1with a bare line, which is the shape for a bad title, not for a bad kind. (PR #136) - §FS-init.2.1:
grund init --docsscaffoldstests/e2e/README.mdandtests/integration/.gitkeepin place ofe2e/README.mdande2e/cases/.gitkeep, following the two test homes the generated config now names. (PR #136) - §FS-check.4.1, §FS-list.1: an index entry no longer counts as an inbound citation for the unused-declaration warning or
grund list --unused. An index names every declaration in its folder by construction, so counting its entries would empty the signal (§DF-index-not-an-inbound-citation). - §FS-fmt.6.1:
grund fmtruns the cross-reference pass on a kind's index entries whatever[fmt.cross_refs] enabledsays, so the fix for an unlinked entry is plaingrund fmt --writein every configuration. Reached that way the pass wraps the entries and nothing else on the page — a repository that turned generated links off gets the smallest write that clears the error (§DF-index-always-linkified.2.2). - §FS-config.3.4: the
indexdefault is keyed on the kind prefix for a declared[[kinds]]block exactly as for the built-in list, soE2Edefaults toindex = falseeither way. Upgrade note: without this, everygrund.tomlwritten bygrund initbefore this release — which declares[[kinds]]and could not have spelled a key that did not exist — would have taken one §FS-check.4.6 warning per e2e case, and lost itssuccessline. Measured on this repository: 391 warnings. A project that wants an index for itsE2Efolder writesindex = "README.md". - §FS-init.2.1:
grund init --docsscaffoldsdocs/decisions/functional/README.mdanddocs/decisions/architectural/README.mdin place of the two.gitkeepfiles, so every folder kind with an index is scaffolded with one.