addedInput schema / $defs / ShelveInput / additionalProperties
Added value: +false
addedInput schema / $defs / ShelveInput / properties / amend
Added value: +{
+ "default": false,
+ "description": "Rewrite an episode already on the shelf, under the same slug (#71): one episode, one recomputed ledger row, redaction and the digest contract re-run. Errors if the slug is not there — that is a typo, not a create.",
+ "title": "Amend",
+ "type": "boolean"
+}
addedInput schema / $defs / ShelveInput / properties / approx_tokens / anyOf
Added value: +[
+ {
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+]
changedInput schema / $defs / ShelveInput / properties / approx_tokens / default
Previous value: -0New value: +null
addedInput schema / $defs / ShelveInput / properties / approx_tokens / description
Added value: +"Rough in-window size in tokens; an eyeball estimate is fine. OMIT when nothing was measured or estimated — the episode is then recorded as approx_tokens_source: unmeasured instead of a silent 0 (#113): absence of measurement must not look like a measured zero."
removedInput schema / $defs / ShelveInput / properties / approx_tokens / type
Removed value: -"integer"
addedInput schema / $defs / ShelveInput / properties / approx_tokens_source
Added value: +{
+ "anyOf": [
+ {
+ "enum": [
+ "estimate",
+ "measured"
+ ],
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Where the number came from (#79). Default for any passed number is 'estimate' — that is what callers actually produce; say 'measured' only when it was. Contradiction (a source with no number) is refused.",
+ "title": "Approx Tokens Source"
+}
addedInput schema / $defs / ShelveInput / properties / publish
Added value: +{
+ "default": false,
+ "description": "Publish the shelve commit to origin as a NEW branch shelve/<slug> and report a one-click compare link (#118) — the mode for shelves whose main requires a PR. Exclusive with `push`; the local checkout never switches branches, so recall keeps working from this clone.",
+ "title": "Publish",
+ "type": "boolean"
+}
addedInput schema / $defs / ShelveInput / properties / push
Added value: +{
+ "default": false,
+ "description": "Push the shelve commit; on a rejection, rebase and retry exactly once (#108). The result then carries the post-push sha — the only sha worth quoting, since a rebase rewrites the local one.",
+ "title": "Push",
+ "type": "boolean"
+}
addedInput schema / $defs / ShelveInput / properties / retain_until
Added value: +{
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Retention (#15): ISO date after which `memshelf purge` drops this episode. Absent means keep — retention is opt-in per episode.",
+ "title": "Retain Until"
+}
addedInput schema / $defs / ShelveInput / properties / shelf_path / default
Added value: +""
changedInput schema / $defs / ShelveInput / properties / shelf_path / description
Previous value: -"Path to an initialized memory shelf."New value: +"Path to an initialized memory shelf. Optional: when omitted, the shelf named by $MEMSHELF_SHELF_PATH is used. Pass it explicitly to address a different shelf than that default."
addedInput schema / $defs / ShelveInput / properties / sync
Added value: +{
+ "default": true,
+ "description": "Fetch + fast-forward the shelf to its remote before anything is written (#108): a dirty tracked tree or a diverged branch refuses the shelve with the fix in the message instead of silently writing onto a stale base. A failed fetch (offline) does not refuse — it is reported loudly.",
+ "title": "Sync",
+ "type": "boolean"
+}
changedInput schema / $defs / ShelveInput / required
Previous value: -[
- "shelf_path",
- "slug",
- "kind",
- "digest"
-]New value: +[
+ "slug",
+ "kind",
+ "digest"
+]