vantage-md 0.8.0 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -6,6 +6,84 @@ are summarized one section per minor line; the commit log has the rest.
6
6
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
7
7
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
8
8
 
9
+ ## [0.9.0] - 2026-10-06
10
+
11
+ ### Added
12
+
13
+ **A planning page filtered to one piece of work.** The planning page has a
14
+ **Filter** box at its top, there as soon as the page opens, and the page
15
+ narrows as you type. A word, such as `generator`, finds the questions whose id,
16
+ title, leaning or path holds it, ignoring case, and the documents whose path,
17
+ stage or `next` does. `path:` finds its text anywhere in a path, as GitHub's
18
+ code search does, with `*` and `**` as wildcards, and a leading `/` ties it to
19
+ the start of the path. `is:open` keeps only open questions, as in
20
+ `path:/docs/design/search.md is:open`, and a `-` before a term leaves out what
21
+ it matches. The page keeps its order, a notice says what the filter hides, and
22
+ a filter that keeps nothing says *Nothing matches* where the sections would be,
23
+ and why. See
24
+ [Filtering the page](userguide/guides/planning.md#filtering-the-page).
25
+
26
+ Press `/` to reach the box. Paste a link to a planning page into it, as a whole
27
+ address or as the line `vantage-check index --filter` prints, and the link's
28
+ filter, and its roadmap if it names one, apply at once to the project on
29
+ screen, whatever address the link was made for. The page's address follows the
30
+ box without adding to your history. **Copy answers** and
31
+ **Copy agent request** cover only what the filter keeps, and the agent request
32
+ names the filter on a `Filter:` line.
33
+
34
+ A planning document that holds a question now ends its Referenced by line with
35
+ *its questions on the planning page*, a link to the planning page filtered to
36
+ that document, unless its stage has the
37
+ [`done` role](userguide/guides/planning.md#stage-roles). Such a document that
38
+ nothing links to gets a line holding only that link where it had none: one with
39
+ no open question, or any in a repository where no roadmap routes. See
40
+ [Referenced by](userguide/guides/planning.md#referenced-by).
41
+
42
+ **`vantage-check index --filter`** takes the same text, prints only what it
43
+ keeps, and prints a `Planning page:` line for your agent to hand you.
44
+ `vantage-check style-guide` now tells agents to hand you that line when they
45
+ need your rulings. The checker cannot know the address you open Vantage at, so
46
+ the link starts at `/.vantage/planning`: press `/` on your planning page and
47
+ paste the line, or put your address in front. In daemon mode, where the link
48
+ names no project, the planning page with no project named, or one not found,
49
+ now lists a link to each project's planning page, keeping any filter. Run in a
50
+ linked worktree, `--filter` adds a line under the link saying that the page
51
+ shows the checkout your Vantage serves, which may not hold the documents as
52
+ they are in the worktree. If your `.vantage.toml` sets a `target` before 0.9,
53
+ another line says that an older Vantage shows every entry. Under a `target`
54
+ before 0.8, it says first that a Vantage that old has no planning page. With
55
+ `--format json`, the filtered sections are under a new `filter` key. Every
56
+ other key, `sections` included, is what it is without the flag, and the format
57
+ version stays 2.
58
+
59
+ `--filter` exits `2` on a filter it cannot read, such as one with an unclosed
60
+ quote, and on a `path:` or `-path:` term that matches no path. A word that
61
+ matches nothing is an empty answer and exits `0`. `vantage-check` 0.8.0 and
62
+ 0.8.1 exit `2` with `unknown option for index: --filter`: run
63
+ `uvx vantage-check@latest`. Vantage 0.8.0 and 0.8.1 ignore the filter without
64
+ saying so: they show the whole planning page, or, in daemon mode, ask you to
65
+ choose a project. A later release may keep other entries for the same filter
66
+ text, so have your agent rerun `--filter` rather than keep an old link. See
67
+ [Handing the human a filtered planning page](userguide/guides/vantage-check.md#handing-the-human-a-filtered-planning-page).
68
+
69
+ ### Fixed
70
+
71
+ - In daemon mode, `g p` and the sidebar's planning entry opened the wrong page
72
+ for a project whose name holds `#` or `?`.
73
+ - On the planning page, the roadmap picker at the top of the contents column
74
+ drew its focus ring cut off at the left edge.
75
+
76
+ ## [0.8.1] - 2026-10-02
77
+
78
+ If your `.vantage.toml` sets a `target` before 0.8, such as `target = "0.7"`,
79
+ `vantage-check` no longer asks you to write `question` on an open question,
80
+ because a viewer before 0.8 offers its one-click answer only on an `oq`: it stops
81
+ warning on an `oq` (`vantage/oq-deprecated`), and tells a question with no
82
+ directive to take one (`vantage/oq-missing`). An `oq` on a 🔒 or ✅ question is
83
+ still an error. A checker before 0.8 ignores the `target` line, where 0.7.1
84
+ rejects `"vantage/oq-deprecated" = "off"`. See
85
+ [When Your Readers Are on 0.7](userguide/guides/vantage-check.md#when-your-readers-are-on-07).
86
+
9
87
  ## [0.8.0] - 2026-10-02
10
88
 
11
89
  **Highlights.** Vantage 0.8 puts every open question in your design docs on one
package/dist/index.cjs CHANGED
@@ -2773,6 +2773,7 @@ BUILT = "built"
2773
2773
  SUPERSEDED = "done"
2774
2774
  \`\`\`
2775
2775
  - **Each stage word maps to one of four roles**, which is what the word means to Vantage: \`open\` is still being decided, \`ready\` is decided and not built, \`built\` is built, and \`done\` is no longer a live proposal, so its questions leave every list of what needs a ruling. \`vantage-check index\` prints those lists.
2776
+ - **To ask a human for the rulings a piece of work needs, hand them a filtered planning page.** In the checkout their Vantage serves, name the work's documents from the root with a leading \`/\`: the design, its \`-plan.md\` if one exists, and what its \`depends-on\` names. Run \`vantage-check index --filter 'path:/<design> path:/<plan> is:open'\`, and give the human the \`Planning page:\` line: they press \`/\` on their planning page and paste it, or type the filter text into its Filter box. Once you have applied their answers, the same command lists what is still open.
2776
2777
  - **Never change \`target\`.** A \`target = "X.Y"\` line at the top of \`.vantage.toml\` names the oldest Vantage release the repository's readers use, and only a human edits it. A \`vantage-check\` older than the target refuses to run and names the release it needs: run that release, and leave the target as it is.
2777
2778
 
2778
2779
  ### Mermaid diagrams
@@ -2893,7 +2894,7 @@ A question a document leaves for a human to rule on is an *Open Question*, writt
2893
2894
  - **Keep the text below the title short.** The planning page shows each question as a card that leads with the title and shows only the first few lines of the rest, so a question buried in a paragraph of background is one the reviewer has to dig for. \`vantage-check\` warns when a question's text, not counting its \`_Leaning:_\` paragraph and its \`**Answer:**\`, runs past 120 words (\`planning/question-length\`), and when a leaning shares a paragraph with other text (\`vantage/question-layout\`); a repository can raise the limit with \`max-words\`, or turn either rule off, under \`[check.rules]\`.
2894
2895
  - **Enumerate with a list, never inline.** A question's options, or any three steps or parts, go in a Markdown list, one item per line, rather than run together in one sentence as \`(a) \u2026 (b) \u2026 (c)\`, where a reader has to find where each one starts. \`vantage-check\` warns on a paragraph that runs three or more together (\`prose/inline-list\`).
2895
2896
  - **Write a question as a list item.** Outside a list, a question runs from the block its directive lands on through the blocks after it, up to the next heading (for a question written as a heading, the next one of its level or higher), the next rule or the next question, so whatever prose follows it before then is read as part of it. There the directive goes above the question's title, since every viewer reads the question's marker from the block it lands on: a directive below the bold title lands on the block after it, which carries no marker, so every viewer reads the question as open. \`vantage-check\` reports that as \`vantage/question-name\`.
2896
- - **\`oq\` is the name \`question\` replaces.** Vantage keeps reading \`<!-- vantage: oq id=OQ-9 leaning="…" -->\` as it always has, and \`vantage-check\` warns on it (\`vantage/oq-deprecated\`) with the \`question\` to write instead, keys unchanged. Vantage before 0.8 drops \`question\` whole, so a reader still on 0.7 gets no one-click answer and no anchor on a question written with it, and misreads nothing. So keep an \`oq\` on an open question unless you know every reader of the repository is on 0.8 or later; a repository whose readers are still on 0.7 keeps its \`oq\`s and turns the warning off in \`.vantage.toml\`, with \`"vantage/oq-deprecated" = "off"\` under \`[check.rules]\`, which a \`vantage-check\` before 0.8 rejects as a rule it does not know. **Never put \`oq\` on a \u{1F512} or \u2705 question**: every Vantage before 0.8 offers the one-click button on every \`oq\`, whatever its marker says, and on a question with no leaning it files the literal text "Take the stated leaning." \`vantage-check\` reports that as an error (\`vantage/question-name\`).
2897
+ - **\`oq\` is the name \`question\` replaces.** Vantage keeps reading \`<!-- vantage: oq id=OQ-9 leaning="…" -->\` as it always has, and \`vantage-check\` warns on it (\`vantage/oq-deprecated\`) with the \`question\` to write instead, keys unchanged. Vantage before 0.8 drops \`question\` whole, so a reader still on 0.7 gets no one-click answer and no anchor on a question written with it, and misreads nothing. So keep an \`oq\` on an open question unless you know every reader of the repository is on 0.8 or later. A repository whose readers are still on 0.7 says so with a \`target\` before 0.8, such as \`target = "0.7"\`: there an open question takes \`oq\`, new ones included, and \`vantage-check\` asks for \`oq\` rather than \`question\` on one. **Never put \`oq\` on a \u{1F512} or \u2705 question**: every Vantage before 0.8 offers the one-click button on every \`oq\`, whatever its marker says, and on a question with no leaning it files the literal text "Take the stated leaning." \`vantage-check\` reports that as an error (\`vantage/question-name\`).
2897
2898
 
2898
2899
  ### Tables, task lists, and math
2899
2900
  - **Tables**: Use standard markdown tables for structured comparisons and schemas.